  /* open-sans-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: 'Open Sans';
  display: swop;
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/open-sans-v43-latin-300.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;
  display: swop;
  font-weight: 400;
  src: url('../fonts/open-sans-v43-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;
  display: swop;
  font-weight: 500;
  src: url('../fonts/open-sans-v43-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/open-sans-v43-latin-600.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';
  display: swop;
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v43-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

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



:root {
   --primary-color: #B81111;/* rot */
   --secondary-color: #72CECF;/* cyan */
   --orange: #72CECF;/* orange */
   --grey: #EEF3F7;
   --black: #000000;
   --body: #29893F;
   --bs-body-font-family:'Open Sans', sans-serif;
   --bs-body-font-weight-small: 300;
   --bs-body-font-weight-regular: 400;
   --bs-body-font-weight-bold: 800;
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  BASICS
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.9rem;
  font-weight: 300;
  hyphens:auto;
  -webkit-hyphens: auto!important;
}

*:focus { outline: none !important; }
::selection       { background-color: var(--body); color: var(--white); color: white; }
::-moz-selection  { background-color: var(--body); color: var(--white); color: white; }


img.test {
    /* filter: url(filters.svg#grayscale); Firefox 3.5+ */
      filter: gray; /* IE5+ */
      -webkit-filter: grayscale(1); /* Webkit Nightlies & Chrome Canary */
      -webkit-transition: all .8s ease-in-out;
    }



/* + + + + + + + + + + + + + + + + + + + + + + + +
  HEADLINES & TEXT STYLES
+ + + + + + + + + + + + + + + + + + + + + + + +  */

/* HEADLINES */
h1, h2, h3, h4, h5, h6, *[class*="fs-1-"] {
  margin: 0;
  padding: 0;
}

.fs-1 {
  font-size: calc(2.0rem + 0.7vw) !important;
  line-height: 3.0rem;}

.fs-2 {
  font-size: calc(1.5rem + 0.7vw) !important;
  line-height: 2.8rem;}

.fs-3 {
  font-size: calc(1.2rem + 0.3vw) !important;
  line-height: 2rem;
}

.fs-4 {
  font-size: calc(0.9rem + 0.2vw) !important;}

.fw-bold { font-weight: 800 !important;}
.regular { font-weight: 400 !important;}
.fw-normal { font-weight: 700 !important;}


/* + + + + + + + + + + + + + + + + + + + + + + + +
 orangen Button
+ + + + + + + + + + + + + + + + + + + + + + + +  */
.btn-circle-fixed {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 150px;
    height: 150px;
    background-color:var(--primary-color);
    color: white;
    border: none;
    border-radius: 50%;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 1050;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 10px;
  }

  .btn-circle-fixed:hover {
    background-color: #e96d00;
    color: white;
  }
/* + + + + + + + + + + + + + + + + + + + + + + + +
  Liste
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.numbered-text {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.numbered-text .item {
  display: flex;
  align-items: flex-start;
}

.numbered-text .number {
  font-weight: bold;
  font-size: 3em; /* doppelt so groß wie normaler Text */
  margin-right: 10px;
  line-height: 1; /* für besseren vertikalen Sitz */
}

.numbered-text .text {
  font-size: 1em;
}




ul.star li {
  position: relative;
  padding-left: 30px; /* Platz für Icon */
  list-style: none; /* entfernt Standard-Aufzählungszeichen */
}

ul.star li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px; /* HIER Höhe anpassen */
  width: 20px; /* Größe des Icons */
  height: 20px;
  background: url('../images/icon/check.svg') no-repeat center center;
  background-size: contain;
}
.custom-list {
  list-style: none;
  padding: 0;
}

.custom-list li {
  position: relative;
  padding-left: 3em;
  line-height: 1.5rem;
  padding-top: 1.3rem;
}

.custom-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 60%;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  background-image: url('../images/icon/hacken.svg'); /* dein SVG-Dateipfad */
  background-size: contain;
  background-repeat: no-repeat;
 }

