:root {
    --brandcolor-blue: #0018a8;
    --brandcolor-blue-light: #2ea3f2;
    --brandcolor-blue-light-plus: #73c0f6;
    --brandcolor-blue-superlight: #b8ddf9;

    --blue-extralight: #e2ecfa;

    --font-color:       #37474f;
    --font-color-light: #62747f;

    --black:            #000;
    --blueblack:        #000022;
    --b2: #022b83;

    --blue-gradient-dark: linear-gradient(to top, var(--blueblack), var(--brandcolor-blue));
    --blue-gradient-light: linear-gradient(to top, var(--b2), var(--brandcolor-blue-light));
    --blue-gradient-light-tl: linear-gradient(to left, var(--b2), var(--brandcolor-blue-light));
    --blue-gradient-light-tr: linear-gradient(to right, var(--b2), var(--brandcolor-blue-light));
    --blue-gradient-l-tl: linear-gradient(to left, var(--blue-extralight), var(--brandcolor-blue-light));
    --blue-gradient-l-tr: linear-gradient(to right, var(--blue-extralight), var(--brandcolor-blue-light));

    --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;

    --brandcolor-green: #157c4c;
    --brandcolor-green-dark: #13633b;
    --red:                  #c33;

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

    --gap025: 4px;
    --gap05: 8px;
    --gap1: 16px;
    --gap105: 24px;
    --gap2: 32px;
    --gap205: 40px;
    --gap3: 48px;
    --gap305: 56px;
    --gap4: 64px;
    --gap5: 80px;
    --gap6: 96px;
    --gap7: 112px;
    --gap8: 128px;
    --gap9: 144px;
    --gap10: 160px;
    --gap11: 176px;
    --gap12: 192px;
    --gap14: 224px;

    --rem14: 0.875rem;
    --rem15: 0.9375rem;
    --rem16: 1rem;
    --rem17: 1.0625rem;
    --rem18: 1.125rem;
    --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);

    --r1: 10px;
    --r2: 15px;
    --r3: 20px;
    --r4: 25px;
    --r5: 30px;
}

@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%;
}

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

#wrapper {
    padding-top: var(--gap2);
}

body.no-scroll {
    overflow: hidden;
    -ms-touch-action: none;
        touch-action: none;
    background-color: var(--brandcolor-blue-superlight);
}

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

    #container {
        padding-top: var(--gap5);
    }
}

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

:is(h1,h2,h3,h4,h5,h6,legend,.form-confirmation) {
    font-weight: 500;
    font-style: normal;
    margin-top: 0;
    margin-bottom: 0;
}

:is(h1,h2,h3,h4,h5,h6) {
    -ms-hyphens: auto;
        hyphens: auto;
    overflow-wrap: break-word;
    word-break: break-word;
}

.big-font p, h1, h2, h3, .nav_main *, .nav_solutions *, legend, label, .form-confirmation {
    font-family: "Ubuntu", sans-serif;
}

h1 {
    font-size: var(--rem24);
}

.big-font p, h2 {
    font-size: var(--rem20);
}

h3, legend, .form-confirmation {
    margin-bottom: 0;
    font-size: var(--rem18);
}

:is(h2,h3,h4,h5,h6) + p,
    :is(h2,h3,h4,h5,h6) + * p:first-of-type {
        margin-top: 0;
    }

h4, h5, h6, p, td, .content-download a, .content-list li, .faq-navigation a, label {
    font-size: var(--rem16);
}

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

strong {
    font-weight: 600;
    font-style: normal;
}

mark {
    background: var(--brandcolor-blue-superlight);
}

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

    .big-font p, h2 {
        font-size: var(--rem20);
    }

    h3, legend, .form-confirmation {
        font-size: var(--rem18);
    }

    p, h4, h5, h6, td, th, .content-download a, .comparison-table th, .comparison-table td, .content-list li, .faq-navigation a, label {
        font-size: var(--rem18);
    }
}

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

    .big-font p, h2 {
        font-size: var(--rem27);
    }

    h3, legend, .form-confirmation {
        font-size: var(--rem24);
    }

    h4, h5, h6, p, td, th, .content-download a, .content-list li, .faq-navigation a, label {
        font-size: var(--rem22);
    }

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

    .comparison-table th, .comparison-table td {
        font-size: var(--rem18);
    }
}

@media screen and (min-width: 768px) and (max-width: 991px){
        .content-box h3 {
            font-size: var(--rem22);
        }

        .content-box p {
            font-size: var(--rem16);
        }
}

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

    .big-font p, h2 {
        font-size: var(--rem40);
    }

    h3, legend, .form-confirmation {
        font-size: var(--rem26);
    }

    .content-plusbox .content-text  h3{
        font-size: var(--rem36);
    }

    p, h4, h5, h6, td, th, .content-list li, .faq-navigation a, label{
        font-size: var(--rem20);
    }

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

    .content-plusbox .content-text  p {
        font-size: var(--rem22);
    }
}

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

}

@media screen and (max-width: 550px) {
    .content-hyperlink {
        font-size: 0.9em;
    }
}

@media screen and (max-width: 550px) {
    .content-box{
        font-size: 0.9em;
    }
}

button {
    background-color: var(--brandcolor-blue-superlight);
    white-space: nowrap;
}

.plus-button {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid var(--black);
    background: transparent;
    cursor: pointer;
    -webkit-transition: background-color .2s ease, -webkit-transform .2s ease;
    transition: background-color .2s ease, -webkit-transform .2s ease;
    transition: background-color .2s ease, transform .2s ease;
    transition: background-color .2s ease, transform .2s ease, -webkit-transform .2s ease;
}

