/*html, body { overflow: hidden; } */
* { padding: 0; margin: 0; border: 0; }

body { font-family: 'Jost'; font-weight: 300; font-style: normal; font-size: 16px; line-height: 1.4; letter-spacing: 0.2px; color: #000; 
	background-color: #fff; 
	-moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased;
}
@media screen and (min-width: 768px) {
	body { font-size: 18px; }
}

*:state(webkit-media-controls-panel) {
  display: none!important;
  -webkit-appearance: none;
}
*:state(webkit-media-controls-play-button) {
  display: none!important;
  -webkit-appearance: none;
}
*:state(webkit-media-controls-start-playback-button) {
  display: none!important;
  -webkit-appearance: none;
}

.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/*
.embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; }
.embed-responsive-4by3{ padding-bottom:75% }
.embed-responsive-16by9 { padding-bottom: 56.25%; }
.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; left: 0; bottom: 0; height: 100%; width: 100%; border: 0; }
*/

img, embed, object { max-width: 100%; height: auto; } 
img { -ms-interpolation-mode: bicubic; }


h1, h2, h3, h4, h5, h6 { color: inherit; font-weight: 400; font-style: normal; margin-bottom: 0; text-rendering: optimizeLegibility; padding-bottom: 20px; }
h1 { font-size: 54px; font-weight: 300; }
h2 { font-size: 36px; }
h3, h4, h5, h6 { font-size: 16px; }
h2, h3, h4, h5, h6 { font-family: 'Caveat'; }

@media screen and (min-width: 768px) {
	h1 { font-size: 54px; }
	h2 { font-size: 42px; }
}

