.elementor-331 .elementor-element.elementor-element-0aab671{--display:flex;--position:fixed;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;bottom:0px;}body:not(.rtl) .elementor-331 .elementor-element.elementor-element-0aab671{left:0px;}body.rtl .elementor-331 .elementor-element.elementor-element-0aab671{right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}body:not(.rtl) .elementor-331 .elementor-element.elementor-element-96c582a{right:0px;}body.rtl .elementor-331 .elementor-element.elementor-element-96c582a{left:0px;}.elementor-331 .elementor-element.elementor-element-96c582a{top:0px;}body:not(.rtl) .elementor-331 .elementor-element.elementor-element-2954bbe{left:0px;}body.rtl .elementor-331 .elementor-element.elementor-element-2954bbe{right:0px;}.elementor-331 .elementor-element.elementor-element-2954bbe{bottom:0px;}.elementor-331 .elementor-element.elementor-element-56a7b7e{--display:flex;--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:center;--align-items:flex-end;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-331 .elementor-element.elementor-element-ba3e188{--display:flex;--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;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-331 .elementor-element.elementor-element-f614323{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-331 .elementor-element.elementor-element-fa65ca0 img{width:70%;}.elementor-331 .elementor-element.elementor-element-34f625f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-331 .elementor-element.elementor-element-0278812{text-align:end;}.elementor-331 .elementor-element.elementor-element-0278812 .elementor-heading-title{font-family:"Rajdhani", Sans-serif;font-size:22px;font-weight:400;color:#000000;}.elementor-331 .elementor-element.elementor-element-13ca9c4{text-align:end;}.elementor-331 .elementor-element.elementor-element-13ca9c4 .elementor-heading-title{font-family:"Rubik Dirt", Sans-serif;font-size:39px;font-weight:500;text-transform:uppercase;color:#000000;}.elementor-331 .elementor-element.elementor-element-c0a33ba{--display:flex;--justify-content:center;--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;}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-mega-menu{--n-menu-divider-color:var( --e-global-color-text );}.elementor-331 .elementor-element.elementor-element-5986915{--display:flex;}.elementor-331 .elementor-element.elementor-element-b63607b{--display:flex;}.elementor-331 .elementor-element.elementor-element-301bffc{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-font-size:20px;--n-menu-title-color-normal:#000000;--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-331 .elementor-element.elementor-element-301bffc > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-331 .elementor-element.elementor-element-301bffc > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-331 .elementor-element.elementor-element-301bffc > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Rubik Dirt", Sans-serif;font-weight:500;}.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-331 .elementor-element.elementor-element-56a7b7e{--content-width:1440px;}.elementor-331 .elementor-element.elementor-element-ba3e188{--width:30%;}.elementor-331 .elementor-element.elementor-element-f614323{--width:30%;}.elementor-331 .elementor-element.elementor-element-34f625f{--width:50%;}.elementor-331 .elementor-element.elementor-element-c0a33ba{--width:70%;}}@media(max-width:767px){.elementor-331 .elementor-element.elementor-element-0aab671{--margin-top:60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:9999;}.elementor-331 .elementor-element.elementor-element-4ba7c99{z-index:9999;}.elementor-331 .elementor-element.elementor-element-4ba7c99 img{width:50%;}.elementor-331 .elementor-element.elementor-element-96c582a{top:-51%;z-index:9999;text-align:end;}.elementor-331 .elementor-element.elementor-element-96c582a img{width:31%;}body:not(.rtl) .elementor-331 .elementor-element.elementor-element-2954bbe{left:-56px;}body.rtl .elementor-331 .elementor-element.elementor-element-2954bbe{right:-56px;}.elementor-331 .elementor-element.elementor-element-2954bbe{bottom:-57px;}.elementor-331 .elementor-element.elementor-element-2954bbe img{width:45%;}.elementor-331 .elementor-element.elementor-element-5e19657 img{width:50%;}}/* Start custom CSS for image, class: .elementor-element-96c582a *//* Startzustand: Rechts draußen (150%) */
.mobile-hand {
    /* WICHTIG: Positionierung muss hier rein, da Elementor-Menü nicht mehr greift */
    position: fixed !important;
    bottom: 60px;     /* Dein Abstand von unten */
    right: 0;         /* Rechts am Rand */
    width: 100px;     /* Passe ggf. die Breite an, falls sie riesig wird */
    
    transform: translateX(150%); 
    transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    pointer-events: none;
    z-index: 9999;
}

.mobile-hand.is-visible {
    transform: translateX(3%); 
}

/* Ankerpunkt für die Rotation setzen */
.mobile-hand img {
    animation: handBobbing 1.5s infinite ease-in-out;
    transform-origin: right bottom; 
}

/* Deine Animation (unverändert) */
@keyframes handBobbing {
    0% { 
        transform: scale(1) rotate(0deg) translate(0, 0); 
    }
    50% { 
        transform: scale(1.1) rotate(15deg) translate(-20px, 5px); 
    }
    100% { 
        transform: scale(1) rotate(0deg) translate(0, 0); 
    }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2954bbe *//* Startzustand: Nach UNTEN aus dem Bild geschoben */
.mobile-menu-sign {
    transform: translateY(150%); 
    transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
    pointer-events: none;
    z-index: 9998; 
    
    position: fixed !important; /* !important zur Sicherheit */
    bottom: 0;
    left: 20px; 
    width: 120px; 
}

/* Wenn sichtbar: Fährt hoch auf Position 0 */
.mobile-menu-sign.is-visible {
    transform: translateY(0); 
}

/* Die Wackel-Animation auf das Bild selbst */
.mobile-menu-sign img {
    animation: signWiggle 3s infinite ease-in-out;
    transform-origin: bottom center; 
}

/* Deine Animation (unverändert) */
@keyframes signWiggle {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(-3deg); } 
    75% { transform: rotate(3deg); }  
    100% { transform: rotate(0deg); }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-5e19657 *//* Startzustand: Nach OBEN aus dem Bild geschoben & Zentriert */
.mobile-anfrage-sign {
    position: fixed !important;
    top: 0;           /* Klebt ganz oben am Rand */
    left: 50%;        /* Startpunkt für Zentrierung */
    width: 150px;     /* Passe die Größe hier an! */
    z-index: 9997;    /* Hoch genug, aber stört die unteren nicht */


    /* Der Trick: 
       translateX(-50%) sorgt für die exakte horizontale Mitte.
       translateY(-150%) schiebt es nach oben aus dem Bild raus.
    */
    transform: translate(-50%, -150%);
    /* Der gleiche "Bounce"-Effekt wie bei den anderen */
    transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Wenn sichtbar: Fährt runter auf Position 0 (bleibt aber zentriert) */
.mobile-anfrage-sign.is-visible {
    /* Nur noch horizontal zentrieren, vertikal auf 0 */
    transform: translate(-50%, -30px); /* -5px damit es nicht ganz am Rand klebt */
}

/* Die Schwing-Animation für die Ketten */
.mobile-anfrage-sign img {
    animation: chainSwing 4s infinite ease-in-out;
    transform-origin: top center; /* Schwingt von oben */
}

@keyframes chainSwing {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(1.5deg); }  /* Leicht nach rechts */
    75% { transform: rotate(-1.5deg); } /* Leicht nach links */
    100% { transform: rotate(0deg); }
}/* End custom CSS */
/* Start custom CSS for mega-menu, class: .elementor-element-301bffc */#nav-black-cta{
    background-color: black;
    border-radius: 10px;
}
#nav-black-cta span{color:white ;
}

/* 2. Der Hover-Zustand startet die Animation */
#nav-black-cta:hover {
  /* 0.8s ist deutlich langsamer -> flüssiger */
  animation: liquid-fire 0.8s ease-in-out infinite alternate;
}

/* Die neue Animation: Kleiner und flüssiger */
@keyframes liquid-fire {
  /* Start: Schatten ganz nah am Button */
  0% {
    box-shadow: 
      0 0 4px #000,
      0 -2px 6px rgba(0,0,0,0.8),
      0 -4px 10px rgba(0,0,0,0.5);
  }
  
  /* Mitte: Schatten wächst etwas und zieht leicht nach links */
  50% {
    box-shadow: 
      0 0 4px #000,
      -2px -5px 8px rgba(0,0,0,0.8),   /* Leicht links & höher */
      -1px -8px 14px rgba(0,0,0,0.4);  /* Spitze, aber nicht zu hoch */
  }

  /* Ende: Schatten zieht leicht nach rechts */
  100% {
    box-shadow: 
      0 0 4px #000,
      2px -6px 8px rgba(0,0,0,0.8),    /* Leicht rechts & höher */
      1px -12px 16px rgba(0,0,0,0.3);  /* Maximale Höhe (ca 12px) */
  }
}/* End custom CSS */