.plus {
  position: relative;
  padding-left: 30px;
}
.plus::before {
  content: "+";
  position: absolute;
  inset: -2px auto 0 0;

  font-size: 1.875rem;
  font-weight: 400;
  line-height: .5;
}


.nav-tabs {
  border: 0;
  text-decoration: underline;
  --bs-nav-tabs-border-width: 0;
  padding-left:0;
}


.green {color: var(--primary-color);}

.card {border: none;}


.test {
  position: relative;
  text-align: center;
  color: white;
}

.centered {
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.logo_foot{ margin-top: -150px;}

.partner-logo {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.partner-logo:hover {
  filter: grayscale(0%);
}
/* + + + + + + + + + + + + + + + + + + + + + + + +
 Card
+ + + + + + + + + + + + + + + + + + + + + + + +  */


.custom-card {
  padding: 20px;
  position: relative;
  transition: background-color 0.3s, color 0.3s;
  border-radius: 0 0 40px 0; /* nur unten rechts abgerundet */
}


.custom-card .card-icon {
  display: inline-block; /* nicht block, damit nicht auf ganzer Breite */
  margin: 0 0 10px 0;    /* Abstand unten, kein Auto-Margin */
  transition: filter 0.3s;
}
.custom-card:hover {
  background-color: var(--primary-color); /* Rot (kann angepasst werden) */
  color: white;
}

.custom-card:hover .card-icon {
  filter: brightness(0) invert(1); /* Icon weiß einfärben */
}

.custom-card p,
.custom-card .fs-4 {
  transition: color 0.3s;
}

.custom-card:hover p,
.custom-card:hover .fs-4 {
  color: white;
}




/* + + + + + + + + + + + + + + + + + + + + + + + +
  Liste
+ + + + + + + + + + + + + + + + + + + + + + + +  */


.hover-box {
  position: relative;
  height: 400px;
  background-color: white;
  transition: all 0.3s ease;
  border-radius: 0 0 40px 0;
  color: black;
}

.hover-box:hover {
  background-color: var(--primary-color);
  border: none;
  transform: scale(1.05);
  color: white;
}

.hover-box:hover .box-number {
  color: white;
}

.box-title {
  position: absolute;
  top: 40%;
  left: 10px;
  text-align: left;
}

.box-number {
  position: absolute;
  top: 20px;
  right: -1px;
  font-size: 7rem;
  color: var(--primary-color);
}
/* + + + + + + + + + + + + + + + + + + + + + + + +
Accordeon
+ + + + + + + + + + + + + + + + + + + + + + + +  */

 .accordion-item {
  border: none;
  border-bottom: 1px solid #dee2e6;
  border-radius: 0;
  background-color: transparent; /* Kein Hintergrund */
  padding-left: 0;
}

.accordion-button {
  border: none;
  background-color: transparent; /* Kein Hintergrund */
  box-shadow: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: inherit; /* Optional: Textfarbe vom übergeordneten Element übernehmen */
  padding-left: 5px;
  padding-left: 0x;
}

.accordion-button:focus {
  box-shadow: none;
}

.accordion-body {
  background-color: transparent;
  padding-left: 110px; /* Kein Einzug / Abstand innen */
}

.toggle-icon {
  font-size: 1.25rem;
  transition: 0.2s ease;
}

/* .accordion-button.collapsed .toggle-icon::before {
  content: '+';
}

.accordion-button:not(.collapsed) .toggle-icon::before {
  content: '−';
}
*/

.accordion-button::after {
background-image: none;
}


.accordion-button:not(.collapsed) {
  background-color: transparent; /* Kein Hintergrund */
  color: var(--primary-color);
}



/* + + + + + + + + + + + + + + + + + + + + + + + +
  Inhalt
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.bg_one { background:white;border-bottom: 1px solid grey;}
.bg_grey { background: var(--grey);}
.bg_cyan { background: var(--secondary-color);}
.grey { background: var(--grey);}
.red { color: var(--primary-color);}

.header {
  background: url(../images/site/header.jpg) no-repeat center center;
  background-size: cover;
}

@media (max-width: 767.98px) {
  .header {
    background-position: center top;
  }
  .text-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--black);
}

.image-text-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.image-text-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

.overlay-text {
  position: absolute;
  top: 10%;
  left: 50%;
  color: white;
  padding: 10px 15px;
  font-size: calc(1.0rem + 0.5vw) !important;
  line-height: 1.0rem;
  font-weight: bold;
  border-radius: 8px;
   z-index: 2;
}
}


.overlay-dark {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2); /* Abdunklung */
  z-index: 1;
}




@media (min-width: 768px) {

  .text-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--black);
}

