.elementor-kit-5{--e-global-color-primary:#FF0096;--e-global-color-secondary:#000000;--e-global-color-text:#000000;--e-global-color-accent:#C2006F;--e-global-color-65dbe37:#FFFFFF;--e-global-color-5d35435:#FAF7F2;--e-global-color-4250c9f:#0E5C5C;--e-global-color-2d68709:#E9E4DC;--e-global-color-e582e82:#C2006F;--e-global-color-e2784d6:#E0007F;--e-global-typography-primary-font-family:"Nunito Sans";--e-global-typography-primary-font-size:55px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:68px;--e-global-typography-secondary-font-family:"Nunito Sans";--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-font-weight:900;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-letter-spacing:0.27rem;--e-global-typography-text-font-family:"Nunito Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.8em;--e-global-typography-text-letter-spacing:0.09em;--e-global-typography-accent-font-family:"Nunito Sans";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:800;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:25px;--e-global-typography-accent-letter-spacing:0.15em;--e-global-typography-c688198-font-family:"Nunito Sans";--e-global-typography-c688198-font-weight:800;--e-global-typography-6f3b7eb-font-family:"brown-pro";--e-global-typography-6f3b7eb-font-size:55px;--e-global-typography-6f3b7eb-font-weight:400;--e-global-typography-6f3b7eb-line-height:68px;--e-global-typography-07d840c-font-family:"brown-pro";--e-global-typography-07d840c-font-size:16px;--e-global-typography-07d840c-font-weight:300;--e-global-typography-07d840c-text-transform:uppercase;--e-global-typography-07d840c-line-height:25px;--e-global-typography-07d840c-letter-spacing:0.15em;--e-global-typography-93793a1-font-family:"brown-pro";--e-global-typography-93793a1-font-size:36px;--e-global-typography-93793a1-font-weight:400;--e-global-typography-93793a1-line-height:48px;--e-global-typography-93793a1-letter-spacing:0.3px;--e-global-typography-4458f27-font-family:"brown-pro";--e-global-typography-4458f27-font-size:1.6rem;--e-global-typography-4458f27-font-weight:400;--e-global-typography-4458f27-text-decoration:underline;--e-global-typography-4458f27-line-height:48px;--e-global-typography-4458f27-letter-spacing:-1.6px;--e-global-typography-4458f27-word-spacing:0px;--e-global-typography-6b57938-font-size:1.3rem;--e-global-typography-f70ae00-font-size:20px;--e-global-typography-f70ae00-font-weight:900;--e-global-typography-f70ae00-text-transform:uppercase;--e-global-typography-f70ae00-line-height:1.5rem;--e-global-typography-f70ae00-letter-spacing:0.09em;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-e2784d6 );font-family:"brown-pro", Sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:2.7px;color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:8px 8px 8px 8px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{font-family:"Nunito Sans", Sans-serif;font-size:16px;font-weight:800;line-height:1.8em;letter-spacing:0.09em;}.elementor-kit-5 h1{color:var( --e-global-color-primary );font-size:45px;}.elementor-kit-5 h3{color:var( --e-global-color-secondary );font-size:21px;line-height:24px;}.elementor-kit-5 h4{color:var( --e-global-color-secondary );font-size:24px;}.elementor-kit-5 h5{font-size:21px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.mein-pfeil-wrapper {
    display: flex;
    justify-content: flex-end;       /* Pfeil rechtsbündig */
    align-items: center;
}

/* Basiszustand: Animation vorbereiten */
.mein-pfeil-wrapper .elementor-icon svg {
    display: inline-block;
    transition: transform 0.3s ease;
    transform-origin: left center;   /* Wachstum startet links -> Pfeil verlängert sich nach rechts */
}

/* Hover: leichte Verlängerung nach rechts */
.mein-pfeil-wrapper:hover .elementor-icon svg {
    transform: scaleX(1.2);          /* 20% länger */
}

/* Basiszustand */
.pfeil {
    display: inline-block;           /* für transform nötig */
    transition: transform 0.3s ease;
}

/* Hover: nur das Pfeil-Element unter der Maus */
.pfeil:hover {
    transform: translateX(8px);
}


