@charset "utf-8";

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 100;
  src: url('fonts/montserrat/montserrat-v26-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/montserrat/montserrat-v26-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/montserrat/montserrat-v26-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/montserrat/montserrat-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/montserrat/montserrat-v26-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/montserrat/montserrat-v26-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/montserrat/montserrat-v26-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/montserrat/montserrat-v26-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/montserrat/montserrat-v26-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;
}

/* rot #e73132 */
/* grau #6f7072 */

[data-entrance] { visibility: hidden; transition: all 1s ease-in-out; opacity: 0; }

html { overflow-x:hidden; }
body { font-family: 'Montserrat', sans-serif; font-size:110%; color:#666666; background-color: #ffffff; line-height: 1.5; font-weight: 400; background-size: cover; background-position: center center; background-attachment: fixed; margin-top:var(--headerHeight); hyphens:auto; overflow-x:hidden; }
body.overflow_hidden { overflow:hidden !important; }
.hidden { display: none; }
main { font-size: 120%; overflow-x:hidden; }
.firstWoHeader { margin-top:var(--headerHeight); }

.manntauLogo { width:80%; max-width: 200px; margin:20px 0; }
a { text-decoration: none; color:var(--primary); }
h1, h2, h3, h4 { font-weight: 300; font-family: 'Montserrat' }
h1 { font-size: 250%; margin:80px 0 60px 0; background:url('../img/biss.svg'); background-size: 0.8em auto; background-repeat: no-repeat; background-position: left center; padding-left:1em; color:var(--primary); }
h1:first-of-type, section h2:first-of-type { margin-top:0px; }
h2 { font-size: 190%; margin:60px 0 40px 0; }
h1.wSubline { margin-bottom:0; }
h3.wSubline { margin:5px 0 40px 0; }
.container { width:100%; max-width:1600px; padding:0 2%; margin:0 auto; }
.center { text-align: center; }
.flexCenter { display: flex; justify-content: center; align-items: center; }
.iconText { line-height: 35px; display: inline-flex; align-items: center; column-gap: .5em; }
.lText .iconText { display: flex; align-items: flex-start; margin:10px 0; }

header { position: fixed; top:0px; z-index: 500; width:100%; transition: all .5s ease-in-out; background: #ffffffdd; }
/*.home header, .gasthof header, .hotel header { background: #6f707200; }*/
header.scrolled, .kontakt header { background: #ffffffdd; }
.overflow_hidden header { background: #fff; }
header .container { display: flex; justify-content: space-between; align-items: center; column-gap:2%; max-width:none; padding:0 3%; }
header .container a, header .container .icon, header .sprache > div { color:#777777; line-height: var(--headerHeight); min-width: 40px; text-align: center; cursor: pointer; }
header .sprache > div { opacity: .2; cursor: initial; }
header .container .directMenu .icon { font-size: 110%; }
header .container a.logo { display: flex; height:calc(var(--headerHeight)); line-height: initial; transition:all .5s ease-in-out; align-items: center; }
.home header .container a.logo { height:calc(var(--headerHeight)); }
header.scrolled .container a.logo { height:calc(var(--headerHeight)); }
header .container a.logo img { width:auto; height:80%; }
.socialWrapper { display: flex; column-gap:10px; align-items: center; }
.socialWrapper a { display: flex; width:40px; }
.socialWrapper a:nth-of-type(3) { display: block; width:40px; }
.socialWrapper a img { width:100%; height:auto; max-width: 30px; }
.contactWrapper { display: flex; column-gap:0px; order:2; }
.contactWrapper a { font-size: 30px; }
.social img { width:40px; height:auto; }

.directMenu { flex-grow:1; display: flex; justify-content: center; align-items: center; column-gap:20%; }
.directMenu a { line-height: var(--headerHeight); font-size: 150%; font-weight: 300; }
.headerWrapper { display: flex; column-gap:40px; flex-basis:78%; justify-content: space-between; }

.sprache { display: flex; order:1; display: none; }
.sprache a { display: block; }

.infoWrapper { display:flex; flex-direction: column; position:fixed; right:0px; top:50%; z-index: 100; row-gap:5px; }
.infoWrapper a, .infoWrapper div { display:block; background:#e73132; line-height: 50px; color:#fff; cursor: pointer; width:60px; text-align: center; border-bottom-left-radius:10px; border-top-left-radius: 10px; font-size: 150%; }

.footerZeiten p { margin:0 0 8px 0; }
.footerZeiten .icon { display: block; text-align: center;}

.swiper-slide > img { object-fit: cover; width:100%; height:100%; }
.facts { display: flex; margin:10px 0; }

/* menu > */
nav { flex-grow:4; max-width: 90%; order:0; }
.menu_wrapper { margin: 0; }
.menu { list-style:none; padding:0; position:relative; display:flex; justify-content: space-around; align-items: stretch; text-indent: 0; margin: 0; }
.menu li { display: block; margin: 0; padding: 0; width: auto; border: none; text-indent: 0; }
.menu li a { font-size: 140%; font-weight: 300; display:block; text-decoration:none; text-align: center; line-height: var(--headerHeight); color:#777777; }
/*.menu li a:hover, .menu li a:focus,*/ .menu li a.aktiv, /*.menu .sub li a:hover, .menu .sub li a:focus,*/ .menu .sub li a.aktiv { outline:none; /*color: var(--primary);*/ font-weight: 600; }
.menu li a.aktiv, .menu .sub li a.aktiv {  }
.menu .sub li a { font-size:110%; line-height: 50px; border: none; text-transform: none; text-align: left; padding-left:20px; padding-right: 20px; }
.menu_mobile { display: none; cursor:pointer; }
.menu_mobile .icon { line-height: var(--headerHeight); font-size:200%; color:#fff; }
.menu .sub { min-width:220px; list-style:none; margin:0; padding:0; position:absolute; top: var(--headerHeight); z-index:50; display:none; text-indent: 0; width: auto; background: #6f7072dd; padding-bottom:10px; }
.menu .sub li { width: 100%; margin: 0; padding: 0;}
.menu .sub li:last-child { border: none; }
.menu .sub li a span { display: inline-block; }
.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 {  }
.menu .sub.zwei li { border: none; }
.menu .sub.zwei li a span { display: block; width: 100%; }
.menu .home { display: none; }
/* < menu */

section { padding:100px 0; }
.grey { background-color: #F6F6F6; }
section.fullHeader { height:60vh; padding:0; background-size: cover; background-repeat: no-repeat; background-position: center center; position: relative; }
section.fullHeaderImg { padding:0; }
section.fullHeaderImg img { width:100%; height:auto; }
section.imgWithTitle { padding:0; height:50vh; background-size: cover; background-repeat: no-repeat; background-position: center center; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-end; }
section.imgWithTitle .text { color:#fff; padding:0 1%; }
section.imgWithTitle .text h1 { margin:0; font-weight: 100; font-size: 6vw; line-height: 7vw; }
h2.closeToElement { margin:0 0 0 1%; font-weight: 100; font-size: 4vw; line-height: 3.2vw; }

footer { background-color: var(--primary); /*margin:60px 0 0 0;*/ padding:100px 0; font-size: 100%; color:#fff; }
footer a, footer .line, .kontaktWrapper .line, .kontaktWrapper a { color: #ffffff; line-height: 35px; display: inline-flex; align-items: center; }
footer .icon, .kontaktWrapper .icon { font-size:160%; margin-right:5px; }
footer .container { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; column-gap:2%; row-gap:40px; padding:0 3%; max-width:none; }
footer .container > div { width:30%; }
footer .container > div.footerSprechzeiten { max-width:350px; }
footer .container .footerLogo { text-align: center; }
.footerLogo img { width:100vw; height:auto; max-width: 350px; }
.footerMenu a { display: block; text-align: right; }
.footerSocial { display: flex; column-gap:15px; }


.iconWrapper { display: flex; flex-wrap: wrap; justify-content: space-between; row-gap:80px; }
.iconWrapper > div { display: flex; flex-direction: column; align-items: center; width:30%; row-gap:20px; }
.iconWrapper div .icon { font-size: 400%; color:#99cc00; }
.iconWrapper div .iconText { font-size: 120%; text-align: center;}


.newsSection .container { display: flex; justify-content: space-between; }
.newsSection:nth-of-type(even) { background-color: #F6F6F6; }
.newsSection .text { width:65%; }
.newsSection .img { width:30%; display: flex; justify-content: center; align-items: center; }
.newsSection .img img { width:100%; height:auto; }
.pdf { font-weight: 600; }

.galerieWrapper { display: flex; flex-wrap: wrap; justify-content: flex-start; column-gap:2%; row-gap:30px; }
.galerieWrapper a { display: block; width:23.5%; }
.galerieWrapper a img { width:100%; height:auto; }


.swiper-container { height:70vh; }
.home .swiper-container { height:calc(100vh - var(--headerHeight)); }
.swiper-container img { width:100%; height:100%; object-fit: cover; }

.captionWrapper { position: absolute; width: 100%; bottom:20%; z-index: 50; text-align: center; display: flex; justify-content: center; align-items:center; }
.captionWrapper h3 { font-weight: 300; font-size: 4vw; margin:0; color:#fff; text-shadow: 2px 2px 20px #333; }
.captionWrapper span { line-height: 40px; }
.captionWrapper a.social { width:40px; display: inline-block; }


.kachelWrapper { display: flex; flex-wrap: wrap; column-gap: 2%; row-gap:80px; margin-top:100px; }
.kachelWrapper a { display: block; width:23.5%; position: relative; }
.kachelWrapper a img { width:100%; height:auto; }
.kachelWrapper div { display:flex; justify-content: center; align-items:center; height:80px; font-size: 140%; font-weight: 400; border:3px solid #F6F6F6; margin-top:8px; }
#lightcase-nav a[class*="lightcase-icon-"], #lightcase-nav a[class*="lightcase-icon-"]:focus { color:#666; }

.leistungsWrapper { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; }
.leistungsWrapper > div { width:45%; }
.lText {  }
.lBild img { width:100%; height:auto; max-width: 420px; }

.noCookie { width:100%; background-color:#eeeeee; text-align: center; padding:40px 20px; margin:40px 0; }

.kontaktWrapperEl { display: flex; justify-content: flex-start; flex-wrap: wrap; }
.kontaktWrapper { width: 50%; }
.kontaktWrapperDark { width: 50%; color: var(--dark);  }
.kontaktWrapperDark a {line-height: 35px; display: inline-flex; color:var(--dark);}
.kontaktWrapperDark	.line { line-height: 35px; display: inline-flex; color:var(--dark); align-items: center;}	
.kontaktWrapperDark .icon  { margin-right: 5px;}

.oeffnungszeiten strong { color: var(--primary)}

.homeEl {display: flex; justify-content: flex-start; align-items: center;} 
.homeBild {width: 50%;}
.homeBild img {width: 100%; height: auto;}
.homeText {width: 50%; padding-right:2%;}
.homeText:nth-child(2) {width: 50%; padding-left:2%;}

.homeWrapper .homeEl { display: block; float: left; width: 25%; position: relative; font-size: 110%; }
.homeWrapper .homeEl picture, .homeWrapper .homeEl img { display: block; width: 100%; background-position: center; background-repeat: no-repeat;}
.homeWrapper .homeEl .overlay { background: rgba(255,255,255,.8); position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 1; }
.homeWrapper .homeEl .overlay, .homeWrapper .homeEl h2, .homeWrapper .homeEl .fakeLink { transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; -webkit-transition: all .4s ease-in-out; }
.homeWrapper .homeEl h2 { position: absolute; top: 50%; left: 0; width: 100%; z-index: 2; font-weight: 500; text-align: center; height: 50px; line-height: 30px; margin-top: -25px; font-size: 150%; color: var(--dark) }
.homeWrapper .homeEl .fakeLink { position: absolute; top: 50%; left: 50%; width: 120px; margin: 45px 0 0 -60px; z-index: 2; }
.homeWrapper .homeEl:hover .overlay { background: rgba(255,255,255,0); }
.homeWrapper .homeEl:hover h2, .homeWrapper .homeEl:hover .fakeLink { color: var(--primary); }
.kundeninfo {display: flex; justify-content: center; margin-bottom: 5%; }

button {display: flex; justify-content: center; width: fit-content; background-color: white; border: 1px solid; padding: 5px;}
.button {display: flex; justify-content: center; width: fit-content; align-items: center; background-color: var(--primary); padding: 20px; border-radius: 20px; color:#fff; margin:40px 0 0 0; }
.buttonC { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top:5%; }
.buttonC .button { width:25%; }

.clearfloat { clear:both; height:0; font-size: 1px; line-height: 0px; }

.zweiLinks { margin-right: 5%;}

.timeline { position: relative; max-width: 1600px; margin: 100px auto;}
.timeline::after {content: ''; position: absolute; width: 2px; background-color: var(--primary); top: 0; bottom: 0; left: 50%; margin-left: -3px;}
.containerTimeline { padding: 10px 40px; position: relative; background-color: inherit; width: 50%; }
.containerTimeline::after { content: ''; position: absolute; width: 25px; height: 25px; right: -13px; background-color: white; border: 2px solid var(--primary); top: 25px; border-radius: 50%; z-index: 1;}
.left { display: flex; justify-content: flex-end;}
.right { left: 50%;}
/*.left::before { content: " "; height: 0; position: absolute; top: 22px; width: 0; z-index: 1; right: 30px; border: medium solid white; border-width: 10px 0 10px 10px; border-color: transparent transparent transparent white;}
.right::before { content: " "; height: 0; position: absolute; top: 22px; width: 0; z-index: 1; left: 30px; border: medium solid white; border-width: 10px 10px 10px 0; border-color: transparent white transparent transparent;}*/
.right::after { left: -16px;}
.contentTimeline {display: flex; justify-content: flex-start; flex-wrap: wrap;}
.contentTimeline h2 {margin: 60px 0 0px 0;}
.contentTimeline img {width: 30%;}
.contentTimeline p {width: 100%}
.contentTimelineEnde {display: flex; justify-content: flex-end; flex-wrap: wrap;}
.contentTimelineEnde h2 {margin: 60px 0 0px 0;}
.contentTimelineEnde img {width: 30%;}
.ende {width: 90%; display: flex; justify-content: flex-start; direction: rtl; }

.karriereWrapperEL {display: flex; justify-content: center; margin-top: 10%;}
.karriereWrapper {display: flex; justify-content: flex-start; width: 50%; flex-wrap: wrap;}
.karriereWrapper img {width: 40%; height: auto;}
.karriereWrapperUeberschrift {display: flex; justify-content: flex-start; width: 50%;}
.karriereWrapperContent {display: flex; align-items: center; width: 50%;}

.bewebungStepEL {display: flex; justify-content: flex-start; flex-wrap: wrap;}
.bewebungStep {display: flex; justify-content: flex-start; flex-wrap: wrap; width: 23%; margin: 1%;}
.bewebungStep h2 {width: 100%; color: var(--primary); font-size: 600%; margin: 60px 0px 0px 0px;}

.homeIconTel { display: flex; width: 275px; position: fixed; bottom: 800px; right: -220px; z-index: 499; transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -webkit-transition: all .5s ease-in-out; background-color: var(--primary); color: #fff; align-items: center; padding: 0 0 0 5px; gap: 5px; }
.homeIconTel.open  {right: 0px;}
.homeIconTel .icon {color: #fff ; line-height: 68px; display: inline-flex; font-size: 250%;}
.homeIconTel a {color:#fff ;line-height: 35px; display: inline-flex; }

.homeIconMail { display: flex; width: 275px; position: fixed; bottom: 730px; right: -220px; z-index: 499; transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -webkit-transition: all .5s ease-in-out; background-color: var(--primary); color: #fff; align-items: center; padding: 0 0 0 5px; gap: 5px;}
.homeIconMail.open  {right: 0px;}
.homeIconMail .icon {color: #fff ; line-height: 68px; display: inline-flex; font-size: 250%;}
.homeIconMail a {color:#fff ;line-height: 35px; display: inline-flex; }

.kontaktFormularEl { width: 60%; margin-bottom: 60px;}
.kontaktFormular {width: 100%; }
.kontaktFormular div {display: flex; margin: 4% 4% 4% 0%; gap:2%;}
.kontaktFormular input  {width: 100%; padding: 1%}
.kontaktFormular select {width: 100%; padding: 1%; font-family: inherit; font-size: inherit; font-weight: inherit; }
.kontaktFormular textarea {width: 100%; padding: 1%}
#datenschutz {width: 3%;}
#submit {width: 30%; background-color: var(--primary);border: none; color: white;}

.filterWrapper { display: flex; justify-content: flex-start; margin:0 0 40px 0; column-gap:10px; flex-wrap: wrap; }
.filterWrapper div { padding: 0 10px; cursor: pointer; line-height: 40px; background: #ffffff; }
.filterWrapper div.fakeLinkImp { background: var(--primary); color:#fff; }

.galerieContainer { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; column-gap:1%; row-gap:20px; }
.galerieContainer a { display: block; width: 19%; background-size: cover; background-position: center center;}
.galerieContainer a img {display: block; width: 100%; height: auto;}

.kundenstimmenContainer {margin: 60px 0; }
.kundenstimmeEL {display: flex; justify-content: flex-start; align-items: center; padding: 0px 50px 0px 50px}
.kundenstimme img {max-height: 300px;}
.kundenstimmeText  { padding: 5%;}

.kundenlogosContainer {margin: 60px 0; }
.referenzenLogo {display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; column-gap:1%; row-gap:40px;}
.referenzenLogo img {max-width: 300px; margin-right: 3%; }

.swiper-pagination-bullet-active {background: var(--primary); }
.homeAktuelles { display: flex; row-gap:40px; column-gap:2%; flex-wrap: wrap; }
.homeAktuelles > a { display: flex; flex-basis:32%; aspect-ratio:1/1; justify-content: center; align-items: center; color:#666; transition: all 0.5s ease-in-out; background-size: cover; background-position: center center; border-radius: 20px; }
.homeAktuelles > a > div { background: #ffffffaa; color:#666; padding:4% 6%; transition: all .5s ease-in-out; width:100%; height:100%; display: flex; justify-content: flex-end; flex-direction: column; border-radius: 20px; }
.homeAktuelles > a:hover > div { background: #ffffff66; color:#111; }
.homeAktuelles > a .datum { font-size: 70%; }
.homeAktuelles > a h1, .homeAktuelles > a h2, .homeAktuelles > a h3, .homeAktuelles > a h4 { font-family: 'Montserrat', sans-serif; font-weight: 400; }
.homeAktuelles > a h3 { margin:0; }

section { background-color: #fff; }

.textBildHalf { display: flex; align-items: center; aspect-ratio:32 / 9; }
.wFacts .textBildHalf { aspect-ratio:initial; margin:5vh 0; }
.textBildHalf.team { justify-content: space-between; flex-wrap: wrap; }
.textBildHalf div.img { display: flex; align-items: center; justify-content: center; width:50%; height:100%; transition: all .8s ease-in-out; background-size: 100% auto; background-repeat: no-repeat; }
.textBildHalf div.img:hover { background-size: 110% auto; }
.textBildHalf.reverse div.img { order:3 }
.textBildHalf div.text { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; width:50%; padding:0 8%; background-color: #fff; height:100%; }
.textBildHalf div.text h2 { margin:0; }
.textBildHalf.team div.text { font-size: 120%; padding:0 10%; display: block;}

.textBildHalfgrow { display: flex; flex-wrap: wrap; }
.textBildHalfgrow > div { flex-basis:50%; }
.textBildHalfgrow > div.img { background-size: cover; background-position: center center; }
.textBildHalfgrow > div.text { display: flex; align-items: center; padding:100px 100px; min-height:50vh; }
.textBildHalfgrow > div.text h2 { margin:0; }
.textBildHalfgrow > div.text .galerieWrapper { margin-top:50px; }
.textBildHalfgrow.reverse div.img { order:3 }

.flexHalf { display: flex; flex-wrap: wrap; justify-content: space-between; row-gap:60px; }
.flexHalf > div { flex-basis:46%; }
.flexHalf > div img { width:100%; height:auto; }

.scroll_btn { cursor: pointer; }
#lightcase-nav a[class*="lightcase-icon-"], #lightcase-nav a[class*="lightcase-icon-"]:focus, #lightcase-nav a[class*="lightcase-icon-"]:hover { color:var(--dark); }
.galerieWrapper { display: flex; flex-wrap: wrap; column-gap:2%; row-gap:40px; }
.galerieWrapper a { display: block; width:23.5%; aspect-ratio:4/3; background-size: cover; background-position: center center; border-radius: 20px; }
.galerieWrapper a img { width:100%; height:auto; }

.videoFull { width:100%; overflow:hidden; position: relative; }
.videoFull video { aspect-ratio:1280/484; width:100%; vertical-align: bottom; }
.videoFull .vText { position: absolute; left:0; bottom:0; display: flex; justify-content: center; align-items: center; padding:0 2% 1vh 0; width:100%; color:#fff; font-size: 2vw; }
.youtube { aspect-ratio:16/9; width:100%; height:auto; max-width: 1200px; }
.flexCenter { display: flex; justify-content: center; align-items: center; }

.materials { display: flex; flex-wrap: wrap; column-gap: 4%; row-gap:4vh; }
.material { position: relative; flex-basis:22%; border:1px solid var(--primary); border-radius:20px; display: flex; justify-content: center; align-items: flex-start; flex-direction: column; padding-top:20px; }
.material .img { text-align: center; }
.material .img img { width:90%; height:auto; }
.material .text { display: flex; justify-content: center; align-items: flex-end; width:100%; }
.material .text div { width:100%; padding:1.5vh 0; background-color: #ffffff00; text-align: center; font-size: 120%; border-radius:20px; }

.aktuellesContainer { display: flex; flex-wrap: wrap; justify-content: flex-start; column-gap:4%; row-gap:3vh; margin:0 0 80px 0;}
.aBilder { flex-basis: 30%; order:2; }
.aBilder img { width:100%; height:auto; border-radius: 20px; }
.aText { flex-basis: 66%; order:1; }
.aText h2 { font-size: 140%; }

.gmIframe { width:100%; height:40vh; vertical-align: bottom; }

.flexTwo { display: flex; flex-wrap: wrap; justify-content: space-around; row-gap:50px; }
.flexTwo > div { flex-basis:45%; max-width:600px; display: flex; flex-direction: column; align-items: center; text-align: center; row-gap:15px; }
.flexTwo > div img { width:100%; height:auto; }

.bKachelnWrapper { padding:0 2%; text-align: center; }
.bKacheln { display: flex; flex-wrap: wrap; column-gap:1.25%; justify-content: center; }
.bKacheln a { flex-basis:10%; background-size: cover; background-position: left center; aspect-ratio:2/3; display:flex; align-items: flex-end; justify-content: center; border-radius: 20px; box-shadow:0 0 10px #eee; }
.bKacheln a span { background: linear-gradient(0deg, rgba(255,255,255,0.9135855025603992) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100%); display: flex; align-items: flex-end; justify-content: center; width:100%; padding:10px; text-align: center; height:100%; font-weight: 500; border-radius: 20px; }

.rKachelnWrapper { padding:0 2%; text-align: center; }
.rKacheln { display: flex; flex-wrap: wrap; column-gap:1.25%; justify-content: center;}
.rKacheln a { flex-basis:20%; background-size: cover; background-position: left center; aspect-ratio:3/2; display:flex; align-items: flex-end; justify-content: center; border-radius: 20px; box-shadow:0 0 10px #eee; }
.rKacheln a span { background: linear-gradient(0deg, rgba(255,255,255,0.9135855025603992) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100%); display: flex; align-items: flex-end; justify-content: center; width:100%; padding:10px; text-align: center; height:100%; font-weight: 500; border-radius: 20px; }

.usp { display: flex; flex-wrap: wrap; column-gap:40px; justify-content: space-between; margin:60px 0 0 0; }
.usp > div { flex-basis:22%; display: flex; flex-direction: column; row-gap:15px; align-items: center; text-align: center; }
.usp > div img { width:100%; height:auto; max-width: 100px; }

#teamBild { padding-bottom:50px; }
#teamBild img { position:relative; top:50px; }

.sprechzeitenWrapper > div { display: flex; }
.sprechzeitenWrapper > div span:first-of-type { flex-basis:50px; }

.textBildHalfgrow { display: flex; flex-wrap: wrap; }
.textBildHalfgrow > div { flex-basis:50%; }
.textBildHalfgrow > div.img { background-size: cover; background-position: center center; }
.textBildHalfgrow > div.text { display: flex; align-items: center; padding:100px 100px; min-height:50vh; }
.textBildHalfgrow > div.text h2 { margin:0; }
.textBildHalfgrow > div.text .galerieWrapper { margin-top:50px; }
.textBildHalfgrow.reverse div.img { order:3 }
.galerieWrapper { display: flex; flex-wrap: wrap; column-gap:2%; row-gap:40px; margin:50px 0 0 0; }
.galerieWrapper a { display: block; width:23.5%; aspect-ratio:4/3; background-size: cover; background-position: center center; border-radius: 20px; }
.galerieWrapper > div { display: block; width:23.5%; aspect-ratio:4/3; background-size: cover; background-position: center center; border-radius: 20px; }
.galerieWrapper a img { width:100%; height:auto; border-radius: 50px; }
.aerzte .galerieWrapper, .leistungen .galerieWrapper { display: flex; flex-wrap: wrap; column-gap:2%; row-gap:40px; margin:50px 0 0 0; }
.aerzte .galerieWrapper > div, .leistungen .galerieWrapper > div { display: flex; flex-basis:23.5%; flex-direction: column; row-gap:20px; text-align: center; padding:0 10px; }
.aerzte .galerieWrapper img, .leistungen .galerieWrapper img { width:100%; height:auto; }

.headerImg { width:100%; overflow: hidden; position: relative; }
.headerImg img { width:100%; height:auto; position: relative; left:0; top:0; }

.today { font-weight:600; }

.kontWrapper { display: flex; flex-wrap: wrap; column-gap:2%; row-gap:40px; margin:40px 0 0 0; }
.kontWrapper > div { flex-basis:48%; }

#lightcase-info { display: none; }

@media screen and (max-width: 2100px) {
	.home header .container a.logo { height:calc(var(--headerHeight) + 0px); }
}
@media screen and (max-width: 1600px) {
	.container { padding:0 4%; }
}
@media screen and (max-width: 1350px) {
	.menu li a { font-size: 120%; }
}
@media screen and (max-width: 1200px) {
	.menu li a { font-size: 130%; }
	nav { order:3; flex-grow:0; }
	.menu_mobile { display: block; }
	.menu { display: flex; flex-direction: column; justify-content: center; position:fixed; top:var(--headerHeight); right:-100%; width: 100%; max-width:100%; height:calc(100% - var(--headerHeight)); overflow-y:scroll; background:#fff; z-index:500; transition: all .4s ease-in-out; min-width: 300px; align-items: center; }
	.menu.open { right:0%; }
	.menu li a { line-height:60px; text-align: center; }
	.menu li { max-width:400px; width:100%; }
	.menu .sub { position: static; }
	.menu .sub li a span { line-height: 40px; }
	.flexHelper {display: none}
	:root {
		--headerHeight:70px;
	}
	.headerWrapper { flex-basis:10%; }
	/*a.logo { flex-grow:4; height:calc(var(--headerHeight) - 20px); }*/
	.textBildHalf div.text { }
	section.fullHeader { height:50vh; }
	section { padding:80px 0; }
	.footerLogo { display: none; }
	.staffWrapper .img img { width:80%; }
	.textBildHalf { flex-wrap: wrap; }
	.textBildHalf div.text { width:100%; margin: 60px 0; }
	.textBildHalf div.img { width:100%; min-height:390px; }
	.textBildHalf div { flex:auto; }
	.lIcon { height:70%; max-height:140px; }
	.swiper-container { }
	.captionWrapper h3 { font-size: 200%; }
	.homeWrapper .homeEl {width: 40%;}
	.homeText {font-size: 75%;}
	.directMenu { column-gap:4%; }
	.headerImg img { width:120%; left:-10%; }
}

@media screen and (max-width: 1500px) {
	.staffWrapper .img img { width:60%; }
	.bKacheln { column-gap:2.5%; row-gap:60px; }
	.bKacheln a { flex-basis:18%; }
	footer .container > div { width:auto; flex-grow:1; }
}

@media screen and (max-width: 1350px) {
	.homeText {font-size: 90%;}
	.textBildHalfgrow > div.text { padding:50px; }
}

@media screen and (max-width: 1250px) {
}
@media screen and (max-width: 1000px) {
	body { font-size:100%; }
	footer { padding:40px 4%; }
	footer .container > div { width:100%; text-align: center;}
	.footerLogo { order:1; }
	.footerKontakt { order:2; }
	.footerMenu { order:3; }
	.footerMenu a { text-align: center; }
	footer a, footer .line { width:100%; justify-content: center; }
	.footerSocial { justify-content: center; }
	footer a.social { width:auto; }
	.gruppenContainer div.gruppe { width:100%; }
	h1 { font-size: 280%; line-height:initial; }
	h2 { font-size: 180%; }
	.qmLink img { max-width: 120px; }
	.homeIconMail .icon { line-height: 50px; }
	.homeIconTel .icon {line-height: 50px;}
	.homeIconTel {width: 264px;}
	.homeIconMail {width: 264px; bottom: 748px;}
	.headerImg img { width:140%; left:-20%; }
	.aerzte .galerieWrapper > div, .leistungen .galerieWrapper > div { flex-basis:49%; align-items: center; }
	.aerzte .galerieWrapper img, .leistungen .galerieWrapper img { max-width: 300px; }
	.textBildHalfgrow > div { flex-basis:100%; }
	.textBildHalfgrow > div.img { height:40vw; }
	.textBildHalfgrow > div.text { display: flex; align-items: center; padding:40px 4%; min-height:auto; }
	.textBildHalfgrow > div.text .galerieWrapper { margin-top:30px; }
	.textBildHalfgrow.reverse div.img { order:0; }
	footer .container > div.footerSprechzeiten { max-width:none; }
	.sprechzeitenWrapper > div { justify-content: center; }
	.kontWrapper { text-align: center; }
}
@media screen and (max-width: 940px) {
	header .container .directMenu .icon { font-size: 125%; }
	.home .swiper-container { height:calc(70vh - var(--headerHeight)); }
	.kontWrapper > div { flex-basis:100%; }
}
@media screen and (max-width: 900px) {
	.homeAktuelles > a { flex-basis:100%; }
	.flexHalf > div { flex-basis:100%; }
}
@media screen and (max-width: 850px) {
}
@media screen and (max-width: 800px) {
	:root {
		/*--headerHeight:50px;*/
	}
	.home header .container a.logo { height:calc(var(--headerHeight) - 25px); }
	.staffWrapper { flex-wrap: wrap; }
	.staffWrapper > div { width:100%; }
	.staffWrapper .img { margin-bottom:60px; }
	.staffWrapper .img img { width:60%; }
	.staffWrapper.reverse .text, .staffWrapper .text { padding:2%; }
	.galerieWrapper a { width:32%; }
	.swiper-container { }
	/*.swiper-slide > img { width:140%; height:auto; position: relative; left:-20%; }*/
	.swiper-slide { overflow: hidden; }
	.captionWrapper h3 { font-size: 200%; }
	.kachelWrapper a { width:48%; }
	.kachelWrapper a img {  }
	.homeWrapper .homeEl {width: 50%;}
	.karriereWrapperContent {width: 100%;}
	.karriereWrapperContent {width: 100%;}
	.bewebungStepEl { flex-wrap: wrap;}
	.bewebungStep { width: 49%;}
	.homeEl {flex-wrap: wrap; margin: 2% 0%;}
	.homeEl::nth-child(2) {}
	.homeBild  {width: 100%;}
	.homeText {width:  100%;}
	.homeText:nth-child(2) {width: 100%}
	.contactWrapper a { font-size: 160%; }
	.bKacheln { column-gap:5%; row-gap:40px; }
	.bKacheln a { flex-basis:30%; }
	h1 { font-size: 250%; margin-bottom:40px; }
	h2 { font-size: 160%; }
	section { padding:50px 0; }
	.flexHalf { row-gap:30px; }
	.headerImg img { width:160%; left:-30%; }
}
@media screen and (max-width: 600px) {
	body { font-size:90%; }
	.iconWrapper > div { width:48%; }
	section.imgWithTitle .text h1 { font-size: 12vw; line-height: 10vw; }
	.staffWrapper .img img { width:80%; }
	.lIcon { max-height:100px; }
	.newsSection .container { flex-wrap: wrap; }
	.newsSection .text, .newsSection .img { width:100%; }
	.newsSection .text { margin-bottom: 40px; }
	.galerieWrapper a { width:48%; }
	.headerWrapper, .directMenu { column-gap: 2%; }
	.material { flex-basis:48%; }
	.home .swiper-container { height:calc(40vh - var(--headerHeight)); }
	.captionWrapper { bottom:10%; }
	.captionWrapper h3 { font-size: 170%; }
	h1 { font-size: 180%; }
	h2 { font-size: 130%; }
	section { padding:40px 0; }
	.headerImg img { width:240%; left:-70%; }
	h3.wSubline { margin:5px 0 20px 0; }
	.galerieWrapper a img { border-radius: 30px; }
}

@media screen and (max-width: 500px) {
	.homeWrapper .homeEl {width: 100%;}
	.flexTwo > div { flex-basis:100%; max-width:400px; }
	.aerzte .galerieWrapper > div, .leistungen .galerieWrapper > div { flex-basis:100%; }
	.iconText { line-height: normal; }
}

@media screen and (max-width: 400px) {
	body { font-size:80%; }
	.iconWrapper > div { width:100%; }
	.menu { min-width: auto; padding-left:5%; }
	.homeIconMail .icon { line-height: 45px; }
	.homeIconMail .icon { line-height: 45px; }
	.homeIconTel .icon {line-height: 45px;}
	.homeIconTel {width: 260px;}
	.homeIconMail {width: 260px; bottom: 752px;}
	.bKacheln { column-gap:5%; row-gap:30px; }
	.bKacheln a { flex-basis:45%; }
}
@media screen and (orientation:portrait) {
	section.imgWithTitle { height:calc(60vh - var(--headerHeight)); }
}
