@charset "UTF-8";
@media only screen and (max-width: 768px) {
  .fullsize-start-text, .fullsize-start-text .elementor-element {
    position: relative;
  }
  .elementor .elementor-background-video-hosted {
    height: 100vh !important;
    /* Eventuell overflow: hidden, falls das Video außerhalb des Containers liegt */
    overflow: hidden;
  }
}
.section-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  will-change: transform;
  backface-visibility: hidden; /* Verhindert visuelle Fehler */
  transform-style: preserve-3d; /* Optimiert GPU-Nutzung */
  perspective: 1000px; /* Unterstützt 3D-Effekte */
  transition: transform 0.1s ease-out; /* Sanfte Animation */
  z-index: 3;
}
.section-sticky.zero-z {
  z-index: 1 !important;
  min-height: calc(88vh - 86px);
  height: calc(88vh - 86px) !important;
  /*
  height: calc(100vh - 170px);
   100vh - 150px header height - 2x 10px Außenabstand */
}
@media (max-width: 767px) {
  .section-sticky.zero-z {
    height: -moz-fit-content !important;
    height: fit-content !important;
    min-height: unset !important;
    z-index: 9999 !important;
    position: relative !important;
  }
}
.section-sticky.zero-z #skip-animation-button {
  position: relative;
  z-index: 10000;
}

@-moz-document url-prefix() {
  .section-sticky {
    transform: translateZ(0); /* Erzwingt GPU-Rendering in Firefox */
  }
}
/* gerneral */
.fade-out {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}

.fade-in {
  opacity: 1;
  transition: opacity 0.5s ease-in;
}

/* Typewriter effect */
.text-background.typewriter {
  transition: opacity 0.3s ease-in-out;
}

.text-background.visible {
  display: inline-block; /* Sichtbar machen */
}

@media only screen and (max-width: 768px) {
  /* "Wenn" in eigener Zeile (falls nötig) */
  .mobile-break {
    display: block;
    margin-bottom: 0.1em;
  }
  /* Die animierten Texte auf eigener Zeile mit Abstand */
  .text-background.typewriter {
    display: inline-block;
  }
}
/* Animation für das H2 */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Scrollmagic Startseite */
.scrollmagic-pin-spacer {
  position: relative;
  overflow: hidden;
  min-width: 100% !important;
  width: 100% !important;
}
.scrollmagic-pin-spacer .swiper-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.scrollmagic-pin-spacer .swiper-slide {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.scrollmagic-pin-spacer .swiper-slide {
  z-index: 0;
}
.scrollmagic-pin-spacer .swiper-slide.swiper-slide-visible {
  z-index: 1;
}
.scrollmagic-pin-spacer .elementor-background-slideshow {
  overflow: visible; /* sicherstellen, dass Slides sichtbar sind */
}
.scrollmagic-pin-spacer .swiper-slide.active {
  opacity: 1;
  transform: scale(1);
}
.scrollmagic-pin-spacer .fixedContent__right a {
  text-decoration: none;
  display: block;
}
.scrollmagic-pin-spacer .fixedContent__right a.active, .scrollmagic-pin-spacer .fixedContent__right a:hover {
  text-decoration: underline;
  color: var(--e-global-color-accent);
}
@media (max-width: 768px) {
  .scrollmagic-pin-spacer .fixedContent__right {
    position: absolute;
    z-index: 4;
  }
}
@media (max-width: 768px) {
  .scrollmagic-pin-spacer .fixedContent__left {
    position: absolute;
  }
}

/* animation elementor-location-header */
body .elementor-location-header .e-con > .e-con-inner {
  transition: padding-block-start 0.3s ease-in-out;
}
body .elementor-location-header .e-con > .e-con-inner .elementor-widget-image img {
  transform-origin: left center; /* Skalierung startet links mitte */
  transition: transform 0.3s ease-in-out;
  object-position: center left;
}

/* Scroll-Animation für horizontale Fade-In-Punkte */
.punkt-horizontal-fadein {
  opacity: 0;
  transform: translateX(150px);
  transition: transform 1s ease, opacity 1s ease;
}

.punkt-horizontal-fadein.animate {
  opacity: 1;
  transform: translateX(0);
}