.plus-button:before,
    .plus-button:after {
        content: "";
        position: absolute;
        width: 60%;
        height: 2px;
        border-radius: 10px;
        background-color: var(--black);
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease;
    }

.plus-button:after {
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg);
    }

.plus-button-small {
    width: 30px;
    height: 30px;
}

.open .plus-button {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

.white .plus-button {
    border-color: white;
}

.white .plus-button:before,
    .white .plus-button:after {
        background-color: white;
    }

table {
    width: 100%;
    border-collapse: collapse;
}

th,td {
    vertical-align: top;
}

.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(--gap2);
    margin-bottom: var(--gap6);
    display: flow-root;
    overflow: visible;
}

.ce_form .formbody {
        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;
        position: relative;
        margin: var(--gap5) 0;
    }

.ce_form .formbody::before {
            display: block;
            content: "";
            position: absolute;
            inset: 0;
            background-color: var(--blue-extralight);
            border-radius: var(--r5);
            margin: calc(-1 * var(--gap5));
            z-index: -1;
        }

.ce_form > :is(h2,h3,h4,h5,h6) {
        margin-bottom: var(--gap8); /* 5+3=8 */
    }

.ce_form .flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

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

.widget {
    margin-bottom: var(--gap1);
}

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

.widget-textarea {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
}

.widget-radio,
.widget-checkbox {
    margin-bottom: var(--gap3);
}

.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;
        border: 2px solid var(--brandcolor-blue);
        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, #007acc);
        }

.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, #007acc);
            -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-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);
}

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

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

/* input text */

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

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

    background-color: white;
    -webkit-box-shadow: none;
            box-shadow: none;

    border: 1px solid var(--grey-300);
    border-radius: var(--r1);

    font-family: "Cast-Regular", sans-serif;
    font-size: var(--rem20) !important;
    color: var(--black);
}

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

/* button */

.ce_form button:not(#map button) {
    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;
    min-width: 200px;
    border: 2px solid var(--brandcolor-blue);
    background-color: var(--brandcolor-blue);
    color: white;
    cursor: pointer;
    margin-top: var(--gap2);
    padding-left: var(--gap3);
    padding-right: var(--gap3);
    border-radius: 100px;
}

.ce_form button.outline:not(#map button) {
        background-color: inherit;
        color: var(--brandcolor-blue);
    }

.ce_form button.outline:not(#map button):hover {
            background-color: var(--brandcolor-blue-light);
            border-color: var(--brandcolor-blue-light);
        }

.ce_form button:not(#map button):hover {
        background: var(--brandcolor-blue-light);
        color: white;
    }

/* fieldset */

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

/* select */

select {
    -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-300);
    border-radius: var(--r1);

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

    font-size: var(--rem20) !important;
    font-family: "Cast-Regular", sans-serif;
    line-height: normal;
    color: var(--font-color);
}

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-green) 85%, transparent);
    border-radius: var(--r3);
    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: 768px){
        .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 .formbody {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
        }

        .ce_form .flex {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
        }

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

.form_product_radio,
.form_product_checkbox,
.form_montage_radio {
    max-width: 100%;
    width: 100%;
}

.form_product_radio h3, .form_product_checkbox h3, .form_montage_radio h3 {
        margin-bottom: var(--gap2);
    }

.form_product_radio .radio,
    .form_product_checkbox .radio,
    .form_montage_radio .radio,
    .form_product_radio .checkbox,
    .form_product_checkbox .checkbox,
    .form_montage_radio .checkbox {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

.form_product_radio .price, .form_product_checkbox .price, .form_montage_radio .price {
        display: none;
    }

.form_product_radio img, .form_product_checkbox img, .form_montage_radio img {
        width: 100%;
        height: auto;
    }

.form_product_radio button, .form_product_checkbox button, .form_montage_radio button {
        margin-top: auto;
    }

.form_product_radio button.outline.checked, .form_product_checkbox button.outline.checked, .form_montage_radio button.outline.checked {
        background-color: var(--brandcolor-blue) !important;
        color: #fff !important;
        border-color: var(--brandcolor-blue);
        position: relative;
    }

.form_product_radio button.outline.checked::after, .form_product_checkbox button.outline.checked::after, .form_montage_radio button.outline.checked::after {
            content: "";
            position: absolute;
            right: 1.5rem;
            width: 1.2rem;
            height: 1.2rem;
            background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 92 92'><polyline fill='none' stroke='white' stroke-miterlimit='10' stroke-width='12' points='3.59 56.27 39.13 83.5 87.41 4.5'/></svg>");
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center;
        }

.form_product_radio .content-swiper, .form_product_checkbox .content-swiper, .form_montage_radio .content-swiper {
        margin-bottom: var(--gap3) !important;
    }

.form_product_radio .swiper-wrapper, .form_product_checkbox .swiper-wrapper, .form_montage_radio .swiper-wrapper {
        position: relative;
    }

.form_product_radio .swiper, .form_product_checkbox .swiper, .form_montage_radio .swiper {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
    }

.form_product_radio .swiper .swiper-slide, .form_product_checkbox .swiper .swiper-slide, .form_montage_radio .swiper .swiper-slide {
            background: white;
            border-radius: var(--r3);
            overflow: hidden;
            height: auto;
            -webkit-box-flex: 0;
                -ms-flex: 0 0 auto;
                    flex: 0 0 auto;
        }

.form_product_radio .swiper .swiper-slide .product, .form_product_checkbox .swiper .swiper-slide .product, .form_montage_radio .swiper .swiper-slide .product {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                height: 100%;
            }

.form_product_radio .swiper .swiper-slide .product .image_container, .form_product_checkbox .swiper .swiper-slide .product .image_container, .form_montage_radio .swiper .swiper-slide .product .image_container {
                    -webkit-box-flex: 0;
                        -ms-flex: 0 0 auto;
                            flex: 0 0 auto;
                }

.form_product_radio .swiper .swiper-slide .product .price_container, .form_product_checkbox .swiper .swiper-slide .product .price_container, .form_montage_radio .swiper .swiper-slide .product .price_container {
                    -webkit-box-flex: 1;
                        -ms-flex: 1 1 auto;
                            flex: 1 1 auto;
                    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(--gap2);
                    text-align: center;
                }

.form_product_radio .swiper .swiper-slide .product .price_container h3, .form_product_checkbox .swiper .swiper-slide .product .price_container h3, .form_montage_radio .swiper .swiper-slide .product .price_container h3 {
                        margin-bottom: var(--gap2);
                    }

.form_product_radio .swiper .swiper-slide .product .price_container .price, .form_product_checkbox .swiper .swiper-slide .product .price_container .price, .form_montage_radio .swiper .swiper-slide .product .price_container .price {
                        margin-top: auto;
                    }

.form_product_radio .swiper .swiper-slide .product .price_container button, .form_product_checkbox .swiper .swiper-slide .product .price_container button, .form_montage_radio .swiper .swiper-slide .product .price_container button {
                        display: -webkit-inline-box;
                        display: -ms-inline-flexbox;
                        display: inline-flex;
                        margin-top: auto !important;
                        -ms-flex-item-align: center;
                            align-self: center;
                        width: auto;
                    }

.form_product_travel {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: var(--gap4);
}

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

.form_product_travel .flex {
        background-color: var(--brandcolor-blue-superlight);
        border-radius: var(--r2);
        overflow: hidden;
    }

.form_product_travel .flex .inside {
            margin: var(--gap1);
        }

.form_product_travel .flex .inside input {
                width: 100%;
            }

.form_product_travel input.hidden-text-input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

#header {
    background-color: #fff;
    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;

        width: 95%;
        margin-left: auto;
        margin-right: auto;
        max-width: var(--max-width);
        overflow: hidden;
    }

#logo {
    display: block;
    width: 180px;
    margin: var(--gap2) 0;
}

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

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

