:root {
	--blue: #5779b0;
	--green: #009563;
	--white: #ffffff;
	--black: #000000;
	--yellow:#e8ad00;
	--orange:#ed694b;
	--light-yellow:rgb(252,247,235);
	--light-orange:rgb(252,242,237);
	--light-grey: #f4f4f4;
	--light-green:#e5eee8;
	--light-blue:rgb(240,241,247);

}


/* pt-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/pt-sans-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* pt-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/pt-sans-v18-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* pt-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/pt-sans-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* pt-sans-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/pt-sans-v18-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



img { border: none; }
form {margin:0px; padding:0px;}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.svg-container {
 position: relative; 
 height: 0; 
 width: 100%; 
 padding: 0;
 padding-bottom: 100%; /* override this inline for aspect ratio other than square */
}

.svg-container svg {
 position: absolute; 
 height: 100%; 
 width: 100%; 
 left: 0; 
 top: 0;
}

/* ### HTML ###################################################################### */
html {
	margin: 0px;
	padding: 0px;
	height:100%;
	font-size: 62.5%; /* 1rem = 10px */
	scroll-behavior: smooth;
  	scroll-padding: 10rem;

}

@media (max-width:720px) {
    html {font-size: 50%; /* 1rem = 8px */}
}


/* ### BODY ###################################################################### */
body {
	color: var(--black);
	font-family: 'PT Sans';
    font-weight: 400;
	margin: 0px;
	padding: 0px;
	line-height: 1.5;
	font-size:2.2rem;
	background-position:0px 0px;
	background-repeat:repeat;
	height:100%;
	/*letter-spacing: 0.4px;*/
	/*word-spacing: 2px;*/
	

	}

.wrapper_outer {padding: 0 3%;}
.wrapper_inner {width: 100%; max-width: 1005px; margin: auto;}


.inner_1200 { max-width:1200px !important;}
.inner_1152 { max-width:1152px !important;}
.inner_1005 { max-width:1005px !important;}
.inner_770 { max-width:770px !important;}




.flexbox { 
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  
  -webkit-flex-flow: wrap;
      -ms-flex-flow: wrap;
          flex-flow: wrap;
	  	  
	  }

.nowrap { 
  -webkit-flex-flow: nowrap;
      -ms-flex-flow: nowrap;
          flex-flow: nowrap;
	/*breite flexibel passt sich ein - standard*/ 
	  }	

.wrap { 
  -webkit-flex-flow: wrap;
      -ms-flex-flow: wrap;
          flex-flow: wrap;
	/*breite fix passt sich nicht ein*/
	  }
	  
.space-between { 	    
-webkit-box-pack:justify;
      -ms-flex-pack:justify;
		-webkit-justify-content:space-between;
          justify-content:space-between;
}

.horizontal-mitte {
-webkit-box-flex:1;
      -ms-flex:1 auto;
          flex:1 auto; 
		  display:flex;  
		  -webkit-box-align:center;  
		  -ms-flex-align:center;  
		  align-items:center; 
		  
		  /*-webkit-box-pack:center; 
		  -ms-flex-pack:center; 
		  justify-content:center;*/
		   
		  -ms-flex-item-align:stretch; 
		  align-self:stretch; 
}

.horizontal-unten {
-webkit-box-flex:1;
      -ms-flex:1 auto;
          flex:1 auto; 
		  display:flex;  
		  -webkit-box-align:end;  
		  -ms-flex-align:end;  
		  align-items:end; 
		  
		  /*-webkit-box-pack:center; 
		  -ms-flex-pack:center; 
		  justify-content:center;*/

}




/* ### INHALT ###################################################################### */
h1 {margin: 0; padding: 0;}
.pre_headline {font-size: 2.1rem; font-style: normal; font-weight: 600; line-height: 120%; /* 25.2px */ text-transform: uppercase; margin-bottom: 1%;}  
/*.h1 {font-family: "Fixel Display"; font-size: 4rem; font-style: normal; font-weight: 800; line-height: 120%;  color:#fff;}*/
.h2 {font-size: 3.4rem; font-style: normal; font-weight: 800; line-height: 120%; margin-top: 0;}
.h3 {font-size: 2.6rem; font-style: normal; font-weight: 700; line-height: 120%;}
.h4 {font-size: 2.2rem; font-style: normal; font-weight: 400; line-height: 150%; margin-top: 0; margin-bottom:1rem; }

