@charset "utf-8";
/* CSS Document */
body{margin: 0;padding: 0;font-family: Montserrat;background-color: black;}
body *{margin: 0;padding: 0;transition: 1.5s ease;color: white;}
header, footer, #header_overlay, .text, nav{display: flex;align-items: center;justify-content: center;}
header, footer, .element{height: 100vh;}
main{text-align: center;scroll-snap-align: start;width: 100%;overflow-y: scroll;overflow-x: hidden;	scroll-snap-type: y mandatory; height: 100vh}
main > header, .element, section, footer{width: 100%;scroll-snap-align: start;scroll-snap-stop: always;}
main, header, footer, #header_overlay, .text, nav{flex-direction: column;}
header{}
#header_overlay, .text{background-color: rgba(0,0,0,0.7);backdrop-filter: blur(7px);}
header #header_overlay{height: 100%;width: 100%;}
header #header_overlay h1{display: none;}
header #header_overlay:has(.button:hover){backdrop-filter: blur(0px); background-color: rgba(0,0,0,0.6);}
.button{text-decoration: none;background-color: white;color: black;border: 1.5px solid white;padding: 1em;text-transform: uppercase;border-radius: 100px;margin: 1em;}
.button:hover{background-color: rgba(0,0,0,0);color: white;}
nav{margin-top: 2.5em;}
nav .button{width: 150px;font-weight: 700;}
.text p{width: 80%;padding-left: 5vw;padding-right: 5vw;padding-top: 3vw;font-size: 1.3em;font-weight: 200;text-align: justify-all;}
#ueber_text{background-color: rgba(143,0,0,0.7)}
#galerie{overflow: hidden}
#galerie img{min-height: 100vh;min-width: 100vw;}
footer{justify-content: space-around;background-color: rgba(150,150,150,1.00); font-size:1em}
footer .logo{filter: grayscale(40%) invert(50%); width:60%}
footer table{width: 95%;}
footer tr *{padding: 5px;}
footer tr *{text-align: right;}
footer tr *:nth-child(odd){text-align: left;}
footer .kontakt{margin-top: 15px;}
footer h3{margin: 0; padding: 0;}
footer *{margin: 0;padding: 0;}

@media screen and (max-width: 801px){
	header .logo{width: 70%;}
	.bild img{height: 100%;margin-left: -40%;}
	.text{font-size: 1.1em}
}
@media screen and (min-width: 801px){
	section{display: flex;align-items: center;justify-content: center;	}
	main, section, .gruppe{height: 100vh;}
	header .logo{height: 40%;}
	.element{width: 50%}
	.gruppe{width: 100vw;}
	.bild{z-index: 1;width: 50%;height: 100vh;}
	.bild img, .bild iframe{height: 100vh;width: 100vw;}
	.text{z-index: 2;height: 100%;}
	#ueber{flex-direction: row-reverse}
	#ueber img{margin-left: -100%}
	.text p{width: 70%;padding-left: 5vw;padding-right: 5vw;padding-top: 2vw;font-size: 1.2em;}
}
@media screen and (min-width: 801px) and (max-width: 1920px){
	footer{flex-direction: row; flex-wrap: wrap}
	footer menu{
		width: 100%;
		height: 15%;
	}
	footer #oeffnungszeiten{
		width: 50%;
		height: 85%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	footer #footer_adresse{
		height: 85%;
		width: 50%;
		display: flex;
		align-content: center;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}
	footer .logo{
		width: 50%;
	}
}

#impressum{ flex-direction: column; height: 150vh}
#impressum h2{
	margin-bottom: 8vh;
}
#impressum *{margin: 0; padding: 0}
#impressum .absatz{
	margin-top: 25px;
}
#impressum p{
	padding-left: 2vw;
	padding-right: 2vw;

}



