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

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


:root {
   --primary-color: #021A55;/* blau */
   --secondary-color: #FBFBFB;/* grau */
   --grey: #EEF3F7;
   --black: #000000;
   --body: #29893F;
   --bs-body-font-family:'Open Sans', sans-serif;
   --bs-body-font-weight-regular: 300;
   --bs-body-font-weight-bold: 700;
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  BASICS
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
body {
  font-family: 'PT Sans', sans-serif;
  font-size: 1.25rem;
  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.3vw) !important;
  line-height: 2rem;}

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

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

.fw-bold { font-weight: 700 !important;}
.regular { font-weight: 300 !important;}


/* + + + + + + + + + + + + + + + + + + + + + + + +
  Tabelle
+ + + + + + + + + + + + + + + + + + + + + + + +  */
    .table th {
      width: 40%;
      vertical-align: top;
    }
    .table td {
      width: 60%;
    }
    .table caption {
      caption-side: top;
      font-weight: bold;
      font-size: 1.2rem;
      padding-bottom: 0.5rem;
    }
    .table-3col th,
    .table-3col td {
      width: auto;
      text-align: center;
      vertical-align: middle;
    }



/* + + + + + + + + + + + + + + + + + + + + + + + +
  Nav
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.logo-container {
  /* Mobile: links ausrichten */
  text-align: left;
}

.responsive-logo {
  width: 300px;       /* Mobile Breite */
  max-width: 100%;    /* Skalierung für kleine Bildschirme */
}

@media (min-width: 992px) {
  .logo-container {
    /* Desktop: zentrieren */
    text-align: center;
  }
  .responsive-logo {
    width: 500px;    /* Desktop Breite */
  }
}

.hamburger-icon {
  display: inline-block;
  width: 28px;
  height: 22px;
  position: relative;
}

.hamburger-icon span {
  background-color: #000;
  height: 2px;
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
  transition: all 0.3s ease;
}

.hamburger-icon span:nth-child(1) {
  top: 0;
}

.hamburger-icon span:nth-child(2) {
  top: 10px;
}

.hamburger-icon span:nth-child(3) {
  top: 20px;
}

/* Mobile Navigation: Linien & Abstand */
#mobileMenu .nav-link {
  padding: 1rem 0; /* vertikaler Abstand */
  border-bottom: 1px solid #ddd; /* feine Linie unten */
  font-size: 1.1rem; /* optional: etwas größere Schrift */
}

#mobileMenu .nav-link:last-child {
  border-bottom: 1px solid lightgrey; /* letzte Linie entfernen */
}

.visually-hidden-focusable {
      position: absolute;
      left: -9999px;
      top: auto;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }

    .visually-hidden-focusable:focus {
      position: static;
      width: auto;
      height: auto;
      overflow: visible;
    }

   .nav-link.hover {
      background-color: var(--primary-color);
      color: white !important;
    }
    .nav-link.active {
      background-color: var(--primary-color);
      color: white !important;
    }

    .offcanvas {
      box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1);
    }



/* + + + + + + + + + + + + + + + + + + + + + + + +
  custom
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.custom-btn {
  border: 2px solid var(--primary-color); /* Bootstrap Blau */
  color: var(--primary-color);
  background-color: white;
  border-top-right-radius: 0rem; /* Nur obere rechte Ecke */
  border-top-left-radius: 0;
  border-bottom-right-radius: 0.8rem;
  border-bottom-left-radius: 0;
  transition: all 0.3s;
  width: 350px;
  padding:10px;
}

.custom-btn:hover {
  background-color: darkred;
  color: #fff;
  border: 2px solid darkred;
}


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



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;
}

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


ul.star2 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_schwarz.svg') no-repeat center center;
  background-size: contain;
}


.plus {
  position: relative;
  padding-right: 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;
}



.card {border: none;}


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




/* + + + + + + + + + + + + + + + + + + + + + + + +
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: block;
  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: 10px; /* 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_blue { background: var(--primary-color);}
.bg_grey { background: var(--secondary-color);}
.blue { color: var(--primary-color);}
.grey { color: var(--primary-color);}
.black { color: #000000}

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

@media (max-width: 768px) {
  .header {
    background-position: center top;
  }
}

@media (min-width: 992px) {
  .headerimage {margin-top: -1.5rem;}
  .distance{margin-top: 8.0rem;}
}


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

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



/* + + + + + + + + + + + + + + + + + + + + + + + +
  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(--secondary-color);
    width: 80px;
    height: 80px;
    border-radius: 0rem
  }

.btn:hover {
    border: 0;
    background: var(--secondary-color);
    width: 88px;
    height: 80px
  }


.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(--secondary-color);
    width: 100px;
    height: 100px
  }

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

   .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
+ + + + + + + + + + + + + + + + + + + + + + + +  */
#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;}

