/* ----- SCHRIFTEN ----- */

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

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

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

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

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

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

  
/*----- BASICS ------ */

:root {
  --color-dark: #2D2F34;
  --color-light: #F7F6F1;
  --color-red: #D0584E;
  --content-width: 1920px;
}
  
*, html {
    margin:0;
    padding:0;
  cursor:none;
}

body {
    background-color: var(--color-light);
    font-family: 'Inter', sans-serif;
    color: var(--color-dark);
}


/* Scroll-Sperre */
body.loading {
  overflow: hidden;
  height: 100vh;
}

/* Lade-Overlay */
#loader {
  position: fixed;
  inset: 0;
  background: var(--color-dark); 
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* Optional Spinner */
.spinner {
  width: 40px;
  height: 40px;
  border: 5px solid var(--color-red);
  border-top: 5px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Nach dem Laden ausblenden */
body.loaded #loader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


.header {
  position: relative;
  height: 100vh;
display: flex;
align-items: end;
  max-width:var(--content-width);
  margin:auto;
  padding-top: 10vh;
}

.header .container {
  height:fit-content;
  z-index:1;
}

.header video, .header img {
  width:100%;
  height:100%;
  object-fit: cover;
  display: block;
  position: absolute;
  z-index: 0;
}

.video-start {
  position: absolute;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}


.video-start .mute-btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 10;
  background: rgba(33, 37, 41, 0.7);
  color: white;
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 20px;
  display: flex;
align-items: center;
justify-content: center;
}

.mute-btn img {
  width:25px;
  height:25px;
  
}

.header.case {
  height: auto;
}

.header.case video, .header.case img {
  position: inherit;
}

.bg-dark {
  background-color: var(--color-dark);
  color: var(--color-light);
  padding:7rem 0;
  max-width:var(--content-width);
  margin:auto;
}
.bg-dark a {
  color:var(--color-light);
  text-decoration: underline;
}
.bg-dark a:hover {
  color:var(--color-red);
}



.bg-faulhaber {
  background: linear-gradient(180deg, rgb(247, 246, 241) calc(1920px / 2.133333333333333 - 335px), rgb(89, 123, 68) calc(1920px / 2.133333333333333 - 200px));
}
.bg-faulhaber video {
  opacity: 0.98;
}

@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) { /* nur safari */

    .bg-faulhaber { 
      background: linear-gradient(180deg, rgb(247, 246, 241) calc(1920px / 2.133333333333333 - 335px), rgb(100, 135, 77) calc(1920px / 2.133333333333333 - 200px))
    }
}

.bg-projektseite p, .bg-projektseite h2 {
  color: var(--color-light);
}

h1, h3, .projekte h2, p.gross, h2.klein {
    font-size: 2.6rem;
    font-weight: 400;
    text-align: center;
    line-height: 2.8rem;
}

h1 span {
  font-weight:200;
}

header h1 {
     font-size: 8rem; 
    text-transform: uppercase;
  font-weight: 200;
    letter-spacing: -.25rem;
  line-height: 8rem;
  text-align: left;
  color:var(--color-light);
  margin-bottom:5rem;
}
header h1 span {
  color:var(--color-red);
}

h2, p.quote {
    font-size: 8rem;
    font-weight: 700;
    text-transform: uppercase;
  letter-spacing: -.25rem;
  line-height: 8rem;
  z-index:-2;
    
}

h2.thin {
  font-weight:200;
}

h2.thin span {
  color:var(--color-red);
}

.projekte a {
  text-decoration: none;
}
.projekte h2 {
  text-transform:initial;
  line-height:3rem;
  letter-spacing: normal;
  font-weight:500;
  text-align: left;
}
.projekte h2 span {
  font-weight:200;
}

.weitere h2 {
text-align: center;
  color:var(--color-red);
}

h2.klein {
  color:var(--color-red);
  text-transform: none;
  letter-spacing: 0;
  line-height: 3rem;
  text-align: left;
}

h3 {
  text-align: left;
  padding-bottom:2rem;
}

p {
    font-size: 1.3rem;
    font-weight: 300;
    text-align: center;
  line-height: 2.1rem;
  margin-bottom: 2rem;
}
  
p.quote {
  text-align: left;
}

.projekte p {
  text-align:left;
  margin-top:4rem;
  margin-bottom:.5rem;
}

p.rot {
  color: var(--color-red);
  text-align:left;
}
p.big {
  font-size: 5rem;
font-weight: 700;
line-height: 7rem;
}
p.big a {
  text-decoration: none;
}

strong {
  font-weight: 500;
}

blockquote {
      font-size: 2.6rem;
    font-weight: 300;
  text-align: left;
  line-height:3rem;
}

.bg-dark p, p.left {
  text-align: left;
}
p.right {
  text-align: right;
}

a {
  color:var(--color-dark);
  text-decoration: none;
  transition: .5s;
  cursor:none;
}

ul {
  padding:0;
  margin:0;
}

li {
  color:var(--color-red);
      font-size: 2.6rem;
  line-height: 4.6rem;
  list-style: none;
  display: flex;
  align-items: center;
    font-weight: 300;
}

li::before {
  content:"";
  background-image:url(../img/icons/strich.svg);
  display:inline-block;
  background-repeat:no-repeat;
  padding-right:1rem;
  position: absolute;
width: 55px;
height: 10px;
margin-left: -5rem;
}

li a {
  color:var(--color-light);
  font-weight:400;
}


 ul.links{
  margin-top:6rem;
}
ul.links a {
  text-decoration: none;
}

.links li::before {
  background-image:none;
}

.links li:hover a {
  color:var(--color-red);
}

.links li::before {
    content:"";
  background-image:url(../img/icons/pfeil.svg);
  display:inline-block;
  background-repeat:no-repeat;
  padding-right:1rem;
  position: absolute;
width: 70px;
height: 12px;
margin-left: -6rem;
    transition: .25s;
  opacity:0;
}

.links li:hover::before {
  opacity:1;
}

.projekte .pfeil {
  width:50px;
  height:auto;
  margin-top:2rem;
}

.btn {
  font-weight: 200;
color: var(--color-red);
border: 1px solid var(--color-red);
border-radius: 0;
padding: .5rem 4rem;
  transition: .25s;
}
.btn:hover {
  color:var(--color-dark);
  border: 1px solid var(--color-dark);
  transition: .25s;
  cursor: none;
}

.btn-back {
  position: absolute;
  z-index:99;
  top: 12rem;
  text-transform: uppercase;
  padding-left:6.5rem;
  padding-right:6.5rem;
  font-size: .9rem;
  display: flex;
align-items: center;
}
.btn-back::before {
      content:"";
  background-image:url(../img/icons/pfeil.svg);
  display:inline-block;
  background-repeat:no-repeat;
width: 40px;
height: 5px;
  transform: rotate(180deg);
  position:absolute;
  left:1rem;
  transition:.25s;
}

.btn-back:hover::before {
  background-image:url(../img/icons/pfeil_dark.svg);
  transition:.25s;
}

p.etikett {
  position:fixed;
  transform:rotate(270deg);
  color:var(--color-red);
  text-transform:uppercase;
  font-weight: 500;
  top:21rem;
  left:0;
  font-size: .8rem;
  z-index:999;
}

hr {
    opacity: 1;
color: #B5B7BC;
margin: 0;
}

.bg-dark hr {
color: var(--color-light);
}

.zn {
  z-index: -1000;
  position: relative;
}

h2[id] {
  scroll-margin-top:12vh;
}


/* MARGIN */