.bg1 { background-color: #fff; }
.bg2 { background-color: rgb(248, 251, 243); }
.bg3 { background-color: rgb(255, 251, 246); }
.bg4 { background-color: rgb(251, 253, 249); }

.highlighttxt { font-size: 24px; }
.handwriting { font-family: 'Caveat'; font-weight: 400; }
.buttonlink { display: inline-block; width: auto; padding: 10px 30px; color: #222; border: 1px solid #222; text-decoration: none; background-color: #fff; border-radius: 30px; }
.buttonlink:hover { border-color: rgba(180,197,108, 1); /* 197,216,119 */ }

i, em { font-style: italic; }
strong, b { font-weight: 500; }


a { /* outline: 0;*/ line-height: inherit; cursor: pointer; color: #222; text-decoration: underline; 
-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
a:hover { color: rgba(180,197,108, 1); }
a.normal-text { text-decoration: none; cursor: default; color: #000; }
a.normal-text:hover { color: inherit; }

hr { background-color: transparent; opacity: 1; margin: 0 0 20px 0; border-top: 1px solid #444; 
/*
-moz-box-shadow: 0 2px 2px rgba(182, 182, 182, 0.4);
    -webkit-box-shadow: 0 2px 2px rgba(182, 182, 182, 0.4);
	box-shadow: 0 2px 2px rgba(182, 182, 182, 0.4);
*/
	-moz-opacity: 1;
   -webkit-opacity: 1;
    opacity: 1;
}

img[align=right] { margin: 0 0 0 15px; }
img[align=left] { margin: 0 15px 0 0; }

p[align=center], div[align=center] { text-align: center; }
p[align=right], div[align=right] { text-align: right; }
p[align=justify], div[align=justify] { text-align: justify; }

/*
.Zurueck-Link { position: relative; }
.Zurueck-Link:before { content: '←'; position: absolute; left: 0; top: 0; display: inline-block; width: 20px; height: auto; }
*/

/*
.h-100 { height: 100%; }
.w-100 { width: 100%; }
*/

/*
.onlymobile { }
.onlydesktop, .onlydesktopflex { display: none; }
@media screen and (min-width: 768px) {
  .onlymobile { display: none; }
  .onlydesktop { display: block; }
  .onlydesktopflex { display: flex; }
}
*/
/*
.posrelative { position: relative; }
.ovhidden { overflow: hidden; } */
.imgonly { line-height: 0; font-size: 0; }
.txtcenter { text-align: center; }
.txtright { text-align: right; }
/*
.bgcoverimg { width: 100%; height: 100%; display: block; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.stop-scrolling { position: fixed; overflow: hidden; width: 100%; height: 100%; pointer-events: none; }
.float-right { float: right; }

.aniimg img, .videolink video, .moverscale {
	 -webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	transition: all 0.5s ease;
}	

.aniimg a:hover img, a:hover .aniimg img, a:hover .moverscale  {
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-webkit-transform: perspective(1px) scale(1.1);
	transform: perspective(1px) scale(1.1);
}
*/

#wrapper { width: 100%; min-height: 100vh; }


main .container-fluid { /* max-width: 1440px; */ }
.container-fluid {
	--bs-gutter-x: 2.5rem; 
    --bs-gutter-y: 2.5rem; 
}
/*
.pleft { padding-left: 15px; }
.pright { padding-right: 15px; }
*/
.firstelement { padding-top: 80px; }
@media screen and (min-width: 768px) {
	.firstelement { padding-top: 101px; }
}
@media screen and (min-width: 992px) {
	.firstelement { padding-top: 121px; }
	/*
	.pleft { padding-left: 20px; }
	.pright { padding-right: 20px; }
	*/
}
@media screen and (min-width: 1280px) {
	.container-fluid {
		--bs-gutter-x: 4rem; 
		--bs-gutter-y: 4rem; 
	}
}

section { padding-bottom: 60px; }
section.halfpbottom { padding-bottom: 30px; }
section.nopbottom { padding-bottom: 0; }
@media screen and (min-width: 768px) {
	section { padding-bottom: 100px; }
	section.halfpbottom { padding-bottom: 50px; }
}
@media screen and (min-width: 1280px) {
	section { padding-bottom: 140px; }
	section.halfpbottom { padding-bottom: 70px; }
}


ul, ol, p { margin-bottom: 0; padding-left: 0; }
main ul { /*list-style: none; margin-left: 0.8em;*/ padding-left: 20px; padding-bottom: 20px; }
main ul li { padding-bottom: 0; }
/*main ul li { padding-bottom: 5px; position: relative; }
main ul li:before { content: "•"; font-weight: bold; color: #000; display: inline-block; width: 0.7em; margin-left: -0.7em; font-family: Arial; }
main ul li:last-child { padding-bottom: 0; } */

main ol { list-style: decimal; margin-left: 7px; padding-bottom: 20px; }
main ol li { padding-bottom: 5px; padding-left: 10px; }
main ol li:last-child { padding-bottom: 0; }

main p { padding-bottom: 20px; }
/*
main .nopbottom p { padding-bottom: 0; }
main p,
h1, h2, h3, h4, h5, h6, 
blockquote { 
	max-width: 750px;
} */


/* Navigation-Button Mobile */
#menuwrapper { font-size: 22px; }
#menuwrapper nav ul { list-style: none; margin-left: 2rem; }
#menuwrapper nav li { display: block; margin-top: 2rem;}
#menuwrapper nav li a { display: inline-block; width: auto; color: #222; text-decoration: none; }
/*#menuwrapper nav li:last-child a { padding-right: 0; }*/
#menuwrapper nav li.active a, 
#menuwrapper nav li a:hover { 
	color: rgba(180,197,108, 1);; 
}

#menubutton { display: none; }
@media screen and (max-width: 767.98px) {

	#menubutton { display: block; position: fixed; top: 22px; right: 25px; z-index: 9999; }

	#menubutton #openmenu { display: inline-block; position: relative; width: 22px; height: auto; margin-top: auto; margin-left: 10px; }
	#menubutton #openmenu span { display: block; line-height: 0; font-size: 0; height: 0; width: 100%; margin-top: 6px; 
	/*background-color: #000;*/ border: 1px solid #222; /*border-radius: 3px;  */
	-webkit-transition: all 0.4s ease-out 0s; 
		-moz-transition: all 0.4s ease-out 0s; 
		transition: all 0.4s ease-out 0s; 
		}
	#menubutton #openmenu span:first-child { margin-top: 10px; }
	#menubutton.active #openmenu span:first-child, 
	#menubutton.active #openmenu span:last-child { 
		position: absolute; left: 0px; width: 100%; left: 0px; width: 100%; 
	}
	#menubutton.active #openmenu span:first-child { top: -14px;
	-webkit-transform: rotate(45deg); 
	-ms-transform: rotate(45deg); 
	transform: rotate(45deg); 
	}
	#menubutton.active #openmenu span:last-child { top: -10px; 
	-webkit-transform: rotate(-45deg); 
	-ms-transform: rotate(-45deg); 
	transform: rotate(-45deg); 
	}
	#menubutton.active #openmenu span:nth-child(2) { display: none; }

	#menuwrapper { 
		position: fixed;
		top: -200vh; 
		left: 0;
		width: 100%;
		/*height: 100vh;*/
		height: auto;
		/*height: calc(100% - 40px);
		flex-direction: column;*/
		
		z-index: 998;

		padding-top: 70px;
		
		background-color: #fff; 
		padding-bottom: 20px;
		
		font-size: 20px;
	}

}
@media screen and (min-width: 768px) {
	#menuwrapper { padding-top: 27px; }
	#menuwrapper nav ul { margin-left: 0; }
	#menuwrapper nav li { display: inline-block; width: auto; margin-top: 0; }
	#menuwrapper nav li a { display: block; padding: 0 10px; }
	#menuwrapper nav li:first-child a { padding-left: 0; }
	#menuwrapper nav li:last-child a { padding-right: 0; }
}
@media screen and (min-width: 992px) {
	#menuwrapper nav li a { padding: 0 15px; }
}



