body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
.content-slider{overflow:hidden;visibility:hidden;position:relative}.slider-wrapper{overflow:hidden;position:relative}.slider-wrapper>*{float:left;width:100%;position:relative}.slider-control{height:30px;position:relative}.slider-control a,.slider-control .slider-menu{position:absolute;top:9px;display:inline-block}.slider-control .slider-prev{left:0}.slider-control .slider-next{right:0}.slider-control .slider-menu{top:0;width:50%;left:50%;margin-left:-25%;font-size:27px;text-align:center}.slider-control .slider-menu b{color:#bbb;cursor:pointer}.slider-control .slider-menu b.active{color:#666}
/* open-sans-300italic - 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: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../../files/theme/fonts/open-sans-v44-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/theme/fonts/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../../files/theme/fonts/open-sans-v44-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-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: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/theme/fonts/open-sans-v44-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
  /* Fonts */
  --font: 'Open Sans';

/* Colors: */
  --black: #000000;
  --orange:#F05A11;
  --gray:#575756;
  --white:#ffffff;
  --lightgray:#E6E6E6;
  
  /* Font/text values */
  --light: 300;
  --medium: 600;
  --bold: bold;
  --regular: normal;
  --font-small:17px;
  --font-size: 21px;
  --font-big: 40px;
  --font-xxl: 70px;
  --line-height:1.5;

  /* Max widths */
  --max-XXL: min(1550px, 90vw);
  --max-pagewidth: min(1200px, 92vw);
  --max-pagewidth-sm: min(1000px, 92vw);
  --max-1100: min(1100px, 90vw);
  --max-1200: min(1200px, 90vw);
  --max-boxed: min(780px, 90vw);
@media (max-width:700px) {
  --max-pagewidth: min(1200px, 90vw);
  --max-pagewidth-sm: min(1000px, 90vw);
}
}
body {font-family:var(--font);color:var(--black);font-size:17px;line-height:1.45;margin:0;padding:0;overflow-x:hidden;@media (max-width:1560px) {font-size:16px;}@media (max-width:960px) {font-size:15px;}
  & h1, & h2, & h3, & h4, & h5, & h6 {margin-top:0;color:var(--gray);}
  & h1 {font-size:40px;line-height:47px;margin-bottom:40px;@media (max-width:960px) {font-size:32px;line-height:38px;margin-bottom:30px;}@media (max-width:700px) {font-size:5.5vw;line-height:1.3;hyphens:auto;br {display:none;}}}
  & h2 {font-size:38px;line-height:1.1;margin-bottom:40px;@media (max-width:960px) {font-size:28px;line-height:38px;margin-bottom:30px;}@media (max-width:700px) {margin-bottom:20px;font-size:5.5vw;line-height:1.3;br {display:none;}}}
  & h2 + h3 {margin-top:-30px;@media (max-width:700px) {margin-top:-20px;}}
  & .headline-small h2 {font-size:20px;}
  & strong {font-weight:var(--bold);}
  &.case {background:var(--lightgray);}
  & video {height:auto;max-width:100%;}
  .swiper-button-next, .swiper-button-prev {color:var(--white);}
}

