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

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

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


:root {
   --primary-color: #393E40;/* grau */
   --secondary-color: #F3F3F3;/* hellgrau */
   --orange: #F18731;/* orange */
   --black: #000000;
   --body: #29893F;
   --bs-body-font-family:'Open Sans', sans-serif;
   --bs-body-font-family_two:'Quicksand', sans-serif;
   --bs-body-font-weight-small: 300;
   --bs-body-font-weight-regular: 400;
   --bs-body-font-weight-bold: 700;
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  BASICS
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
body {
  font-family: 'Quicksand', 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;
    }


video {
  width: 100%;
  height: 100%;
  max-width: 100%;
}



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

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

.fs-1 {
  font-size: calc(1.5rem + 0.9vw) !important;
  line-height: 2.5rem;}

.fs-2 {
  font-size: calc(2.0rem + 1.1vw) !important;
  line-height: 3.8rem;}

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

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


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

.bg_grey { background-color: var(--primary-color);}
.bg_hellgrey { background-color: var(--secondary-color);}
.bg_orange{ background-color: var(--orange);}
.popp { font-family: var(--bs-body-font-family_two);}


    /* Gallery Button */
    .btn-gallery {
      color: #fff;
      font-weight: 600;
      border-radius: none;
      border:none;
      padding: 0.8rem 2rem;
      text-transform: uppercase;
      background: var(--orange);
    }
    .btn-gallery:hover {
      background: var(--orange);

    }

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


.key {
  background: url(../images/site/RitaPorto.jpg) no-repeat right top;
 background-size: contain;
}

.rectangle {
  background: url(../images/icon/Rectangle.svg) no-repeat center center;
    background-size: contain;
    height: 100%;
}

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



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

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


.transparent-card {
  background: transparent;
  border: none;
}



.back-to-top:hover {
  background-color: darkorange;
  transform: scale(1.1);
  transition: 0.2s;
}

.back-to-top {
  position: fixed;
  right: 20px;      /* seitlich rechts */
  bottom: 20px;     /* unten */
  width: 50px;
  height: 50px;
  border: none;
  border-radius: 50%;
  background-color: var(--orange);
  color: white;
  font-size: 20px;
  cursor: pointer;
  display: none; /* wird erst eingeblendet */
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  z-index: 9999;
}
/* + + + + + + + + + + + + + + + + + + + + + + + +
  Link
+ + + + + + + + + + + + + + + + + + + + + + + +  */
a{
    text-decoration: none;
    color:white;
  }
}

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

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



   /* ===== HERO ===== */
.hero-nav {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
}

.overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.nav-link {
  color: white !important;
}

.logo {
  height: 60px;
  width: auto;
  display: block;
  position: relative;
  z-index: 11;
}



/* ===== HERO ===== */
    .hero {
      position: relative;
      overflow: hidden;
    }

    .hero video {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }


.overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.6) 0%,
    rgba(0, 0, 0, 0.3) 40%,
    rgba(0, 0, 0, 0.0) 100%
  );
}

    /* ===== NAV WRAPPER ===== */
    .nav-wrapper {
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 20;
      text-align: center;
      padding-top: 15px;
    }

    /* ===== LOGO ===== */
    .logo {
      color: orange;
      font-size: 26px;
      font-weight: bold;
      margin-bottom: 10px;
    }

    /* ===== NAVBAR ===== */
    .navbar {
      background: transparent;
    }



    /* ===== BURGER COLOR ===== */
    .navbar-toggler {
      border: none;
    }

    .navbar-toggler-icon {
      filter: invert(1);
    }

    /* ===== HERO TEXT ===== */
    .hero-text {
      position: absolute;
      top: 55%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: white;
      text-align: center;
    }

    .hero-text h1 {
      font-size: 3rem;
      font-weight: bold;
    }

    /* ===== MOBILE FIX ===== */
    @media (max-width: 991px) {
      .navbar-collapse {
        background: rgba(0,0,0,0.9);
        margin-top: 10px;
        padding: 20px 0;
      }

      .nav-link {
        margin: 10px 0;
      }
    }

   /* ===== Fadenkreuz ===== */
.title-wrap {
  position: relative;
  display: inline-block;
  padding-top: 60px; /* Platz für Fadenkreuz */
}

/* FADENKREUZ */
.title-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100px;
  height: 100px;
  background: url("../images/site/pfeil.svg") no-repeat center;
  background-size: contain;

}

/* + + + + + + + + + + + + + + + + + + + + + + + +
 Seitliche Icons
+ + + + + + + + + + + + + + + + + + + + + + + +  */

/* Header sticky */
header.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
  background-color: #fff; /* optional: Hintergrundfarbe */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}


.floating-icons {
  position: fixed;
  top: 20%;
  right: 0px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 9999;
}

.floating-icons a img {
  width: 60px;
  height: 60px;
  transition: transform 0.3s;
}

.floating-icons a img:hover {
  transform: scale(1.1);
}

/* + + + + + + + + + + + + + + + + + + + + + + + +
freature
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.feature-box {
  padding-left: 25px;
  position: relative;

}

/* rechter Strich */
.feature-box::after {
  content: "";
  position: absolute;
  right: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background: var(--orange);
  opacity: 0.8;
}

/* letzter Box kein Strich */
.feature-box:last-child::after {
  display: none;
}

 /* .card-body { background:var(--primary-color);*/
 }
 .card { border:none!important; color:white;; }
/* + + + + + + + + + + + + + + + + + + + + + + + +
checklist
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.check-list {
  list-style: none;
  padding: 0;
}

.check-list li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
}

.check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;              /* vertikal sauber ausrichten */
  width: 1rem;            /* wichtig */
  height: 1rem;           /* wichtig */
  background: url("../images/site/bullet.svg") no-repeat center;
  background-size: contain; /* SVG sauber skalieren */
}




  #map { height: 600px; width: 100%; }