/* hamburger */

#ha {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

#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: 35px;
        background-color: var(--brandcolor-blue);
    }

#ha .to {
        position: relative;
        height: 21px;
        margin-left: var(--gap2);
    }

#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-superlight);
    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;
}

.overlay-footer {
    width: 100%;
    background-color: var(--brandcolor-blue-light-plus);
}

.overlay-footer .footer-inner {
        max-width: var(--max-width, 1680px);
        margin: 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--gap2);
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: var(--gap2);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

.overlay-footer .footer-left img {
            width: 220px;
        }

.mod_navigation {
    overflow: visible;
}

.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 ul::before {
        display: block;
        content: "Unternehmen / Kontakt";
        font-size: var(--rem14);
        color: var(--font-color-light);
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-bottom: var(--gap1);
    }

.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;
    }

.nav_solutions {
    overflow: visible;
}

.nav_solutions ul {
        display: block;
        position: relative;
        margin: 0;
        padding: 0;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

.nav_solutions ul::before {
        position: absolute;
        top: -12px;
        left: calc(55px + var(--gap2));
        display: block;
        content: "Lösungen";
        font-size: var(--rem14);
        color: var(--font-color-light);
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-bottom: 12px;
    }

.nav_solutions li {
        margin: 0 0 var(--gap105);
        padding: 0;
        list-style: none;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

.nav_solutions li a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--gap2);
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            text-decoration: none;
            color: var(--black);
            font-size: var(--rem20);
            line-height:1;
            font-weight: 500;
        }

.nav_solutions li a * {
                text-decoration: none;
                color: var(--font-color);
            }

.nav_solutions li a p {
                margin: 0;
                font-size: var(--rem14);
                font-weight: 400;
            }

.nav_solutions li div:last-child {
            padding-top: 11px
        }

.nav_solutions .pageIcon {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex:0;
            -ms-flex:0 0 55px;
                flex:0 0 55px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 55px;
        height: 55px;
        background: var(--brandcolor-blue-light);
        border-radius: var(--r1);
        overflow: hidden;
    }

.nav_solutions .pageIcon img {
            width: 100%;
            height: auto;
        }

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

.nav_overlay_footer ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--gap1);
    }

.nav_overlay_footer a  {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 0;
        text-decoration: none;
        border: 2px solid var(--brandcolor-blue);
        border-radius: 100px;
        padding: 8px 20px;
        text-indent: -9999em;
        font-weight: 500;
    }

.nav_overlay_footer img {
        width: 20px;
    }

.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: var(--brandcolor-blue);
    }

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

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

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

@media screen and (min-width: 375px){
        #header > .inside {
            width: 87.5%;
        }
            .nav_solutions li a {
                font-size: var(--rem24);
            }

                .nav_solutions li a div:last-child {
                    padding-top: 9px;
                }
            .nav_main li a,
            .nav_main li strong {
                font-size: var(--rem24);
            }
}

@media screen and (min-width: 425px){
    #logo {
        width: 220px;
        margin: 20px 0;
    }
}