.mt-6 {
  margin-top:6rem;
}
.mt-8 {
  margin-top:8rem;
}
.mb-8 {
  margin-bottom:8rem;
}
.ms-8, .ms-lg-8 {
  margin-left:8rem;
}
.me-8 {
  margin-right:8rem;
}
.mt-10 {
  margin-top:10rem;
}
.mb-10 {
  margin-bottom:10rem;
}
.ms-10 {
  margin-left:10rem;
}
.me-10, .me-lg-10 {
  margin-right:10rem;
}
.mt-15 {
  margin-top:15rem;
}
.mb-15 {
  margin-bottom:15rem;
}
.ms-15 {
  margin-left:15rem;
}
.me-15 {
  margin-right:15rem;
}

.mtn-3 {
  margin-top:-3rem;
}
.mtn-5, .mtn-md-5 {
  margin-top:-5rem;
}
.mtn-8, .mtn-lg-8, .mtn-xl-8 {
  margin-top:-8rem;
}
.mtn-10 {
  margin-top:-10rem;
}
.mtn-15, .mtn-lg-15 {
  margin-top:-15rem;
}
.mtn-18, .mtn-lg-18 {
  margin-top:-18rem;
}
.mtn-25 {
  margin-top:-25rem;
}

.msn-4 {
  margin-left:-4rem;
}




/* PADDING */

.pt-6 {
  padding-top:6rem!important;
}
.pt-8 {
  padding-top:8rem;
}
.pb-8 {
  padding-bottom:8rem;
}
.p-8 {
  padding-left:8rem;
}
.pe-8 {
  padding-right:8rem;
}
.pt-10 {
  padding-top:10rem;
}
.pb-10 {
  padding-bottom:10rem;
}
.ps-10 {
 padding-left:10rem;
}
.pe-10, .pe-md-10 {
  padding-right:10rem;
}
.pt-15, .pt-lg-15 {
  padding-top:15rem;
}
.pb-15 {
  padding-bottom:15rem;
}
.ps-15 {
 padding-left:15rem;
}
.pe-15 {
  padding-right:15rem;
}
.pb-23, .pb-lg-23 {
  padding-bottom:23rem;
}


/*------- NAVI -------*/

.navi {
width: 100vw;
height: 10vh;
position: fixed;
background-color: var(--color-light);
  align-items: center;
    display: flex;
  justify-content: center;
  z-index:999;
   transition: height 0.3s ease-in-out;
  /*border-bottom: 1px solid #B5B7BC;*/
}
  .navi.shrink {
    height:8vh;
     transition: height 0.3s ease-in-out;
  }

.navi-content {
  width: var(--content-width);
    justify-content: space-between;
  display: flex;
  height: fit-content;
  align-items: center;
  padding:0 5rem 0 3.5rem;
}
.navi-content > a:nth-child(1) {
height: 5rem;
width: 5rem;
display: flex;
align-content: center;
align-items: center;
justify-content: center;
}
.navi img {
  width:auto;
  height: 2.1rem;
}
.navi img.logo {
  margin-top:.2rem;
  object-fit: cover;
height: 3.12rem;
  width: 15rem;
  object-position: right 0;
    transition: object-position 0.3s ease-in-out, height 0.3s ease-in-out, width .3s ease-in, margin .3s ease-in-out;
}
.navi.shrink .logos {
  width:3rem;
}
  .navi.shrink img.logo {
    margin-top:0;
object-position: right 1.4rem;
    height:5rem;
    width: 3rem;
display: block;
  transition: object-position 0.3s ease-in-out, height 0.3s ease-in-out, width .3s ease-in, margin .3s ease-in-out;
}


/* The Overlay (background) */
.overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */   
  height: 100%;
  width: 0;
  position: fixed; /* Stay in place */
  z-index: 9999; /* Sit on top */
  left: 0;
  top: 0;
  background-color: var(--color-light); /* Black fallback color */
  overflow-x: hidden; /* Disable horizontal scroll */
  transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

.overlay-content {
  position: relative;
 margin-top: 3rem;
  max-width: 100vw;
}

.overlay-content img {
  width: auto;
  position: relative;
  height: 3rem;
}
.overlay-content img.logo {
  height: 2.5rem;
}

.teaser img {
  width: 100%;
  max-height: 290px;
  object-fit: cover;
  height: 100%;
}
.teaser p {
  text-align: left;
  margin-bottom: 1rem;
}
.teaser p.gross {
  font-size: 2rem;
font-weight: 200;
text-align: left;
line-height: 2.4rem;
}
.teaser p.gross span {
  font-weight: 500;
}
.teaser img.pfeil {
  height: auto;
  width: 4.5rem;
  margin-top: 1rem;
}

nav li::before {
  display:none;
}
nav li a {
  color:var(--color-dark);
  font-weight: 300;
font-size: 3.8rem;
line-height: 5.4rem
}
nav li a:hover, nav li a.active {
  color:var(--color-red);
}

.img-overlay {
  max-height:470px; 
  z-index:2;
}


/*----- TEILEN ------ */

.teilen p {
  font-size: .9rem;
  font-weight: 400;
  text-transform: uppercase;
  color:var(--color-red);
}
.teilen a {
  text-decoration: none;
  padding:.5rem;
 /* opacity:0;*/
}

.teilen-unten p {
      font-size: 2.6rem;
    font-weight: 400;
  line-height:3rem;
  margin-bottom: 0;
}
.teilen-unten p span {
  font-weight:200;
}
.teilen-unten .klein p {
  text-transform: uppercase;
font-size: 1rem;
font-weight: 500;
  margin-bottom: 1rem;
}

/*----- FRAGEN ------ */

.fragen {
  background-color: var(--color-red);
    margin:auto;
  padding:5rem 0;
  margin-bottom:3rem;
  position: relative;
display: flex;
justify-content: center;
align-items: center;
  max-width: var(--content-width);
}
.fragen h2 {
  color: var(--color-light);
padding-bottom: 1rem;
text-transform: none;
letter-spacing: 0;
  font-weight: 300;
font-size: 2.5rem;
line-height: 2.8rem;
}
.fragen p {
  text-align: left;
  font-weight: 300;
}
.fragen p:first-of-type {
  margin-bottom:2rem;
  font-size: 1.8rem;
line-height: 2.2rem;
}
.fragen p:last-of-type {
  font-size: 1.8rem;
  line-height: 2rem;
  margin-bottom:0;
  font-weight: 500;
}
.fragen span {
      font-size: 1.3rem;
    font-weight: 300; 
}
.fragen span.nowrap {
  white-space: nowrap;
}
.fragen a:hover {
  text-decoration: underline;
  transition: .5s;
}
/*.fragen::after {
  content:"";
  display:block;
  background-image:url(../img/icons/pfeil.svg);
  transform:rotate(90deg);
  background-repeat: no-repeat;
width: 110px;
height: 110px;
position: absolute;
margin-top: 5rem;
top: 80%;
left: 45%;
}*/

/*----- PROJEKTNAVI ------ */

.projektnavi {
  padding: 3rem 0;
}
.projektnavi img:first-child {
  transform: rotate(180deg);
}
.projektnavi p {
  color:var(--color-red);
  text-transform: uppercase;
  text-align: left;
  font-size: 1rem;
  line-height: 1.5rem;
  padding-bottom:0;
  margin-bottom:0;
  font-weight: 500;
}
.projektnavi span {
  font-weight:300;
}
.projektnavi a {
  width:fit-content;
  display:flex;
  align-items: center;
    transition:.25s;
}