.image-text-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.image-text-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

.overlay-text {
  position: absolute;
  top: 25%;
  left: 50%;
  color: white;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: calc(2.0rem + 0.7vw) !important;
  line-height: 3.0rem;
  font-weight: bold;
  z-index: 2;
}
}

.distance_two{margin-top: -7.0rem;}


 .site,
  .site_one {
    position: fixed !important;
    right: 0;
    z-index: 5000;
}

.site {top: 255px;}
.site_one {top: 310px;}




/* + + + + + + + + + + + + + + + + + + + + + + + +
  kreis
+ + + + + + + + + + + + + + + + + + + + + + + +  */

   .circle-wrapper {
      position: relative;
      width: 320px;
      margin: 100px auto;
    }

    .circle-wrapper img {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      display: block;
    }

    .text-label {
      position: absolute;
      font-size: 0.85rem;
      font-weight: 500;
      white-space: nowrap;
    }

    .pos-top        { top: -30px;    left: 50%; transform: translateX(-50%); }
    .pos-top-right  { top: 20px;     right: -60px; }
    .pos-bottom-right { bottom: 20px; right: -70px; }
    .pos-bottom     { bottom: -30px; left: 50%; transform: translateX(-50%); }
    .pos-bottom-left { bottom: 20px; left: -70px; }
    .pos-top-left   { top: 20px;     left: -60px; }

/* + + + + + + + + + + + + + + + + + + + + + + + +
  slider logos
+ + + + + + + + + + + + + + + + + + + + + + + +  */


@media (max-width: 767px) {
    .carousel-inner .carousel-item > div {
        display: none;
    }
    .carousel-inner .carousel-item > div:first-child {
        display: block;
    }
}

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
    display: flex;
}

/* medium and up screens */
@media (min-width: 768px) {
    
    .carousel-inner .carousel-item-end.active,
    .carousel-inner .carousel-item-next {
      transform: translateX(25%);
    }
    
    .carousel-inner .carousel-item-start.active, 
    .carousel-inner .carousel-item-prev {
      transform: translateX(-25%);
    }
}

.carousel-inner .carousel-item-end,
.carousel-inner .carousel-item-start { 
  transform: translateX(0);
}

.carousel-control-prev-icon { background-image: url(../images/icon/left.svg);}
.carousel-control-next-icon { background-image: url(../images/icon/right.svg); 
}
.carousel-control-prev {
  width: 2%;

}



.client {
  width: 100%;
  height: 100%;

}

.carousel-icon {
    
    i {
        font-size: 5rem;
        color: rgba($white, 0.3);
    }

}
.carousel-item-two {

    i {
        font-size: 1.6rem;
         color: rgba($white, 0.3);
    }
}

.t-card {
    padding: 1.8125rem 1.125rem;
    background-color: rgba($color-dark, 0.5);
    border-radius: 1.25rem;
    color: $white;
    height: auto;
}

.arrow-down {
    width: 0;
    height: 0;
    border-left: 1.5625rem solid transparent;
    border-right: 1.5625rem solid transparent;
    border-top: 1.25rem solid rgba($color-dark, 0.5);
    // margin-left: 4.6875rem
}



