:root {
    --brandcolor-blue-light: #4f8fcd;
    --brandcolor-blue: #1a6099;
    --brandcolor-yellow: #f3e610;
    --brandcolor-green: #2d9359;

    --font-color: #222;

    --bg: #f0f1ee;

    --grey-50: #eef0f2;
    --grey-75: #e1e6e9;
    --grey-100: #d3dbdf;
    --grey-200: #b7c2cb;
    --grey-300: #99aab6;
    --grey-400: #8397a5;
    --grey-500: #6c8495;
    --grey-600: #5f7584;
    --grey-800: #404e57;

    --red: #c33;

    --full-width: 1920px;
    --max-width: 1680px;
    --standard-width: 1440px;

    --gap025: 3px;
    --gap05: 6px;
    --gap1: 12px;
    --gap105: 18px;
    --gap2: 24px;
    --gap205: 30px;
    --gap3: 36px;
    --gap305: 42px;
    --gap4: 48px;
    --gap5: 60px;
    --gap6: 72px;
    --gap7: 84px;
    --gap8: 96px;
    --gap9: 108px;
    --gap10: 120px;
    --gap11: 132px;
    --gap12: 144px;
    --gap14: 168px;

    --rem14: 0.875rem;
    --rem15: 0.9375rem;
    --rem16: 1rem;
    --rem17: 1.0625rem;
    --rem18: 1.125rem;
    --rem19: 1.1875rem;
    --rem20: 1.25rem;
    --rem22: 1.375rem;
    --rem24: 1.5rem;
    --rem25: 1.5625rem;
    --rem26: 1.625rem;
    --rem27: 1.6875rem;
    --rem29: 1.8125rem;
    --rem32: 2rem;
    --rem36: 2.25rem;
    --rem40: 2.5rem;
    --rem45: 2.8125rem;
    --rem48: 3rem;
    --rem54: 3.375rem;
    --rem64: 4rem;

    /*
    --swiper-theme-color: #0018a8;
    --swiper-navigation-size: 25px;
    --swiper-navigation-top-offset: calc(100% - 30px);

     */
    --swiper-navigation-size: 50px;
    --swiper-theme-color: var(--brandcolor-blue);

    --r5: 5px;
    --r10: 10px;
    --r15: 15px;
    --r20: 20px;
    --r25: 25px;
}


@media screen and (max-width: 1439px) {
    :root {
        --gap1: 12px;
        --gap105: 18px;
        --gap2: 24px;
        --gap3: 36px;
        --gap4: 48px;
        --gap5: 60px;
        --gap6: 72px;
        --gap7: 84px;
        --gap8: 96px;
        --gap9: 108px;
        --gap10: 120px;
        --gap11: 132px;
        --gap12: 144px;
        --gap14: 168px;
    }
}


@media screen and (min-width: 768px) and (max-width: 991px){
    .content-box {
        --r1: 7px;
        --r2: 10px;
        --r3: 13px;
        --r4: 17px;
        --r5: 20px;
    }
}


@media screen and (max-width: 767px) {
    :root {
        --gap1: 8px;
        --gap105: 12px;
        --gap2: 16px;
        --gap3: 24px;
        --gap4: 32px;
        --gap5: 40px;
        --gap6: 48px;
        --gap7: 56px;
        --gap8: 64px;
        --gap9: 72px;
        --gap10: 80px;
        --gap11: 88px;
        --gap12: 96px;
        --gap14: 112px;

        --r1: 7px;
        --r2: 10px;
        --r3: 13px;
        --r4: 17px;
        --r5: 20px;
    }
}


@media screen and (max-width: 424px) {
    :root {
        --gap1: 6px;
        --gap105: 9px;
        --gap2: 12px;
        --gap205: 15px;
        --gap3: 18px;
        --gap4: 24px;
        --gap5: 30px;
        --gap6: 36px;
        --gap7: 42px;
        --gap8: 48px;
        --gap9: 54px;
        --gap10: 60px;
        --gap11: 66px;
        --gap12: 72px;
        --gap14: 84px;

        --r1: 5px;
        --r2: 7px;
        --r3: 10px;
        --r4: 12px;
        --r5: 15px;
    }
}


/**
 * Contao Open Source CMS
 *
 * Copyright (c) 2005-2014 Leo Feyer
 *
 * @package Core
 * @link    https://contao.org
 * @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
 */


/**
 * Standardize some basic elements
 */


body,form,figure {
    margin:0;
    padding:0;
}


img {
    border:0;
}


header,footer,nav,section,aside,article,figure,figcaption {
    display:block;
}


/**
 * Fix some font issues
 */


body {
    font-size:100.01%;
}


select,input,textarea {
    font-size:99%;
}


/**
 * Fix some positioning issues
 */


#container,.inside {
    position:relative;
}


/**
 * Hide invisible elements
 */


.invisible {
    border:0;
    clip:rect(0 0 0 0);
    height:1px;
    margin:-1px;
    overflow:hidden;
    padding:0;
    position:absolute;
    width:1px;
}


/**
 * Custom layout sections
 */


.custom {
    display:block;
}


#container:after,.custom:after {
    content:"";
    display:table;
    clear:both;
}


/**
 * Float classes (see #6851)
 */


.float_left,
.media--left > figure {
    float:left;
}


.float_right,
.media--right > figure {
    float:right;
}


/**
* Clear floats
*/


.block {
    overflow:hidden;
}


.media {
    display:flow-root;
}


.clear,#clear {
    height:0.1px;
    font-size:0.1px;
    line-height:0.1px;
    clear:both;
}


* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}


iframe {
    border: none;
}


/**
 * Responsive videos (see #1348)
 */


.video_container video {
    max-width:100%;
    height:auto;
}


.aspect,
.responsive {
    position:relative;
    height:0;
}


.aspect iframe,
.responsive iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}


.aspect--16\:9,
.responsive.ratio-169 {
    padding-bottom:56.25%;
}


.aspect--16\:10,
.responsive.ratio-1610 {
    padding-bottom:62.5%;
}


.aspect--21\:9,
.responsive.ratio-219 {
    padding-bottom:42.8571%;
}


.aspect--4\:3,
.responsive.ratio-43 {
    padding-bottom:75%;
}


.aspect--3\:2,
.responsive.ratio-32 {
    padding-bottom:66.6666%;
}


html {
    font-family: "Work Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 100%;
    color: var(--font-color);
}


:is(h1,h2,h3,h4,h5,h6) {
    font-optical-sizing: auto;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 0;
}


h1 {
    font-family: "Work Sans", sans-serif;
    color: var(--brandcolor-green);
    font-weight: 500;
    margin-bottom: 0;
}


