/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v34-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v34-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v34-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v34-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v34-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-500 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/open-sans-v34-latin-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v34-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v34-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v34-latin-500.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v34-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v34-latin-500.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

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

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

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

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

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

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

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

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

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

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

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


body{

  margin: 0;
  padding: 0;
  font-family: 'Fira Sans', sans-serif;
  color: #48484f;
  background: #fff;
  line-height: 1.6em;
  padding-top: 0px !important;
  height: 100%;
  font-size: 1.1rem;
}

a{
color: #48484f;
}

h1{
font-size: 0.9rem;
}
h2 {
  font-size: 2.5rem;
}
h3 {
  font-weight: 500;
}

strong{
  font-weight: 500 !important;
}

.modal-title{
  line-height: 1.3em;
}
.big_text{
  font-family: 'Fira Sans';
  font-size: 3.5em;
  font-weight: 600;
  line-height: 1.3em;
  padding: 0px;
  margin: 0px;
}

.th_1{
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 1px;
}


.h2_k{
  font-style: italic;
  font-weight: 400;
  line-height: 0.8em !important;
}

.container-fluid{
  padding: 0px !important;
  margin: 0px !important;
}

.navbar{
  padding: 20px;
    z-index: 1000;

}

.navbar-nav{
  z-index: 1001;
  background: #fff;
  padding: 10px;
}


.navbar-nav .nav-link {
  text-transform: uppercase !important;
  padding: 0.375rem 40px !important; /* Vervierfachung des Paddings */
  letter-spacing: 1px;
  font-weight: 400;
  font-size: 1.05rem;
}
.navbar-nav .nav-link:hover {
  color: #48484f;
  text-decoration: underline;
}
.navbar-nav .nav-link.active {
  color: #48484f !important;
  text-decoration: underline;
}

.navbar-brand{
  height: 80px;

}


footer{
  background: #5db77a;
}

footer a{
  text-decoration: none;
  color: #48484f;
  padding-right: 20px;
}

.phone-number,
.email-address {
  margin-left: 20px;
  color: #fff;
}

.bg-light{
  background: #f0f0f0 !important;
}

.abstand{
  padding: 40px;
}

.btn{
  border: none;
  border-radius: 0px;
  text-transform: uppercase;
  padding-left: 24px;
  padding-right: 24px;
  font-weight: 400;
  letter-spacing: 0.05em;

}

.btn-light{
  background: #fff;
  color: #48484f;
}

.btn-light:hover{
  background: #48484f;
  color: #fff;
}

.btn-dark{
  background: #5db77a;
  color: #48484f;
}

.btn-dark:hover{
  color: #5db77a;
}
.btn-dark-nav {
  padding: 24px !important;
  background: #5db77a;
  color: #48484f;
}

.btn-dark-nav:hover{
  background: #48484f;
  color: #5db77a !important;
  text-decoration: none !important;
}

.kachel_blau{
  background: #40B5E7;
  border-radius: 30px;
  padding: 40px;
}

/* Schritte und Logos */
.step-number {
  width: 60px;
  height: 60px;
  background-color: transparent;
  border: 3px solid #40B5E7;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
}
.step-number-gruen {
  width: 60px;
  height: 60px;
  background-color: transparent;
  border: 3px solid #5db77a;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 400;
}
.step-number-gruen img {
  width: 20px;
}
.step-number-bg-weiss {
  width: 40px;
  height: 40px;
  background-color: #fff;
  color: #06324a;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
  float: left;
  margin-right: 20px;
}

.step-check{
  width: 60px;
  height: 60px;
}

.img_radius{
border-radius: 30px;

}


.start_parallax_1{
  margin-top: 90px;
  height: 660px;
  width: 100%;
  background-image: url('../img/grafiken/header_start.jpg');
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bild_unternehmen{
height: 550px;
background-image: url('../img/grafiken/header_unternehmen.jpg');
background-position: center;
background-size: cover;
}
.bild_leistungen{
height: 550px;
background-image: url('../img/grafiken/header_leistungen.jpg');
background-position: center;
background-size: cover;
}

/* Parallax Container */
.parallax-container {
  position: relative;
  height: 300px; /* Höhe des Parallax-Containers */
  margin-bottom: 40px;
  background-image: url('../img/grafiken/1.jpg'); /* Hintergrundbild URL hier einfügen */
  background-size: cover;
  background-attachment: fixed; /* Hintergrund fixieren */
  background-position: center;
  overflow: hidden;
}

/* Overlay für Parallax-Effekt */
.parallax-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Farbe des Overlays anpassen */
}