p {padding-top: 0px; margin-top: 0px;}

strong,b {font-weight: 700;}

.clear {clear:both; font-size:1px; line-height:1px; height:1px;}

.text-center {text-align: center;}
.text-left {text-align: left;}
.text-right {text-align: right;}
.text-justify {text-align: justify;}

.white {color:var(--weiss);}
.green {color: var(--green);}
.blue {color:var(--blue);}
.black {color:var(--black);}
.yellow {color:var(--yellow);}
.orange {color:var(--orange);}
	
	

.hg_blue {background-color: var(--blue);}
.hg_grey {background-color: var(--grey);}
.hg_green {background-color: var(--green);}
.hg_light_green {background-color: var(--light-green);}
.hg_grey {background-color: var(--light-grey);}
.hg_light-blue {background-color: var(--light-blue);}
.hg_light-orange {background-color: var(--light-orange);}
.hg_light-yellow {background-color: var(--light-yellow);}
.hg_light-grey {background-color: var(--light-grey);}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #000;
    margin: 0;
    padding: 0;
}


section.mg_bottom_xl {padding-bottom: 120px;}
section.mg_bottom_l {padding-bottom: 80px;}
section.mg_bottom_m {padding-bottom: 40px;}
section.mg_bottom_s {padding-bottom: 20px;}

@media (min-width:1200px) {
    .abstand_150 {padding:3%;}
}


/*focus nur tastatur - nur bei input felder wird auch auf klick outline gemacht hier greift focus-visible nicht*/
*:focus:not(:focus-visible) {
    outline: none
}

*:focus-visible {
    outline: 2px dashed currentColor;
    outline-offset: 2px;
}


main a {color:var(--falco-deep-fuchsia); text-decoration: underline; }
main a:hover {color: var(--falco-black);}

.klein {font-size:0.812em; line-height: 1.235em;}

.linie_1px {line-height:1px; font-size:1px; height:1px; background-color:#d0cfc5; display:block; margin-top:8px; margin-bottom:9px; clear:both;}


/*p + ul {margin-top: -0.5em;}*/
main ul {list-style-position:outside; list-style-type:disc;  padding-left:48px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:18px;}
main ol {list-style-position:outside; list-style-type:decimal; padding-left:48px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:18px; margin-left:0px;}
main ul li {padding-left:3px; padding-bottom:0px;}
main ol li {padding-left:3px; padding-bottom:0px;}
main ul li::marker {}

blockquote {
	background-color: #efefef;
	margin: 0;
	padding: 5px 15px;
	font-style: italic;
	color:#00788d;
}


@media (max-width:870px) {
    
}

main {padding-top: 4vw;}
@media (min-width:1800px) {
	main {padding-top: 60px;}
}



.calltoaction_box {}
.calltoaction_button {display: inline-flex; padding: 5px 26px; justify-content: center; align-items: center; gap: 8px; border-radius: 250px;
 text-decoration: none; color:var(--white); background: var(--green);}
.calltoaction_button:hover {background: var(--green); color:var(--black);}

.calltoaction_button:focus-visible {
    outline: 2px dashed var(--black);
    outline-offset: 2px;
}



.fotogalerie_grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; width: 100%; }
.fotogalerie_grid_item {aspect-ratio: 16 / 9; }
.fotogalerie_grid_item img { width: 100%; height: 100%; object-fit: cover; display: block;}
	
@media (max-width: 859px) {
  .fotogalerie_grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 659px) {
  .fotogalerie_grid { grid-template-columns: repeat(2, 1fr);}
}

.infoboxen {}
.infobox {border-radius: 20px; padding: 2px 25px 2px 20px; margin-left: auto; margin-right: auto; margin-bottom: 20px;}
.cols_3 .infobox{width:32%;}
.cols_2 .infobox {width:49%;}

@media (max-width: 1150px) {
	.cols_3 .infobox {width:49%;}
}

@media (max-width: 780px) {
	.infobox,.cols_2 .infobox,.cols_3  .infobox{width:100%;}
}

.grafiken_box {text-align: center; }
.grafiken_box img.grafik_a {width:calc(98px*2); }
.grafiken_box img.grafik_b {width:calc(184px*2); }

