.elementor-101 .elementor-element.elementor-element-7e0dfe9{--display:flex;--position:fixed;--min-height:120vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;--z-index:9999;}.elementor-101 .elementor-element.elementor-element-7e0dfe9:not(.elementor-motion-effects-element-type-background), .elementor-101 .elementor-element.elementor-element-7e0dfe9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#003B40;}body:not(.rtl) .elementor-101 .elementor-element.elementor-element-7e0dfe9{left:0px;}body.rtl .elementor-101 .elementor-element.elementor-element-7e0dfe9{right:0px;}.elementor-101 .elementor-element.elementor-element-03c4f69{--display:flex;--position:absolute;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--padding-top:20px;--padding-bottom:20px;--padding-left:5%;--padding-right:5%;top:0px;--z-index:9999;}body:not(.rtl) .elementor-101 .elementor-element.elementor-element-03c4f69{left:0px;}body.rtl .elementor-101 .elementor-element.elementor-element-03c4f69{right:0px;}.elementor-101 .elementor-element.elementor-element-7f67f75{--display:flex;}.elementor-101 .elementor-element.elementor-element-46bcfd6 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border-style:none;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-101 .elementor-element.elementor-element-7f67f75{--width:80px;}}@media(max-width:767px){.elementor-101 .elementor-element.elementor-element-7e0dfe9{--min-height:100vh;}.elementor-101 .elementor-element.elementor-element-7f67f75{--width:100px;--justify-content:flex-end;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-46bcfd6 */.menu-icon {
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
    align-items: flex-end;
    justify-content: center;
    width: 80px;
}

/* Basis-Linien */
.menu-icon .line {
  background-color: #a6d5c2;
  transition: width 0.4s ease;
    height: 6px;
}

/* Obere Linie: maximale Breite (z. B. 80px) */
.menu-icon .line-top {
  width: 80px;
}

/* Untere Linie: kürzer */
.menu-icon .line-mid {
  width: 70px;
}

/* Untere Linie: kürzer */
.menu-icon .line-bottom {
  width: 60px;
}

/* Hover: untere Linie wächst auf 80px */
.menu-icon:hover .line-top {
  width: 60px;
}

.menu-icon:hover .line-mid {
  width: 60px;
}

@media only screen and (max-width: 767px) { 
    .menu-icon {
  gap: 4px;
    width: 50px;
}

.menu-icon .line {
  background-color: #a6d5c2;
  transition: width 0.4s ease;
    height: 4px;
}

/* Obere Linie: maximale Breite (z. B. 80px) */
.menu-icon .line-top {
  width: 60px;
}

/* Untere Linie: kürzer */
.menu-icon .line-mid {
  width: 40px;
}

/* Untere Linie: kürzer */
.menu-icon .line-bottom {
  width: 30px;
}

/* Hover: untere Linie wächst auf 80px */
.menu-icon:hover .line-top {
  width: 60px;
}

.menu-icon:hover .line-mid {
  width: 60px;
}

.menu-icon:hover .line-bottom {
  width: 60px;
}

    
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-03c4f69 *//* ============================================================================
   PRELOAD ANIMATION - BEREINIGTES CSS (FINAL COPY & PASTE)
   ============================================================================ */

/* ----------------------------------------------------------------------------
   1. HINTERGRUND
   ---------------------------------------------------------------------------- */
/* Standardmäßig IMMER sofort sichtbar (Verhindert das Aufblitzen der Seite beim Laden!) */
.preload-background {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: #003B40 !important;
  z-index: 10000 !important;
  
  /* Sofort und ohne Verzögerung sichtbar */
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: block !important;
}

/* ----------------------------------------------------------------------------
   2. HEADER CONTAINER
   ---------------------------------------------------------------------------- */
/* Normaler Zustand */
#stickheader {
  /* Keine absoluten Positionen mit !important erzwingen, 
     damit Elementors Sticky-Funktion ungestört arbeiten kann! */
  z-index: 100; 
}

/* Preload Zustand: Header ÜBER den Hintergrund (10000) heben */
body.is-preloading #stickheader {
  z-index: 10001 !important;
}

/* Preload Zustand: Verstecke nur ANDERE Elementor-Widgets (wie das Menü) */
body.is-preloading #stickheader .elementor-widget:not(.headerlogo-preload) {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Container sichtbar lassen */
body.is-preloading #stickheader .e-con {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ----------------------------------------------------------------------------
   3. LOGO CONTAINER & BILD
   ---------------------------------------------------------------------------- */
/* Gemeinsame Basis-Einstellungen für Performance */
.headerlogo-preload {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  perspective: 1000px !important;
}

/* Normaler Zustand (Oben links im Header) */
.headerlogo-preload {
  position: static !important;
  width: 120px !important;
  height: 80px !important;
  /* transition und transform wird NUR per JS gesteuert, kein !important hier! */
}

/* Preload Zustand (Mitte des Bildschirms) */
body.is-preloading .headerlogo-preload {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  width: 200px !important;
  height: 150px !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10002 !important;
  justify-content: center !important;
  flex-direction: column !important;
  right: auto !important;
  bottom: auto !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Bild-Wrapper (Gilt für beide Zustände) */
.headerlogo-preload img,
.headerlogo-preload .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}


@media (max-width: 767px) {
    
.headerlogo-preload {
  position: static !important;
  width: 80px !important;
  height:  !important;
  /* transition und transform wird NUR per JS gesteuert, kein !important hier! */
}
}/* End custom CSS */
/* Start custom CSS */.headerup {
    transform: translateY(-200px) !important;
}

#stickheader {
    -webkit-transition: transform 0.34s ease !important;
    transition: transform 0.34s ease !important;
}/* End custom CSS */