header#header {position:fixed;top:0px;left:0;color:var(--white);padding:0;margin:0;width:100%;z-index:9;transition: transform 0.35s ease, background 0.35s ease;
  a, p, span, strong {color:var(--white);text-decoration: none;text-transform: uppercase;font-weight:bold;}
  & .inside {max-width:var(--max-pagewidth);margin:0 auto;box-sizing:border-box;padding:35px 0;display:flex;justify-content:space-between;align-items:flex-end;@media (max-width:700px) {align-items:center;padding:15px 0;}}
  & .logo {max-width:200px;@media (max-width:700px) {max-width:120px;}}
  & nav {@media (max-width:700px) {}
    & .nav-mobOnly {display:none;@media (max-width:700px) {display:block;}}
    & ul {list-style:none;margin:0;padding:0;
      & > li {display:inline-block;padding:0 15px;@media (max-width:700px) {display:block;padding:10px 25px;a {color:var(--white);}}}
      & > li.active strong, & > li:hover a {color:var(--orange);}
    }
  }
}
.scroll header#header {background:var(--gray);
  & .inside {padding:15px 0;}
}
#header.header-hidden {
  transform: translateY(-120%);
}
.mod_article {
  & > * {max-width:var(--max-pagewidth);margin:0 auto;}
  & > .fw {max-width:100%;
    & > .rte, & > div, & > .content-headline {width:var(--max-pagewidth);margin:0 auto;}
  }
  & > .fw-slider {
    & > .swiper-container {width:100%;}
  }
  figure {line-height:0;}
}
.text-right {text-align:right;@media (max-width:700px) {text-align:left;}}
.hero {position:relative;
  & .rte, & figcaption {width:var(--max-pagewidth-sm) !important;z-index:1;font-size:80px;line-height:1.1;font-weight:bold;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:5;color:var(--white);@media (max-width:700px) {font-size:10vw;}}
  & img, & video {width: 100vw;height: 100vh;object-fit: cover;object-position: center;display: block;@media (max-width:960px) {height:80vh;}}
}
.half-width {
  & .rte {max-width:600px;}
}
.intro, .bg-gray.intro {padding-top:180px;@media (max-width:960px) {padding-top:120px;}@media (max-width:700px) {padding-top:90px;}}
.kompass img {margin:-20px 0;@media (max-width:700px) {margin:-0 0 0;}}
.padding {padding:100px 0;@media (max-width:960px) {padding:70px 0;}}
.align-center > div {align-items: center;}
.bg-orange {background:var(--orange);color:var(--white);padding:60px 0;@media (max-width:960px) {padding:35px 0;}
  a, h1, h2, h3, h4, h5 {color:var(--white);}
  & h1 {width:var(--max-pagewidth-sm) !important;margin:0 auto;}
}
.bg-gray {background:var(--gray);color:var(--white);padding:100px 0;@media (max-width:960px) {padding:50px 0 30px;}
  a, h1, h2, h3, h4, h5 {color:var(--white);}
}
.noPadding {padding:0 !important}
.bg-lightgray {background:var(--lightgray);color:var(--white);padding:100px 0;@media (max-width:960px) {padding:70px 0;}}
.text-orange {color:var(--orange);
  & a, & h1, & h2, & h3, & h4, & h5 {color:var(--orange);}
}
.flex {display:flex;column-gap:40px;flex-wrap: wrap;row-gap:40px;@media (max-width:700px) {display:block;}
  & > div, & > figure, & > .content-player {width:calc(50% - 20px);@media (max-width:700px) {width:100%;margin:25px 0;}}
  & > div.full {width:100%;}
  &.align-center {align-items:center;}
  &.justify-center {justify-content: center;}
  &.cases {width:var(--max-pagewidth);margin:0 auto;padding:80px 0;@media (max-width:960px) {padding:50px 0;}}
}

.projekte {margin-bottom:120px;@media (max-width:700px) {margin-bottom:70px;}
  & .single {background:var(--gray);color:var(--white);
    & h3 {color:var(--white);margin:0;padding:35px 35px 0;font-size:15px;@media (max-width:1500px) {padding:25px 25px 0;}@media (max-width:700px) {padding:15px 15px 0;font-size:14px;}}
    & .rte p {margin:0;padding: 0 35px 35px;font-style: italic;@media (max-width:1500px) {padding:0 25px 25px;}@media (max-width:700px) {padding:0 15px 15px;font-size:14px;}}
  }
}
.inhaber {
  &.hidden {max-height: 0;opacity: 0;overflow: hidden;transform: translateY(40px);transition:max-height 0.8s ease,opacity 0.6s ease,transform 0.6s ease;}
  &.is-open {max-height: 2000px;opacity: 1;transform: translateY(0);}
  & > div {padding:60px 0;}
}
.margin-top {margin-top:80px;@media (max-width:960px) {margin-top:50px;}}
.image-right {
  & figure {order:2;}
}
.logo-orange {position:relative;
  & figure {position:absolute;height:80%;right:-13vw;top: 50%;transform: translateY(-50%);@media (max-width:1400px) {right:-9vw;}@media (max-width:700px) {position:relative;right:0;top:-25px;width:100%;transform:none;}
    & img {width:100%;height:100%;object-fit:contain;}
  }
  & .rte {padding-right:150px;box-sizing:border-box;}
}

.mod_article.platzfrei {padding:0;
 & > div {padding:0;max-width:100%;align-items:center;}
 & .rte {padding:50px 100px;box-sizing:border-box;@media (max-width:1200px) {padding:30px 50px;}@media (max-width:960px) {padding:20px 20px;}}
}
#counter {font-size:22px;font-weight:bold;text-align:center;column-gap: 200px;
  & strong {display:block;font-size:68px;line-height:1;margin-bottom:10px;}
  & p:nth-of-type(2) {@media (max-width:700px) {margin:80px 0;}}
}
.subheadline {
  & h2 {margin-top:-10px;}
  & em {color:var(--orange);font-style:normal;text-transform: uppercase;}
  > p:first-of-type , & .rte > p:first-of-type {text-transform: uppercase;}
  & > figure {@media (max-width:700px) {padding-top:00px;margin-top:0;}}
}
.case .subheadline {
  h2 {@media (max-width:700px) {position:absolute;top:50px;font-size:4.7vw;br {display:none;}}}
  & .rte > p:first-of-type {@media (max-width:700px) {position:absolute;top:0;}}
  & > figure {@media (max-width:700px) {padding-top:90px;margin-top:0;}}
}