@media screen and (min-width: 768px){
    #logo {
        width: 260px;
        margin: var(--gap2) 0;
    }
        #ha .to span,
        #ha .to span:before,
        #ha .to span:after {
            height: 3px;
            width: 48px;
        }

        #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_solutions ul::before {
            position: absolute;
            left: calc(76px + var(--gap2));
            top: -20px;
        }
            .nav_solutions li a {
                font-size: var(--rem25);
            }

                .nav_solutions li a p {
                    font-size: var(--rem16);
                }

                .nav_solutions li a div:last-child {
                    padding-top: 18px;
                }

        .nav_solutions .pageIcon {
            -webkit-box-flex:0;
                -ms-flex:0 0 76px;
                    flex:0 0 76px;
            width: 76px;
            height: 76px;
        }

    .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_solutions li a {
                font-size: var(--rem32);
            }

                .nav_solutions li a p {
                    font-size: var(--rem16);
                }

                .nav_solutions li a div:last-child {
                    padding-top: 14px;
                }
            .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){
    #logo {
        width: 300px;
        margin: 28px 0;
    }
            .nav_solutions li a {
                font-size: var(--rem36);
            }

                .nav_solutions li a p {
                    font-size: var(--rem16);
                }
        .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;
        }
}

#lead {
    text-align: center;
}

#lead .content-text {
        margin-bottom: var(--gap5);
    }

#lead > .inside {
        margin-bottom: 0;
    }

#lead .mod_article > .inside {
            width: 95%;
            margin-left: auto;
            margin-right: auto;
            max-width: var(--full-width);
        }

#lead p:last-child {
        margin-bottom: 0;
    }

#lead .content-bannerbox {
        width: 100%;
        max-width: 100%;
    }

@media screen and (min-width: 375px){
            #lead .mod_article > .inside {
                width: 87.5%;
            }
}

#footer {
    background-color: var(--brandcolor-blue-superlight);
}

#footer .inside {
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        max-width: var(--max-width);
        display: flow-root;
    }

#footer .inside .content > div {
            margin-bottom: var(--gap5);
        }

#footer .claim {
        width: 80%;
        max-width: 500px;
        margin: var(--gap4) auto var(--gap5) auto;
    }

@media screen and (min-width: 375px){
        #footer .inside {
            width: 87.5%;
        }
}

#main .mod_article > .inside {
            width: 95%;
            margin-left: auto;
            margin-right: auto;
            max-width: var(--max-width);
        }

#main .mod_article.full-width > .inside {
                width: 100%;
                max-width: 100%;
            }

.cc-btn {
    border: 2px solid var(--brandcolor-blue) !important;
    border-radius: 100px !important;
    background-color: var(--brandcolor-blue) !important;
    color: white !important;
}

.cc-btn:hover {
        background-color: var(--brandcolor-blue-light) !important;
    }

@media screen and (min-width: 375px){
            #main .mod_article > .inside {
                width: 87.5%;
            }
}

.mod_faqpage {
    margin-bottom: var(--gap6);
}

.mod_faqpage .faq-search {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--gap2);
        background: var(--brandcolor-blue-superlight);
        border-radius: var(--r1);
        padding: var(--gap1) var(--gap2);
        margin: var(--gap2) 0;
        max-width: 400px;
    }

.mod_faqpage .faq-search label {
            font-family: "Open Sans", sans-serif;
            font-weight: 600;
            font-size: var(--rem18);
        }

.mod_faqpage .faq-search input {
            width: 100%;
        }

.mod_faqpage section {
        background: white;
        margin: var(--gap1) 0;
        border-radius: var(--r1);
    }

.mod_faqpage section .toggler {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            position: relative;
            cursor: pointer;
            padding: var(--gap2);
        }

.mod_faqpage section .toggler h3 {
                -ms-flex-preferred-size: 90%;
                    flex-basis: 90%;
            }

.mod_faqpage section.is-hidden {
        display: none;
    }

.mod_faqpage .faq-content {
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.4s ease;
        transition: max-height 0.4s ease;
    }

.mod_faqpage .faq-content > .faq-inner {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
            gap: var(--gap2);
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            padding: 0 var(--gap2) var(--gap2) var(--gap2);
        }

.mod_faqpage .faq-content .ce_text {
            margin-bottom: 0 !important;
        }

.mod_faqpage .faq-content .enclosure {
            margin: 0.5rem 0;
            padding-left: 1.25rem;
            list-style: disc;
        }

.mod_faqpage .faq-content .enclosure li {
                margin-bottom: 0.25rem;
            }