@media (max-width: 386px) {
		.grafiken_box img.grafik_a {width:calc(98px*1.5); }
		.grafiken_box img.grafik_b {width:calc(184px*1.5); }
}


/* ### HEADER  ###################################################################### */
body { }
.header_box {background-image: url("../bilder/swoosh.svg"); background-position: 40% 0px; background-repeat: no-repeat; background-size: cover; padding-bottom: 8.5%; padding-top: 2.5em;}

@media (min-width: 1450px) {
	.header_box {background-position: 40% -30px;}
}

@media (min-width: 1700px) {
	.header_box {background-position: 40% -100px;}
}

header {position: relative;}
/*.swoosh_fix {position: absolute; top:0px; left:0; z-index: -1; text-align: right;}
.swoosh_fix img {width: 130%; margin-left: -50%;}*/
.header_h1 {line-height: 1.2em; padding-bottom: 0.5em;}
.header_h1 a {text-decoration: none; color: var(--green);}
.header_h2 {font-size:3rem; width: 60%; line-height: 1.2em; font-weight: 700;}

.header_bild_1 {
  border-top-left-radius: 15%;
  border-top-right-radius: 0%;
  border-bottom-left-radius: 100%;
  border-bottom-right-radius: 0%;
  width: 30%;
  position: absolute;
  top: -5%;
  right: 0;
}

.header_bild_2 {
  width: 100%;
  border-top-left-radius: 38%;
  border-top-right-radius: 65%;
  border-bottom-left-radius: 63%;
  border-bottom-right-radius: 37%;
  margin-top: -99px;
  max-width: 780px;
}

@media (max-width: 1500px) {
	.header_bild_1 {

  width: 450px;
  right: -2%;
	}
	.header_bild_2 {
		margin-top: -80px;
		max-width: 680px;
	}
	
	.header_h1 {
		max-width: 600px;
	}
}

@media (max-width: 1080px) {
	
	.header_bild_1 {
 		 width: 400px;
	}
	
	.header_bild_2 {
		margin-top: -50px;
		max-width: 480px;
	}
}


@media (max-width: 890px) {
	.header_bild_1 {
 		 width: 40%;
	}
}

@media (max-width: 720px) {
	.header_h1 {
    max-width: 400px;
  }
	
	.header_bild_2 {
		margin-top: -30px;
	}
}

@media (max-width: 560px) {
	.header_bild_1 { width:225px;}
	
	.header_box {padding-top: 5.5em;}
}

@media (max-width: 480px) {
	.header_h1 {width: 80%;}
	.header_h2 {width: 80%;}
	.header_box {padding-bottom: 10.5%;}
}


/* ### NAVI ###################################################################### */
.nav_header {z-index: 200; position: relative;}

.nav {display: none;	line-height: 1.5; font-size:1.7rem; }
.nav ul {margin: 0; padding: 0;}
.nav li {list-style: none;}

.nav ul.ebene_1 li {text-transform: uppercase; margin-bottom: 10px; font-weight: 600;}
.nav ul.ebene_2 li {text-transform:none; margin-bottom: 10px; margin-bottom: 5px; font-weight: 400;}
.nav ul.ebene_1 li a {color:var(--green); text-decoration: none; font-weight: 700;}
.nav ul.ebene_1 li a:hover, .nav ul.ebene_1 li.active a {color:var(--black);}
.nav ul.ebene_2 li a {color:var(--blue); text-decoration: none; padding-left: 5px; font-weight: 400;}
.nav ul.ebene_2 li a:hover, .nav ul.ebene_2 li.active a{display: block; color:var(--white); background-color: var(--green);}
.nav ul.ebene_1 {}


