.elementor-2119 .elementor-element.elementor-element-429fe67a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-2119 .elementor-element.elementor-element-429fe67a:not(.elementor-motion-effects-element-type-background), .elementor-2119 .elementor-element.elementor-element-429fe67a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-bg-custom .vmm-root{--vmm-toggle-background:var( --e-global-color-6231643 );--vmm-toggle-background-custom:var( --e-global-color-6231643 );}.elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-bg-custom .vmm-toggle{background:var( --e-global-color-6231643 );background-color:var( --e-global-color-6231643 );}.elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-root{--vmm-toggle-icon:var( --e-global-color-127fda1 );--vmm-toggle-icon-custom:var( --e-global-color-127fda1 );}.elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle, .elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon, .elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon i, .elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon svg{color:var( --e-global-color-127fda1 );}.elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon svg, .elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon svg path, .elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon svg use, .elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon svg polygon, .elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon svg circle, .elementor-2119 .elementor-element.elementor-element-88059df.vmm-toggle-icon-custom .vmm-toggle .vmm-toggle-icon svg rect{fill:var( --e-global-color-127fda1 );}.elementor-2119 .elementor-element.elementor-element-88059df .vmm-root{--vmm-toggle-size:48px;--vmm-toggle-icon-size:24px;--vmm-toggle-radius:50px;--vmm-toggle-shadow-x:0px !important;--vmm-toggle-shadow-y:6px !important;--vmm-toggle-shadow-blur:20px !important;--vmm-toggle-shadow-spread:0px !important;--vmm-toggle-shadow-color:rgba(0,0,0,0.22) !important;--vmm-panel-width:390px;--vmm-panel-vw:88vw;--vmm-gap:12px;--vmm-blur:7px;--vmm-overlay:rgba(24,23,22,0.46);--vmm-logo-width:145px;}.elementor-2119 .elementor-element.elementor-element-88059df .vmm-title{color:#FFFFFF !important;-webkit-text-fill-color:#FFFFFF !important;}.elementor-2119 .elementor-element.elementor-element-88059df .vmm-close, .elementor-2119 .elementor-element.elementor-element-88059df .vmm-close i, .elementor-2119 .elementor-element.elementor-element-88059df .vmm-close svg{color:#FFFFFF !important;}.elementor-2119 .elementor-element.elementor-element-88059df .vmm-close svg, .elementor-2119 .elementor-element.elementor-element-88059df .vmm-close svg path, .elementor-2119 .elementor-element.elementor-element-88059df .vmm-close svg polygon, .elementor-2119 .elementor-element.elementor-element-88059df .vmm-close svg circle, .elementor-2119 .elementor-element.elementor-element-88059df .vmm-close svg rect{fill:currentColor !important;stroke:currentColor;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-menu-toggle{margin:0 auto;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main .elementor-item:hover,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main .elementor-item:focus{color:#fff;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-6231643 );}.elementor-2119 .elementor-element.elementor-element-397f425f .e--pointer-framed .elementor-item:before,
					.elementor-2119 .elementor-element.elementor-element-397f425f .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-6231643 );}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FFFFFF;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:var( --e-global-color-6231643 );}.elementor-2119 .elementor-element.elementor-element-397f425f .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-2119 .elementor-element.elementor-element-397f425f .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:var( --e-global-color-6231643 );}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a, .elementor-2119 .elementor-element.elementor-element-397f425f .elementor-menu-toggle{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a:hover,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a:focus,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a.highlighted,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-menu-toggle:hover,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-menu-toggle:focus{color:#FFFFFF;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a:hover,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a:focus,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a.highlighted{background-color:var( --e-global-color-6231643 );}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a.elementor-item-active{color:#FFFFFF;background-color:var( --e-global-color-6231643 );}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main .elementor-nav-menu--dropdown, .elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu__container.elementor-nav-menu--dropdown{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown li:not(:last-child){border-style:none;border-bottom-width:2px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-2119 .elementor-element.elementor-element-37b9e874 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-2119 .elementor-element.elementor-element-37b9e874{text-align:start;}.elementor-2119 .elementor-element.elementor-element-88059df > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown{border-radius:0px 0px 0px 0px;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:0px;border-top-right-radius:0px;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--dropdown a{padding-top:20px;padding-bottom:20px;}.elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-2119 .elementor-element.elementor-element-397f425f .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:30px !important;}}/* Start custom CSS *//* =========================================================
   SWR HEADER
   Smooth Shrink + Glass + Logo + Elementor Menu
   + Vizy Mobile Menu
   ========================================================= */


/* ---------------------------------------------------------
   Zentrale Werte
   --------------------------------------------------------- */

:root {
    --header-space-desktop: 28px;
    --header-space-mobile: 16px;
}


/* =========================================================
   HEADER
   ========================================================= */

.shrinker {
    position: relative;

    width: 100% !important;
    height: 125px;

    background: rgba(255, 255, 255, .98) !important;

    transition:
        height .62s cubic-bezier(.22, 1.15, .36, 1),
        padding .62s cubic-bezier(.22, 1.15, .36, 1),
        background .45s ease,
        box-shadow .50s ease,
        backdrop-filter .50s ease !important;

    -webkit-transition:
        height .62s cubic-bezier(.22, 1.15, .36, 1),
        padding .62s cubic-bezier(.22, 1.15, .36, 1),
        background .45s ease,
        box-shadow .50s ease,
        -webkit-backdrop-filter .50s ease !important;
}


/* =========================================================
   AKZENTLINIE
   ========================================================= */

.shrinker::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 2px;

    background: linear-gradient(
        90deg,
        #1689c9 0%,
        #002349 100%
    );

    transform: scaleX(0);
    transform-origin: left center;

    opacity: 0;

    transition:
        transform .72s cubic-bezier(.22, 1.15, .36, 1),
        opacity .40s ease;
}


/* =========================================================
   STICKY
   ========================================================= */

.shrinker.elementor-sticky--effects {
    height: 95px !important;

    padding-top: 2px !important;
    padding-bottom: 2px !important;

    background: rgba(255, 255, 255, .90) !important;

    backdrop-filter:
        blur(14px)
        saturate(125%);

    -webkit-backdrop-filter:
        blur(14px)
        saturate(125%);

    box-shadow:
        0 10px 25px rgba(0, 35, 73, .08),
        0 22px 45px rgba(0, 35, 73, .06);
}


.shrinker.elementor-sticky--effects::after {
    transform: scaleX(1);
    opacity: .9;
}


/* =========================================================
   LOGO CONTAINER
   ========================================================= */

.shrinking-logo {
    overflow: visible !important;

    margin-left: var(--header-space-desktop) !important;
    margin-right: 0 !important;
}


/* =========================================================
   LOGO
   ========================================================= */

.shrinking-logo img {
    width: 160px !important;

    transform:
        translateY(0)
        scale(1)
        translateZ(0);

    transform-origin: center center;

    transition:
        transform .68s cubic-bezier(.22, 1.15, .36, 1),
        filter .45s ease !important;

    transition-delay: .015s;

    will-change: transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}


.shrinker.elementor-sticky--effects .shrinking-logo img {
    transform:
        translateY(2px)
        scale(.60)
        translateZ(0);

    filter:
        drop-shadow(
            0 3px 8px rgba(0, 35, 73, .08)
        );
}


/* =========================================================
   ELEMENTOR DESKTOP MENU

   Wichtig:
   Nicht mehr pauschal alle ul li a im Header anfassen.
   Dadurch bleibt das Vizy Mobile Menu komplett unangetastet.
   ========================================================= */

.shrinker .elementor-nav-menu--main .elementor-item {
    transform:
        translateY(0)
        scale(1)
        translateZ(0);

    transform-origin: center center;

    transition:
        transform .58s cubic-bezier(.22, 1.10, .36, 1),
        opacity .32s ease,
        color .25s ease !important;

    will-change: transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}


.shrinker.elementor-sticky--effects
.elementor-nav-menu--main
.elementor-item {
    transform:
        translateY(1px)
        scale(.88)
        translateZ(0);

    opacity: .96;
}


.shrinker
.elementor-nav-menu--main
.elementor-item:hover {
    opacity: 1;
}


/* =========================================================
   VIZY MOBILE MENU ROOT

   WICHTIG:
   KEIN transform
   KEIN scale
   KEIN translateZ

   Overlay und Panel sind position: fixed und liegen innerhalb
   von .vmm-root.
   ========================================================= */

.shrinker .vmm-root {
    width: 100% !important;

    margin: 0 !important;

    transform: none !important;

    opacity: 1 !important;

    background: transparent !important;

    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
}


/* Auch im Sticky Zustand Root niemals transformieren */

.shrinker.elementor-sticky--effects .vmm-root {
    transform: none !important;

    opacity: 1 !important;

    background: transparent !important;
}


/* =========================================================
   VIZY MOBILE BUTTON

   Nur der sichtbare Button wird animiert.
   ========================================================= */

.shrinker .vmm-toggle {
    margin-right: var(--header-space-mobile) !important;

    transform:
        translateY(0)
        scale(1);

    transform-origin: center center;

    transition:
        transform .64s cubic-bezier(.22, 1.15, .36, 1),
        opacity .32s ease,
        box-shadow .40s ease !important;

    transition-delay: .03s;

    will-change: transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}


.shrinker.elementor-sticky--effects .vmm-toggle {
    transform:
        translateY(1px)
        scale(.92);

    opacity: .98;
}


/* =========================================================
   MOBILE MENU ICON
   ========================================================= */

.shrinker .vmm-toggle-icon,
.shrinker .vmm-toggle-icon svg,
.shrinker .vmm-toggle-icon i {
    transition:
        transform .58s cubic-bezier(.22, 1.15, .36, 1) !important;
}


.shrinker.elementor-sticky--effects .vmm-toggle-icon {
    transform: scale(.96);
}


/* =========================================================
   VIZY PANEL UND OVERLAY

   Explizit vom Header Shrink isolieren
   ========================================================= */

.vmm-root .vmm-overlay,
.vmm-root .vmm-panel,
.vmm-root .vmm-content,
.vmm-root .vmm-nav,
.vmm-root .vmm-menu {
    transform-origin: initial !important;
}


/* Panel darf ausschließlich seine Plugin eigene
   Slide Animation verwenden */

.vmm-root .vmm-panel.vmm-side-left {
    transform: translateX(-105%);
}

.vmm-root .vmm-panel.vmm-side-right {
    transform: translateX(105%);
}

.vmm-root .vmm-panel.vmm-open {
    transform: translateX(0);
}


/* =========================================================
   STACKING BEIM GEÖFFNETEN MENÜ

   Overlay liegt über der Seite.
   Panel liegt über Overlay.
   ========================================================= */

body.vmm-body-open .elementor-location-header,
body.vmm-body-open header,
body.vmm-body-open .shrinker {
    z-index: 2147483000 !important;
}


body.vmm-body-open .vmm-root {
    z-index: 2147483001 !important;
}


.vmm-overlay {
    z-index: 2147483002 !important;
}


.vmm-panel {
    z-index: 2147483003 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .shrinker {
        transition:
            height .52s cubic-bezier(.22, 1.15, .36, 1),
            padding .52s cubic-bezier(.22, 1.15, .36, 1),
            background .40s ease,
            box-shadow .42s ease !important;
    }


    .shrinker.elementor-sticky--effects {
        backdrop-filter:
            blur(10px)
            saturate(120%);

        -webkit-backdrop-filter:
            blur(10px)
            saturate(120%);

        box-shadow:
            0 8px 24px rgba(0, 35, 73, .08);
    }


    /* Linie */

    .shrinker::after {
        height: 1px;
    }


    /* Logo links */

    .shrinking-logo {
        margin-left: var(--header-space-mobile) !important;
        margin-right: 0 !important;
    }


    /* Logo Sticky */

    .shrinker.elementor-sticky--effects
    .shrinking-logo img {
        transform:
            translateY(1px)
            scale(.66)
            translateZ(0);
    }


    /* Root bleibt komplett untransformiert */

    .shrinker .vmm-root,
    .shrinker.elementor-sticky--effects .vmm-root {
        width: 100% !important;

        margin: 0 !important;

        transform: none !important;

        background: transparent !important;

        opacity: 1 !important;
    }


    /* Abstand rechts sitzt ausschließlich am Button */

    .shrinker .vmm-toggle {
        margin-right:
            var(--header-space-mobile) !important;
    }


    /* Mobile Sticky Button */

    .shrinker.elementor-sticky--effects
    .vmm-toggle {
        transform:
            translateY(1px)
            scale(.92);
    }
}


/* =========================================================
   REDUZIERTE BEWEGUNG
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .shrinker,
    .shrinker::after,
    .shrinking-logo img,
    .shrinker .elementor-nav-menu--main .elementor-item,
    .shrinker .vmm-toggle,
    .shrinker .vmm-toggle-icon {
        transition: none !important;
    }
}/* End custom CSS */