.mod_faqpage .faq-content .enclosure li a {
                    text-decoration: none;
                    color: var(--brandcolor-blue, #2ea3f2);
                }

.mod_faqpage .faq-content .enclosure li a:hover {
                        text-decoration: underline;
                    }

.mod_faqpage .faq-content .info {
            font-size: 0.875rem;
            color: var(--grey-500, #666);
            margin-top: 0.5rem;
        }

.mod_faqpage .toplink a {
            display: inline-block;
            background-color: inherit;
            color: var(--brandcolor-blue);
            border: 2px solid var(--brandcolor-blue);
            font-weight: 500;
            border-radius: 100px;
            padding: var(--gap05) var(--gap2);
            text-decoration: none;
            white-space: nowrap;
        }

.mod_faqpage .toplink a:hover {
                background-color: var(--brandcolor-blue-light);
                border-color: var(--brandcolor-blue-light);
            }

.module-testimonial-list .name {
        font-weight: 600;
    }

.content-testimonial {
    position: relative;
    background-color: white;
    padding: var(--gap3);
    border-radius: var(--r2);
}

@media screen and (min-width: 768px){
        .module-testimonial-list .columns {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--gap4);
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
        }

            .module-testimonial-list .columns .column {
                -ms-flex-preferred-size: calc(50% - var(--gap2));
                    flex-basis: calc(50% - var(--gap2));
            }

        .module-testimonial-list .columns > .column:last-child {
            margin-top: var(--gap14);
        }
}

.columns {
    display: grid;
    gap: var(--gap2);
    grid-template-columns: 1fr;
}

.columns > * {
        margin-bottom: 0 !important;
        max-width: 100%;
    }

.columns.auto,
    .columns.auto-start,
    .columns.auto-limited,
    .columns.w50-50,
    .columns.w33-66,
    .columns.w25-75,
    .columns.w75-25 {
        grid-template-columns: 1fr;
    }

.columns.auto {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.columns.auto-limited {
        grid-template-columns: repeat(auto-fit, minmax(200px, 460px));
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

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

    .columns {
        grid-template-columns: repeat(3, 1fr);
    }

        .columns.auto {
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

        .columns.auto-limited {
            grid-template-columns: repeat(auto-fit, minmax(200px, 460px));
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

        .columns.auto-start {
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: start;
        }

        .columns.w50-50 {
            grid-template-columns: 1fr 1fr;
        }

        .columns.w33-66 {
            grid-template-columns: 1fr 2fr;
        }

        .columns.w25-75 {
            grid-template-columns: 1fr 3fr;
        }

        .columns.w75-25 {
            grid-template-columns: 3fr 1fr;
        }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .columns {
        gap: var(--gap05);
    }
}

@media screen and (min-width: 992px) and (max-width: 1023px) {
    .columns {
        gap: var(--gap105);
    }
}

.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;
    overflow: hidden;
    height: 100%;
}

.contao-box-base.white .content-hyperlink a {
            border: 1px solid white;
        }

.contao-box-base.img-ov {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

.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 {
        margin-bottom: 0 !important;
    }

.contao-box-base .content-hyperlink a {
        background-color: inherit;
    }

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

.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 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;
        color: var(--font-color);
    }

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

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

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

.content-box {
    padding: var(--gap205);
    max-width: 460px;
    border-radius: var(--r3);
}

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

.content-mediumbox {
    padding: var(--gap4);
    max-width: 400px;
    border-radius: var(--r4);
}

.content-mediumbox.img-ov > .content-wrapper {
            padding-left: var(--gap3);
            padding-right: var(--gap3);
        }

.content-bannerbox {
    padding: var(--gap4);
    border-radius: var(--r4);
    position: relative;
    overflow: hidden;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

.content-bannerbox .content-wrapper {
        position: relative;
        z-index: 2;
        margin-bottom: 0 !important;
    }

.content-bannerbox .content-wrapper div:last-child {
            margin-bottom: var(--gap4) !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 a {
       text-decoration: none;
    }

.content-bannerbox *:is(h2,h3,h4,h5,h6),.content-bannerbox p {
        text-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }

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

.content-bannerbox:hover .content-hyperlink {

        }

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

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

#footer .content-bannerbox {
        padding: var(--gap2);
        max-height: 240px;
    }

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

#footer .content-bannerbox .content-hyperlink,
        #footer .content-bannerbox p {
            margin-bottom: 0 !important;
        }

#lead .content-bannerbox {
    position: relative;
    border-radius: var(--r5);
    padding: 0;
}

#lead .content-bannerbox figure {
        position: relative;
        z-index: 1;
    }

#lead .content-bannerbox .content-wrapper {
        padding: var(--gap6);
        position: absolute;
        inset: 0;
        z-index: 2;
    }

#lead .content-bannerbox h3 {
        font-size: var(--rem40);
    }

.content-plusbox {
    position: relative;
}

.content-plusbox .content-wrapper {
        position: absolute;
        inset: 0;
        z-index: 2;
        padding: var(--gap2);
    }

.content-plusbox .plus-content {
        display: none;
        position: absolute;
        inset: 0;
        background-color: var(--blue-extralight);
        border-radius: var(--r2);
        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(--font-color) !important;
        }

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

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

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

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

.content-plusbox h3,
    .content-plusbox h3 + p {
        text-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }

.content-box.banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--gap3);
}

@media screen and (min-width: 768px) {
    .content-mediumbox {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        max-width: 920px;
        padding: var(--gap3);
    }

        .content-mediumbox.img-ov {
            padding: 0;
        }

            .content-mediumbox.img-ov .content-wrapper {
                padding: var(--gap3) 0 var(--gap3) var(--gap3);
            }

        .content-mediumbox .content-wrapper,
        .content-mediumbox figure {
            width: calc(50% - var(--gap1));
        }
        .content-bannerbox h3 {
            font-size: var(--rem32);
            margin-bottom: var(--gap1);
        }

        .content-bannerbox p {
            font-family: "Ubuntu", sans-serif;
            font-weight: 500;
            font-size: var(--rem54);
            line-height: var(--rem64);
        }
            #footer .content-bannerbox h3 {
                font-size: var(--rem20);
                margin-bottom: var(--gap1);
            }

            #footer .content-bannerbox p {
                font-size: var(--rem27);
                line-height: var(--rem32);
            }

    .columns .content-bannerbox {
        height: 100%;
    }

    #footer .columns .content-bannerbox {
        height: auto;
    }
        .content-plusbox .content-wrapper {
            padding: var(--gap3);
        }
}

@media screen and (min-width: 768px) and (max-width: 991px){
    .content-box {
        padding: var(--gap105);
    }
            .content-box.img-ov .content-wrapper {
                padding-left: var(--gap105);
                padding-right: var(--gap105);
            }
}

@media screen and (min-width: 1024px) {
    .content-box {
        padding: var(--gap2);
    }
            .content-box.img-ov .content-wrapper {
                padding-left: var(--gap2);
                padding-right: var(--gap2);
            }
}

@media screen and (min-width: 1861px){
        .content-plusbox .plus-content {
            position: static;
        }

            .content-plusbox .plus-content .plus-button {
                display: none;
            }
}