h1 + .rte > p:first-child {
    margin-top: 0;
}


h1 + .rte > p:last-child {
    margin-bottom: 0;
}


h3 {
    margin-bottom: var(--gap1) !important;
}


.content-text p,
.lead-headline-teaser p {
    font-family: "Source Serif 4", serif;
    line-height: 150%;
    letter-spacing: 0.03em;
}


:where(.content-bannerbox, .contao-box-base, .content-column) .content-text p {
    font-family: "Work Sans", sans-serif;
}


p {
    font-size: var(--rem18);
}


p.info,
p.back,
#footer p {
    font-family: "Work Sans", sans-serif;
    font-size: var(--rem16);
}


a {
    color: var(--brandcolor-blue);
}


a:hover {
        text-decoration: none;
    }


#overlay_navigation ul.level_1 * {
        font-size: var(--rem24);
    }


#overlay_navigation ul.level_2 * {
        font-size: var(--rem20);
    }


@media screen and (min-width: 768px){
    p {
        font-size: var(--rem20);
    }

    .content-text p,
    .lead-headline-teaser p {
        font-size: var(--rem19);
    }
        #overlay_navigation ul.level_1 * {
            font-size: var(--rem40);
        }

        #overlay_navigation ul.level_2 * {
            font-size: var(--rem32);
        }
}


@media screen and (min-width: 1024px){
    h1 {
        font-size: var(--rem48);
    }

    .layout_full h1 {
        font-size: var(--rem36);
    }

    h2 {
        font-size: var(--rem27);
    }

    :where(.content-bannerbox, .contao-box-base, .content-column) .content-text p {
        font-size: var(--rem18);
    }

    .content-list,
    .content-download,
    .content-downloads {
        font-size: var(--rem18);
    }
}


html {
    background-color: var(--bg);
}


body::before {
    content: '';
    display: block;
    height: var(--header-height, 0);
}


#wrapper {
    width: 100%;
}


#header + div {
    padding-top: 124px;
}


body.no-scroll {
    overflow: hidden;
    -ms-touch-action: none;
        touch-action: none;
}


@media screen and (min-width: 768px){
}


#hero {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 124px 0 0 0;
    text-align: center;
}


#hero .content-text {
        margin-bottom: 0 !important;
    }


#hero .inside > *:first-child > *:first-child:not(.content-image)  {
        padding-top: var(--gap4);
    }


#hero picture,
    #hero figure {
        border-radius: 0 !important;
    }


#hero figcaption {
        display: none;
    }


.cinematic-hero {
    position: relative;
    overflow: hidden;
    padding-top: 0 !important;
    padding-bottom: var(--gap4);

}


.cinematic-hero .swiper {
        overflow: hidden;
        border-radius: 0 !important;
    }


.cinematic-hero .swiper-slide {
        position: relative;
        overflow: hidden;
        border-radius: 0 !important;
    }


.cinematic-hero .content-image,
    .cinematic-hero figure,
    .cinematic-hero picture {
        display: block;
        border-radius: 0 !important;
    }


.cinematic-hero figure {
        margin: 0;
    }


.cinematic-hero figure figcaption {
            display: block;
            position: absolute;
            bottom: 0px;

            left: 50%;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);

            border-top-right-radius: var(--r10);
            border-top-left-radius: var(--r10);

            padding: var(--gap1) var(--gap4);
            z-index: 1000;
            background: var(--bg);
            font-size: var(--rem20);
        }


.cinematic-hero figcaption {
        display: block !important;
    }


.cinematic-hero .swiper-wrapper img {
        display: block;
        width: 100%;
        height: auto;

        -webkit-transform: scale(1);

            -ms-transform: scale(1);

                transform: scale(1);
        -webkit-transform-origin: 50% 50%;
            -ms-transform-origin: 50% 50%;
                transform-origin: 50% 50%;

        will-change: transform;
    }


.cinematic-hero .swiper-slide {
        position: relative;
        overflow: hidden;
        aspect-ratio: 2000 / 600;
    }


.cinematic-hero .swiper-wrapper img {
        display: block;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;

        -webkit-transform: scale(1);

            -ms-transform: scale(1);

                transform: scale(1);
        -webkit-transform-origin: 50% 50%;
            -ms-transform-origin: 50% 50%;
                transform-origin: 50% 50%;

        will-change: transform;
    }


.cinematic-hero .swiper-slide-active img {
        -webkit-animation: nestweiher-cinematic 10s
        cubic-bezier(.22, .61, .36, 1)
        forwards;
                animation: nestweiher-cinematic 10s
        cubic-bezier(.22, .61, .36, 1)
        forwards;
    }


.cinematic-hero .swiper-navigation-icon {
        color: white;
        -webkit-filter: drop-shadow(15px 0 0 #000);
                filter: drop-shadow(15px 0 0 #000);
    }


.cinematic-hero .swiper-pagination {
        display: none !important;
    }


.swiper-navigation-icon {
    color: white;
    -webkit-filter: drop-shadow(15px 0 0 #000);
            filter: drop-shadow(15px 0 0 #000);
}


@-webkit-keyframes nestweiher-cinematic {
    from {
        -webkit-transform:
                scale(1)
                translate3d(0, 0, 0);
                transform:
                scale(1)
                translate3d(0, 0, 0);
    }

    to {
        -webkit-transform:
                scale(1.1)
                translate3d(-0.7%, -0.3%, 0);
                transform:
                scale(1.1)
                translate3d(-0.7%, -0.3%, 0);
    }
}


@keyframes nestweiher-cinematic {
    from {
        -webkit-transform:
                scale(1)
                translate3d(0, 0, 0);
                transform:
                scale(1)
                translate3d(0, 0, 0);
    }

    to {
        -webkit-transform:
                scale(1.1)
                translate3d(-0.7%, -0.3%, 0);
                transform:
                scale(1.1)
                translate3d(-0.7%, -0.3%, 0);
    }
}


@media (prefers-reduced-motion: reduce) {
    .cinematic-hero img,
    .cinematic-hero .swiper-slide-active img {
        -webkit-animation: none;
                animation: none;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
    }
}


#header {
    background-color: var(--brandcolor-yellow);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    will-change: transform;
}


#header > .inside {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        overflow: hidden;
        max-width: var(--standard-width);
        margin: 0 auto;
        padding: 0 var(--gap2);
    }


#logo {
    width: 160px;
}


#logo a {
        display: block;
        background-color: white;
    }


#logo img {
        width: 100%;
        height: auto;
        margin: 0;
    }


#nav_main_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--gap2);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}


#nav_main_wrapper > div:first-child {
        display: none;
    }