.projektnavi a:hover p {
  color:var(--color-dark);
    transition:.25s;
}
.projektnavi a:hover img {
  opacity:0;
    transition:.25s;
}
.projektnavi a:first-child::before {
  content:"";
  background-image: url(../img/icons/pfeil_dark.svg);
  width:80px;
  height:10px;
  display:inline-block;
  position:absolute;
  transform: rotate(180deg);
  background-repeat: no-repeat;
}
.projektnavi .next:nth-child(2) > a:nth-child(1) {
justify-content: end;
}
.projektnavi .next:nth-child(2) > a:nth-child(1)::before {
  z-index: -1;
  transform:none;
}



/*----- SWIPER ------ */

.swiper-container {
  max-width: var(--content-width);
  margin:auto;
}

    .swiper {
      width: 100%;
      height: 100%;
    }

    .swiper-slide {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .swiper-slide {
      width: 70%;
    }



    .drei .swiper-slide {
      width: 40%;
    }


.swiper.kunden {
padding-bottom:50px;
  height: 700px;
}
.kunden .swiper-wrapper {
  align-items: center;
}
        .kunden .swiper-slide {
            height: 150px; /* Feste Höhe für Grid */
          width:100%;
        }

.kunden .swiper-slide img {
  object-fit: contain;
  height:auto;
  max-height: 80px;
  max-width: 200px;
}


.swiper.team {
  padding-left:40px;
}

    .team .swiper-slide {
            position: relative;
            overflow: hidden;
            transition: height 0.3s ease;
      display: flex;
align-items: baseline;
      height:450px;
    }
        .team .swiper-slide img {
            width: 100%;
            height: 400px;
            object-fit: cover;
            transition: height 0.3s ease, object-position 0.1s ease;
          object-position: center -.5rem;
}

        .team  .text-container {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            color: var(--color-light);
            transition: height 0.3s ease;
            height: 30px;
            overflow: hidden;
        }
        .team .extra-text {
            display: none;
          padding-right:1rem;
        }
.team p:first-of-type {
  font-size:1.8rem;
  line-height: 1.5rem;
}

        /* Hover-Effekt: Wächst nach unten */
      .team .swiper-slide:hover {
            height: 920px;
        }
        .team .swiper-slide:hover img {
          width:100%;
            height: 520px;
          transition: height 0.3s ease, object-position 0.1s ease;
                    object-position: center top;
        }
        .team .swiper-slide:hover .text-container {
            height: 380px;
                    transition: height 0.3s ease;
        }
        .team .swiper-slide .extra-text {
            display: block;
        }



.swiper-button-next, .swiper-button-prev {
width: auto;
height: auto;
    position: static !important;
}

.swiper-button-next::after, .swiper-rtl .swiper-button-prev::after, .swiper-button-next::after, .swiper-button-prev::after {
  content: 'nächster Slide';
  color: transparent;
  font-family: none;
  background-image:url(../img/icons/pfeil.svg);
  display:block;
  height:13px;
  background-repeat: no-repeat;
  margin: 2rem 1rem;;
}

.swiper-button-prev::after {
  content: 'vorheriger Slide';
  transform: rotate(180deg);
}

.swiper-button-next, .swiper-button-prev {
position: inherit;
margin-top: auto;
display: inline-block;
  cursor: none;
}
.swiper a {
  text-decoration: none;
}


/*----- 2 CLICK IFRAME ------*/


.video {
    position: relative;
    width: 100%;
    max-width: 1320px; /* Optional: Begrenzung der maximalen Breite */
    aspect-ratio: 16 / 9; /* Verhältnis für ein 16:9 Video */
}

.video iframe {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}


.pi-video .privacy-msg {
  background-image: url(../img/pi/regelmann_pi_video_screen.jpg);
  background-repeat: no-repeat;
  width: 100% !important;
}

div.privacy-msg p {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  width: 70%;
  padding: 4rem 3rem 3rem 3rem;
  background-color: rgba(var(--bs-dark-rgb),var(--bs-bg-opacity)) !important;
  text-align: left;
}

div.privacy-msg a {
  color: var(--color-red);
  text-decoration: underline;
  display:inline-block;
  padding-top: 2rem;
}
div.privacy-msg label {
font-weight: 500;
padding-top: 0.5rem;
font-size: 1rem;
margin-left: 2rem;
}

/* FORMULAR */

 .form-check .form-check-input {
  margin-left: -2rem;
  width: 2rem;
height: 2rem;
margin-top: -0.5em;
position: absolute;
   opacity:0;
      }

.privacy-msg [type="checkbox"] {
z-index: 10;
appearance: none;
-webkit-appearance: none;
height: 30px;
margin-top: .5rem;
display: block;
position: absolute;
width: 180px;
margin-left: -1rem;
}

.privacy-msg [type="checkbox"] + label::before, .form-check-label::before {
 /* display: block;*/
  content: "";
  float: left;
  margin-right: 5px;
  z-index: 5;
  width: 1.2rem;
height: 1.2rem;
position: absolute;
margin-left: -2rem;
  margin-top: 0.4rem;
  border: 1px solid var(--color-light);
}
.form-check-label::before {
  margin-left: -2rem;
  margin-top: .05rem;
}

.privacy-msg input[type="checkbox"]:checked+label::before, .form-check-input:checked + .form-check-label::before {
  background-color: var(--color-red);
   box-shadow: inset 0 0 0 4px var(--color-dark);
}

.form-label {
    font-size: .9rem;
  text-transform: uppercase;
  font-weight: 500;
}
label.form-check-label {
  text-transform: none;
  margin-left: .5rem;
  line-height: 1.2rem;
}
.form-control, .form-control:focus {
background-color: #F7F6F105;
border: none;
border-bottom: 1px solid var(--color-light);
border-radius: 0;
color: var(--color-light);
  box-shadow: none;
  padding: .7rem;
font-size: 1.3rem;
  line-height: 1.5rem;
}
.form-control::placeholder {
color: var(--color-light);
opacity: .6;
  text-transform: uppercase;
font-size: 1rem;
}
form button {
  text-transform: uppercase;
  font-size: .9rem;
}
form .split {
  display:grid;
  grid-template-columns: 49% 49%;
    grid-column-gap: 1rem;
  overflow: hidden;
}
form .btn:hover {
  border-color: var(--color-light);
  color:var(--color-light);
}

.sr-only:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/*----- CURSOR ------ */

.cursor-follower {
  position: fixed;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: #D76960;
  opacity: 0;
  z-index: 10000;
  user-select: none;
  pointer-events: none;
}

/*----- BACK TO TOP BUTTON ------ */

#backToTop {
    position: fixed;
    bottom: 3rem;
    border: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    z-index: 1000;
  width: 3.2rem;
overflow: hidden;
  right: 5rem;
height: 5rem;
  background:none;
}

#backToTop.visible {
    visibility: visible;
  opacity: .8;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

#backToTop:hover {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}
#backToTop img {
  height: 1.9rem;
  object-position: center;
  width: 5rem;
transform: rotate(270deg);
}


/*----- PARALLAX / ANIMATION ------ */

.spacer {
  padding-bottom:100vh;
}

.spacer-klein {
  padding-bottom:50vh;
}

.parallax img, .parallax video {
  z-index:10;
  position:relative;
}

.img2 {
  padding-top:50vh;
}

.pin-spacer{
  z-index:0!important;
}

/* 

.parallax {
  position: relative;
  padding-bottom: 80vh; 
}

.img-container1,
.img-container2 {
  height: auto;
  overflow: hidden; 
}

.img-container2 {
  margin-top: 50vh; 
}
*/

.img3 {
  padding: 0 15rem;
}
.img4 {
  max-width: 65%;
  align-self: end;
}
.show {
  opacity:1;
}
.appear {
  opacity:0;
}

#zahnrad {
  position:absolute;
  bottom: -6rem;
  width:190px;
  height:190px;
}

/*----- AKKORDEON ------- */