.content-bigbox {
    position: relative;
    margin-bottom: var(--gap6);
    display: flow-root;
}

.content-bigbox > .wrapper {
        position: relative;
        margin: var(--gap2) 0;
    }

.content-bigbox > .wrapper::before {
            display: block;
            content: "";
            position: absolute;
            inset: 0;
            background-color: var(--blue-extralight);
            border-radius: var(--r5);
            margin: calc(-1 * var(--gap2));
            z-index: -1;
        }

.content-bigbox > .wrapper > .columns {
            display: grid;
            gap: var(--gap2);
            grid-template-columns: 100%;
        }

.content-bigbox > .wrapper > .columns > .column {
                margin-bottom: 0 !important;
                max-width: 100%;
            }

.content-bigbox > .wrapper > .columns.w50-50 {
                grid-template-columns: 100%;
            }

.content-bigbox > .wrapper > .columns.w33-66 {
                grid-template-columns: 100%;
            }

.content-bigbox > .wrapper > .columns.w25-75 {
                grid-template-columns: 100%;
            }

.content-bigbox > .wrapper > .columns.w75-25 {
                grid-template-columns: 100%;
            }

.content-bigbox .columns .content-column {
        margin-bottom: 0 !important;
    }

.content-bigbox .columns .columns {
        gap: 0;
    }

@media screen and (min-width: 768px){
        .content-bigbox .columns .columns {
            display: grid;
            gap: var(--gap2);
            grid-template-columns: 100%;
        }

        .content-bigbox .column > *:last-child {
            margin-bottom: 0 !important;
        }
}

@media screen and (min-width: 1024px) {
        .content-bigbox > .wrapper {
            margin: var(--gap4) 0;
        }

            .content-bigbox > .wrapper::before {
                margin: calc(-1 * var(--gap4));
            }
                .content-bigbox > .wrapper > .columns.auto-start {
                    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
                    -webkit-box-pack: start;
                        -ms-flex-pack: start;
                            justify-content: start;
                }

                .content-bigbox > .wrapper > .columns.w50-50 {
                    grid-template-columns: calc(50% - var(--gap1)) calc(50% - var(--gap1));
                }

                .content-bigbox > .wrapper > .columns.w33-66 {
                    grid-template-columns: calc(33.333% - var(--gap1)) calc(66.666% - var(--gap1));
                }

                .content-bigbox > .wrapper > .columns.w25-75 {
                    grid-template-columns: calc(25% - var(--gap1)) calc(75% - var(--gap1));
                }

                .content-bigbox > .wrapper > .columns.w75-25 {
                    grid-template-columns: calc(75% - var(--gap1)) calc(25% - var(--gap1));
                }

        .content-bigbox .columns .columns {
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        }

            .content-bigbox .columns .columns.auto-start {
                grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
                -webkit-box-pack: start;
                    -ms-flex-pack: start;
                        justify-content: start;
            }
}

@media screen and (min-width: 1440px){
        .content-bigbox > .wrapper {
            margin: var(--gap5) 0;
        }

            .content-bigbox > .wrapper::before {
                margin: calc(-1 * var(--gap5));
            }
}

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

#lead .gap-small:is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ), #main .gap-small:is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
            margin-bottom: var(--gap3);
        }

#lead .gap-big:is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ), #main .gap-big:is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
            margin-bottom: var(--gap12);
        }

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

#footer .gap-small:is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
            margin-bottom: var(--gap1);
        }

/* prevent use */

#footer .gap-big:is(
        [class^="content-"],
        [class*=" content-"],
        [class^="ce_"],
        [class*=" ce_"]
    ) {
            margin-bottom: 0;
        }

.w66-center,
.w70-center,
.w75-center {
    margin-left: auto;
    margin-right: auto;
}

.w66-left,
.w70-left,
.w75-left {
    margin-left: 0;
    margin-right: auto;
}

.w75-left,
.w75-center {
    max-width: var(--standard-width);
}

.center {
    text-align: center;
}

.r1,
.r10 {
    border-radius: var(--r1);
}

.r2,
.r15 {
    border-radius: var(--r2);
}

.r3,
.r20 {
    border-radius: var(--r3);
}

.r4,
.r25 {
    border-radius: var(--r4);
}

.r5,
.r30 {
    border-radius: var(--r5);
}

.content-youtube {
    border-radius: var(--r5);
    overflow: hidden;
}

.content-youtube.shrink-mode-1920 {
    aspect-ratio: 16/9;
    width: 1920px;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    -webkit-transition: width 0.25s ease-out;
    transition: width 0.25s ease-out;
}

.content-youtube.shrink-mode-1920 iframe {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        border: 0;
    }

.content-player {
    width: 1920px;
    max-width: 100%;
    margin: 0 auto;
    border-radius: var(--r5);
    overflow: hidden;
    -webkit-transition: width 0.25s ease-out;
    transition: width 0.25s ease-out;
}

.content-player video {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        border: 0;
    }

.content-player.shrink-mode-16-9 {
        aspect-ratio: 16/9;
    }

.content-player.shrink-mode-1920-830 {
        aspect-ratio: 1920/830;
    }

.swiper-slide .content-player {
    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;
    aspect-ratio: 3/2;
    width: 100%;
    height: 100%;
    background-color: black;
    overflow: hidden;
    padding: 20px;

}

.swiper-slide .content-player video {
        width: 100%;
        height: auto;
        display: block;
        -o-object-fit: cover;
           object-fit: cover; /* oder contain, je nach Bedarf */
    }

.swiper-slide .content-player * {
        -ms-touch-action: pan-y;
            touch-action: pan-y;
    }

/* Google Maps */

.content-googleMaps {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: var(--r2);
}

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

