.elementor-kit-8{--e-global-color-primary:#03A9EF;--e-global-color-secondary:#A9CCDE;--e-global-color-text:#06354E;--e-global-color-accent:#61CE70;--e-global-color-90be825:#2383B7;--e-global-color-fb66dcd:#FFFFFF;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Red Hat Display";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Red Hat Display";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:600;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Red Hat Display";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:800;--e-global-typography-accent-line-height:1.3em;--e-global-typography-27e94ac-font-family:"Red Hat Display";--e-global-typography-27e94ac-font-size:17px;--e-global-typography-27e94ac-font-weight:600;--e-global-typography-27e94ac-line-height:1.3em;--e-global-typography-60ec399-font-family:"Red Hat Display";--e-global-typography-60ec399-font-size:17px;--e-global-typography-60ec399-font-weight:900;--e-global-typography-60ec399-line-height:1.3em;--e-global-typography-50798bf-font-family:"Playfair Display";--e-global-typography-50798bf-font-size:60px;--e-global-typography-50798bf-font-weight:600;--e-global-typography-50798bf-line-height:1.1em;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.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-8{--e-global-typography-primary-font-size:40px;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-size:24px;--e-global-typography-text-font-size:20px;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-size:20px;--e-global-typography-accent-line-height:1.3em;--e-global-typography-27e94ac-font-size:17px;--e-global-typography-27e94ac-line-height:1.3em;--e-global-typography-60ec399-font-size:17px;--e-global-typography-60ec399-line-height:1.3em;--e-global-typography-50798bf-font-size:56px;--e-global-typography-50798bf-line-height:1.1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-size:22px;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-size:18px;--e-global-typography-accent-line-height:1.3em;--e-global-typography-27e94ac-font-size:15px;--e-global-typography-27e94ac-line-height:1.3em;--e-global-typography-60ec399-font-size:15px;--e-global-typography-60ec399-line-height:1.3em;--e-global-typography-50798bf-font-size:48px;--e-global-typography-50798bf-line-height:1.1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --primary-500:#03A9EF; --primary-700:#A9CCDE; --accent:#61CE70; --primary-400:#2383B7; --primary-200:#06354E; --white:#ffffff; --space-md:20px; --space-lg:40px; --space-xl:80px; --primary-900:#e6f6fd; --primary-950:#f0fbff; --space-sm:10px; }
/* Start custom CSS *//* =========================================
   ANIMATIONS SYSTEM
   zentrale Effektklassen für Elementor V4
   ========================================= */


/* =========================================
   1) Clip Reveal für Text / normale Elemente
   Verwendung:
   clip-reveal reveal-on-load
   clip-reveal reveal-on-scroll
   ========================================= */

.clip-reveal {
  clip-path: polygon(0 0, 3% 0, 3% 100%, 0 100%);
  transition: clip-path 1.5s ease-in-out;
  will-change: clip-path;
}

.clip-reveal.is-revealed {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}


/* =========================================
   2) Fade and Write
   Verwendung:
   fade-and-write reveal-on-load
   fade-and-write reveal-on-scroll
   ========================================= */

.fade-and-write {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transition:
    opacity 1.2s ease-out,
    clip-path 1.2s ease-out;
  will-change: opacity, clip-path;
}

.fade-and-write.is-revealed {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}


/* =========================================
   3) Fade In Left 30
   Element kommt von rechts ins Bild
   Verwendung:
   fade-in-left-30 reveal-on-load
   fade-in-left-30 reveal-on-scroll
   ========================================= */

.fade-in-left-30 {
  opacity: 0;
  transform: translate3d(30px, 0, 0);
  transition:
    opacity 1.2s ease-out,
    transform 1.2s ease-out;
  will-change: opacity, transform;
}

.fade-in-left-30.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}


/* =========================================
   4) Fade In Down 30
   Element kommt von oben ins Bild
   Verwendung:
   fade-in-down-30 reveal-on-load
   fade-in-down-30 reveal-on-scroll
   ========================================= */

.fade-in-down-30 {
  opacity: 0;
  transform: translate3d(0, -30px, 0);
  transition:
    opacity 1.2s ease-out,
    transform 1.2s ease-out;
  will-change: opacity, transform;
}

.fade-in-down-30.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}


/* =========================================
   5) Reveal für Bilder
   Klasse sitzt auf dem Bild-Widget / Wrapper,
   nicht direkt auf dem img.
   Verwendung:
   reveal-image reveal-on-load
   reveal-image reveal-on-scroll
   ========================================= */

.reveal-image img {
  clip-path: polygon(0 0, 3% 0, 3% 100%, 0 100%);
  transition: clip-path 1.2s ease-out;
  will-change: clip-path;
  display: block;
}

.reveal-image.is-revealed img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}





/* Badge / Label: Breite passt sich dem Inhalt an */
.hug-content {
  width: max-content !important;
  max-width: 100% !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 12px;
  white-space: nowrap;

  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;

  align-self: flex-start !important;
}

/* Verhindert, dass Elementor-Kinder im Badge auf 100% gehen */
.hug-content > .elementor-element,
.hug-content > .e-con,
.hug-content > div {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

/* Icon-Widget sauber vertikal zentrieren */
.hug-content .elementor-widget-icon,
.hug-content .elementor-icon-wrapper,
.hug-content .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* SVG / Icon selbst */
.hug-content svg,
.hug-content i,
.hug-content .e-font-icon-svg {
  display: block !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* Text-Widget ohne zusätzliche Abstände */
.hug-content p,
.hug-content .elementor-heading-title,
.hug-content .elementor-widget-text-editor,
.hug-content .elementor-widget-text-editor p {
  margin: 0 !important;
  line-height: 1.2 !important;
}


/* Icon im Hug-Content optisch nach oben korrigieren */
.hug-content .elementor-widget-icon,
.hug-content .elementor-icon-wrapper,
.hug-content .elementor-icon,
.hug-content svg,
.hug-content i {
  line-height: 1 !important;
}

.hug-content .elementor-icon,
.hug-content .e-font-icon-svg,
.hug-content svg,
.hug-content i {
  transform: translateY(-6px);
}/* End custom CSS */