/* hamburger */


#ha {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 50%;
    height: 60px;
    width: 60px;
}


#ha span:last-child {
        display: inline-block;
        text-indent: -9999em;
    }


#ha .to span,
    #ha .to span:before,
    #ha .to span:after {
        display: block;
        content: "";
        height: 3px;
        border-radius: 10px;
        width: 30px;
        background-color: var(--brandcolor-blue);
    }


#ha .to {
        position: relative;
        height: 21px;
        margin-left: 10px;
    }


#ha .to span:before,
    #ha .to span:after {
        position: absolute;
    }


#ha .to span:before {
        top: 9px;
    }


#ha .to span:after {
        top: 18px;
    }


/* overlay */


.overlay {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: var(--brandcolor-blue);
    position: fixed;
    inset: 0;
    z-index: 1000;
    -webkit-animation: fadeIn 1.4s;
            animation: fadeIn 1.4s;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 100vh;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    overflow: auto;
}


/* Innerer Container mit max-width */


.overlay-inner {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}


/* Content-Spalten */


.overlay_content_left,
.overlay_content_right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: var(--gap8) var(--gap2) var(--gap2) var(--gap2);
}


.overlay_content_right {
    padding-top: var(--gap3);
    padding-left: 77px;
}


.mod_navigation {
    overflow: visible;
}


.nav_main_desktop ul,
    .nav_main_desktop li {
        margin: 0;
        padding: 0;
        list-style: none;
    }


.nav_main_desktop ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 32px;
    }


.nav_main_desktop li,
    .nav_main_desktop a {
        font-size: var(--rem18);
        font-weight: 500;
        color: var(--font-color);
        text-decoration: none;
    }


.nav_main_desktop a {
        border-top: 1px solid var(--brandcolor-yellow);
    }


.nav_main_desktop a:hover {
        border-top: 1px solid var(--brandcolor-green);
        color: var(--brandcolor-green);
    }


.nav_main {
    z-index: 1;

}


.nav_main ul,
    .nav_main li {
        margin: 0;
        padding: 0;
        list-style: none;
        background: inherit !important;
    }


.nav_main * {
        background: inherit !important;
    }


.nav_main ul {
        position: relative;
        overflow: visible;
    }


.nav_main li {
        margin: 0 0 var(--gap2);
    }


.nav_main a,
    .nav_main strong {
        text-decoration: none;
        color: var(--font-color);
        font-size: var(--rem20);
        font-weight: 500;
    }


#overlay_navigation ul {
        margin: 0 var(--gap1);
        padding: 0;
    }


#overlay_navigation ul.level_2 {
        margin-left: var(--gap2);
    }


#overlay_navigation li {
        margin: 0;
        padding: 0;
        list-style: none;
    }


#overlay_navigation * {
        font-weight: 400;
    }


#overlay_navigation a,
    #overlay_navigation strong {
        display: block;
        padding: 10px 0;
        text-decoration: none;
        color: white;
    }


#overlay_navigation strong,
    #overlay_navigation a:hover {
        text-decoration: underline;
    }


.close-button {
    position: absolute;
    right: 8px;
    top: 5px;
    width: 40px;
    height: 40px;
    -ms-flex-item-align: start;
        align-self: flex-start;
    cursor: pointer;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    z-index: 1000000;
}


.close-button:before,
    .close-button:after {
        position: absolute;
        display: block;
        content: "";
        top: 0;
        width: 40px;
        height: 3px;
        border-radius: 20px;
        background-color: white;
    }


.close-button:before {
        top: 23px;
    }


.close-button:after {
        top: 24px;
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg);
    }


.open #overlay_navigation {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


@media screen and (min-width: 375px){
            .nav_main li a,
            .nav_main li strong {
                font-size: var(--rem24);
            }
}


@media screen and (min-width: 768px){
        #nav_main_wrapper > div:first-child {
            display: block;
        }
        #ha .to span,
        #ha .to span:before,
        #ha .to span:after {
            height: 3px;
            width: 40px;
        }

        #ha .to {
            height: 26px;
        }

        #ha .to span:before {
            top: 11px;
        }

        #ha .to span:after {
            top: 23px;
        }

    .close-button {
        right: 32px;
        top: 32px;
        width: 55px;
        height: 50px;
    }

        .close-button:before,
        .close-button:after {
            width: 55px;
        }

    .overlay-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    }

    .overlay_content_left,
    .overlay_content_right {
        padding-top: var(--gap12);
    }

    .overlay_content_right {
        padding-left: var(--gap2);
    }

    .nav_main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .nav_main ul::before {
            position: absolute;
            top: -20px;
            left: 0;
        }
            .nav_main li a,
            .nav_main li strong {
                font-size: var(--rem25);
            }

        .nav_main li:first-child {
            padding-top: 18px;
        }
}


@media screen and (min-width: 912px){
    #nav_main_wrapper ul {
        gap: var(--gap2);
    }

    .overlay-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: space-evenly;
            -ms-flex-pack: space-evenly;
                justify-content: space-evenly;
    }
        .nav_overlay_footer a {
            gap: var(--gap05);
            text-indent: 0;
        }
}


@media screen and (min-width: 1024px) {
        .overlay-footer .footer-inner {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
        }
            .nav_main li a,
            .nav_main li strong {
                font-size: var(--rem32);
            }

        .nav_main li:first-child {
            padding-top: 14px;
        }
}


@media screen and (min-width: 1440px){
        .nav_main li {
            margin-bottom: 25px;
        }

            .nav_main li a,
            .nav_main li strong {
                font-size: var(--rem36);
                line-height: 40px;
            }

        .nav_main li:first-child {
            padding-top: 14px;
        }
}


#main {
    padding-top: var(--gap9);
}


#main .mod_article {
        padding-right: var(--gap2);
        padding-left: var(--gap2);
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
    }


#main .mod_article.max-width {
        max-width: 1680px;
    }


#prefooter {
    margin-top: 100px;
    background-color: color-mix(
            in srgb,
            var(--bg) 80%,
            black 3%
    );
}


#prefooter .inside {
        max-width: var(--standard-width);
        margin-right: auto;
        margin-left: auto;
        padding: var(--gap2);
    }


#footer {
    overflow: hidden;
    background-color: color-mix(
            in srgb,
            var(--brandcolor-blue) 80%,
            white 75%
    );
}


#footer .inside {
        position: relative;
    }


#footer .inside  > div {
        max-width: var(--standard-width);
        margin-right: auto;
        margin-left: auto;
        padding: var(--gap1) var(--gap2) 40px var(--gap2);
    }


#footer a {
        color: var(--font-color);
    }