.accordion {
  background-color: transparent;
  border-radius: 0;
}
.accordion {
--bs-accordion-border-color: none;
  --bs-accordion-btn-focus-box-shadow: none;
}
.accordion h2 {
  line-height: 2.6rem;
}
.accordion button {
    font-size: 2.6rem;
  font-weight: 400;
}
.accordion-button {
color: var(--color-light);
background-color: transparent;
  padding: 0;
}
.accordion-button:not(.collapsed), .accordion-button:hover {
color: var(--color-red);
background-color: transparent;
}
.accordion-button:not(.collapsed)::before, .accordion-button:hover::before {
    content:"";
  background-image:url(../img/icons/pfeil.svg);
  display:inline-block;
  background-repeat:no-repeat;
  padding-right:1rem;
  position: absolute;
width: 55px;
height: 10px;
margin-left: -5rem;
  transition: transform 0.3s ease, margin 0.3s ease;
    transform:rotate(0deg);
}
.accordion-button:not(.collapsed)::before {
  transform:rotate(90deg);
    transition: transform 0.3s ease, margin 0.3s ease;
      margin-top: 1rem;
}
.accordion-button::after {
display: none;
}
.accordion-item {
color: var(--color-light);
  background-color: transparent;
border: none;
border-radius: 0;
  padding: 1rem 0;
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
border-radius: 0;
}
[type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled), button:not(:disabled) {
  cursor:none;
}
.accordion-body {
  padding: 5rem 0;
}
.accordion strong {
  font-weight: 500;
}
.accordion ul, ul.normal {
  margin-left: 1.2rem;
  padding-right: 7rem;
  padding-bottom:2.2rem;
}
.accordion li, ul.normal li {
  list-style: initial;
  display:list-item;
  color:var(--color-light);
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 2.1rem;
}
.accordion li::before, ul.normal li::before {
  display: none;
}


/*----- GRID DUERR ------ */

.duerr {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 1.5rem;
}
    
.duerr .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
    grid-row-start: 1;
}

.duerr .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 6;
    grid-row-start: 4;
}

.duerr .div4 {
    grid-column-start: 5;
    grid-row-start: 4;
}

.duerr .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 5;
}

.duerr .div6 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 3;
}

.duerr .div7 {
    grid-column-start: 3;
    grid-row-start: 5;
}

.duerr .div8 {
    grid-column-start: 2;
    grid-row-start: 3;
}

.duerr .div9 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 4;
}

.duerr .div10 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 1;
}

@media (max-width: 1199px) {
.duerr {
  gap:1rem;
}
}

@media (max-width: 767px) {
.duerr {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 8px;
}
    
.duerr .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 2;
}

.duerr .div3 {
    grid-column: 3;
    grid-row: 3;
}

.duerr .div4 {
display:none;
}

.duerr .div5 {
    grid-column: 1;
    grid-row: 4;
}

.duerr .div6 {
    grid-column: 2;
    grid-row: 4;
}

.duerr .div7 {
display:none;
}

.duerr .div8 {
display:none;
}

.duerr .div9 {
    grid-column: 3;
    grid-row: 4;
}

.duerr .div10 {
    grid-column: span 3 / span 3;
    grid-column-start: 1;
    grid-row-start: 1;
}
}
@media (max-width: 399px) {
  .duerr div {
    max-height:120px;
  }
  .duerr .div2, .duerr .div6 {
    max-height:240px;
  }
    .duerr2 .div10 {
    z-index:99;
  }
  .duerr .div10 p {
    background-color: var(--color-light);
    padding-bottom: .3rem;
  }
}

/*----- GRID BAUERWALSER ------ */


.bauerwalser {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(9, 1fr);
    gap: 1.5rem;
}

.bauerwalser .div2 {
    grid-column: span 4 / span 4;
    grid-row: span 3 / span 3;
    grid-column-start: 4;
}

.bauerwalser .div3 {
    grid-column: span 6 / span 6;
    grid-row: span 3 / span 3;
    grid-row-start: 4;
}

.bauerwalser .div4 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 7;
    grid-row-start: 4;
}

.bauerwalser .div5 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 3;
    grid-row-start: 7;
}

.bauerwalser .div6 {
    grid-column: span 5 / span 5;
    grid-row: span 3 / span 3;
    grid-column-start: 6;
    grid-row-start: 7;
}


.bauerwalser2 {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 1.5rem;
}
    
.bauerwalser2 .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
}

.bauerwalser2 .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
}

.bauerwalser2 .div3 {
    grid-column-start: 2;
    grid-row-start: 3;
}

.bauerwalser2 .div4 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 3;
}

.bauerwalser2 .div5 {
    grid-column-start: 5;
    grid-row-start: 4;
}

.bauerwalser2 .div6 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 4;
}

.bauerwalser2 .div7 {
    grid-column-start: 3;
    grid-row-start: 5;
}

.bauerwalser2 .div8 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 5;
}

.bauerwalser2 .div9 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 6;
    grid-row-start: 4;
}


@media (max-width: 1199px) {
.bauerwalser, .bauerwalser2 {
  gap:1rem;
}
}

@media (max-width: 767px) {
  
  .bauerwalser {
    gap: 8px;
  }
  
.bauerwalser2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 8px;
}
    
.bauerwalser2 .div1 {
    grid-column: span 3 / span 3;
  grid-row: 1 / 1;
}

.bauerwalser2 .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 2;
}

.bauerwalser2 .div3 {
grid-row: 4;
  grid-column: 3;
}

.bauerwalser2 .div4 {
  grid-row: 4;
  grid-column: 2;
}

.bauerwalser2 .div5 {
    grid-column-start: 3;
    grid-row-start: 3;
}

.bauerwalser2 .div6 {
display:none;
}

.bauerwalser2 .div7 {
    grid-row-start: 4;
  grid-column: 1;
}

.bauerwalser2 .div8 {
display:none;
}

.bauerwalser2 .div9 {
display:none;
}
}
@media (max-width: 399px) {
  .bauerwalser2 div {
    max-height:120px;
  }
  .bauerwalser2 .div2, .bauerwalser2 .div4, .bauerwalser2 .div9 {
    max-height:240px;
  }
  .bauerwalser2 .div1 {
    z-index:99;
  }
  .bauerwalser2 .div1 p {
    background-color: var(--color-light);
    padding-bottom: .3rem;
  }
}


/* GRID PI */

.pi {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 1.5rem;
}
    
.pi .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
}

.pi .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
}

.pi .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 3;
}

.pi .div4 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 4;
}

.pi .div5 {
    grid-column-start: 3;
    grid-row-start: 5;
}

.pi .div6 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 5;
}
        
@media (max-width: 1399px) {
  .pi .div1 {
    grid-column: span 4 / span 4;
  }
}

@media (max-width: 1199px) {
.pi {
  gap:1rem;
}
}

@media (max-width: 767px) {
  
.pi {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 8px;
}
    
.pi .div1 {
    grid-column: span 3 / span 3;
  grid-row: 1;
}

.pi .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 2;
}

.pi .div3 {
    grid-column-start: 3;
    grid-row-start: 2;
  grid-row: 2;
grid-column: 3;
}

.pi .div4 {
    grid-row: 3;
  grid-column: 3;
}

.pi .div5 {
    grid-column-start: 2;
    grid-row-start: 4;
  grid-column: 1;
grid-row: 4;
}

.pi .div6 {
    grid-row-start: 4;
  grid-column-start: 2;
}
}

@media (max-width: 399px) {
  .pi div {
    max-height:120px;
  }
  .pi .div2, .pi .div6 {
    max-height:240px;
  }
  .pi .div1 {
    z-index:99;
  }
  .pi .div1 p {
    background-color: var(--color-light);
    padding-bottom: .3rem;
  }
}
    