@media screen and (min-width: 1024px) {
    .w66-left,
    .w66-center {
        width: 66%;
    }

    .w75-left,
    .w75-center {
        width: 75%;
    }
}

.content-hyperlink a,
    .content-hyperlink .button {
        display: inline-block;
        background-color: var(--brandcolor-blue);
        border: 2px solid var(--brandcolor-blue);
        border-radius: 100px;
        padding: var(--gap05) var(--gap3);
        text-decoration: none;
        color: white;
        white-space: nowrap;
        max-width: 100%;
        text-overflow: ellipsis;
        overflow: hidden;
    }

.content-hyperlink.outline a {
        background-color: inherit;
        color: var(--brandcolor-blue);
        font-weight: 500;
    }

.content-hyperlink a:hover {
    background-color: var(--brandcolor-blue-light);
    border-color: var(--brandcolor-blue-light);
}

.brandcolor-blue .content-hyperlink a,
    .brandcolor-blue .content-hyperlink .button {
        background-color: var(--brandcolor-blue-light);
        border-color: var(--brandcolor-blue-light);
    }

.content-compare .content-headline {
        text-align: center;
    }

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

.comparison-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    position: relative;
    border-radius: var(--r3);
    background-color: var(--blue-extralight);
}

.comparison-wrapper figure {
        margin-bottom: var(--gap2);
    }

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

/* Mobile = Cards */

.comparison-table {
    display: none;
}

.comparison-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap2);
}

.comparison-cards .card {
        border-radius: var(--r3);
        background: var(--blue-extralight);
        padding: var(--gap205);
    }

.comparison-cards .card > ul > li {
            margin-top: var(--gap1);
        }

.comparison-cards h3 {
        margin-bottom: var(--gap2);
    }

.comparison-cards li strong {
            display: block;
        }

/* --- Desktop ab 768px --- */

@media (min-width: 767px) {
    .comparison-cards {
        display: none;
    }

    .comparison-table {
        display: table;
        border-collapse: collapse;
        min-width: -webkit-max-content;
        min-width: -moz-max-content;
        min-width: max-content;
        width: auto;
    }

        .comparison-table th,
        .comparison-table td {
            padding: var(--gap2);
            border-bottom: 1px solid var(--brandcolor-blue-light);
            min-width: 220px;
            max-width: 450px;
            text-align: left;
        }

        .comparison-table th.spec {
            min-width: 160px;
            background-color: var(--blue-extralight);
            position: sticky;
            left: 0;
            z-index: 5;
        }

        .comparison-table th.spec::after {
            content: "";
            position: absolute;
            top: 0;
            right: -6px;  /* etwas nach rechts rausziehen */
            width: 6px;   /* Breite des Schattens */
            height: 100%;
            pointer-events: none;
            background: -webkit-gradient(
                    linear,
                    left top, right top,
                    from(rgba(194, 212, 240, 0.9)),  to(/* dunklere Variante */)
            );
            background: linear-gradient(
                    to right,
                    rgba(194, 212, 240, 0.9),  /* dunklere Variante */
                    rgba(194, 212, 240, 0)
            );
        }
            .comparison-table thead th {
                position: sticky;
                top: 0;
                z-index: 3;
            }

            .comparison-table thead th.spec {
                left: 0;
                z-index: 4;
            }

        .comparison-table tbody {
            border-top: 1px solid var(--brandcolor-blue-light);
        }

        .comparison-table tr:last-child th,
        .comparison-table tr:last-child td {
            border-bottom: none;
        }

        .comparison-table h3 {
            margin-bottom: var(--gap2);
            text-align: center;
        }

        .comparison-table figure {
            margin-bottom: 0;
        }


    /* Optional: Hinweis auf Scrollbarkeit rechts */
    .comparison-clip::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 20px;
        pointer-events: none;
        background: -webkit-gradient(linear, left top, right top, from(transparent), to(rgba(255,255,255,0.9)));
        background: linear-gradient(to right, transparent, rgba(255,255,255,0.9));
        opacity: 0;
        -webkit-transition: opacity 0.2s ease;
        transition: opacity 0.2s ease;
    }

    .comparison-clip.has-scroll-right::after {
        opacity: 1;
    }
}

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

.content-text.blue-extralight {
        border-radius: var(--r4);
        background: var(--blue-extralight);
    }

.content-text.blue-extralight .rte {
            margin: var(--gap3) var(--gap2) var(--gap4) var(--gap2);
        }

/*
.big-font {
    padding: var(--gap3) 0;
}

#main > .inside > .mod_article:first-of-type > .inside > .big-font.content-text:first-child {
    padding-top: 0;
}

 */

/*
.columns > .brandcolor-blue-superlight.content-text {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}


 */

.content-list ul {
        list-style: none;
        padding-left: 2.3em;
    }

.content-list ul li {
            position: relative;
            padding: var(--gap05) 0;
        }

