.elementor-kit-9{--e-global-color-primary:#494948;--e-global-color-secondary:#FDFDFD;--e-global-color-text:#494948;--e-global-color-accent:#1C5AA7;--e-global-color-2617eb0:#FDFDFD;--e-global-color-a8e84b9:#F5F5F5;--e-global-typography-primary-font-family:"Open Sans Variable";--e-global-typography-secondary-font-family:"Open Sans Variable";--e-global-typography-text-font-family:"Open Sans Variable";--e-global-typography-text-font-size:clamp(1rem, 1vw + 1rem, 1.125rem);--e-global-typography-text-line-height:clamp(1.5, 1.75vw + 1rem, 1.8);--e-global-typography-accent-font-family:"Open Sans Variable";--e-global-typography-accent-font-style:italic;--e-global-typography-7d5e254-font-family:"Open Sans Variable";--e-global-typography-7d5e254-font-size:clamp(2.5rem, 4vw + 1rem, 3rem);--e-global-typography-7d5e254-font-style:normal;--e-global-typography-7d5e254-line-height:clamp(1.2, 2vw + 1rem, 1.4);--e-global-typography-c4fac65-font-family:"Open Sans Variable";--e-global-typography-c4fac65-font-size:clamp(1.75rem, 3vw + 1rem, 2rem);--e-global-typography-c4fac65-font-style:normal;--e-global-typography-c4fac65-line-height:clamp(1.4, 1.5vw + 1rem, 1.6);--e-global-typography-a1e75d5-font-family:"Open Sans Variable";--e-global-typography-a1e75d5-font-size:clamp(1.25rem, 2vw + 1rem, 1.5rem);--e-global-typography-a1e75d5-font-style:normal;--e-global-typography-a1e75d5-line-height:clamp(1.6, 1vw + 1rem, 1.8);--e-global-typography-4db4564-font-family:"Open Sans Variable";--e-global-typography-4db4564-font-size:clamp(1rem, 1.5vw + 1rem, 1.25rem);--e-global-typography-4db4564-font-style:normal;--e-global-typography-4db4564-line-height:clamp(1.6, 0.75vw + 1rem, 1.8);--e-global-typography-a623e97-font-family:"Open Sans Variable";--e-global-typography-a623e97-font-size:1rem;--e-global-typography-a623e97-font-style:normal;--e-global-typography-a623e97-line-height:clamp(1.4, 0.3vw + 1.3, 1.6);--e-global-typography-658c4dd-font-family:"Open Sans Variable";--e-global-typography-658c4dd-font-size:1.4rem;--e-global-typography-658c4dd-font-style:normal;--e-global-typography-658c4dd-line-height:clamp(1.4, 1.5vw + 1rem, 1.6);--e-global-typography-b320712-font-family:"Open Sans Variable";--e-global-typography-b320712-font-size:clamp(0.8rem, 1vw + 0.7rem, 1.0rem);--e-global-typography-b320712-line-height:clamp(1.4, 0.3vw + 1.3, 1.6);--e-global-typography-700e459-font-size:clamp(1rem, 1.5vw + 1rem, 1.25rem);--e-global-typography-700e459-font-weight:700;--e-global-typography-700e459-line-height:clamp(1.6, 0.75vw + 1rem, 1.8);--e-global-typography-10a4d6f-font-family:"Open Sans Variable";--e-global-typography-10a4d6f-font-size:clamp(1.25rem, 2vw + 1rem, 1.5rem);--e-global-typography-10a4d6f-line-height:clamp(1.6, 1vw + 1rem, 1.8);color:var( --e-global-color-text );font-family:"Open Sans Variable", Sans-serif;font-size:clamp(1rem, 1vw + 1rem, 1.125rem);line-height:clamp(1.5, 1.75vw + 1rem, 1.8);}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:var( --e-global-color-accent );font-family:"Open Sans Variable", Sans-serif;font-size:1rem;line-height:clamp(1.5, 1.75vw + 1rem, 1.8);}.elementor-kit-9 a:hover{color:var( --e-global-color-text );font-family:"Open Sans Variable", Sans-serif;font-size:1rem;line-height:clamp(1.5, 1.75vw + 1rem, 1.8);}.elementor-kit-9 h1{color:var( --e-global-color-accent );font-family:"Open Sans Variable", Sans-serif;font-size:clamp(2.5rem, 4vw + 1rem, 3rem);line-height:clamp(1.2, 2vw + 1rem, 1.4);}.elementor-kit-9 h2{color:var( --e-global-color-primary );font-family:"Open Sans Variable", Sans-serif;font-size:1px;}.elementor-kit-9 h3{color:var( --e-global-color-primary );font-family:"Open Sans Variable", Sans-serif;}.elementor-kit-9 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;}.elementor-kit-9 h5{color:var( --e-global-color-primary );font-family:"Open Sans Variable", Sans-serif;font-size:clamp(1.25rem, 2vw + 1rem, 1.5rem);line-height:clamp(1.6, 1vw + 1rem, 1.8);}.elementor-kit-9 h6{color:var( --e-global-color-primary );font-family:"Open Sans Variable", Sans-serif;font-size:clamp(1rem, 1.5vw + 1rem, 1.25rem);line-height:clamp(1.6, 0.75vw + 1rem, 1.8);}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.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);}@media(max-width:1024px){.elementor-kit-9{--e-global-typography-658c4dd-font-size:1.2rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-9{--e-global-typography-658c4dd-font-size:1.1rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.fliesstext {
text-align: justify !important;
text-align-last: left;
hyphens: auto;
}
/* =========================================================
   FULLSCREEN GLASS MENU
   Farben:
   Blau: #1c5aa7
   Grau: #494948
   ========================================================= */