#footer a:hover {
            text-decoration: none;
        }


#footer .content-hyperlink {
        float: left;
        margin-right: var(--gap2);
        margin-bottom: var(--gap2);
        white-space: nowrap;
    }


.hyperlink-spenden {

}


.footer-wave {
    display: block;
    width: 100%;
    height: 40px;
    margin: 0;
    overflow: hidden;
}


.wave {
    stroke: var(--brandcolor-blue);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.wave-group {
    -webkit-animation: wave-scroll 8s linear infinite;
            animation: wave-scroll 8s linear infinite;
}


@-webkit-keyframes wave-scroll {
    0% { -webkit-transform: translateX(0); transform: translateX(0); }
    100% { -webkit-transform: translateX(-300px); transform: translateX(-300px); }
}


@keyframes wave-scroll {
    0% { -webkit-transform: translateX(0); transform: translateX(0); }
    100% { -webkit-transform: translateX(-300px); transform: translateX(-300px); }
}


.duckfamily {
    position: absolute;
    bottom: 20px;
    left: 100%;
    width: 100px;
    padding: 0 !important;
    -webkit-animation-name: ducks-swim;
            animation-name: ducks-swim;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
}


.duckfamily img {
        width: auto;
        height: auto;
    }


@-webkit-keyframes ducks-swim {
    from {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }

    to {
        -webkit-transform: translateX(calc(-100vw - 100%));
                transform: translateX(calc(-100vw - 100%));
    }
}


@keyframes ducks-swim {
    from {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }

    to {
        -webkit-transform: translateX(calc(-100vw - 100%));
                transform: translateX(calc(-100vw - 100%));
    }
}


@media screen and (min-width: 768px){
    .footer-content-left {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--gap2);
    }
        #footer .content-hyperlink {
            margin-bottom: 0;
            margin-right: var(--gap1);
        }
}


@media screen and (min-width: 1200px){
    .footer-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: var(--gap2);
    }
}


.pagination {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;


}


.pagination p {
        display: none;
    }


.pagination ul,
    .pagination li {
        margin: 0;
        padding: 0;
        list-style: none;
    }


.pagination ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }


.pagination li strong,
    .pagination li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 40px;
        height: 40px;
        border: 1px solid var(--brandcolor-blue-light);
        border-top-width: 2px;
        border-bottom-width: 2px;

        color: var(--brandcolor-blue);
        text-decoration: none;
        font-weight: normal;
    }


.pagination li strong:hover, .pagination li a:hover {
            background-color: var(--brandcolor-blue-light);
            border-color: var(--brandcolor-blue-light);
            color: white;
        }


.pagination li:first-child a,
        .pagination li:first-child strong {
            border-top-left-radius: 100px;
            border-bottom-left-radius: 100px;
            border-left-width: 2px;
        }


.pagination li:last-child a,
        .pagination li:last-child strong {
            border-top-right-radius: 100px;
            border-bottom-right-radius: 100px;
            border-right-width: 2px;
        }


.w50-50,
.w30-70,
.w70-30 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}


.w50-50 > div, .w30-70 > div, .w70-30 > div {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }


.ce_form {
    position: relative;
    margin-top: var(--gap6);
    margin-bottom: var(--gap6);
    display: flow-root;
    overflow: visible;
    background-color: var(--grey-100) !important;
    border-radius: 8px;
    padding: 0 var(--gap2);
}


.ce_form .formbody {
        position: relative;
        margin: var(--gap3) 0;
    }


.ce_form .flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-column-gap: var(--gap2);
           -moz-column-gap: var(--gap2);
                column-gap: var(--gap2);
        row-gap: var(--gap1);
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }


.ce_form p.error {
        color: var(--red);
    }


.widget-textarea,
.widget-checkbox {
    width: 100% !important;
}


.widget-textarea {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin: var(--gap2) 0;
}


.widget-radio fieldset, .widget-checkbox fieldset {
        margin-bottom: 0;
    }


.widget-radio span, .widget-checkbox span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--gap1);
    }


.widget-radio input[type="radio"],
    .widget-checkbox input[type="radio"],
    .widget-radio input[type="checkbox"],
    .widget-checkbox input[type="checkbox"] {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;

        width: 20px;
        height: 20px;
        -ms-flex-preferred-size: 20px;
            flex-basis: 20px;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        border: 1px solid var(--grey-250);
        margin: 0;
        outline: none;
        cursor: pointer;
        position: relative;
        background: #fff;
    }


.widget-radio input[type="radio"]:focus, .widget-checkbox input[type="radio"]:focus, .widget-radio input[type="checkbox"]:focus, .widget-checkbox input[type="checkbox"]:focus {
            -webkit-box-shadow: 0 0 0 2px rgba(0, 122, 204, 0.3);
                    box-shadow: 0 0 0 2px rgba(0, 122, 204, 0.3);
        }


.widget-radio input[type="radio"], .widget-checkbox input[type="radio"] {
        border-radius: 50%;
    }


.widget-radio input[type="radio"]::before, .widget-checkbox input[type="radio"]::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            -webkit-transform: translate(-50%, -50%);
                -ms-transform: translate(-50%, -50%);
                    transform: translate(-50%, -50%);
            background: transparent;
        }


.widget-radio input[type="radio"]:checked::before, .widget-checkbox input[type="radio"]:checked::before {
            background: var(--brandcolor-blue-dark);
        }


.widget-radio input[type="checkbox"], .widget-checkbox input[type="checkbox"] {
        border-radius: 3px;
    }


.widget-radio input[type="checkbox"]::before, .widget-checkbox input[type="checkbox"]::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            width: 9px;
            height: 9px;
            -webkit-transform: translate(-50%, -50%) scale(0);
                -ms-transform: translate(-50%, -50%) scale(0);
                    transform: translate(-50%, -50%) scale(0);
            background: var(--brandcolor-blue-dark);
            -webkit-transition: -webkit-transform 0.15s ease-in-out;
            transition: -webkit-transform 0.15s ease-in-out;
            transition: transform 0.15s ease-in-out;
            transition: transform 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
        }


.widget-radio input[type="checkbox"]:checked::before, .widget-checkbox input[type="checkbox"]:checked::before {
            -webkit-transform: translate(-50%, -50%) scale(1);
                -ms-transform: translate(-50%, -50%) scale(1);
                    transform: translate(-50%, -50%) scale(1);
        }


.widget-explanation {
    line-height: 150%;
}


.widget-submit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
    width: 100% !important;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-top: var(--gap2);
}


button {
    display: block;
    background-color: inherit;
    border: 2px solid var(--brandcolor-blue);
    border-radius: 100px;
}


