* {
	box-sizing: border-box;
}
body, html {
	margin: 0;
	font-family: 'Lato', sans-serif;
	font-size: 4vmin;
	line-height: 5.84vmin;
	height:100%;
}

.light {
	background-color:#ffffff;
	color:#000000;
}

.light h1,
.light h2 {
	color: #B5345E;
}

.light a {
	color: #537a27;
}

.dark {
	background-color: #B5345E;
	color: #ffffff;
}

.dark a {
	color: #ffffff;
}

section {
	margin:0;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding:0;
	height:auto;
	min-height:100%;
}

section > div {
	max-width: 32em;
	width: 100%;
	padding: 0 1em;
	box-sizing: border-box;
}

section > div:first-child {
	margin-top:1em;
}

section > div:last-child {
	margin-bottom:1em;
}

section#logopage {
	background-color: #ffffff;
	background-image: url("../files/Footer.svg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
}

section#zeitenPage {
	background-color: #ffffff;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

section#paedagogikPage {
	background-color: ##537a27;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

section#kostenPage
section#TeamPage
section#anmeldungPage {
	background-color: #537a27;
}

h1 {
	font-size: 154%;
	line-height: 148%;
	margin: 0, 0, 30px, 0;
}

p {
	margin: 0, 0, 10px, 0;
}

a {
	text-decoration:none;
	color: #537a27;
}

ul {
	padding-left: 1.5em;
}

#logo {
	width:40%;
	height:50%;
}

img.BdF {
	width:20em;
}

img.galerie {
    width: 80%;
    height: auto;
}

section.anfahrt {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

div#anfahrt {
	height:50%;
	width: 100%;
}

div#anfahrt img {
	max-width:100%;
	max-height:100%;
}

a:link,
a:visited {
	text-decoration: underline dotted;
}

a:hover,
a:focus,
a:active {
	text-decoration: underline solid;
}

footer {
	min-height:50vh;
	margin:0;
	padding:0;
	background-color: #e8c1d8;
	color: #000000;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

footer ul {
	list-style-type: none;
	margin:0;
	margin-left:2em;
	margin-right:2em;
	padding:0.3em;
	display:flex;
	flex-direction: row;
	justify-content: space-evenly;
	flex-wrap: wrap;
}

footer ul li {
	margin: 0;
}

footer,
footer a:link,
footer a:visited,
footer a:hover,
footer a:focus,
footer a:active {
	color: #000000;
}

/* ********** */
#Gebührenordnung {
	max-width:95vw;
	margin-top:0;
	margin-bottom:0;
	display: flex;
	flex-direction: column;
	flex-wrap: unset;
	width: 22em;
}

#Gebührenordnung dl {
	width: 22em;
	display: flex;
	flex-direction: row;
	margin:0;
	padding:0;
}
#Gebührenordnung dt,
#Gebührenordnung dd {
	height:auto;
	margin:0.1em;
	padding:0.1em;
	background-color:rgba(255,255,255, 0.1);
}
#Gebührenordnung dt {
	text-align:left;
	width: 16em;
}
#Gebührenordnung dd {
	text-align:right;
	width: 5.5em;
}

nav:hover {
	background-color: #e5eeb9;
	box-shadow: 1mm 2mm 4mm rgba(0, 0, 0, .5);
}

nav.show {
	width:9em;
	height:26em;
	height:calc(19mm + 15.6em);
	overflow-y:auto;
	background-color: #e5eeb9;
	box-shadow: 1mm 2mm 4mm rgba(0, 0, 0, .5);
}

nav {
	position: fixed;
	top:1vh;
	left:0;
	max-width:90vw;
	max-height:98vh;
	overflow:hidden;
	z-index:999;
	width:10mm;
	height:10mm;
	transition: all 0.3s ease-in-out;
}

nav header {
	min-width:20mm;
	width:100%;
	height:10mm;
	font-size: 8mm;
	line-height: 10mm;
	text-align:center;
	cursor: pointer;
}

nav header span {
	width:10mm;
	height:10mm;
	cursor: pointer;
	display:inline-block;
}

nav header span.open {
	float:left;
}

nav header span.close {
	display:none;
	font-size: 80%;
}

nav.show header span.close {
	display:inline-block;
	float:right;
}


nav ul {
	width:9em;
	margin:0;
	padding: 0 0.5em 0.5em 0.5em;
}

nav li {
	width:100%;
	list-style:none;
}

nav a {
	display:block;
	padding: 0.2em;
}

nav a:link,
nav a:visited {
	width:100%;
	text-decoration: none;
	color:#000000;
}
nav ul a:hover,
nav ul a:focus,
nav ul a:active {
	background-color:#ffffff;
}

@media (max-aspect-ratio: 3/2) {
	#logo {
		width:50%;
		height:50%;
	}
}

@media (max-aspect-ratio: 1/1) {
	#logo {
		width:70%;
		height:50%;
	}
}

@media (max-aspect-ratio: 3/4) {
	#logo {
		width:80%;
		height:50%;
	}
}

@media (max-aspect-ratio: 2/3) {
	#logo {
		width:95%;
		height:50%;
	}
}

@media (min-width: 84em) {
	#Gebührenordnung {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		width:95%;
	}

	#Gebührenordnung dl {
		display: flex;
		flex-direction: column;
		padding:0;
		margin:0.2em;
		width:9em;
	}

	#Gebührenordnung dt,
	#Gebührenordnung dd {
		width:9em;
		text-align:center;
	}

	#Gebührenordnung dt {
		height:3.5em;
	}
}

@media only screen and (min-width: 961px) {
	body, html {
		font-size: 3vmin;
		line-height: 4.38vmin;
	}
}

.print {
	display:none;
}

@media print {
	* {
		color: #000000;
		font-size: 12pt;
		line-height: 146%;
	}
	section {
		min-height:auto;
		height:auto;
		min-width:auto;
		width:auto;
	}
	nav,
	.screen {
		display:none;
	}
	.print {
		display:initial;
	}
	
	.light h1,
	.light h2 {
		color: #000000;
	}

	#logo {
		float:right;
	}
}