/* + + + + + + + + + + + + + + + + + + + + + + + +
Liste
+ + + + + + + + + + + + + + + + + + + + + + + +  */





div.li {
    margin: 0;
    padding: 0;
}



.li{
    list-style: none;
    counter-increment: foo;
    display: table-row;
    float:left;

}

.li::before {
    content: counter(foo) ".";
    display: table-cell;
    text-align: right;
    padding-right: .3em;

}





/* + + + + + + + + + + + + + + + + + + + + + + + +
  Link
+ + + + + + + + + + + + + + + + + + + + + + + +  */
a{
    text-decoration: none;
    color:#000000;;
}

a:visited{color: #000000;}
a:hover{color: var(--primary-color);}
a:active{color:var(--primary-color);}

.nav-link {color: #000000;padding: 0 1rem;}


 .btn {
    border: 0;
    background: var(--primary-color);
    width: 50px;
    height: 50px;
    border-radius: 0rem
  }

.btn:hover {
    border: 0;
    background: var(--primary-color);
    width: 50px;
    height: 50px
  }


.shadow { box-shadow: none !important;  }
    /*box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; }*/

@media (min-width: 992px) {

#logo { width:160px; z-index: 10000;}

  .btn {
    border: 0;
     background: var(--primary-color);
    width: 60px;
    height: 60px
  }

  .btn:hover {
    border: 0;
    background: var(--primary-color);
    width: 60px;
    height: 60px
  }

   .site,
    .site_one {
      position: fixed !important;
      right: 0;
      z-index: 5000;
  }

  .site {top: 255px;}
  .site_one {top: 320px;}

}

 .btn_two {
    border: 0;
    background: var(--primary-color);
    width:200px;
        height: 60px;
        text-align: center;
        display: inline-block;
  }


}
@media (max-width: 991.98px) { #logo { width:100px; z-index: 10000;padding-top: 10px;} }




/* + + + + + + + + + + + + + + + + + + + + + + + +
  NAVIGATION
+ + + + + + + + + + + + + + + + + + + + + + + +  */
.nav-link:hover,
.nav-link:focus,
.nav-link.active {
  background-color: var(--primary-color);
  color: #ffffff !important; /* Weißer Text */
  border-radius: 4px; /* Optional: Abgerundete Ecken */
  padding-right: 1.rem;
}


#header {background-color: white;}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 0;}

.navbar{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-dark);
}

.navbar-expand-lg .navbar-nav .nav-link  {
  padding: 1.5rem;
  color: var(--bs-dark);
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar-expand-lg .navbar-nav .nav-link  {
    padding-left: 1rem;
    letter-spacing: .8px;
  }
}


@media (max-width: 991.98px) {
  .navbar-expand-lg .navbar-nav .nav-link { border-bottom: 1px solid grey; }
}


/* + + + + + + + + + + + + + + + + + + + + + + + +
  Navbar Mobil
+ + + + + + + + + + + + + + + + + + + + + + + +  */
.navbar-toggler-icon {
    width: 2rem!important;
    height: 2rem!important;
 }

.navbar-toggler.custom-toggler {
  border-color: var(--bs-dark);
  border-width: 1px;
  background: var(--bs-green);
  padding: .8rem;
}
.navbar-toggler.custom-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}



/* + + + + + + + + + + + + + + + + + + + + + + + +
  Navbar Mobil
+ + + + + + + + + + + + + + + + + + + + + + + +  */
.navbar-toggler.custom-toggler {
  background: var(--primary-color);
  border-width: 0px;
  border-radius: 0rem;
  padding: 1rem;
}
.navbar-toggler.custom-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

@media (max-width: 767.98px) {
  #navbar_main ul { background: var(--primary-color);}
  #navbar_main ul li { text-align: center; }
  #navbar_main ul li a {  }
  #navbar_main ul li:last-of-type a { border-bottom: none; }
  #navbar_main ul li a.active { background: var(--black);  }
}


.navbar-toggler:focus {
    
    box-shadow: none;}