:root {
    --menu-blue: #1c5aa7;
    --menu-gray: #494948;
    --menu-white: #ffffff;
}


/* =========================================================
   1. HAMBURGER-BUTTON IM HEADER
   CSS-Klasse: glass-menu-trigger
   ========================================================= */

.glass-menu-trigger {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--menu-white);
    background: rgba(28, 90, 167, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 0%;

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);

    box-shadow: 0 12px 35px rgba(73, 73, 72, 0.28);

    cursor: pointer;

    transition:
        background 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.glass-menu-trigger:hover {
    background: var(--menu-gray);
    transform: scale(1.06);
    box-shadow: 0 15px 40px rgba(73, 73, 72, 0.4);
}

.glass-menu-trigger .elementor-icon,
.glass-menu-trigger .elementor-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--menu-white) !important;
}

.glass-menu-trigger svg {
    width: 24px;
    height: 24px;
    fill: var(--menu-white) !important;
}


/* =========================================================
   2. ELEMENTOR-POPUP ZURÜCKSETZEN
   ========================================================= */

.elementor-popup-modal:has(.glass-menu-surface) {
    padding: 0 !important;
}

.elementor-popup-modal:has(.glass-menu-surface)
.dialog-widget-content {
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    overflow: visible !important;
}

.elementor-popup-modal:has(.glass-menu-surface)
.dialog-message {
    width: 100%;
    height: 100%;

    padding: 0 !important;
    overflow: visible !important;
}


/* =========================================================
   3. GLAS-OBERFLÄCHE
   CSS-Klasse: glass-menu-surface
   ========================================================= */

.glass-menu-surface {
    position: relative;

    width: 100vw;
    min-height: 100vh;
    min-height: 100dvh;

    padding: 80px 7vw;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(28, 90, 167, 0.72),
            transparent 45%
        ),
        radial-gradient(
            circle at 85% 80%,
            rgba(28, 90, 167, 0.32),
            transparent 42%
        ),
        rgba(73, 73, 72, 0.82);

    -webkit-backdrop-filter: blur(28px) saturate(135%);
    backdrop-filter: blur(28px) saturate(135%);

    overflow: visible !important;
}


/* =========================================================
   4. HAUPTNAVIGATION
   CSS-Klasse am Nav-Menu-Widget: glass-nav
   ========================================================= */

.glass-nav,
.glass-nav nav,
.glass-nav ul,
.glass-nav .elementor-widget-container {
    overflow: visible !important;
}

.glass-nav ul {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
    background: transparent !important;
}

.glass-nav li {
    position: relative;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
}

/* Hauptmenülinks */

.glass-nav > .elementor-widget-container > nav > ul > li > a,
.glass-nav .elementor-nav-menu--main > ul > li > a {
    position: relative;

    width: max-content;
    max-width: 100%;

    display: inline-flex !important;
    align-items: center;
    flex-wrap: nowrap;

    padding: 0.08em 0.15em !important;

    color: var(--menu-white) !important;
    background: transparent !important;

    font-size: clamp(2.75rem, 7vw, 6.5rem);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.045em;
    text-decoration: none;
    white-space: nowrap;

    transition:
        color 0.3s ease,
        transform 0.4s cubic-bezier(.16, 1, .3, 1);
}

/* Blaue Linie unter Hauptmenüpunkten */