.nav ul.ebene_2 {margin-left: 4%; padding-top: 5px;}

	
@media (min-width:1180px) {
	.nav {margin-top:0px; padding: 13px 0 13px 0;} 
	.nav_header {background-color: var(--black);}
	.nav ul {margin: 0; padding: 0;}
	.nav ul.ebene_2 {margin-left: 0; padding-top: 0px;}
	.nav li {list-style: none;}
	.nav li a {}
	.nav ul.ebene_1 {display: flex; justify-content: space-between; margin-top: 0px;}
	 .nav ul.ebene_1 li:hover > .submenu,
	 .nav ul.ebene_1 li:focus-within > .submenu {
		display: block;
	  }
	.nav ul.ebene_1 li {display: block; position: relative; margin-bottom: 0px; font-weight: 400;}
	.nav ul.ebene_2 li {display: block; min-width: 210px; border-top:1px solid var(--falco-norce-blue); margin-bottom: 0px;}
	.nav ul.ebene_2 li:last-of-type {border-bottom:1px solid var(--falco-norce-blue);}
	.nav ul.ebene_2 li a {padding: 3px 0; display: block; padding-left: 0px;}
	.submenu {display: none; position: absolute; left:-24px; background-color: var(--falco-light-grey-doris-1); padding: 13px 24px 24px 24px; z-index: 100;}
	.submenu:hover,
	 .submenu:focus-within {
		display: block;
	  }
	.nav ul.ebene_1 li.active a:before, .nav ul.ebene_1 li a:hover:before {content: ''; display: block; position: absolute; top:-13px; width: 100%; height: 7px; background-color: var(--falco-deep-fuchsia); }
	.nav ul.ebene_1 li.active ul.ebene_2 a:before, .nav ul.ebene_1 li ul.ebene_2 li a:hover:before {display: none;}
	
	.nav ul.ebene_1 li svg {display: inline;}
}

	
.lines-box {/*text-align: right;*/ padding-left:2%;}
.lines-button { height:40px;  z-index:3; background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    border: medium none;  cursor: pointer; margin-right: 10px;}

.lines-button:hover {
    opacity: 1;
    filter:alpha(opacity=100);
}
.lines-button:active {
}
.lines {
    background: var(--falco-norce-blue) none repeat scroll 0 0;
    border-radius: 0.28571rem;
    display: inline-block;
    height:4px;
    position: relative;
    -webkit-transition: all 0.3s ease 0s;
            transition: all 0.3s ease 0s;
    width:40px;
    /*width: 2.2rem;*/
	position: relative;
  	top: -6px;
}
.lines:before, .lines:after {
    background: var(--falco-norce-blue) none repeat scroll 0 0;
    border-radius: 0.28571rem;
    content: "";
    display: inline-block;
    height:4px;
    left: 0;
    position: absolute;
    -webkit-transform-origin: 0.28571rem center 0;
        -ms-transform-origin: 0.28571rem center 0;
            transform-origin: 0.28571rem center 0;
    -webkit-transition: all 0.3s ease 0s;
            transition: all 0.3s ease 0s;
    width:40px;
    /*width: 2.2rem;*/
}
.lines:before {
    top:8px;
    /*top: 0.5rem;*/
}
.lines:after {
    top:-8px;
    /*top: -0.5rem;*/
}
/*.lines-button:hover .lines:before {
    top:16px;
    top: 1rem;
}
.lines-button:hover .lines:after {
    top:-16px;
    top: -1rem;
}*/
.lines-button.close {
    -webkit-transform: scale3d(0.8, 0.8, 0.8);
            transform: scale3d(0.8, 0.8, 0.8);
}
.lines-button.arrow.close .lines:before, .lines-button.arrow.close .lines:after {
    top: 0;
    width:35px;
    width: 2.22222rem;
    
}
.lines-button.arrow.close .lines:before {
    -webkit-transform: rotate3d(0, 0, 1, 40deg);
            transform: rotate3d(0, 0, 1, 40deg);
}
.lines-button.arrow.close .lines:after {
    -webkit-transform: rotate3d(0, 0, 1, -40deg);
            transform: rotate3d(0, 0, 1, -40deg);
}
.lines-button.arrow-up.close {
    -webkit-transform: scale3d(0.8, 0.8, 0.8) rotate3d(0, 0, 1, 90deg);
            transform: scale3d(0.8, 0.8, 0.8) rotate3d(0, 0, 1, 90deg);
}
.lines-button.minus.close .lines:before, .lines-button.minus.close .lines:after {
    top: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    width:48px;
    width: 3rem;
}
.lines-button.x.close .lines {
    background: transparent none repeat scroll 0 0;
}
.lines-button.x.close .lines:before, .lines-button.x.close .lines:after {
    top: 0;
    -webkit-transform-origin: 50% 50% 0;
        -ms-transform-origin: 50% 50% 0;
            transform-origin: 50% 50% 0;
    width:40px;
    /*width: 3rem;*/
}
.lines-button.x.close .lines:before {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    left:-5px;
}
.lines-button.x.close .lines:after {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    left:-5px;
}