legend {
    margin-bottom: var(--gap1) !important;
    display: block;
}


label {
    display: block;
    padding: 3px 0;
}


/* input text */


input[type="text"]:not(.cto-toolbar *),
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="password"],
input[type="number"],
input[type="date"],
textarea {
    -webkit-appearance: none !important;

    display: block;
    height: 2.5rem;
    width: 100%;
    margin: 0;
    padding: var(--gap1);

    background-color: white;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: none;
    border-radius: 4px;

    font-size: var(--rem20) !important;
    color: var(--font-color);
}


textarea {
    font-family: "Open Sans", sans-serif;
    height: 120px;
}


/* button */


button[type="submit"] {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    cursor: pointer;
    padding: var(--gap05) var(--gap2);
    border-radius: 100px;
    font-size: var(--rem16);
    text-decoration: none;
    min-width: 200px;
}


button[type="submit"]:hover {
        background-color: var(--brandcolor-blue);
        color: white;
    }


/* fieldset */


fieldset {
    border: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 var(--gap2) 0;
}


/* select */


select:not(.cto-toolbar *) {
    -webkit-appearance: none !important;

    background-color: white;
    background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'>\
<path d='M1 1L5 5L9 1' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem auto;

    border: 1px solid var(--grey-250);
    border-radius: 4px;

    padding: 0 var(--gap1);
    padding-right: 2rem;
    height: 3rem;
    width: 100%;

    font-size: var(--rem16) !important;
    font-family: "Open Sans", sans-serif;
    line-height: normal;
    color: black;
}


select::-ms-expand {
    display: none
}


select:disabled {
    background-color: #ddd;
    cursor: default
}


/* confirmation */


.form-confirmation {
    padding: var(--gap2);
    background-color: color-mix(in srgb, var(--brandcolor-blue-light) 85%, transparent);
    color: white;
    overflow: hidden;
}


.form-confirmation > p:first-of-type {
        margin-top: 0;
    }


.form-confirmation > p:last-of-type {
        margin-bottom: 0;
    }


@media screen and (min-width: 1024px){
        .w50-50 > div {
            -ms-flex-preferred-size: calc(50% - var(--gap1));
                flex-basis: calc(50% - var(--gap1));
        }
        .w30-70 > div:first-child {
            -ms-flex-preferred-size: calc(30% - var(--gap1));
                flex-basis: calc(30% - var(--gap1));
        }

        .w30-70 > div:nth-child(2) {
            -ms-flex-preferred-size: calc(70% - var(--gap1));
                flex-basis: calc(70% - var(--gap1));
        }
        .w70-30 > div:first-child {
            -ms-flex-preferred-size: calc(70% - var(--gap1));
                flex-basis: calc(70% - var(--gap1));
        }

        .w70-30 > div:nth-child(2) {
            -ms-flex-preferred-size: calc(30% - var(--gap1));
                flex-basis: calc(30% - var(--gap1));
        }
        .ce_form .flex {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
        }

    .widget {
        width: calc(50% - var(--gap1));
    }

    .flex fieldset > .widget,
    .flex > div > .widget{
        width: 100%;
    }
}


#hero :is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ),
        #main :is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
        margin-bottom: var(--gap4);
    }


.columns > div {
    margin-bottom: 0 !important;
}


[class^="content-"] > :is(h2):first-child {
    margin-bottom: var(--gap2);
}


[class^="content-"] > :is(h3, h4, h5, h6):first-child {
    margin-bottom: var(--gap1);
}


.w-red {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}


.content-list {
    max-width: 900px;
    margin: 0 auto;
}


.content-list ul,
    .content-list ol {
        margin: 0;
        padding: 0 0 0 var(--gap2);
        display: inline-block;
    }


.content-list ul {
        padding-left: 0;
    }


.content-list li {
        border-bottom: 1px solid var(--brandcolor-blue);
        padding: var(--gap05) var(--gap4) var(--gap05) 0;
    }


.content-list ul li {
        list-style: none;
    }


.content-downloads ul {
        margin: 0;
        padding: 0;
    }


.content-downloads li {
        margin: 0 0 var(--gap1) 0;
        padding: 0;
        list-style: none;
    }


.content-download a, .content-downloads a {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }


.content-player figure {
        background-color: black;
    }


.content-player video {
        display: block;
        max-width: 100%;
        height: auto;
    }


.content-google-map {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: var(--gap4);
    border-radius: var(--r10);
}


.content-google-map iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }


@media screen and (min-width: 768px){
    .w-red {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}


@media screen and (min-width: 1024px){
    .w-red {
        width: 66.666%;
        margin-left: auto;
        margin-right: auto;
    }
}


.content-text.media--above figure {
            margin-bottom: var(--gap2);
        }


.content-text .rte {
        max-width: 900px;
        margin: 0 auto;
    }


.content-text.media.media--left,
    .content-text.media.media--right {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-column-gap: var(--gap2);
           -moz-column-gap: var(--gap2);
                column-gap: var(--gap2);
    }


.content-text.media.media--left > *, .content-text.media.media--right > * {
            -ms-flex-preferred-size: calc(50% - var(--gap1));
                flex-basis: calc(50% - var(--gap1));
            -ms-flex-negative: 0;
                flex-shrink: 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
        }


.content-text.media.media--left > :is(h2,h3,h4,h5,h6),.content-text.media.media--right > :is(h2,h3,h4,h5,h6) {
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%;
            -ms-flex-negative: 0;
                flex-shrink: 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
        }


.content-text.media.media--left p:first-of-type, .content-text.media.media--right p:first-of-type {
            margin-top: 0;
        }


.content-text.media.media--right {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
    }


.swiper-pagination-bullet {
    border:1px solid white !important;
}


.content-gallery ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: var(--gap4);
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 0;
        margin: 0;
    }


.content-gallery li {
        padding: 0;
        margin: 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        list-style-type: none;
    }


.content-gallery figure {
        margin: 0;
        padding: 0;
        width: 100%;
        border-radius: 0;
    }


/* Crop-Box: entweder der Link (Lightbox-Fall) oder direkt das Bild */


.content-gallery figure img {
        display: block;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        border-radius: var(--r5);
    }


.content-gallery img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        display: block;
    }


.content-gallery figcaption {
        margin-top: var(--gap05);
    }


.glightbox-container .gslide-image img {
    max-height: 85vh !important;
    max-width: 85vw !important;
}


@media screen and (min-width: 768px){
        .content-gallery ul {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            gap: var(--gap1);
            row-gap: var(--gap4);
        }

        .content-gallery.content-gallery--cols-4 li {
            -ms-flex-preferred-size: calc(50% - (var(--gap1)/ 2));
                flex-basis: calc(50% - (var(--gap1)/ 2));
        }
}