#header { position: fixed; left: 0; top: 0; width: 100%; padding-top: 8px; padding-bottom: 10px; background-color: #fff; z-index: 999; }
.headerlogo img { width: 149px; height: 61px; }
@media screen and (min-width: 768px) {
	#header { padding-top: 20px; padding-bottom: 20px; }
	.headerlogo img { width: 160px; height: 61px; }
	#menuwrapper { font-size: 18px; }
}
@media screen and (min-width: 800px) {
	#menuwrapper { font-size: 20px; }
}
@media screen and (min-width: 992px) {
	.headerlogo img { width: 200px; height: 81px; }
}

.mtext { padding-top: 30px; padding-bottom: 30px; }
@media screen and (min-width: 768px) {
	.mtext { padding-top: 40px; padding-bottom: 40px; }
}
@media screen and (min-width: 1024px) {
	.mtext { padding-top: 60px; padding-bottom: 60px; }
}

/*
@media screen and (min-width: 1024px) {
	.mtext p {
		max-width: 750px;
	}
}
*/
.mabschnitt h1 { font-size: 25px; line-height: 30px; letter-spacing: 2px; text-align: center; position: relative; }
.mabschnitt h1:after { content: ''; display: block; width: 250px; height: 1px; background-color: #000; position: absolute; left: 50%; margin-left: -125px; margin-top: 10px; }
@media screen and (min-width: 768px) {
	.mabschnitt h1:after { margin-top: 20px; }
}

.imgtxt { padding-left: 0; padding-right: 0; } /* randlose bilder */
.imgtxttxt { padding-left: 2.5rem; padding-right: 2.5rem; }
.imgtxt .imgonly { background-repeat: no-repeat; background-position: center center; background-size: cover; min-height: 280px; height: 100%; }
.imgtxt .imgtxttxt { padding-top: 30px; padding-bottom: 20px; }
@media screen and (min-width: 600px) {
	.imgtxt .imgonly { min-height: 50vh; margin-bottom: 20px; }
}
@media screen and (min-width: 992px) {
	.imgtxt .imgonly { min-height: 70vh; margin-bottom: 0; }
}
@media screen and (min-width: 1200px) {
	.imgtxt .imgonly { min-height: 90vh; }
}

.mteam { text-align: center; }
.mteam .imgonly { padding-bottom: 20px; }
.mteam .imgonly img { max-width: 210px; aspect-ratio: auto 219 / 323; }
.mteam .teamemail img { width: 25px; height: 25px; }
.mteam .teamname { font-size: 18px; letter-spacing: 1px; line-height: 23px; }
main .mteam .teamname p { padding-bottom: 0; }
.mteam .teamname a { text-decoration: underline; }
main .mteam .teambez p { padding-bottom: 15px; }
.mteam .teambez { font-size: 15px; letter-spacing: 0px; line-height: 20px; }
.mteam .mteamel:first-child { margin-bottom: 50px; }
@media screen and (min-width: 600px) {
	.mteam .mteamel:first-child  { margin-bottom: 0; }
}

footer { font-size: 18px; padding-bottom: 15px; padding-top: 25px; background-color: rgba(66, 71, 70, 1); }
footer, footer a { color: #fff; }
footer ul { list-style: none; }
footer li { display: inline; padding-right: 10px; }
footer a { position: relative; text-decoration: none; }
footer a:hover,
footer li.active a { 
	text-decoration: underline;
}
footer .txtright { font-size: 70%; }
/*footer a:before { content: '| '; display: inline-block; padding-left: 7px; padding-right: 7px; }*/
/*footer nav { padding-left: 7px; } */
.footercontent { border-top: 1px solid #000; padding-top: 20px; }
footer p, 
footer nav {
	display: inline-block;
}
@media screen and (max-width: 767.98px) {
	footer .txtright { padding-top: 20px; }
}

@media screen and (max-width: 767.98px) {
	.mobiletxtcenter { text-align: center; }
}