.glass-nav > .elementor-widget-container > nav > ul > li > a::after,
.glass-nav .elementor-nav-menu--main > ul > li > a::after {
    content: "";

    position: absolute;
    right: 0.15em;
    bottom: 0;
    left: 0.15em;

    width: auto !important;
    height: 1px;

    background: #ffffff !important;height: 1px;

    opacity: 1 !important;
    transform: scaleX(0);
    transform-origin: right;

    transition:
        transform 0.45s cubic-bezier(.16, 1, .3, 1);
}

.glass-nav > .elementor-widget-container > nav > ul > li > a:hover,
.glass-nav > .elementor-widget-container > nav > ul > li > a:focus-visible,
.glass-nav .elementor-nav-menu--main > ul > li > a:hover,
.glass-nav .elementor-nav-menu--main > ul > li > a:focus-visible {
    color: var(--menu-white) !important;
    background: transparent !important;
    transform: translateX(12px);
}

.glass-nav > .elementor-widget-container > nav > ul > li > a:hover::after,
.glass-nav > .elementor-widget-container > nav > ul > li > a:focus-visible::after,
.glass-nav .elementor-nav-menu--main > ul > li > a:hover::after,
.glass-nav .elementor-nav-menu--main > ul > li > a:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Aktuelle Seite */

.glass-nav .current-menu-item > a {
    color: rgba(255, 255, 255, 0.68) !important;
}

.glass-nav .current-menu-item > a::after {
    transform: scaleX(1) !important;
}


/* =========================================================
   5. DEZENTER UNTERMENÜ-PFEIL
   ========================================================= */

.glass-nav li.menu-item-has-children > a {
    display: inline-flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 14px;

    width: max-content;
    white-space: nowrap;
}

/* Vorhandenes Elementor-Icon verstecken */

.glass-nav .sub-arrow i,
.glass-nav .sub-arrow svg {
    display: none !important;
}

/* Eigenen weißen Chevron erzeugen */

.glass-nav .sub-arrow {
    width: 9px !important;
    height: 9px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: inline-block !important;
    flex: 0 0 9px;

    color: var(--menu-white) !important;

    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;

    opacity: 0.6;
    transform: rotate(45deg);

    transition:
        opacity 0.25s ease,
        transform 0.3s ease;
}

.glass-nav li.menu-item-has-children:hover > a .sub-arrow,
.glass-nav li.menu-item-has-children > a:focus .sub-arrow,
.glass-nav li.menu-item-has-children > a.highlighted .sub-arrow {
    opacity: 1;
    transform: translateX(3px) rotate(45deg);
}


/* =========================================================
   6. UNTERMENÜ ÖFFNET SICH NACH RECHTS
   ========================================================= */

.glass-nav li.menu-item-has-children > .sub-menu {
    position: absolute !important;

    top: 50% !important;
    right: auto !important;
    left: calc(100% + 34px) !important;

    min-width: 230px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    transform: translateY(-50%);
}

/* Alle Elementor-Untermenü-Hintergründe entfernen */

