@font-face {
	font-family: "Manrope";
	src: url("/manrope.woff2") format("woff2");
}

@font-face {
	font-family: "Epilogue";
	src: url("/epilogue-regular.woff2") format("woff2");
}

h1, h2, h3, h4, h5, p, th, td, input, textarea, li, label, legend, select, button, blockquote {
	font: normal normal 1em/120% "Manrope", sans-serif;
}

h1, h2, h3, h4, p, input, textarea, table, ul, ol {
	margin: 0 0 1.2rem 0;
}

h1 {
	font: normal normal 2em/120% "Epilogue", sans-serif;
	margin-top: 0.6em;
}

h2 {
	font-family: "Epilogue";
	font-size: 1.5em;
}

h3 {
	font-weight: bold;
}

table {
	border-spacing: 0;
}

th, td {
	margin: 0;
	padding: 0;
}

table th {
	font-weight: bold;
	text-align: left;
}

table td + td, table th + td, table th + th {
	padding-left: 0.6em;
}

table tr + tr th {
	padding-top: 1.2em;
}

a {
	color: rgb(0, 0, 0);
	text-decoration-color: rgb(215, 215, 210);
}

strong {
	font-weight: bold;
}

body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

main {
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto auto;
	margin: 0;
	width: 100%;
	height: 100%;
}

nav {
	grid-column-start: 1;
	grid-column-end: 1;
	grid-row-start: 1;
	grid-row-end: 1;
	display: flex;
	background: rgb(175, 205, 95);
	padding: 1em;
}

nav > ul {
	display: flex;
	list-style-type: none;
	margin: 0 -10px 0 10px;
	padding: 0;
	align-items: center;
}
nav > ul + ul {
	margin-left: auto;
}

nav > ul li {
	margin: 0 10px 0 10px;
	color: rgb(255, 255, 255);
}

nav > ul li a {
	color: rgb(255, 255, 255);
	text-decoration: none;
	font-weight: bold;
}

article {
	margin: 1em;
}

table {
	width: 100%;
}

table td, table th {
	border-bottom: 2px solid rgb(215, 215, 210);
	padding: 5px 0 5px 0;
}

input[type=text], input[type=password], input[type=email], input[type=date], textarea, select {
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 1.2em 0;
	padding: 5px;
	border: 2px solid rgb(215, 215, 210)
}

textarea {
	resize: none;
}

form > div {
	width: 50%;
}

button {
	margin: 0 0 1.2em 0;
	background: rgb(175, 205, 95);
	color: rgb(255, 255, 255);
	border: none;
	padding: 7px;
}

td button {
	margin: 0;
}

label > span {
	display: block;
	margin: 0 0 5px 0;
}

label > input + span {
	display: inline-block;
	margin-left: 5px;
}

label + label {
	margin-left: 15px;
}

ul.pagination {
	list-style-type: none;
	display: flex;
	padding: 0;
	margin: 0 -5px 1.2em -5px;
}

ul.pagination li {
	margin: 0 5px 0 5px;
}

p.meldung {
	color: rgb(175, 205, 95)
}

p.meldung.fehler {
	color: rgb(235, 95, 65);
}

div.maps {
	width: 100%;
	height: 500px;
	margin: 0 0 1.2em 0;
}

div.maps div.marker-popup {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 12px);
	transform: translateX(-50%);
	padding: 10px;
	border-radius: 3px;
	background: #fff;
	color: #222;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	border: 1px solid #ddd;
	display: none;
	z-index: 10;
	pointer-events: auto;
}

div.maps div.marker-popup::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	border-width: 10px 8px 0 8px;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
	filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.08));
}

div.maps div.marker-popup button {
	position: absolute;
	top: 10px;
	right: 10px;
	background: black;
	border-radius: 100%;
}

div.maps div.marker-popup p {
	white-space: nowrap;
	margin: 0;
}

div.maps div.cluster {
	display: flex;
	width: 30px;
	height: 30px;
	background: rgb(255, 255, 255);
	border-radius: 100%;
	align-items: center;
	justify-content: center;
}