/* GRID FAULHABER */

.faulhaber {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(8, 1fr);
    gap: 1.5rem;
}
    
.faulhaber .div1 {
    grid-column: span 4 / span 4;
    grid-row: span 4 / span 4;
}

.faulhaber .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
    grid-row-start: 3;
}

.faulhaber .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 5;
}

.faulhaber .div4 {
    grid-column-start: 2;
    grid-row-start: 5;
}

.faulhaber .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 6;
}

.faulhaber .div6 {
    grid-column-start: 3;
    grid-row-start: 7;
}

.faulhaber .div7 {
    grid-column-start: 5;
    grid-row-start: 6;
}

.faulhaber .div8 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 7;
}

.faulhaber .div9 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 6;
    grid-row-start: 6;
}

@media (max-width: 1199px) {
.faulhaber {
  gap:1rem;
}
    
}

@media (max-width: 767px) {

.faulhaber {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 8px;
}
    
.faulhaber .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
}

.faulhaber .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 3;
}

.faulhaber .div3 {
    grid-column-start: 3;
    grid-row-start: 3;
  grid-column: 3;
grid-row: 4;
}

.faulhaber .div4 {
grid-column-start: 2;
grid-row-start: 5;
}

.faulhaber .div5 {
    grid-row-start: 6;
grid-row: 5;
grid-column: 1;
}

.faulhaber .div6 {
      grid-row-start: 7;
grid-row: 5;
grid-column: 3;
}

.faulhaber .div7 {
display: none;
}

.faulhaber .div8 {
display: none;
}

.faulhaber .div9 {
display: none;
  
}
}
@media (max-width: 399px) {
  .faulhaber div {
    max-height:120px;
  }
  .faulhaber .div2, .faulhaber .div9 {
    max-height:240px;
  }
    .faulhaber .div1 {
    z-index:99;
  }
  .faulhaber .div1 p {
    background-color: var(--color-light);
    padding-bottom: .3rem;
  }
}

/* GRID SWP */
.swp {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 1.5rem;
}
    
.swp .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
}

.swp .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 2;
}

.swp .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 3;
}

.swp .div4 {
    grid-column-start: 3;
    grid-row-start: 4;
}

.swp .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 4;
}

@media (max-width: 1199px) {
.swp{
  gap:1rem;
  }
}

@media (max-width: 767px) {
.swp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 8px;
}
  
    
.swp .div1 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 2;
}

.swp .div2 {
  grid-column: 1;
  grid-row: 2;
}

.swp .div3 {
grid-column: 3;
grid-row: 3;
}

.swp .div4 {
    grid-column-start: 3;
    grid-row-start: 4;
}

.swp .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 3;
}       
}

@media (max-width: 399px) {
  .swp div {
    max-height:120px;
  }
  .swp .div1, .swp .div5 {
    max-height:240px;
  }
}

/* GRID STADT PFORZHEIM */
.stadtpforzheim {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 1.5rem;
}
    
.stadtpforzheim .div1 {
    grid-column: span 4 / span 4;
    grid-row: span 2 / span 2;
}

.stadtpforzheim .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
}

.stadtpforzheim .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 3;
}

.stadtpforzheim .div4 {
    grid-column: span 2 / span 2;
    grid-column-start: 5;
    grid-row-start: 4;
}

.stadtpforzheim .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 4;
}

.stadtpforzheim .div6 {
    grid-column-start: 3;
    grid-row-start: 5;
}

.stadtpforzheim .div7 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 5;
}

@media (max-width: 1199px) {
.stadtpforzheim {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(7, 1fr);
    gap:1rem;
}
    
.stadtpforzheim .div1 {
    grid-column: span 4 / span 4;
    grid-row: span 3 / span 3;
}

.stadtpforzheim .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
    grid-row-start: 2;
}

.stadtpforzheim .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 4;
}

.stadtpforzheim .div4 {
    grid-column: span 2 / span 2;
    grid-column-start: 5;
    grid-row-start: 5;
}

.stadtpforzheim .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 5;
}

.stadtpforzheim .div6 {
    grid-column-start: 3;
    grid-row-start: 6;
}

.stadtpforzheim .div7 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 6;
}
  
}

@media (max-width: 767px) {
  .stadtpforzheim {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(7, 1fr);
    gap: 8px;
}
.stadtpforzheim .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
}

.stadtpforzheim .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 2;
    grid-row-start: 3;
}

.stadtpforzheim .div3 {
    grid-row: 4;
    grid-column: 1;
}

.stadtpforzheim .div4 {
    grid-column: span 2 / span 2;
    grid-row: 5;
}
  .stadtpforzheim .div4 img {
    height:auto!important;
  }

.stadtpforzheim .div5 {
    grid-column: 3;
    grid-row: 5;
}

.stadtpforzheim .div6 {
    grid-column: 3;
    grid-row: 6;
}

.stadtpforzheim .div7 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 6;
}
}

@media (max-width: 399px) {
  .stadtpforzheim div {
    max-height:120px;
  }
  .stadtpforzheim .div2, .stadtpforzheim .div7 {
    max-height:240px;
  }
}

/* EUROSONIC ICONS */

    .eurosonic-icons {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
      max-width: 1000px;
      margin: auto;
    }

    .eurosonic-icons .img-wrapper {
      position: relative;
      width: 200px;
      height: 200px;
      overflow: hidden;
    }

    .eurosonic-icons .img-wrapper img {
      position: absolute;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: opacity 0.5s ease;
    }
    .img-wrapper img.top {
      opacity: 0;
    }

/* GRID EUROSONIC */

.eurosonic {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 1.5rem;
}
    
.eurosonic .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
}

.eurosonic .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
}

.eurosonic .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 3;
}

.eurosonic .div4 {
    grid-column-start: 2;
    grid-row-start: 3;
}

.eurosonic .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 4;
}

.eurosonic .div6 {
    grid-column-start: 3;
    grid-row-start: 5;
}

.eurosonic .div7 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 5;
}

.eurosonic .div8 {
    grid-column-start: 5;
    grid-row-start: 4;
}

.eurosonic .div9 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 6;
    grid-row-start: 4;
}
    
@media (max-width: 1399px) {
  .eurosonic .div1 {
    grid-column: span 4 / span 4;
  }
}

@media (max-width: 1199px) {
.eurosonic-icons .img-wrapper {
width: 140px;
height: 140px;
}
}
@media (max-width: 991px) {
  .eurosonic {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(7, 1fr);
    gap: 1rem;
}
  
.eurosonic  .div1 {
    grid-column: span 4 / span 4;
    grid-row: span 3 / span 3;
}

.eurosonic .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
    grid-row-start: 2;
}

.eurosonic .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 4;
}

.eurosonic .div4 {
    grid-column-start: 2;
    grid-row-start: 4;
}

.eurosonic .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 5;
}

.eurosonic .div6 {
    grid-column-start: 3;
    grid-row-start: 6;
}

.eurosonic .div7 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 6;
}

.eurosonic .div8 {
    grid-column-start: 5;
    grid-row-start: 5;
}

.eurosonic .div9 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 6;
    grid-row-start: 5;
}
}

@media (max-width: 767px) {
  .eurosonic-icons .img-wrapper {
width: 112px;
height: 112px;
}
  
  
  .eurosonic {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 8px;
}
    
.eurosonic .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 1 / span 1;
}

.eurosonic .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 2;
    grid-row-start: 2;
}

.eurosonic .div3 {
  grid-row: 4;
  grid-column: 1;
}

.eurosonic .div4 {
display:none;
}