@media screen and (min-width: 1440px){
        .content-gallery.content-gallery--cols-4 li {
            -ms-flex-preferred-size: calc(25% - (var(--gap1) * 3 / 4));
                flex-basis: calc(25% - (var(--gap1) * 3 / 4));
        }
}


.content-hyperlink a, p.back a, .content-download a, .content-downloads a {
        display: inline-block;
        border: 2px solid var(--brandcolor-blue);
        border-radius: 200px;
        padding: var(--gap1) var(--gap2);
        text-decoration: none;
        color: var(--brandcolor-blue);
    }


.content-hyperlink a:hover, p.back a:hover, .content-download a:hover, .content-downloads a:hover {
            background-color: var(--brandcolor-blue-light);
            border-color: var(--brandcolor-blue-light);
            color: white;
        }


.content-hyperlink > span {
    display: inline-block;
}


.content-hyperlink.small a {
        padding: var(--gap05) var(--gap1);
    }


.mod_newslist + .content-hyperlink {
    text-align: center;
}


.mod_newslist + .content-hyperlink.center {
        text-align: center;
    }


.content-swiper {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 100%;
    min-width: 0;
}


.content-swiper .swiper {
        border-radius: var(--r10);
        overflow: hidden;
        min-width: 0;
        max-width: 100%;
    }


.content-swiper [class^="content-"] {
        background-color: white;
        padding: var(--gap2);
    }


.content-swiper .content-image {
        padding: 0 !important;
    }


.content-swiper .swiper-wrapper {
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
    }


.content-swiper .swiper-slide {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: auto;
    }


.content-swiper .swiper-slide > div {
            width: 100%;
            height: 100%;
            margin-bottom: 0 !important;
        }


.content-swiper figcaption {
        display: none;
    }


.swiper-standard.content-swiper {
        margin-bottom: var(--gap6) !important;
    }


.swiper-standard .swiper-slide {
        overflow: hidden;
        margin: var(--gap3) 0 0 0;
        border-radius: var(--r15);
    }


.swiper-standard .swiper-slide > div {
            margin-bottom: 0 !important;
        }


.swiper-standard .swiper-button-next, .swiper-standard .swiper-button-prev {
        margin-top: var(--gap2);
    }


.swiper-standard .swiper-controls-bottom-right {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 12px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }


.swiper-standard .swiper-button-prev,
    .swiper-standard .swiper-button-next {
        color: white;
        background: var(--brandcolor-blue);
        margin-top: var(--gap2) !important;
    }


.swiper-standard .swiper-button-prev svg, .swiper-standard .swiper-button-next svg {
            height: 60%;
        }


.swiper-standard .swiper-button-prev:hover, .swiper-standard .swiper-button-next:hover {
            background: color-mix(
                    in srgb,
                    var(--brandcolor-blue) 80%,
                    black 20%
            );
        }


.swiper-standard .swiper-button-next:after {
        margin-left: 3px;
    }


.swiper-standard .swiper-button-prev:after {
        margin-right: 3px;
    }


.swiper-standard .swiper-pagination {
        display: none !important;
    }


.swiper-standard .swiper-button-prev,
    .swiper-standard .swiper-button-next {
        position: static;
        border: none;
        width: 40px;
        height: 40px;
        border-radius: 50%;
    }


.swiper .content-image {
        margin-bottom: 0 !important;
    }


.swiper-button-prev {
    left: 15px !important;
}


.swiper-button-next {
    right: 15px !important;
}


.swiper.swiper-overflow {
    overflow: visible;
}


.swiper.swiper-overflow .swiper-slide {
        width: min(87.5%, 800px);
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        min-width: 0;
        height: auto;
    }


.swiper.swiper-overflow .swiper-slide > div {
            border-radius: var(--r10);
            overflow: hidden;
            margin-bottom: 0 !important;
        }


.contao-box-base {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--gap3);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    overflow: hidden;
    height: 100%;
    background-color: white;

}


.contao-box-base .content-hyperlink.more a,
    .contao-box-base .content-hyperlink.more span {
        border: 2px solid var(--brandcolor-blue);
        border-radius: 200px;
        padding: var(--gap05) var(--gap2);
        text-decoration: none;
        color: var(--brandcolor-blue);
    }


.contao-box-base .content-hyperlink.more a:hover, .contao-box-base .content-hyperlink.more span:hover {
            background-color: var(--brandcolor-blue);
            color: white;
        }


.contao-box-base :is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
        margin-bottom: var(--gap205) !important;
    }


.contao-box-base .gap-small:is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
            margin-bottom: var(--gap105) !important;
        }


.contao-box-base .content-wrapper {
        position: relative;
        margin-bottom: 0 !important;
        margin-left: 0 !important;
    }


.contao-box-base figure {
        margin-top: auto;
        overflow: hidden;
        border-radius: var(--r10);

    }


.contao-box-base figure img {
            -webkit-transition: -webkit-transform 0.3s ease;
            transition: -webkit-transform 0.3s ease;
            transition: transform 0.3s ease;
            transition: transform 0.3s ease, -webkit-transform 0.3s ease;
        }


.contao-box-base:hover figure img {
            -webkit-transform: scale(1.05);
                -ms-transform: scale(1.05);
                    transform: scale(1.05);
        }


.contao-box-base p:last-of-type {
        margin-bottom: 0;
    }


.contao-box-base > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        height: 100%;
        text-decoration: none;
    }


.content-box {
    padding-top: var(--gap205);
    max-width: 460px;
    border-radius: var(--r10);
    margin-bottom: 0 !important;
}


.content-box .content-wrapper,
    .content-box .content-hyperlink {
        padding-left: var(--gap205);
        padding-right: var(--gap205);
    }


/* Bild sitzt unten randlos in der Karte (siehe .contao-box-base figure,
       margin-top: auto) - nur die untere Kante ist eine Kartenecke, die
       obere soll eckig bleiben. Überschreibt die globalen figure/picture-
       Regeln aus base.pcss (beide runden unabhängig voneinander). */


.content-box figure,
    .content-box picture {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }


.content-column .columns,
.content-bigbox .columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: var(--gap2);
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}


.content-column .columns > *, .content-bigbox .columns > * {
        min-width: 0;
        height: auto;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }


.content-column .columns > div {
            background-color: white;
            border-radius: var(--r15);
            overflow: hidden;
        }


.content-column .columns > div.content-text {
                padding: var(--gap2);
            }


.content-column .columns .ce_form {
            margin-right: var(--gap2);
            margin-left: var(--gap2);
        }