.parallax-content {
  position: relative;
  z-index: 1;
  color: #fff;
  padding: 100px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Zentriert das h1-Element horizontal und vertikal */
.parallax-headline {
  font-size: 3em;
  margin: 0;
  line-height: 1; /* Setzt die Zeilenhöhe auf 1, um den Text vertikal zu zentrieren */
  font-weight: 700; /* Setzt das Gewicht des h1-Elements auf 700 */
}

.rahmen{
  display: inline-flex;
  border: 3px solid #60b476;
  padding: 30px;
  font-size: 2em;
  font-weight: 500;
  color: #60b476;
  margin-top: 40px;
  margin-bottom: 20px;
}

.parallax_rund-container {
  position: relative;
  width: 100%;
  height: 400px; /* oder die gewünschte Höhe */
  overflow: hidden;
}

.parallax_rund-overlay {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  border-radius: 50%; /* Rundes Div */
  background-image: url('../img/grafiken/2.jpg'); /* Hintergrundbild URL hier einfügen */
  background-size: cover;
  background-attachment: fixed; /* Hintergrund fixieren */
  background-position: center;
  overflow: hidden;
}

svg {
  width: 100%;
}

.bigger {
  margin: 0;
  font-size: 60px;
  font-weight: 800;
  padding: 20px;
  text-transform: uppercase;
  color: #78fff1;
  display: inline-block;
  position: relative;
}

.text {
  max-width: 600px;
  width: 100%;
  line-height: 24px;
  text-align: left;
  color: #404040;
  padding: 20px;
}

.has-animation {
  position: relative;
}
.has-animation p,
.has-animation img {
  opacity: 0;
}
.has-animation.animate-in p,
.has-animation.animate-in img {
  animation: textHidden 0.1s 1.1s forwards;
}
.has-animation.animate-in:before, .has-animation.animate-in:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  z-index: 10;
}
.has-animation.animate-in:before {
  background-color: #38b5e1;
}
.has-animation.animate-in:after {
  background-color: #60b476;
  animation-delay: 0.5s;
}
.has-animation.animation-ltr.animate-in:before {
  animation: revealLTR 1.8s ease;
}
.has-animation.animation-ltr.animate-in:after {
  animation: revealLTR 1s 0.6s ease;
}
.has-animation.animation-rtl.animate-in:before {
  animation: revealRTL 1.8s ease;
}
.has-animation.animation-rtl.animate-in:after {
  animation: revealRTL 1s 0.6s ease;
}

@keyframes revealRTL {
  0% {
    width: 0;
    right: 0;
  }
  65% {
    width: 100%;
    right: 0;
  }
  100% {
    width: 0;
    right: 100%;
  }
}
@keyframes revealLTR {
  0% {
    width: 0;
    left: 0;
  }
  65% {
    width: 100%;
    left: 0;
  }
  100% {
    width: 0;
    left: 100%;
  }
}
@keyframes textHidden {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media (max-width: 768px) {.navbar-nav .nav-link {
    text-align: center;
    padding-top: 20px !important;
    padding-left: 0px !important;

  }
  .navbar-nav .nav-link.btn-dark-nav {
    text-align: center;
    padding: 10px !important;
    margin-top: 20px !important;
  
  }

.h2_k {
  line-height: 1.3em !important;
}

  footer{
    text-align: center;
  }
  .phone-number,
  .email-address {
    display: none;
  }

  .parallax-content {
    padding: 50px; /* Reduzieren des Innenabstands für kleinere Bildschirme */
  }

  .parallax-headline {
    font-size: 2em;
    margin: 0;
    line-height: 1; /* Setzt die Zeilenhöhe auf 1, um den Text vertikal zu zentrieren */
    font-weight: 700; /* Setzt das Gewicht des h1-Elements auf 700 */
  }


      .big_text{
      font-size: 2.1rem;
      margin-bottom: 40px;
      }

      h2{
      font-size: 1.8rem;
      }
}

/* Burger Menu Anpassungen */
.navbar-toggler {
    border: none;
    padding: 0;
}

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

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.75%29' stroke-linecap='butt' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-nav .nav-item {
    text-align: left;
}

.navbar-nav .nav-link {
    width: auto;
    display: inline-block;
}

/* Nach oben Button Styles */
.scroll-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  background-color: #48484f;
  color: white;
  border: none;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.scroll-to-top:hover {
  background-color: #333;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.scroll-to-top.show {
  opacity: 1;
  visibility: visible;
}

.scroll-to-top i {
  color: white;
}

/* Mobile Anpassungen */
@media (max-width: 768px) {
  .scroll-to-top {
    width: 45px;
    height: 45px;
    bottom: 20px;
    right: 20px;
    font-size: 16px;
  }
}