.glass-nav .sub-menu,
.glass-nav .sub-menu li,
.glass-nav .sub-menu a,
.glass-nav .elementor-nav-menu--dropdown,
.glass-nav .elementor-nav-menu--dropdown ul {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Untermenülinks */

.glass-nav .sub-menu a {
    position: relative;

    width: max-content !important;

    display: inline-block !important;

    padding: 6px 0 !important;

    color: rgba(255, 255, 255, 0.72) !important;
    background: transparent !important;

    font-size: clamp(1.15rem, 2vw, 1.75rem) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
    text-decoration: none;
    white-space: nowrap;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.glass-nav .sub-menu a:hover,
.glass-nav .sub-menu a:focus-visible,
.glass-nav .sub-menu .current-menu-item > a {
    color: var(--menu-white) !important;
    background: transparent !important;
    transform: translateX(6px);
}

/* Dezente blaue Linie im Untermenü */

.glass-nav .sub-menu a::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;

    width: auto !important;
    height: 1px;

    background: var(--menu-blue) !important;

    opacity: 1 !important;
    transform: scaleX(0);
    transform-origin: right;

    transition: transform 0.35s ease;
}

.glass-nav .sub-menu a:hover::after,
.glass-nav .sub-menu a:focus-visible::after,
.glass-nav .sub-menu .current-menu-item > a::after {
    transform: scaleX(1);
    transform-origin: left;
}


/* =========================================================
   7. MENÜPUNKTE BEIM ÖFFNEN ANIMIEREN
   ========================================================= */

.glass-nav > .elementor-widget-container > nav > ul > li,
.glass-nav .elementor-nav-menu--main > ul > li {
    opacity: 0;
    transform: translateY(30px);

    animation: glassMenuItemIn
        0.7s
        cubic-bezier(.16, 1, .3, 1)
        forwards;
}

.glass-nav > .elementor-widget-container > nav > ul > li:nth-child(1),
.glass-nav .elementor-nav-menu--main > ul > li:nth-child(1) {
    animation-delay: 0.08s;
}

.glass-nav > .elementor-widget-container > nav > ul > li:nth-child(2),
.glass-nav .elementor-nav-menu--main > ul > li:nth-child(2) {
    animation-delay: 0.14s;
}

.glass-nav > .elementor-widget-container > nav > ul > li:nth-child(3),
.glass-nav .elementor-nav-menu--main > ul > li:nth-child(3) {
    animation-delay: 0.20s;
}

.glass-nav > .elementor-widget-container > nav > ul > li:nth-child(4),
.glass-nav .elementor-nav-menu--main > ul > li:nth-child(4) {
    animation-delay: 0.26s;
}

.glass-nav > .elementor-widget-container > nav > ul > li:nth-child(5),
.glass-nav .elementor-nav-menu--main > ul > li:nth-child(5) {
    animation-delay: 0.32s;
}

.glass-nav > .elementor-widget-container > nav > ul > li:nth-child(6),
.glass-nav .elementor-nav-menu--main > ul > li:nth-child(6) {
    animation-delay: 0.38s;
}

@keyframes glassMenuItemIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   8. SCHLIESSEN-BUTTON
   ========================================================= */

.elementor-popup-modal:has(.glass-menu-surface)
.dialog-close-button {
    top: 26px !important;
    right: 30px !important;

    width: 58px;
    height: 58px;

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

    color: var(--menu-white) !important;
    background: rgba(28, 90, 167, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);

    box-shadow: 0 12px 35px rgba(73, 73, 72, 0.3);

    opacity: 1 !important;

    transition:
        background 0.3s ease,
        transform 0.35s ease;
}

.elementor-popup-modal:has(.glass-menu-surface)
.dialog-close-button:hover {
    color: var(--menu-white) !important;
    background: var(--menu-gray);
    transform: rotate(90deg);
}

.elementor-popup-modal:has(.glass-menu-surface)
.dialog-close-button svg {
    fill: var(--menu-white) !important;
}


/* =========================================================
   9. TABLET UND MOBIL
   Untermenü öffnet unter dem Hauptmenüpunkt
   ========================================================= */

@media (max-width: 767px) {
    .glass-menu-trigger {
        width: 52px;
        height: 52px;
    }

    .glass-menu-surface {
        min-height: 100vh;
        min-height: 100dvh;

        padding: 85px 24px 40px;

        align-items: flex-start;
        justify-content: center;
    }

    .glass-nav > .elementor-widget-container > nav > ul > li > a,
    .glass-nav .elementor-nav-menu--main > ul > li > a {
        font-size: clamp(2.5rem, 13vw, 4.25rem);
        letter-spacing: -0.035em;
    }

    .glass-nav li.menu-item-has-children > a {
        gap: 11px;
    }

    /* Pfeil zeigt mobil nach unten */

    .glass-nav .sub-arrow {
        transform: translateY(-2px) rotate(135deg);
    }

    .glass-nav li.menu-item-has-children:hover > a .sub-arrow,
    .glass-nav li.menu-item-has-children > a:focus .sub-arrow,
    .glass-nav li.menu-item-has-children > a.highlighted .sub-arrow {
        transform: translateY(1px) rotate(135deg);
    }

    /* Untermenü wird mobil eingerückt */

    .glass-nav li.menu-item-has-children > .sub-menu {
        position: relative !important;

        top: auto !important;
        right: auto !important;
        left: auto !important;

        min-width: 0 !important;

        margin: 10px 0 16px 24px !important;

        transform: none !important;
    }

    .glass-nav .sub-menu a {
        padding: 5px 0 !important;
        font-size: 1.2rem !important;
    }

    .elementor-popup-modal:has(.glass-menu-surface)
    .dialog-close-button {
        top: 18px !important;
        right: 18px !important;

        width: 52px;
        height: 52px;
    }
}


/* =========================================================
   10. REDUZIERTE BEWEGUNGEN
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .glass-nav li {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    .glass-nav a,
    .glass-nav a::after,
    .glass-nav .sub-arrow,
    .glass-menu-trigger,
    .dialog-close-button {
        transition: none !important;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Open Sans Variable';
	font-display: auto;
	src: url('https://h3projektbau-fzctim9j6f.live-website.com/wp-content/uploads/2025/11/OpenSans-VariableFont_wdthwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */