@charset "utf-8";
/* overpass-100 - 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: 'Overpass';
  font-style: normal;
  font-weight: 100;
  src: url('fonts/overpass/overpass-v13-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overpass-200 - 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: 'Overpass';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/overpass/overpass-v13-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overpass-300 - 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: 'Overpass';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/overpass/overpass-v13-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overpass-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: 'Overpass';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/overpass/overpass-v13-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overpass-500 - 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: 'Overpass';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/overpass/overpass-v13-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overpass-600 - 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: 'Overpass';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/overpass/overpass-v13-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overpass-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: 'Overpass';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/overpass/overpass-v13-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overpass-800 - 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: 'Overpass';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/overpass/overpass-v13-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overpass-900 - 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: 'Overpass';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/overpass/overpass-v13-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(fonts/Material-Icons.woff2) format('woff2');
}

.icon {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 140%;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: 'liga';
  -moz-osx-font-smoothing: grayscale;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;
}

:root {
	--primary: #9EB452;
	--secondary: #e3d400;
	--dark: #6B6B6B;
	--titleFont: 'Overpass', sans-serif;
	--textFont: 'Overpass', sans-serif;
	--headerHeight: 80px;
}

body { font-family:  var(--textFont); font-size:130%; color:var(--dark); width: 100%; font-weight: 300; }
body.overflow_hidden { overflow-y:hidden; }
.iconText { line-height: 35px; display: inline-flex; align-items: center; column-gap: 8px; }

#dev { position: fixed; top: 0; left: 0; padding: 20px; background: var(--white); z-index: 999; }

.clearfloat { clear:both; height:0; font-size: 1px; line-height: 0px; }
.clearfix:before,.clearfix:after { content: " "; display: table; }  
.clearfix:after { clear: both; }  
.clearfix { *zoom: 1; }
h1, h2, h3, h4, a.title { display: block; text-align: left; }
h1 { font-size: 350%; margin:10px 0 40px 0; text-align: center; font-weight: 300; text-transform: uppercase; }
h1 span, h2:first-child span { font-weight: 500; }
h1:first-child, section h2:first-child { margin-top:0; }
h2 { font-size:250%; margin:60px 0 30px 0; color: var(--primary); }
h2 + p { margin-top: 0; }
h3 { font-size:160%; margin:20px 0 10px 0; }
h4 { font-size:140%; margin:15px 0 5px 0; }
p { margin:20px 0 0 0; }
a, .hash_click_link { color: var(--primary); text-decoration:none; cursor: pointer; }
.fakelink { text-decoration: underline; }
a.pdf { text-decoration:none; display:inline-block; margin: 10px 0; font-size: 120%; outline: none; }
.download a.pdf, a.pdf.decent { background: none; border: none; padding: 0; display: block; }
a.pdf:before { content: "\E805"; font-family: "fontello"; font-style: normal; font-weight: normal; font-size: 25px; margin-right: 10px; }
a img { border:none; display: block; width: 100%; }
b, strong { font-weight: 700; }
.center { text-align: center; }
.mail { white-space: nowrap; }

.schwarz { color: var(--white); }
.schwarz h1, .schwarz h2, .schwarz h3, .schwarz h4 { color: var(--white); }
.schwarz h1 span, .schwarz h2 span { color: var(--primary); }
.gruen { color: var(--white); }
.gruen h1, .gruen h2, .gruen h3, .gruen h4 { color: var(--secondary); }
.gruen h1 span, .gruen h2 span { color: var(--white); }

.small_container { width: 100%; max-width: 700px; margin: 0 auto; text-align: center; }
.small_container table { text-align: left; width: 100%; max-width: 300px; margin: 0 auto; }
.small_container table tr td:last-child { text-align: right; }
.small_container table tr td:first-child { text-align: left; }

.leistung_wrapper { margin: 0 -1%; }
.leistung_wrapper .leistung_el { float: left; width: 31.33%; margin: 1%; }
.leistung_wrapper .leistung_el img { display: block; width: 100%; }
.leistung_wrapper .leistung_el div { display: block; width: 100%; font-weight: 700; font-size: 170%; background: var(--secondary); color: var(--primary); padding: 15px 20px; }

.button { color: #fff; background: var(--secondary); padding: 10px 20px; display: inline-flex; justify-content: center; align-items: center; text-decoration: none; font-size: 120%; margin: 30px 10px 0 0; width: auto; font-weight: 500; border-radius:10px; }

.font_ninety { font-size: 90%; }
.container { width:100%; max-width:1400px; margin:0 auto; position:relative; z-index: 1; padding: 80px 0; }
header .container { display: flex; justify-content: space-between; align-items: center; padding:0; }
.highlight_link, .btn { color: var(--primary); background: var(--secondary); border-left: 5px solid var(--primary); padding: 5px 10px; display: inline-block; text-decoration: none; float: right; margin-top: 10px; }
.highlight_link { float: none; }
.todo { text-decoration: blink; font-size: 100%; color: #f00; border: 1px solid var(--secondary); padding: 2px; }
.todo:before { content: 'TODO: '; text-decoration: underline; }
.embed-container { position: relative; padding-bottom: 57.5%; overflow: hidden; width: 100%; height: auto; margin-top: 20px; }
.embed-container iframe, .embed-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; }

/* headlines with lines */
.decorated { overflow: hidden; text-align: center; }
.decorated > span { position: relative; display: inline-block; text-transform:uppercase; }
.decorated > span:before, .decorated > span:after { content: ''; position: absolute; top: 50%; border-bottom: 1px solid var(--secondary); width: 591px; margin: 0 10px; }
.decorated > span:before { right: 100%; }
.decorated > span:after { left: 100%; }

.zweispaltig { width: 100%; -moz-column-count: 2; -moz-column-gap: 40px; -webkit-column-count: 2; -webkit-column-gap: 40px; text-align: left; }
.zweispaltig p:first-child, .zweispaltig h2:first-child { margin-top: 0; }

.fltlft { display: block; float: left; margin: 0 4% 4% 0; }
.fltrt { display: block; float: right; margin: 0 0 4% 4%; }
.fltlft img, .fltrt img { display: block; width: 100%; }


.header_tel_link { display: block; float: right; font-weight: 700; font-size: 180%; color: var(--primary); background: var(--secondary); text-decoration: none; padding: 15px 25px; }
.header_tel_link div { float: left; line-height: 50px; }
.header_tel_link:before { float: left; font-family: "fontello"; font-style: normal; font-weight: normal; font-size: 40px; margin-right: 15px; color: var(--primary); text-align: center; width: 50px; display: block; content: "\E810"; }

.fullpic { display: block; width: 100%; }

header { width:100%; top: 0px; left:0px; position: fixed; background:transparent; padding: 0; z-index: 501; transition:all .5s ease-in-out; }
header.scrolled, .overflow_hidden header { background: #fff; }

.logo { display: flex; height:calc(var(--headerHeight) + 40px); outline: none; align-items: center; transition: all 0.5s ease-in-out; }
.scrolled .logo { height:calc(var(--headerHeight) + 0px); }
.logo img { display: block; width: auto; height: 80%; transition: all 0.5s ease-in-out; }
.scrolled .logo img { height: 70%; }

main .content { position: relative; overflow: hidden; margin-bottom: -1px; }
body.impressum main .content .container, body.datenschutz main .content .container, body.fehler main .content .container { padding-top: 3%; }

main .content.weiss { background: var(--white); }
main .content.grau { background: var(--lightgrey); }

.aktuelles_sidebar { margin-bottom: 15px; }
.aktuelles_sidebar .text { font-size: 110%; }

.trenner { width: 100px; height: 100px; margin: 0 auto; background: var(--primary); padding: 0 0; border-radius: 100px; }
.trenner:before { font-family: "fontello"; font-style: normal; font-weight: normal; font-size: 40px; height: 100px; width: 100px; color: var(--white); text-align: right; display: flex; content: "\E811"; justify-content: center; align-items: center; }
#home .trenner { display: none; }

.impressum h1, .datenschutz h1, .agb h1, .cookies h1 { text-align: left; }
.impressum .trenner, .datenschutz .trenner { margin: 0; }

/* menu > */
.headerPhone { float: right; line-height: 40px; margin: 30px 0 0 10px; font-size: 140%; font-weight: 400; background: var(--primary); padding: 0 15px; color: var(--white); }
.headerPhone.icon_el:before { color: var(--white); font-size: 90%; }
.menu_wrapper { float: right; margin: 0; }
.menu_wrapper .container { margin: 25px 0; }
.menu { list-style:none; padding:0; margin:0; position:relative; display:block; right:0px; text-indent: 0; }
.menu li { float:left; width: auto; padding: 0; }
.footer_menu ul li:before, .menu li:before { content: ''; margin: 0; padding: 0; }
.menu li:nth-child(2) { border-left:none; }
.menu li a { font-weight: 400; color:var(--secondary); font-size: 140%; display:block; text-decoration:none; text-align: center; padding: 0 20px; line-height: 50px; }
.menu li:nth-child(2) a { margin-left: 0; }
.menu li a.subaktiv { font-weight: 700; }
.menu li a:hover, .menu li a:focus, .menu li a.aktiv { outline:none; color: var(--primary); }
.menu .sub { background: var(--primary); min-width:25%; list-style:none; margin:0; padding:0; position:absolute; top: 46px; z-index:50; display:none; text-indent: 0; width: auto; }
.menu .sub li { float: none; width:auto; margin: 0; padding: 0; border-bottom: 2px solid var(--white); background: none; }
.menu .sub li:last-child { border: none; }
.menu .sub li a { background: none; color:var(--secondary); font-size:110%; text-align:left; margin: 0; width: 100%; padding: 0; line-height: 40px; border: none; }
.menu .sub li a span { padding: 0px 20px; line-height: 40px; display: inline-block; }
.menu .sub li a.aktiv span, .menu .sub li a:focus span {  }
.menu .sub li a:hover, .menu .sub li a:focus, .menu .sub li a.aktiv { border: none; }
nav div.menu_mobile { display: none; font-size:250%; cursor:pointer; color:var(--white); }
body.overflow_hidden nav div.menu_mobile {  }
.menu .sub.zweite_ebene { padding: 10px; }
.menu .sub.dritte_ebene { display: block; position: static; margin-top: 0px; }
.menu .sub.dritte_ebene li { float: left; padding: 0; border: none; }
.menu .sub.dritte_ebene li a { font-size: 80%; line-height: 30px; }
.menu .sub.drei { left: 0; width: 100%; }
.menu .sub.zwei { padding: 0; }
.menu .sub.zwei li { border: none; }
.menu .sub.zwei li a span { display: block; width: 100%; }
/* < menu */

/* sitemap_menu > */
ul.sitemap_menu, ul.sitemap_menu li ul { list-style:none; font-size:120%; text-transform:uppercase; }
ul.sitemap_menu a { text-decoration:none; }
ul.sitemap_menu li { margin:5px 0; }
ul.sitemap_menu li ul { font-size:80%; text-transform:none; }
ul.sitemap_menu .sub { display:block; }
div.sitemap_org a { display:block; }
/* < sitemap_menu */

/* swiper > */
.slider_container {  width: 100%; height: auto; display: block; }
.swiper-slide { overflow: hidden; }
.swiper-slide img { width:100%; height:auto; display: block; }
.swiper-slide .capWrapper { max-width:1400px; display: flex; justify-content: flex-start; width:100%; align-items: flex-start; }
.swiper-slide .capWrapper .capContent { background-color: var(--primary); width: fit-content; padding:20px 40px; text-align: center; height:auto; border-radius: 25px; }
.swiper-slide .capWrapper .capContent .capText { font-size: 200%; }
.swiper-slide .capWrapper .capContent .button { margin:15px 0 0 0; }
.swiper-slide .caption { display: flex; justify-content: center; top: 25%; left: -100%; position: absolute; z-index: 25; transition: all 0.5s ease-in-out 0s; margin: 0; font-weight: 600; color: #fff; font-size: 100%; width:100%; height:100%; text-shadow: 0px 0px 5px var(--white50); }
.swiper-slide .caption span { color:var(--secondary); }
.swiper-slide .caption.show { left: 0; }
.swiper-slide .caption h1 { margin: 0 0 10px 0; padding: 0 30px 10px 30px; border-bottom: 2px solid var(--primary); font-weight: 300; text-transform: uppercase; font-size: 150%; line-height: 1; text-align: right; }
.swiper-pagination-bullet { border-radius: 100%; background: var(--white); opacity: 0.8; width: 8px; height: 8px; }
.swiper-pagination-bullet-active { background: var(--secondary); }
.schatten { display: block; width: 100%; }
.swiper-button-next, .swiper-button-prev { height: 30px; width: 30px; display: none; }
.galerySlider .swiper-button-next, .galerySlider .swiper-button-prev { display: block; height: 100%; top: 0; margin: 0; background-color: var(--white70); background-size: 20px 40px; width: 40px; }
.galerySlider .swiper-button-next:hover, .galerySlider .swiper-button-prev:hover { background-color: var(--primary70); background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }
.galerySlider .swiper-button-next { right: 0; }
.galerySlider .swiper-button-prev { left: 0; }

.galerySlider .swiper-button-prev:hover { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }
.swiper-pagination { display: none; }

.welle { width: 101%; display: block; position: absolute; bottom: -41px; left: -1px; z-index: 3; }

.praxis_slider .swiper-pagination { display: block; }
.praxis_slider .swiper-pagination-bullet { width: 15px; height: 15px; }
.praxis_slider .swiper-pagination-bullet-active { background: var(--primary); }
/* < slider */

/* color pfeile, dreieck, etc. */
.callbacks_nav:before { color:var(--secondary); }
[class*='lightcase-icon-']:before { color:var(--white); }

.map, iframe { display: block; width: 100%!important; height: 500px; border: none; }
iframe.big_map { height: 600px; }
.map { height: 450px; }

input, textarea, select { border: none; background: #fff; color:#6B6B6B; border-radius: 25px; display: block; font-size: 100%; padding: 10px 20px; width: 100%; outline: none; font-family: inherit; font-weight: inherit; }
input[type="checkbox"], input[type="radio"] { border: none; box-shadow: none; display: inline-block; padding: 0px; width: auto; height: auto; margin: 0; margin-bottom: 10px; }
textarea { height: 198px; }
label { display: block; width: 100%; text-align: left; margin: 0; margin-bottom: 3px; }
#submit { color: #fff; background: var(--secondary); padding: 10px 20px; display: flex; justify-content: center; align-items: center; text-decoration: none; font-size: 120%; margin: 30px 10px 0 0; width: auto; font-weight: 500; border-radius:10px; cursor: pointer; }
#ds_container { margin: 0px 0 20px 0; border-bottom: 1px solid var(--lightgrey); transition: all .5s linear 0s; display: flex; column-gap:10px; }
#ds_container label { width: 95%; }
#ds_container input[type="checkbox"] {  }
#ds_label a { color:#fff; font-weight: 600; }
.warning { border-color: var(--warning)!important; color: var(--warning)!important; }
.warning a { color: var(--warning)!important; }

#responseKontakt { display: none; color: var(--white); margin:30px 10px 0 0; }

.fifty_wrapper { margin: 0 -1%; }
.fifty_wrapper .fifty { display: block; float: left; width: 48%; margin: 1%; }

.bild_text img { display: block; width: 100%; }
.bild_text .text { margin-top: 5px; }

.bild_rechts { float: right; margin: 0 0 20px 20px; }
.bild_links { float: left; margin: 0 20px 20px 0; }
.bild_rechts img, .bild_links img { display: block; width: 100%; }
.bild_rechts, .bild_links { display: block; max-width: 250px; width: 100%; }
.bild_rechts.small, .bild_links.small { max-width: 150px; }
.bild_rechts.big, .bild_links.big { max-width: 350px; }
.bild_rechts.mega, .bild_links.mega { max-width: 450px; }

.iconbox { text-decoration: none; margin: 10px 0; }
.iconbox:before { font-family: "fontello"; font-style: normal; color: var(--secondary); font-weight: normal; font-size: 25px; margin-right: 5px; display: block; width: 30px; text-align: center; float: left; margin-top: -5px; line-height: 25px; }
.iconbox.position:before { content: "\F061"; }
.iconbox.beruf:before { content: "\F19D"; }
.iconbox.aufgabe:before { content: "\E800"; }

.fifty_wrapper .embed-container { padding-bottom: 27%; }
.embed-container { position: relative; padding-bottom: 57.5%; padding-bottom: 56%; height: 0; overflow: hidden; width: 100%; height: auto; }
.embed-container iframe, .embed-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.embed-container-small { position: relative; padding-bottom: 72.75%; height: 0; overflow: hidden; width: 100%; height: auto; }
.embed-container-small iframe, .embed-container-small video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.embed-container-flash { position: relative; padding-bottom: 57.5%; height: 0; overflow: hidden; width: 100%; height: auto; z-index: 0; }
.embed-container-flash embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }

.content_box { padding: 2%; background: #eee; margin: 2% 0; }
.content_box h1:first-child, .content_box h2:first-child, .content_box h3:first-child, .content_box h4:first-child { margin-top: 0; }

table.decent tr td:first-child { padding-left: 0; }
table.decent tr:nth-child(2n) td { background: none; }

table.first_td_bold tr td:first-child { font-weight: 700; }

footer { background-color: var(--primary); color:#fff; }
footer a { color:#fff; }
footer .container { display: flex; flex-wrap: wrap;  justify-content: space-between; align-items: center; }
.footer_anschrift { display:flex; flex-wrap: wrap;  column-gap:40px; }
.footer_menu { }
.footer_menu ul { margin: 0; padding: 0; list-style: none; }
.footer_menu ul li { display: block; margin: 0px; text-align: right; }
.footer_menu ul li a { text-decoration: none; }
.footer_menu ul li a:hover { text-decoration: none; }
.footer_social { display: flex; column-gap:15px; }
.footer_social img { width:40px; height: auto; }
.footer_logo { max-width: 250px; }
footer .icon { font-size: 100%; }

.scroll_wrapper { margin-top: -100px; padding-top: 100px; }

.lWrapper { display:flex; flex-wrap: wrap; column-gap:2%; row-gap:40px; justify-content: space-around; margin:60px 0 60px 0; }
.lWrapper div { flex-basis:23.5%; max-width: 300px; aspect-ratio:1/1; background-size: cover; background-repeat: no-repeat; background-position: center center; display: flex; justify-content: center; align-items: flex-end; padding:0 10px 30px 10px; font-weight: 600; color:#fff; border-radius:25px; font-size: 120%; text-align: center; }

.rWrapper { display:flex; flex-wrap: wrap; column-gap:2%; row-gap:40px; justify-content: space-around; margin:60px 0 60px 0; }
.rWrapper a { flex-basis:23.5%; max-width: 350px; aspect-ratio:8/5; background-size: cover; background-repeat: no-repeat; background-position: center center; border-radius: 25px; }

.pWrapper { display:flex; flex-wrap: wrap; column-gap:2%; row-gap:40px; justify-content: space-around; margin:60px 0 60px 0; }
.pWrapper div { flex-basis:23.5%; max-width: 350px; aspect-ratio:8/5; background-size: contain; background-repeat: no-repeat; background-position: center center; border-radius: 25px; background-color: #F3F3F3; }
.halbeBreite { width:49%; }
.formWrapper { display: flex; flex-wrap: wrap; column-gap:2%; row-gap:30px; margin:60px 0 30px 0; }
.formWrapper div { display: flex; flex-direction: column; row-gap:30px; flex-basis: 49%; }

#ueber_uns { background-color: var(--primary); color:#fff; }
#ueber_uns h2, #kontakt, #kontakt h2 { color:#fff; }
#partner .container { padding-top:0; padding-bottom:0; }
#kontakt { background-image: url('../img/kontaktBG.png'); background-size: cover; background-repeat: no-repeat; background-position: center top; }
#kontakt .container { padding:200px 0 100px 0; }
.gmIframe { width:100%; height:50vh; }
.cta { position:fixed; z-index: 200; top:60%; right:0%; width:fit-content; display:flex; column-gap:8px; align-items: center; background-color: var(--secondary); color:#fff; font-weight: 600; padding:8px 12px; transform: rotate(90deg); transform-origin: right top; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }
.cta div { transform: rotate(-90deg); transform-origin: center center; }
.noCookie { width:100%; background-color:#eeeeee; text-align: center; padding:40px 20px; margin:0; color:var(--dark); }


@media screen and (max-width:10000px) {
	.menu_wrapper { width: auto; }
	.menu_wrapper .container { margin: 0; }
	.menu_wrapper { width: auto; margin: 0; }
	nav { margin:0px; position:relative; }
	nav div.menu_mobile { display: flex; position:relative; z-index:2000; line-height:calc(var(--headerHeight) + 40px); font-size: 30px; color: var(--primary); align-items: center; transition: all 0.5s ease-in-out; }
	.scrolled nav div.menu_mobile { line-height:calc(var(--headerHeight) + 0px); }
	.menu { position:fixed; top:calc(var(--headerHeight) + 40px); right:-100vw; width:100vw; height:100vh; overflow-y:auto; background-color:#fff; z-index:500; transition: all .4s ease-in-out; display:flex; flex-direction: column; align-items: center; row-gap:2vh; padding-top:5vh; }
	.scrolled .menu { top:var(--headerHeight); }
	.menu.open { right:0%; }
	.menu li {  }
	.menu li a { padding:0 20px; font-size:140%; color: var(--dark); text-align: left; margin: 0; border: none; line-height: 50px; }
	.menu li a:hover, .menu li a:focus, .menu li a.aktiv { font-weight: 600; }
	.menu .sub { position:relative; top:0px; display:none; background: none; }
	.menu .sub li { border-bottom: 1px solid var(--white); }
	.menu .sub li a span { line-height: 30px; }
	.menu .sub li a, .menu .sub li a:hover, .menu .sub li a.aktiv { background-color:transparent; color:var(--secondary); line-height:initial; padding: 0 8px; }
	.menu .sub li a.aktiv span, .menu .sub li a:focus span { background: none; color: var(--secondary); text-decoration: underline; }
	.menu .sub li a.aktiv { font-weight: 700; }
	.menu .sub.zweite_ebene { padding: 0; }
}

@media screen and (max-width:1700px) {
	.welle { bottom: -20px; }
}

@media screen and (max-width:1420px) {
	.swiper-slide .caption { font-size: 80%; }
	.container { padding: 40px 2%; }
	#kontakt .container { padding:200px 2% 100px 2%; }
	header .container { padding: 0px 2%; }
	.logo { height:calc(var(--headerHeight) + 20px); }
	.swiper-slide .capWrapper .capContent { border-bottom-left-radius: 0px; border-top-left-radius: 0; }
	:root {
		--headerHeight:60px;
	}
}

@media screen and (max-width:1100px) {
	.footer_logo { display: none; }	
}
@media screen and (max-width:1000px) {
	body { font-size: 110%; }
	.swiper-slide .caption { font-size: 60%; top:0%; }
	.swiper-slide .capWrapper { align-items: center; padding-top:var(--headerHeight);}
	#kontakt { background-position: center -100px; }
	#kontakt .container { padding:80px 2% 60px 2%; }
	.cta span { display: none; }
}

@media screen and (max-width: 900px) {
	.lWrapper div, .rWrapper a, .pWrapper div { flex-basis:49%; }
	.swiper-slide img { width:140%; position: relative; left:-20%; }
	.swiper-slide .capWrapper .capContent { padding:10px 20px; }
}

@media screen and (max-width: 800px) {
	footer .container { flex-direction: column; justify-content: center; row-gap:40px; }
}


@media screen and (max-width:630px) {
	#lightcase-nav a[class*="lightcase-icon-"] { width: 4em; line-height: 2em; }
}

@media screen and (max-width:600px) {
	body { font-size: 90%; }
	.logo { height:calc(var(--headerHeight) + 0px); }
	.swiper-slide img { width:160%; position: relative; left:-30%; }
	.halbeBreite { width:100%; }
	.formWrapper { margin:30px 0 15px 0; }
	.formWrapper div { flex-basis:100%; }
	.footer_anschrift { flex-direction: column; justify-content: center; align-items: center; }
	.footer_anschrift div { text-align: center; }
}

@media screen and (max-width: 400px) {
	.headerPhone { background: none; padding: 0; line-height: 80px; margin-top: 0; }
	.headerPhone span { display: none; }
}