.elementor-kit-7{--e-global-color-primary:#002F39;--e-global-color-secondary:#CCDFE2;--e-global-color-text:#FFFFFF;--e-global-color-accent:#BDCB69;--e-global-typography-primary-font-family:"Fjalla One";--e-global-typography-primary-font-size:55px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:70px;--e-global-typography-secondary-font-family:"Archivo Narrow";--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:45px;--e-global-typography-text-font-family:"Source Sans 3";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"westgate";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#34778E;}.elementor-kit-7 a:hover{color:#002F39;}.elementor-kit-7 h1{color:var( --e-global-color-primary );}.elementor-kit-7 h2{color:var( --e-global-color-primary );}.elementor-kit-7 h3{color:var( --e-global-color-primary );}.elementor-kit-7 h4{color:var( --e-global-color-primary );}.elementor-kit-7 h5{color:var( --e-global-color-primary );}.elementor-kit-7 h6{color:var( --e-global-color-primary );}.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{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;}}/* Start custom CSS *//* ---------------------------------------------------------- */
/* 1) SYSTEM / THEME HEADLINES AUSBLENDEN                     */
/* ---------------------------------------------------------- */

.entry-title,
.page-title,
h1.entry-title,
h1.page-title,
.elementor-page-title,
h1.page-header-title,
h1.site-title,
.site-description,
p.site-description,
.header-tagline,
.tagline,
.site-slogan,
.site-subtitle {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap !important;
}


/* ---------------------------------------------------------- */
/* 2) DYNAMISCHE HEADLINES (nur wenn benutzt)                 */
/* ---------------------------------------------------------- */

.elementor-headline-dynamic-wrapper {
    width: auto !important;
    display: inline-block !important;
}

/* Verhindert Textquetschen in dynamischen Headlines */
.elementor-headline-dynamic-text {
    min-width: max-content !important;
}


/* ---------------------------------------------------------- */
/* 3) TYPOGRAFIE OVERRIDES                                   */
/* ---------------------------------------------------------- */

.override-typografie .elementor-headline-dynamic-text,
.override-typografie .elementor-headline-plain-text {
    font-size: var(--headline-size, inherit) !important;
    line-height: var(--headline-line-height, inherit) !important;
}

@media (max-width: 1024px) {
    .override-typografie .elementor-headline-dynamic-text,
    .override-typografie .elementor-headline-plain-text {
        font-size: var(--headline-size-tablet, var(--headline-size, inherit)) !important;
        line-height: var(--headline-line-height-tablet, var(--headline-line-height, inherit)) !important;
    }
}

@media (max-width: 767px) {
    .override-typografie .elementor-headline-dynamic-text,
    .override-typografie .elementor-headline-plain-text {
        font-size: var(--headline-size-mobile, var(--headline-size-tablet, var(--headline-size, inherit))) !important;
        line-height: var(--headline-line-height-mobile, var(--headline-line-height-tablet, var(--headline-line-height, inherit))) !important;
    }
}


/* ---------------------------------------------------------- */
/* 4) OVERLAY / TITLE OVERLAY FIX                             */
/* ---------------------------------------------------------- */

.titleoverlay {
    position: relative;
    display: inline-block;
}

.titleoverlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 47, 57, 0.4);
    z-index: 0;
}

.titleoverlay .elementor-heading-title {
    position: relative;
    z-index: 1;
}

.elementor-element.overlaybox::before {
    pointer-events: none !important;
}

@media (max-width: 1024px) {
  .elementor-element.overlaybox {
    --overlay-opacity: 0 !important;
  }
}


/* ---------------------------------------------------------- */
/* 5) VIDEO SPECIAL STYLES                                    */
/* ---------------------------------------------------------- */

.video-block {
  display: none;
}

.rounded-video iframe {
    border-radius: 15px !important;
    overflow: hidden;
}

.video-btn{
    cursor: pointer;
    transition: 0.2s;
}


/* ---------------------------------------------------------- */
/* 6) GLOBAL HYHENS / WRAP                                    */
/*    (wird später für responsive-break überschrieben!)       */
/* ---------------------------------------------------------- */

body {
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    overflow-wrap: break-word;
    word-break: normal;
}
/* Hintergrundfarbe für den nicht-genutzten Außenbereich */
body {
    background-color: #002F39;
}

/* SEITENBREITE AUF GROSSEN BILDSCHIRMEN */
/* Erzwingt einen künstlichen "Inner Wrapper" für Sections ohne Container */
.elementor-section > .elementor-container,
.elementor-section > .e-con-inner {
    max-width: inherit;
}

/* Falls Section eine eigene Breite hat (z. B. 85vw): zentrieren */
.elementor-section[style*="width"] {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Globaler Maximalrahmen */
@media (min-width: 2200px) {
    .elementor {
        max-width: 2200px;
        margin: 0 auto;
    }
}/* End custom CSS */