/* Ausgangszustand */
.bounce-icon .elementor-icon svg {
    display: inline-block;
    transition: transform 0.3s ease;
}

.bounce-icon:hover .elementor-icon svg {
    animation: bounceScale 0.5s ease;
}

@keyframes bounceScale {
    0%   { transform: translateY(0) scale(1); }
    30%  { transform: translateY(-6px) scale(1.05); }
    50%  { transform: translateY(0) scale(1); }
    70%  { transform: translateY(-3px) scale(1.03); }
    100% { transform: translateY(0) scale(1); }
}

/*.marquee {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}*/

.marquee {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
}

.marquee__track {
  display: inline-flex;
  width: max-content;
  will-change: transform;
  animation: marquee var(--marquee-duration, 30s) linear infinite;
}

.marquee__item {
  display: inline-block;
  font-size: 40px;
  line-height: 60px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.7rem;
  flex-shrink: 0;
  padding-right: 30px;
}

@keyframes marquee {
  0%   { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(var(--marquee-distance, -50%), 0, 0); }
}

.leistungen-karussel {
    cursor: pointer;
}
.leistungen-karussel .swiper-slide {
    cursor: pointer;
}
.karussel-scale {
    transition: transform 0.3s ease;
    cursor: pointer;
    overflow: visible;
    transform-origin: center;
}
.karussel-scale:hover {
    transform: scale(1.03);
}

.das-machen-wir-karussel .swiper-slide {
    opacity: 0.85;
    transform: scale(0.95);
    transition: all 0.4s ease;
    cursor: pointer;
}
/* nur das aktiv gehoverte Element */
.das-machen-wir-karussel .swiper-slide:hover {
    opacity: 1;
    transform: scale(1.08);
    z-index: 5;
}

/* Äußere, nicht-Swiper-eigene Container öffnen */
.leistungen-karussel {
    overflow: visible !important;
}
.leistungen-karussel .e-n-carousel {
    overflow: visible !important;
}

/* Etwas Puffer-Raum lassen, damit der vergrößerte Slide Platz hat */
.das-machen-wir-karussel {
    padding-block: 20px;
}

/* Karussell-Effekte auf Mobile deaktivieren */
@media (max-width: 767px) {
    .karussel-scale {
        transition: none !important;
    }
    .karussel-scale:hover {
        transform: none !important;
    }
    .das-machen-wir-karussel .swiper-slide {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .das-machen-wir-karussel .swiper-slide:hover {
        opacity: 1 !important;
        transform: none !important;
    }
}


/* Parallax-Effekt für Container */

@supports (animation-timeline: scroll()) {

    .parallax-container{
        animation: parallaxMove linear;
        animation-timeline: scroll();
        animation-range: entry 0% cover 100%;
        will-change: transform;
    }

    @keyframes parallaxMove {
        from{
            transform: translateY(-300px);
        }

        to{
            transform: translateY(2000px);
        }
    }

}

/* Parallax auf Mobile deaktivieren */
@media (max-width: 767px) {
    .parallax-container {
        animation: none !important;
        transform: none !important;
        will-change: auto;
    }
}


.text-balken {
   display: inline !important;
  background: #ffcc00 !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 3px 5px;
}

.mobile-cta-bar {
  display: none;
}
@media (max-width: 768px) {
  .mobile-cta-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: #171719;
    padding: 10px 16px;
    gap: 10px;
  }
  .mobile-cta-bar .cta-button,
  .mobile-cta-bar .cta-button--secondary {
    flex: 1;
    text-align: center;
    padding: 12px 0;
  }
}

.elementor-gallery-item__overlay {
  display: none !important;
}

.elementor-gallery-item__content {
  position: static !important;
  opacity: 1 !important;
  background: none !important;
  padding: 8px 4px 0 !important;
  text-align: left !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

.elementor-gallery-item__title {
  display: none !important;
}

.elementor-gallery-item__description {
  color: #000000 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  opacity: 1 !important;
  animation: none !important;
  transition: none !important;
}

.e-gallery-item {
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}

.e-gallery-image {
  order: 1 !important;
}

.elementor-gallery-item__content {
  order: 2 !important;
}/* End custom CSS */