@media (min-width:1180px) {

	.lines-button {display: none;}
	.nav {display: block !important;}
	.nav_header {}
}





/* ### FOOTER ###################################################################### */

footer { }
.footer_imp {text-align: center; color:#fff; font-size: 1.9rem; font-style: normal; font-weight: 400; letter-spacing: 0.57px; padding-bottom: 10px; padding-top: 10px;}
.footer_imp a {color:#fff; text-decoration: none;}
.footer_imp a:hover, .footer_imp a.active {text-decoration: underline;}

/*
.footer_re {display: flex; width: 100%; align-items: center; text-align: right; font-weight: 800; color:var(--falco-norce-blue); font-size:2.6rem;}
.footer_padding {padding: 2% 0 5% 0;}
.footer_li img {width:150px;}
.footer_in {height: 37px; width: auto; position: relative; top:13px;}
.footer_fb {width: 26px; height: auto; position: relative; top:7px; margin-left: 5px;}

@media (min-width:420px) {
   .footer_li img {width: 250px;} 
	.footer_in {height: 52px; width: auto; position: relative; top:18px;}
	.footer_fb {width: 41px; height: auto; position: relative; top:12px; margin-left: 10px;}
}


@media (min-width:720px) {
    .footer_li img {width: 300px;}
	.footer_re {width: auto;}
   
}


@media (min-width:1100px) {
    .footer_li img {width: auto;}
    
}
*/
/* ### YFORM ###################################################################### */

.alert {color:rgba(186,29,32,1.00);}

.yform_flex_3_spalten,
.yform_flex_2_spalten
{
  display: flex;
  flex-flow: wrap;
  justify-content:space-between;
}


.yform_flex_3_spalten > div {width: 32.7%;}
.yform_flex_2_spalten > div {width: 49.5%;}

@media screen and (max-width:450px) {

.yform_flex_3_spalten > div {width: 100%;}
.yform_flex_2_spalten > div {width: 100%;}
	
}


.yform .form-group {margin-bottom: 7px;}
.yform label {margin-bottom: 5px; display: inline-block; color: gray;}

.yform input,
.yform textarea {
    width: 100%;
    box-sizing: border-box; 
	padding:2px 0.3em 0 0.3em;
	line-height:1.6;

	margin-bottom: 5px;
	background-color: #f5f6f6;
	border:1px solid #f5f6f6;

	font-size:1.133em;
	}

.yform input {
    height: 36px;
}


.yform textarea {
	height: 110px;
}

.yform select {
	 width: 100%;
    box-sizing: border-box; 
	background-color: #f5f6f6;
    border: 1px solid #f5f6f6;

    line-height: 1.6;
    margin-bottom: 0.4em;
    padding:2px 0.3em 0 0.3em;

	font-size:1.133em;
    height: 36px;
	}

.yform option[selected="selected"] {
  color: black;
}

.yform .checkbox input {
	width: auto;
    height: auto;
	margin-right: 3px;
}


.yform button[type=submit] {
	display: inline-block; background-color:var(--green); color:#fff;  background-size: 16px auto; background-repeat: no-repeat; background-position: 5px 4px; padding: 5px 28px 4px 28px; margin: 5px 0px 8px 0px; border:none; font-size:0.9em; cursor: pointer; border-radius: 5px;  letter-spacing: 1px; text-transform: uppercase; height: 36px;
	
}

.yform .submit_box_gruen_pastel button[type=submit] {}

.yform input[type="file"] {width:auto;}

.formgen_submit {text-align: right;}

.yform button[type=submit]:hover {color:var(--black);}

.yform .info_pflichtfelder {margin-bottom: 10px; margin-top: 10px;}


/* ### SPECIAL ###################################################################### */

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }


#offline-404-frontend-msg {
    background: darkred none repeat scroll 0 0;
    border: 1px solid #fff;
    color: white;
    font-family: Arial,sans-serif;
    font-size: 13px;
    left: 0;
    padding: 4px;
    position: fixed;
    right: 0;
    text-align: center;
    top: 0;
    z-index: 10000;
}