.button-link {
  & p:last-of-type {@media (max-width:700px) {margin-bottom:0px;text-align:center;}
    & a {border:2px solid var(--white);margin-top:40px;transition:ease all .3s;padding:8px;font-weight:bold;font-size:16px;width:210px;box-sizing:border-box;text-align:center;text-decoration: none;text-transform: uppercase;display:inline-block;@media (max-width:700px) {margin-top:20px;}}
    & a:hover {background:var(--orange);color:var(--white);}
  }
}
.button-link-orange p:last-of-type {
  & a {border-color:var(--orange);color:var(--orange);margin-top:20px;}
  & a:hover {background:var(--gray);color:var(--white);border-color:var(--gray)}
}
.image-move-right {
  figure {position: relative;right: -13vw;max-width: none;@media (max-width:1400px) {right: -9vw;}@media (max-width:700px) {right:auto;}}
}
.kunden-slider {padding:80px 0;
  & h2 {color:var(--orange);text-transform: uppercase;font-size:36px;text-align:center;margin-bottom:30px;}
  & .swiper-container {padding-bottom:50px;}
  & .swiper-pagination-bullet-active {background:var(--orange);}
  & .swiper-pagination-bullet {width:12px;height:12px;margin:0 6px !important;}
  & img {max-width:250px;height:auto;max-height:150px;width:auto;@media (max-width:700px) {max-width:100%;max-height:100px;}}
  & .swiper-wrapper {align-items:center;
    & > div {text-align: center;}
  }
}

.offer {display: flex;align-items: center;border:1px solid var(--black);padding:10px 20px 10px 0;box-sizing:border-box;
  & figure {width:140px;@media (max-width:700px) {width:80px;}}
  & .rte {width:calc(100% - 140px);@media (max-width:700px) {width:calc(100% - 80px);}}
  & img {width:150px;}
  & h3 {margin:0;font-size:17px;}
  & p {margin:0;}
}

footer#footer {color:var(--white);
  & figure {line-height: 0;}
  & > div {padding-top:100px;@media (max-width:700px) {padding-top:60px;}}
  & h3.content-headline {text-align:center;font-size:40px;margin-bottom:60px;@media (max-width:700px) {font-size:30px;margin-bottom:0;}}
  & .content-image {position: absolute;top: 0;left: 0;width: 100%;z-index: -1;}
  & p, a, h1, h2, h3, h4, strong {color:var(--white);text-decoration:none;@media (max-width:700px) {margin:0;}}
  & a:hover {color:var(--orange);}
  & .flex {max-width:var(--max-pagewidth);margin:0 auto;@media (max-width:700px) {display:block;}
    & > * {width:calc(33.333% - 27px);@media (max-width:700px) {width:100%;margin:15px 0;text-align:center;}}
  }
}
.kundenlogos .swiper-container-autoheight .swiper-wrapper {min-height:200px;}
@media (min-width:961px) {
  .mob {display:none;}
}
@media (max-width:960px) {
  .nomob {display:none;}
  .kundenlogos .swiper-container-autoheight .swiper-wrapper {min-height:150px;}

}

@media (max-width:1400px) {
.logo-orange {
  & figure {
    & img {}
  }
  & .rte {padding-right:5vw;}
}
}

@media (max-width:700px) {
  .kundenlogos .swiper-container-autoheight .swiper-wrapper {min-height:80px;}
  .projekte .swiper-slide {
    transition: transform 0.35s ease;
  }
  
  .projekte .swiper-slide-active {
    transform: scale(1);
  }
  .projekte {padding:0 20px;}
}

.fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: 
    opacity 0.8s ease-out,
    transform 0.8s ease-out;
  will-change: opacity, transform;
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.platzfrei {
  .flex {
      & > div, & > figure, & > .content-player {
          @media (max-width: 700px) {
              margin: 0 0 25px;
          }
      }
  }

}
/* Burger nur mobil zeigen */
.burger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 22px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 200;
}

.burger span {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff; /* Farbe anpassen */
  transition: transform 0.35s ease, opacity 0.35s ease;
}

/* X-Animation */
.burger.is-open span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
.burger.is-open span:nth-child(2) {
  opacity: 0;
}
.burger.is-open span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

@media (max-width: 700px) {
  .burger {
    display: flex;
  }

 .mod_navigation {
    position: fixed;
    top: 0;
    right: 0;
    width: 80vw;max-width:200px;text-align: right;
    height: calc(100vh);
    background:var(--gray);
    padding: 80px 0 0;box-sizing: border-box;
    z-index: 100;
    transform: translateX(100%);
    transition: transform 0.35s ease;
  }
  
  .mod_navigation.is-open {
    transform: translateX(0);  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
  }
}

.hero figcaption .typewriter-cursor {
    display: inline-block;
    font-weight: 100;
    animation: blink 0.75s step-end infinite;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}