.eurosonic .div5 {
    grid-row: 4;
  grid-column: 2;
}

.eurosonic .div6 {
    grid-row-start: 4;
}
  .eurosonic .div7 {
    grid-row:3;
    grid-column:1;
  }  
  .eurosonic .div8 {
    display:none;
  }  
  .eurosonic .div9 {
    display:none;
  }
}
@media (max-width: 575px) {
  .eurosonic-icons .img-wrapper {
    width: 70px;
    height: 70px;
  }
}
@media (max-width: 399px) {
  .eurosonic div {
    max-height:120px;
  }
  .eurosonic .div2 {
    max-height:240px;
  }
}

/* GRID ORTHOKIDS */

.orthokids {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 1.5rem;
}
    
.orthokids .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
}

.orthokids .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 2;
}

.orthokids .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 3;
}

.orthokids .div4 {
    grid-column-start: 3;
    grid-row-start: 4;
}

.orthokids .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 4;
}

@media (max-width: 991px) {
  .orthokids {
    gap: 1rem;
}
}

@media (max-width: 767px) {
  .orthokids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 8px;
}
    
  .orthokids .div1 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 2;
}

  .orthokids .div2 {
    grid-row: 2;
    grid-column: 1;
}

  .orthokids .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 3;
}

  .orthokids .div4 {
    grid-column: 3;
    grid-row: 3;
}

  .orthokids .div5 {
    grid-column: 3;
    grid-row: 3;
}
}
   
@media (max-width: 399px) {
  .orthokids div {
    max-height:120px;
  }
  .orthokids .div1, .orthokids .div3 {
    max-height:240px;
  }
}

/* GRID ARGOHYTOS */

.argohytos {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 1.5rem;
}
    
.argohytos .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
}

.argohytos .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 2;
}

.argohytos .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 3;
}

.argohytos .div4 {
    grid-column-start: 3;
    grid-row-start: 4;
}

.argohytos .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 4;
}
        
@media (max-width: 991px) {
  .argohytos {
    gap: 1rem;
}
}

@media (max-width: 767px) {

.argohytos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 8px;
}
    
.argohytos .div1 {
grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 2;
}

.argohytos .div2 {
grid-column: 1;
    grid-row: 2;
}

.argohytos .div3 {
grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 3;
}

.argohytos .div4 {
grid-column: 3;
    grid-row: 3;
}

.argohytos .div5 {
grid-column: 3;
    grid-row: 4;
}       
}
@media (max-width: 399px) {
  .argohytos div {
    max-height:120px;
  }
  .argohytos .div1, .argohytos .div3 {
    max-height:240px;
  }
}

/* GRID WEINGUT BISCHOFF */

.weingut {
    display: grid;
    grid-template-columns: repeat(11, 1fr);
    grid-template-rows: repeat(15, 1fr);
    gap: 1.5rem;
}
    
.weingut .div1 {
    grid-column: span 6 / span 6;
    grid-row: span 3 / span 3;
}

.weingut .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 9;
    grid-row-start: 3;
}

.weingut .div3 {
    grid-column: span 7 / span 7;
    grid-row: span 7 / span 7;
    grid-column-start: 5;
    grid-row-start: 6;
}

.weingut .div4 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 8;
}
.weingut .div4 img {
  padding: 3rem 0 0 3rem;
}

.weingut .div5 {
    grid-column: span 4 / span 4;
    grid-row: span 4 / span 4;
    grid-row-start: 10;
}

.weingut .div6 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 14;
}
.weingut .div6 img {
  padding: 0 0 3rem 3rem;
}

.weingut .div7 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
    grid-row-start: 13;
}

.weingut .div8 {
    grid-column: span 4 / span 4;
    grid-row: span 3 / span 3;
    grid-column-start: 8;
    grid-row-start: 13;
}
        
@media (max-width: 991px) {
 
.weingut {
    display: grid;
    grid-template-columns: repeat(11, 1fr);
    grid-template-rows: repeat(16, 1fr);
    gap: 1rem;
}
    
.weingut .div1 {
    grid-column: span 11 / span 11;
    grid-row: span 3 / span 3;
}

.weingut .div2 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 9;
    grid-row-start: 4;
}

.weingut .div3 {
    grid-column: span 7 / span 7;
    grid-row: span 7 / span 7;
    grid-column-start: 5;
    grid-row-start: 7;
}

.weingut .div4 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 9;
}

.weingut .div5 {
    grid-column: span 4 / span 4;
    grid-row: span 4 / span 4;
    grid-row-start: 11;
}

.weingut .div6 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 15;
}

.weingut .div7 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
    grid-row-start: 14;
}

.weingut .div8 {
    grid-column: span 4 / span 4;
    grid-row: span 3 / span 3;
    grid-column-start: 8;
    grid-row-start: 14;
}        
}

@media (max-width: 767px) {
  

.weingut {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(7, 1fr);
    gap: 8px;
}
    
.weingut .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
}

.weingut .div2 {
    grid-column: 1;
    grid-row: 4
}

.weingut .div3 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 2;
    grid-row-start: 3;
}

.weingut .div4 {
    grid-row: 5;
}
.weingut .div4 img {
    padding: 2rem;
}

.weingut .div5 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 6;
}

.weingut .div6 {
    display: none;
}

.weingut .div7 {
    grid-column: 3;
    grid-row: 6;
}

.weingut .div8 {
    grid-column: span 2 / span 2;
    grid-column-start: 1;
    grid-row: 5;
}
  .weingut img {
    object-fit: cover;
    height:100%;
  }  
  .weingut .div8 img {
    object-fit: contain;
  }
}

@media (max-width: 399px) {
  .weingut div {
    max-height:120px;
  }
  .weingut .div3, .weingut .div5 {
    max-height:240px;
  }
    .weingut .div4 img {
    padding: 1rem;
  }
}

/* GRID LACHER */


.lacher {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 1.5rem;
}
    
.lacher .div1 {
    grid-column: span 3 / span 3;
    grid-row: span 3 / span 3;
    grid-column-start: 5;
}

.lacher .div2 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 2;
}

.lacher .div3 {
    grid-column-start: 2;
    grid-row-start: 2;
}

.lacher .div4 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 3;
}

.lacher .div5 {
    grid-column-start: 3;
    grid-row-start: 4;
}

.lacher .div6 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 4;
}

@media (max-width: 991px) {
  .lacher {
    gap: 1rem;
}
}

@media (max-width: 767px) {
  
.lacher {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 8px;
}
    
.lacher .div1 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 2;
    grid-row-start: 1;
}

.lacher .div2 {
    grid-column: 1;
    grid-row: 1;
}

.lacher .div3 {
    grid-row-start: 2;
    grid-column: 1;
}

.lacher .div4 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 3;
}

.lacher .div5 {
    grid-column-start: 3;
    grid-row-start: 3;
}

.lacher .div6 {
    grid-column: 3;
    grid-row: 4;
}        
}

@media (max-width: 399px) {
  .lachers div {
    max-height:120px;
  }
  .lacher .div1, .lacher .div4 {
    max-height:240px;
  }
}
        

/*----- FOOTER ------ */

footer {
  padding: 6rem 0 7rem 0;
}

footer li::before {
  display: none;
}
footer li a {
  color: var(--color-dark);
  font-weight: 300;
  font-size: 3.5rem;
  line-height: 4.8rem;
}
footer li a:hover {
  color: var(--color-red);
}
footer li a.active {
  color:var(--color-red);
}
footer .klein li a {
  font-size:1.3rem;
  font-weight:400;
  line-height: 2rem;
}

footer img {
  width: 28px;
height: 28px;
  margin-left: .8rem;
}