.content-column .column > * {
            padding: var(--gap2);
        }


.content-column .column .ce_form {
            margin-right: var(--gap2);
            margin-left: var(--gap2);
        }


@media screen and (min-width: 768px){
    .content-column .columns {
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

        .content-column .columns > * {
            -ms-flex-preferred-size: calc((100% - (var(--gap2) * 1)) / 2);
                flex-basis: calc((100% - (var(--gap2) * 1)) / 2);
        }
}


@media screen and (min-width: 1024px){
    .content-bigbox .columns {
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

        .content-bigbox .columns > * {
            -ms-flex-preferred-size: calc((100% - (var(--gap2) * 1)) / 2);
                flex-basis: calc((100% - (var(--gap2) * 1)) / 2);
        }
            .content-column .columns.w33-33-33 > *, .content-bigbox .columns.w33-33-33 > * {
                -ms-flex-preferred-size: calc((100% - (var(--gap2) * 2)) / 3);
                    flex-basis: calc((100% - (var(--gap2) * 2)) / 3);
                -ms-flex-negative: 0;
                    flex-shrink: 0;
                -webkit-box-flex: 0;
                    -ms-flex-positive: 0;
                        flex-grow: 0;
            }
            .content-column .columns.w50-50 > *, .content-bigbox .columns.w50-50 > * {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) / 2);
                    flex-basis: calc((100% - var(--gap2)) / 2);
                -webkit-box-flex: 0;
                    -ms-flex-positive: 0;
                        flex-grow: 0;
            }
            .content-column .columns.w25-75 > :first-child, .content-bigbox .columns.w25-75 > :first-child {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) * 0.25);
                    flex-basis: calc((100% - var(--gap2)) * 0.25);
            }

            .content-column .columns.w25-75 > :last-child, .content-bigbox .columns.w25-75 > :last-child {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) * 0.75);
                    flex-basis: calc((100% - var(--gap2)) * 0.75);
            }
            .content-column .columns.w75-25 > :first-child, .content-bigbox .columns.w75-25 > :first-child {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) * 0.75);
                    flex-basis: calc((100% - var(--gap2)) * 0.75);
            }

            .content-column .columns.w75-25 > :last-child, .content-bigbox .columns.w75-25 > :last-child {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) * 0.25);
                    flex-basis: calc((100% - var(--gap2)) * 0.25);
            }
            .content-column .columns.w33-66 > :first-child, .content-bigbox .columns.w33-66 > :first-child {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) * 0.333333);
                    flex-basis: calc((100% - var(--gap2)) * 0.333333);
            }

            .content-column .columns.w33-66 > :last-child, .content-bigbox .columns.w33-66 > :last-child {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) * 0.666667);
                    flex-basis: calc((100% - var(--gap2)) * 0.666667);
            }
            .content-column .columns.w66-33 > :first-child, .content-bigbox .columns.w66-33 > :first-child {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) * 0.666667);
                    flex-basis: calc((100% - var(--gap2)) * 0.666667);
            }

            .content-column .columns.w66-33 > :last-child, .content-bigbox .columns.w66-33 > :last-child {
                -ms-flex-preferred-size: calc((100% - var(--gap2)) * 0.333333);
                    flex-basis: calc((100% - var(--gap2)) * 0.333333);
            }
            .content-column .columns.w25-25-25-25 > *, .content-bigbox .columns.w25-25-25-25 > *, .content-column .columns.w25n > *, .content-bigbox .columns.w25n > * {
                -ms-flex-preferred-size: calc((100% - (var(--gap2) * 3)) / 4);
                    flex-basis: calc((100% - (var(--gap2) * 3)) / 4);
            }
}


.content-bigbox {
    background: white;
    border-radius: var(--r10);
    overflow: hidden;
    margin-top: var(--gap4);
    margin-bottom: var(--gap6) !important;
}


.content-bigbox .wrapper {
        margin: var(--gap4);
    }


.content-bigbox.w-red .wrapper {
            margin: var(--gap2);
        }


@media screen and (min-width: 1024px){
            .content-bigbox .column > div:last-child {
                margin-bottom: 0 !important;
            }
}


/*
.contao-box-base {
    display: flex;
    gap: var(--gap3);
    flex-direction: column;
    overflow: hidden;
    height: 100%;

    &.white {
        & .content-hyperlink a {
            border: 1px solid white;
        }
    }

    &.img-ov {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    & :is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
        margin-bottom: var(--gap2) !important;

        &.gap-small {
            margin-bottom: var(--gap1) !important;
        }
    }

    & .content-wrapper {
        margin-bottom: 0 !important;
    }

    & .content-hyperlink a {
        background-color: inherit;
    }

    & figure {
        margin-top: auto;
        overflow: hidden;
        border-radius: var(--r5);

        & img {
            transition: transform 0.3s ease;
        }
    }

    & p:last-of-type {
        margin-bottom: 0;
    }

    & > a {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        height: 100%;
        text-decoration: none;
        color: var(--font-color);
    }

    &:hover {
        figure img {
            transform: scale(1.05);
        }

        & .button{
            background-color: var(--brandcolor-blue-light);
            border-color: var(--brandcolor-blue);
        }
    }

    &.brandcolor-blue:hover {
        & .button{
            background-color: var(--brandcolor-blue);
            border-color: var(--brandcolor-blue-light);
        }
    }
}

 */


.content-plusbox {
    position: relative;
}


.content-plusbox .content-wrapper {
        position: absolute;
        inset: 0;
        z-index: 2;
    }


.content-plusbox .plus-content {
        display: none;
        position: absolute;
        inset: 0;
        background-color: var(--brandcolor-blue-light);
        border-radius: var(--r5);
        padding: var(--gap2);
        margin-top: var(--gap2);
        overflow-y: auto;
    }


.content-plusbox .plus-content .plus-button {
            margin-left: auto;
        }


.content-plusbox .plus-content * {
            color: var(--brandcolor-blue-dark) !important;
        }


.content-plusbox .plus-content p:first-of-type {
            margin-top: 0;
        }


.content-plusbox .content-text {
        position: absolute;
        bottom: 0;
        z-index: 2;
        padding: var(--gap2);
        background: rgba(255,255,255, 0.6);
        border-top-right-radius: var(--r10);
        border-bottom-right-radius: var(--r10);
    }


.content-plusbox .open .plus-content {
        display: block;
    }


.content-plusbox .plus-button-small {
        border-color: var(--brandcolor-blue-dark);
    }


.content-plusbox .plus-button-small:before,
        .content-plusbox .plus-button-small:after {
            background-color: var(--brandcolor-blue-dark);
        }