.content-list ul li::before {
                content: "";
                position: absolute;
                left: -1.8em;
                top: calc( 0.2em + var(--gap05));
                width: 1.2em;
                height: 1.2em;
                background: var(--brandcolor-blue, #1a7f37);

                -webkit-mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
  <path d="M20 6 L9 17 L4 12" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>\
</svg>') no-repeat center / contain;

                mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
  <path d="M20 6 L9 17 L4 12" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>\
</svg>') no-repeat center / contain;
            }

.swiper .content-image figcaption {
        display: none;
    }

figcaption {
    padding-left: var(--gap1);
    padding-top: var(--gap05);
}

.swiper-slide {
    overflow: hidden;
}

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

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

.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-button-prev,
.swiper-button-next {
    color: white;
    background: var(--brandcolor-blue);
}

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

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

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

.swiper-button-prev,
.swiper-button-next {
    position: static;
    /* todo: notwendig oder nicht?
    display: block;
     */
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

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

.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;
    }

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

.swiper.swiper-overflow.mini .swiper-slide {
        width: min(33%, 450px);
    }

.swiper.swiper-overflow.mini .swiper-slide > div {
            border-radius: var(--r2);
        }

.swiper.swiper-overflow.mikro .swiper-slide {
        width: min(33%, 300px);
    }

.swiper.swiper-overflow.mikro .swiper-slide > div {
            border-radius: var(--r1);
        }

.swiper.swiper-overflow.mikro .swiper-slide picture {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            text-align: center;
        }

.ce_rsce_box_plus {
    position: relative;
    border-radius: var(--r3);
}

.ce_rsce_box_plus .content {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        row-gap: var(--gap2);

        position: absolute;
        inset: 0;
        z-index: 2;
        padding: var(--gap2);
    }

.ce_rsce_box_plus.white {
        color: white;
    }

.ce_rsce_box_plus.white h3 {
            color: white;
        }

.ce_rsce_box_plus .plus-content {
        display: none;
        position: absolute;
        inset: 0;
        background-color: var(--blue-extralight);
        border-radius: var(--r2);
        padding: var(--gap2);
    }

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

.ce_rsce_box_plus .plus-content * {
            color: var(--font-color) !important;
        }

.ce_rsce_box_plus > .inside.open .plus-content {
        display: block;
    }

.ce_rsce_box_plus .plus-button-small {
        border-color: var(--black);
    }

.ce_rsce_box_plus .plus-button-small:before,
        .ce_rsce_box_plus .plus-button-small:after {
            background-color: var(--black);
        }

@media screen and (min-width: 1861px){
        .ce_rsce_box_plus .plus-content {
            position: static;
        }

            .ce_rsce_box_plus .plus-content .plus-button {
                display: none;
            }
}

.ce_rsce_timeline {
    position: relative;
    display: flow-root;
    overflow: visible;
}

.ce_rsce_timeline h3 {
        margin-bottom: var(--gap1);
    }

.ce_rsce_timeline p {
        margin: 0;
    }

.ce_rsce_timeline > div > div {
        position: relative;
    }

.ce_rsce_timeline > .wrapper {
        position: relative;
        margin: var(--gap5) 0;
    }

.ce_rsce_timeline > .wrapper::before {
            display: block;
            content: "";
            position: absolute;
            inset: 0;
            background-color: var(--blue-extralight);
            border-radius: var(--r5);
            margin: calc(-1 * var(--gap5)) -100vw;
            z-index: -1;
        }

.ce_rsce_timeline .tl_slider-wrapper {
        position: relative;
    }

.ce_rsce_timeline .tl_slider-wrapper li:nth-child(odd) {
            margin-top: 80px;
        }

.ce_rsce_timeline ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--gap2);
        margin: 0;
        padding: 0;
    }

.ce_rsce_timeline li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        margin: 0;
        padding: 0;
        list-style: none;
    }

.ce_rsce_timeline h3 {
        position: relative;
        z-index: 3;
    }

.ce_rsce_timeline .flag {
        background: url("/files/public/img/flag.svg") no-repeat top left;
        background-size: 26px 40px;
    }

.tlitem_tooltip {
    position: relative;
    width: 92vw;
    max-width: 400px;
    z-index: 3;
}

.tl_navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--gap05);
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: var(--gap2);
}

.tl_navigation .prev,
    .tl_navigation .next {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 40px;
        height: 40px;
        background-color: var(--brandcolor-blue);
        border-radius: 50%;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        cursor: pointer;
        color: white;
    }

.tl_navigation .prev:hover, .tl_navigation .next:hover {
            background-color: var(--grey-600);
        }

.tl_navigation .prev.disable:hover, .tl_navigation .next.disable:hover {
            background-color: var(--grey-400);
            cursor: default;
        }

.tl_navigation ul {
    display: none;
}

.timeline-wrapper {
    position: relative;
}

.timeline-wave {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    pointer-events: none;
}

.tl_content-slider {
    position: relative;
    z-index: 1;
}

.mountain {
    margin-top: 0 !important;
    background: url("/files/public/img/mountain.svg") no-repeat left 40px;
    background-size: 80px;
}

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

.blue-gradient-light {
    background: var(--blue-gradient-light);
}

.blue-gradient-light-tl {
    background: var(--blue-gradient-light-tl);
}

.blue-gradient-light-tr {
    background: var(--blue-gradient-light-tr);
}

.blue-gradient-dark {
    background: var(--blue-gradient-dark);
}

.bg-black {
    background: var(--black);
}

.bg-blueblack {
    background: var(--blueblack);
}

.brandcolor-blue {
    background: var(--brandcolor-blue);
}

.brandcolor-blue-light {
    background: var(--brandcolor-blue-light);
}

.brandcolor-blue-superlight {
    background: var(--brandcolor-blue-superlight);
}

.blue-extralight {
    background: var(--blue-extralight);
}

/* page links */

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

.blue-gradient-l-tl {
    background: var(--blue-gradient-l-tl);
}

.blue-gradient-l-tr {
    background: var(--blue-gradient-l-tr);
}

.white {
    color: white;
}

.white * {
        color: white;
    }

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

.blue-light * {
        color: var(--brandcolor-blue-light);
    }

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

.blue-dark * {
        color: var(--brandcolor-blue);
    }

.blueblack {
    color: var(--blueblack);
}

.blueblack * {
        color: var(--blueblack);
    }
/*# sourceMappingURL=standard.css.map */