/*----- RESPONSIVE ------ */

@media (max-width:1599px) {
    .bg-faulhaber {
  background: linear-gradient(180deg, rgb(247, 246, 241) calc(1599px / 2.133333333333333 - 335px), rgb(89, 123, 68) calc(1599px / 2.133333333333333 - 200px));
}
  @supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) { /* nur safari */

    .bg-faulhaber { 
      background: linear-gradient(180deg, rgb(247, 246, 241) calc(1599px / 2.133333333333333 - 335px), rgb(100, 135, 77) calc(1599px / 2.133333333333333 - 200px))
    }
}
}

@media (max-width:1399px) {
  h2, p.quote {
font-size: 6rem;
line-height: 6rem;
}
  
  
          .team .swiper-slide {
            height: 250px;
        }
        .team .swiper-slide img {
            height: 200px;
          object-position: 0 -30px;
          transition: height 0.3s ease, object-position 0.1s ease;
        }

  
        .team .swiper-slide:hover {
            height: 750px;
        }
        .team .swiper-slide:hover img {
            height: 300px;
          object-position: 0 0;
          transition: height 0.3s ease, object-position 0.1s ease;
        }
        .team .swiper-slide:hover .text-container {
            height: 430px;
                    transition: height 0.3s ease;
        }
  
  .bg-faulhaber {
  background: linear-gradient(180deg, rgb(247, 246, 241) calc(1399px / 2.133333333333333 - 335px), rgb(89, 123, 68) calc(1399px / 2.133333333333333 - 200px));
}
  @supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) { /* nur safari */

    .bg-faulhaber { 
      background: linear-gradient(180deg, rgb(247, 246, 241) calc(1399px / 2.133333333333333 - 335px), rgb(100, 135, 77) calc(1399px / 2.133333333333333 - 200px))
    }
}
  .pe-md-10 {
    padding-right:5rem;
  }
}

@media (max-width: 1199px) { 
    p, .accordion li, ul.normal li {
    font-size: 1.1rem;
line-height: 1.8rem
  }
    blockquote, h1, h3, p.gross, li, .accordion button, h2.klein {
    font-size: 2.2rem;
line-height: 2.6rem;
  }
  .accordion button {
    line-height:2.2rem;
  }
  header h1, h2, p.quote {
    font-size: 4.5rem;
line-height: 4.5rem;
  }
    li {
    line-height: 3.2rem;
  }
  .accordion li, ul.normal li {
    padding-bottom:.3rem;
  }
  
  .projekte h2 {
    font-size: 2rem;
line-height: 2.3rem;
  }
  .projekte p {
    margin-top: 2rem;
  }
  .projekte .pfeil {
    margin-top:1rem;
  }

  ul.links {
    margin-top:4rem;
  }
  
      .kunden img {
    max-width: 120px !important;
max-height: 100px !important;
  }
  
  .teilen-unten p {
    font-size: 2.2rem;
    line-height: 2.5rem;
  }
    
  .fragen h2 {
font-size: 2.3rem;
line-height: 2.5rem;
    padding-bottom:1rem;
}
  .fragen p:first-of-type, .fragen p:last-of-type  {
font-size: 1.5rem;
line-height: 1.8rem;
margin-bottom: 1rem;
}
  .fragen p:last-of-type {
    margin-bottom: 0;
}
  .fragen span {
font-size: 1.1rem;
}
  
  .btn-back {
top: 8rem;
}
  
      .swiper-slide {
      width: 80%;
    }
   
  
    .img2 {
    padding-top:55vh;
  }
  .img-overlay {
    max-height: 350px;
  }  

  .team .swiper-slide {
            height: 410px;
        }
  
        .team .swiper-slide img {
            height: 360px;
          object-position: 0 0;
          transition: none;
        }

  
        .team .swiper-slide:hover {
            height: 720px;
        }
        .team .swiper-slide:hover img {
            height: 360px;
          object-position: 0 0;
          transition: height 0.3s ease, object-position 0.1s ease;
        }
        .team .swiper-slide:hover .text-container {
            height: 340px;
           transition: height 0.3s ease;
        }
  .team p:first-of-type {
    font-size:1.6rem;
  }
  
  
  /*  .fragen::after {
    margin-top: 4rem;
left: 41%;
  }*/
  
    
  .projektnavi a {
width: 100%;
flex-direction: column;
justify-content: start;
align-items: start;
}
  .projektnavi .prev p {
    text-align: right;
  }
  .projektnavi .prev a:first-child::before {
margin-top: 4rem;
}
  
  footer li a {
    font-size: 2.5rem;
    line-height: 3.8rem;
  }
  footer .klein li a {
    font-size: 1.1rem;
    line-height: 1.8rem;
  }
  footer img {
width: 25px;
height: 25px;
margin-left: .5rem;
  }
    
  .mt-8 {
margin-top: 6rem;
}
    .mb-8 {
margin-bottom: 6rem;
}
  
  .me-8 {
    margin-right:6rem;
  }
  
  .mt-10 {
margin-top: 8rem;
}
    .mb-10 {
margin-bottom: 8rem;
}
  
  .mtn-3 {
  margin-top: 0;
}
    .mtn-xl-8 {
    margin-top:0;
  }
  .pe-15 {
    padding-right:0;
  }
    .pt-15 {
  padding-top: 10rem;
}
  .pb-15 {
  padding-bottom: 10rem;
}

}

@media (max-width: 991px) { 
  .overlay-content {
    margin-top:1rem;
  }
  .img-overlay {
  max-height: 470px;
}
    .fragen h2 {
padding-bottom: 0;
      margin-bottom: 1.3rem;
      font-size: 1.6rem;
line-height: 1.8rem;
  }  
  .fragen p:first-of-type {
    margin-bottom: 1rem;
    font-size: 1.2rem;
line-height: 1.4rem;
}
  .fragen p:last-of-type {
font-size: 1.2rem;
line-height: 1.4rem;
}
  .fragen span {
font-size: 1rem;
    line-height: 1rem;
}
  .fragen span.nowrap {
  white-space: normal;
}
 /* .fragen::after {
    margin-top: 4rem;
left: 40%;
    width: 95px;
height: 95px;
  }*/
  
  .img2 {
    padding-top: 2rem;
  } 
  #zahnrad {
    left:25rem;
  } 
  .spacer, .spacer-klein {
    padding-bottom:0;
  }
   
   .appear {
    transform: translate(0, 2rem)!important;
    opacity:1;
  }
  
  ul{
    margin-left:4rem;
  }
  footer ul, .overlay-content ul {
    margin-left: 0;
  }
  
  li::before, .links li::before {
width: 45px;
margin-left: -4rem;
}
  
  p.big {
font-size: 3.5rem;
line-height: 4.5rem;
}
  
  .teilen-unten .klein p {
margin-top: 1.5rem;
}
      .kunden img {
    max-width: 100px !important;
max-height: 50px !important;
  }

    .img-overlay {
    max-height: 350px;
  }
  .img-overlay + img {
    width: 80%;
  }
  
      .bg-faulhaber {
  background: linear-gradient(180deg, rgb(247, 246, 241) calc(991px / 2.133333333333333 - 335px), rgb(89, 123, 68) calc(991px / 2.133333333333333 - 200px));
}
  @supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) { /* nur safari */

    .bg-faulhaber { 
      background: linear-gradient(180deg, rgb(247, 246, 241) calc(991px / 2.133333333333333 - 335px), rgb(100, 135, 77) calc(991px / 2.133333333333333 - 200px))
    }
}

  .pt-lg-15 {
    padding-top:0;
  }    
  .pb-15 {
    padding-bottom:5rem;
  }
  .pb-lg-23 {
  padding-bottom:5rem;
}
  .me-lg-10 {
    margin-right:0;
  } 
  .ms-lg-8 {
    margin-left:0;
  }
    .mt-15 {
    margin-top:10rem;
  }
  
  .mt-8 {
    margin-top:3rem;
  }
    .mt-6 {
    margin-top: 3rem;
  }
  
  .mtn-8 {
  margin-top: -6rem;
}
  .mtn-lg-8 {
    margin-top:0;
  }
  .mtn-lg-15 {
    margin-top:2rem;
  }

}