.content-plusbox h3,
    .content-plusbox h3 + p {
        margin: 0;
    }


.content-bannerbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: var(--gap1) var(--gap1) var(--gap1) 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    border-radius: var(--r10);
    position: relative;
    overflow: hidden;
    margin: var(--gap6) auto !important;
    min-height: 200px;
    background-color: var(--brandcolor-blue-light);
}


.content-bannerbox .content-hyperlink a {
        padding: var(--gap05) var(--gap2);
    }


.content-bannerbox.text-left {
        text-align: left;
    }


.content-bannerbox .content-wrapper {
        position: relative;
        display: inline-block;
        background: rgba(255,255,255, 0.6);
        padding: var(--gap1) var(--gap3) var(--gap1) var(--gap1);
        border-top-right-radius: var(--r10);
        border-bottom-right-radius: var(--r10);
        z-index: 2;
        margin-bottom: 0 !important;
        margin-left: 0 !important;
        margin-right: auto;
    }


.content-bannerbox .content-wrapper div:last-child {
            margin-bottom: 0 !important;
        }


.content-bannerbox .content-text {
        margin-bottom: var(--gap1) !important;
    }


.content-bannerbox figure {
        position: absolute;
        inset: 0;
        z-index: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }


.content-bannerbox figure img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
            -webkit-transition: -webkit-transform 0.3s ease;
            transition: -webkit-transform 0.3s ease;
            transition: transform 0.3s ease;
            transition: transform 0.3s ease, -webkit-transform 0.3s ease;
        }


.content-bannerbox *:is(h2,h3,h4,h5,h6) {
        margin-bottom: 0;
    }


.content-bannerbox p {
        margin-top: 0;
    }


.content-bannerbox:hover figure img {
            -webkit-transform: scale(1.05);
                -ms-transform: scale(1.05);
                    transform: scale(1.05);
        }


@media screen and (min-width: 768px){
    .content-bannerbox {
        min-height: 350px;
    }
}


.mod_newslist {
    margin-bottom: var(--gap2);
}


.mod_newslist .pagination {
        margin-top: var(--gap2);
    }


.mod_newslist figure {
        border-radius: 0;
    }


.mod_newslist figcaption {
        display: none;
    }


.mod_newsreader .back {
        text-align: center;
    }


.layout_latest {
    position: relative;
    margin-bottom: var(--gap2);
    background-color: white;
    border-radius: var(--r15);
}


.layout_latest .badge {
        position: absolute;
        top: 20px;
        left: 0;
        background-color: var(--brandcolor-yellow);
        padding: 4px var(--gap2) 4px var(--gap1);
        border-radius: 0 100px 100px 0;
    }


.layout_latest .info {
        margin-top: 0;
    }


.layout_latest > div {
        padding: var(--gap3) var(--gap3) var(--gap4) var(--gap3);
    }


.layout_latest a {
        color: var(--brandcolor-blue);
        text-decoration: none;
    }


.layout_latest a:hover {
            text-decoration: underline;
        }


.layout_latest h2 {
        color: var(--brandcolor-blue);
    }


.layout_full .lead {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: var(--gap4);
        margin-bottom: 70px;
    }


.layout_full .lead-image,
    .layout_full .lead-text {
        -ms-flex-preferred-size: calc(50% - var(--gap2));
            flex-basis: calc(50% - var(--gap2));
    }


.layout_full .lead-headline-teaser {
        margin-bottom: var(--gap4);
    }


.layout_full .elements {
        padding-top: 50px;
    }


.layout_full :is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
    }


.layout_full .max-width:is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
            max-width: 1440px;
            padding-top: var(--gap4);
        }


.layout_full .duck {
        width: 80px;
        margin-left: auto;
        margin-right: auto;
    }


.layout_full .duck img {
            width: 100%;
            height: auto;
        }


.mod_newscategories {
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--gap4);
}


.mod_newscategories h1 {
        margin-bottom: var(--gap4);
    }


.mod_newscategories > .inside {
        margin-bottom: var(--gap5);
    }


.mod_newscategories ul,
    .mod_newscategories li {
        margin: 0;
        padding: 0;
        list-style: none;
    }


.mod_newscategories ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: var(--gap1);
    }


.mod_newscategories a,
    .mod_newscategories strong {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        border: 2px solid var(--brandcolor-blue);
        border-radius: 200px;
        padding: var(--gap05) var(--gap2);
        text-decoration: none;
        color: var(--brandcolor-blue);
        cursor: pointer;
        font-weight: normal;
        white-space: nowrap;
    }


.mod_newscategories strong,
    .mod_newscategories a:hover {
        background-color: var(--brandcolor-blue-light);
        border-color: var(--brandcolor-blue-light);
        color: white;
    }


ul.enclosure {
    margin: 0;
    padding: 0;
}


ul.enclosure li {
        margin: 0;
        padding: 0;
        list-style: none;
    }


ul.enclosure li a {
            display: inline-block;
            margin: 0;
            border: 2px solid var(--brandcolor-blue);
            border-radius: 200px;
            padding: var(--gap05) var(--gap2);
            text-decoration: none;
            color: var(--brandcolor-blue);
            list-style: none;
        }


ul.enclosure li a:hover {
                background-color: var(--brandcolor-blue-light);
                border-color: var(--brandcolor-blue-light);
                color: white;
            }


@media screen and (min-width: 768px){
    .mod_newslist {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: var(--gap2);
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .layout_latest {
        -ms-flex-preferred-size: calc(50% - (var(--gap2) * 1 / 2));
            flex-basis: calc(50% - (var(--gap2) * 1 / 2));
    }
}


@media screen and (min-width: 1440px){
    .layout_latest {
        -ms-flex-preferred-size: calc(25% - (var(--gap2) * 3 / 4));
            flex-basis: calc(25% - (var(--gap2) * 3 / 4));
    }
}


.mod_banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: var(--gap2);
}


.mod_banner h3 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        width: 100%;
        text-align: center;
    }


.mod_banner figure, .mod_banner picture {
        border-radius: 0;
    }


.mod_banner figcaption {
        display: none;
    }


figure {
    border-radius: var(--r10);
    overflow: hidden;
}


picture {
    display: block;
    border-radius: var(--r10);
    overflow: hidden;
}


img {
    display: block;
    max-width: 100%;
    height: auto;
}


/* page links */


a.blue-extralight,
strong.blue-extralight {
    background-color: inherit;
}


.white {
    color: white;
}


.white * {
        color: white;
    }


:root {
    --wrapper-max: 1920px;
    --wrapper-gap: var(--gap2);
}


.center {
    text-align: center;
}
/*# sourceMappingURL=standard.css.map */
