.elementor-kit-4737{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-4737 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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --op-teal:#59A3AE; --op-green:#77AB73; --op-teal-soft:#78A6A8; --op-paper:#EAE6E5; --op-stone:#C6CBC7; --op-kraft:#AD9C8C; --op-rose:#B95D71; --op-ink-900:#2E2E2E; --op-ink-700:#3F3F3F; --op-ink-500:#545454; --op-ink-300:#7C7C7C; --op-paper-050:#F6F4F3; --op-paper-300:#DED9D7; --surface-page:#F6F4F3; --surface-raised:#FFFFFF; --surface-sunken:#EAE6E5; --surface-ink:#2E2E2E; --surface-mint:#78A6A8; --text-display:#2E2E2E; --text-body-color:#3F3F3F; --text-muted:#545454; --text-on-ink:#F6F4F3; --text-on-ink-muted:#B9B5B3; --text-accent:#B95D71; --border-hairline:#D8D3D1; --border-strong:#C6CBC7; --fs-hero:clamp(2.75rem,7.2vw,7rem); --fs-display-1:clamp(2.25rem,5vw,4.5rem); --fs-display-2:clamp(1.875rem,3.6vw,3.25rem); --fs-heading-1:clamp(1.5rem,2.4vw,2.25rem); --fs-heading-2:clamp(1.25rem,1.7vw,1.625rem); --fs-lead:clamp(1.0625rem,1.35vw,1.375rem); --section-y:clamp(4rem,9vw,10rem); --gutter:clamp(1.25rem,4vw,4.5rem); --grid-gap:clamp(1rem,2vw,2rem); --fs-heading-3:1.125rem; --fs-body-lg:1.0625rem; --fs-body:1rem; --fs-body-sm:0.9375rem; --fs-caption:0.8125rem; --fs-label:0.75rem; --content-max:78.75rem; --space-3:0.75rem; --space-4:1rem; --space-5:1.5rem; --space-6:2rem; --space-7:2.5rem; --space-9:4rem; }
/* Start custom CSS *//* Ally-Barrierefreiheits-Button auf dem Handy kleiner (64 px -> 54 px) */
@media (max-width: 767px) {
  #ea11y-root { zoom: 0.84375; }
}

/* Handy: keine Elementor-Scroll-Bewegung (Parallax). Elementor ignoriert die Breakpoint-Ausnahme der Interaktionen. */
@media (max-width: 767px) {
  [data-id="3bf2941e"], [data-id="4ffe6263"], [data-id="aa97fd8"], [data-id="27fc422"],
  [data-id="47d9d321"], [data-id="2e69799a"], [data-id="2920e4ed"], [data-id="ecaab3a"] {
    transform: none !important;
  }
}
/* Tablet: Portraets in der Geschichte stehen im Raster, daher ohne Parallax */
@media (max-width: 1024px) {
  [data-id="2e69799a"], [data-id="2920e4ed"] { transform: none !important; }
}

/* Handy: Bilder-Karussell bewegt sich langsam, solange es sichtbar ist (cover: vom Einblenden unten bis zum Ausblenden oben).
   Weg 140vw (max. 289vw moeglich, sonst Luecke am Ende: 6 + 3x66 + 3x53 + 5x4 + 6 = 389vw Inhalt).
   Abschnitt mit overflow clip statt hidden, sonst greift die Scroll-Timeline nicht. */
@keyframes oe-strip-mobile { from { translate: 0 0; } to { translate: -140vw 0; } }
@media (max-width: 767px) {
  [data-id="aa97fd8"] { overflow-x: auto !important; }
  @supports (animation-timeline: view()) {
    [data-id="5e46d388"] { overflow: clip !important; }
    [data-id="aa97fd8"] {
      overflow: visible !important;
      animation: oe-strip-mobile linear both;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
  }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  [data-id="aa97fd8"] { animation: none !important; overflow-x: auto !important; }
}

/* Tablet: Karussell per CSS-Scroll-Animation statt Elementor-JavaScript (ruckelte beim Scrollen).
   Inhalt 34px + 3x26.35vw + 3x20.27vw + 5x1.5vw = 147.4vw + 34px -> max. Weg ohne Luecke 47.4vw + 34px, genutzt 46vw.
   Ohne Unterstuetzung fuer animation-timeline bleibt die Elementor-Bewegung aktiv. */
@keyframes oe-strip-tablet { from { translate: 0 0; } to { translate: -46vw 0; } }
@media (min-width: 768px) and (max-width: 1024px) {
  @supports (animation-timeline: view()) {
    [data-id="5e46d388"] { overflow: clip !important; }
    [data-id="aa97fd8"] {
      transform: none !important;
      will-change: translate;
      animation: oe-strip-tablet linear both;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
  }
}
@media (min-width: 768px) and (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  [data-id="aa97fd8"] { animation: none !important; }
}

/* Kontakt: Telefonnummer und E-Mail sollen eine Unterstreichung bekommen, die beim
   Hover aufzieht. Elementor hat die dafuer noetigen Angaben zu background-size und
   -position verworfen, dadurch fuellte der Farbverlauf die ganze Zeile. */
[data-id="55c367b2"], [data-id="3128d3b8"] {
  background-repeat: no-repeat !important;
  background-size: 0% 2px !important;
  background-position: 0% 100% !important;
  transition: background-size 300ms ease;
}
[data-id="55c367b2"]:hover, [data-id="3128d3b8"]:hover,
[data-id="55c367b2"]:focus-visible, [data-id="3128d3b8"]:focus-visible {
  background-size: 100% 2px !important;
}/* End custom CSS */