@media screen and (max-width: 991px) and (orientation: landscape) {
 .navi, .navi.shrink {
height: 14vh!important;
}
  .navi.shrink img.logo {
object-position: right 1rem;
height: 4rem;
}
    .navi img {
height: 1.5rem;
}
  .navi img.logo {
height: 2.2rem;
width: auto;
}
.navi.shrink .logos {
width: 2rem;
}
  .btn-back {
top: 6rem;
}
  .etikett {
    display:none;
  }

}



@media (max-width: 767px) { 
  
img:not([data-src]),
video:not([preload="none"]) {
  opacity: 1;
}
  
  .navi-content {
padding: 0 2rem;
}
  
  header h1, h2, p.quote {
font-size: 3.2rem;
line-height: 3.2rem;
}
  header h1 {
    margin-bottom:4rem;
  }
  
  blockquote, h1, h3, p.gross, li {
font-size: 2rem;
line-height: 2.4rem;
}
  li {
    line-height: 2.1rem;
    padding-bottom:1rem;
  }
  .accordion ul, ul.normal {
    padding-right:0;
  }
  
  footer li, #navigation li {
    padding-bottom:0;
  }
  
  .header, .header video, .video-start {
    height: 50vh;
  }
  .header.case, .header.case video {
    height:auto;
  }
  
  .btn-back {
    padding-left: 5.5rem;
padding-right: 5.5rem;
  }
  
  .bg-dark {
    padding: 5rem 0;
  }
  
  .img3 {
    padding:0 10rem;
  }
  .img4 {
    max-width: 100%
  }
  
  #zahnrad {
    display:none;
  }
  
  .show {
    will-change: auto !important;
    transform: none !important;
    opacity: 1 !important;
  }
  
  .fragen {
    margin-bottom:2rem;
  }
  
 /* .fragen::after {
    width: 90px;
height: 90px;
    margin-top: 7rem;
left: 32%;
  }*/
  
  .swiper-button-next::after, .swiper-rtl .swiper-button-prev::after, .swiper-button-next::after, .swiper-button-prev::after {
max-width: 100px;
    margin: 1rem;
}
  
  .teilen-unten .klein p {
    font-size: .9rem;
line-height: 1.2rem;
padding-top: 1rem;
}
  p.big {
font-size: 2.5rem;
line-height: 3.5rem;
}
  
  .projektnavi p {
font-size: .9rem;
line-height: 1.1rem;
}
  .projektnavi img {
    width:50px;
  }  
  .projektnavi a:first-child::before {
width: 50px;
    height: 7px;
}
  .projektnavi .prev a:first-child::before {
margin-top: 3.2rem;
}
   footer li a {
    font-size: 2.2rem;
    line-height: 3.5rem;
  }
  .kunden .swiper-button-next::after, .kunden .swiper-rtl .swiper-button-prev::after,.kunden .swiper-button-next::after,.kunden .swiper-button-prev::after {
  max-width: 100px;
  }
  .swiper.team {
    width:100%;
  }
  
  form .split {
  grid-template-columns: 100%;
    grid-column-gap: 0; 
}
  .form-control, .form-control:focus {
font-size: 1rem;
}
  .form-control::placeholder {
    font-size: .9rem;
}
  
  footer {
    padding:3rem 0;
  }
    
    .me-8 {
    margin-right:0;
  }

  .mtn-25 {
    margin-top:-8rem;
  } 
  .mtn-8 {
  margin-top: -4rem;
}
    .mtn-md-5 {
    margin-top:1rem;
  } 
  
  .pt-6 {
    padding-top:5rem!important;
  }
  .pe-md-10 {
    padding-right:0;
  }
  
}



@media (max-width: 575px) { 
  .container {
--bs-gutter-x: 2.3rem;
}
  
  .navi {
    height:8vh;
  }
    .navi-content {
padding: 0 1rem;
}
  .navi-content > a:nth-child(1) {
height: fit-content;
  width: fit-content;
} 
  .navi-content > a:nth-child(2) {
width: 3em;
}
  .navi .logos, .navi.shrink .logos {
    width:2rem;
  }
  .navi img {
height: 1.5rem;
}
  .navi img.logo, .navi.shrink img.logo {
object-fit: cover;
width: 100%;
    margin-top:0;
    object-position: right 1.2rem;
    margin-bottom: .9rem;
}
  nav li a {
font-size: 2.2rem;
    line-height: 3.5rem;
}
.overlay-content img {
    width: 40px;
    height: 40px;
    margin-left: .8rem;
  }
  .overlay-content img:first-child {
    margin-left:0;
  }
  .overlay-content img.logo {
  height: 2rem;
}
  .header {
    padding-top:8vh;
  }
  header h1 {
font-size: 2.2rem;
line-height: 2.5rem;
    margin-bottom:2rem;
    letter-spacing: -.15rem;
}
  
h2, p.quote {
font-size: 2.2rem;
line-height: 2.2rem;
  letter-spacing: 0;
}
  blockquote, li, h1, h3, .projekte h2, p.gross, .accordion button, h2.klein {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .accordion button {
    line-height:1.8rem;
  }
  li {
    line-height: 1.9rem;
  }
p, .accordion li, ul.normal li {
  font-size: 1rem;
  line-height: 1.5rem;
}
.teilen-unten p {
  font-size: 1.3rem;
  line-height:1.8rem;
}

  p.big {
font-size: 1.5rem;
line-height: 2.25rem;
}
    
  .bg-dark {
padding: 5rem 0;
}
  ul.links {
margin-top: 2rem;
}
  
  .projektnavi {
padding: 2rem 0;
}
  .projektnavi a:first-child::before {
    display:none;
  }

  .img3 {
padding: 0 7rem;
}
  .img-overlay {
max-height: 245px;
}
  .team p:first-of-type {
font-size: 1.4rem;
line-height: 1.4rem;
}
  
  p.etikett {
    display:none;
  }
  
  .swiper-button-next, .swiper-button-prev {
  max-width: 40%;
  padding: .5rem;
}
  .accordion-body {
  padding: 3rem 0;
}
  .accordion ul, ul.normal {
margin-left: .8rem;
}
  
.bg-faulhaber {
  background: linear-gradient(180deg, rgb(247, 246, 241) calc(575px / 2.133333333333333 - 335px), rgb(89, 123, 68) calc(575px / 2.133333333333333 - 200px));
}
  
  .img-grid img {
    object-fit: cover;
height: 100%;
  }
  
  .teilen-unten a {
    margin-right: 1rem;
  }
  
  footer {
  padding: 2rem 0;
}
    
    .mt-8 {
  margin-top: 4rem;
}
  
      .mb-8 {
  margin-bottom: 4rem;
}
  
  .mt-10 {
  margin-top: 5rem;
}
  
    .mb-10 {
  margin-bottom: 5rem;
}
  
      .mt-15 {
    margin-top:5rem;
  }
  .msn-4 {
margin-left: -2rem;
}
    .pt-6 {
    padding-top:1rem!important;
  }
  
  .pt-15 {
    padding-top:5rem;
  }
  
  .pb-15 {
    padding-bottom:5rem;
  }

  }