/* Variables and font definitions moved to Css/Settings.css */


/* ##################################################################### */
/* #### HTML5 display definitions (legacy IE unknown tags) ############# */

    address, article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, search, section, summary { display:block; }


/* ##################################################################### */
/* #### Base ########################################################### */

    *,
    *::before,
    *::after{ box-sizing:border-box; }

    html{
        /* overflow-y:scroll;    scrollbar (but awkward with lightbox) */
        color:rgb(var(--rgb_color_value_base));
        background-color:rgb(var(--rgb_color_value_background_base));
        font-size:16px;
        /*
        Prevents iOS text size adjust after orientation change, without disabling user zoom
        www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
        */
        -webkit-text-size-adjust:100%;
        -ms-text-size-adjust:100%;
        /* OS-X fonts like Windows */
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
        height:100%; /* for footer-positioning */
        /* -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; */
        scroll-behavior:smooth;
    }

    html, button, input, select, textarea{
        /* addresses font-family inconsistency between form elements. */
        font-family: var(--font-family-base);
    }

    body{
        font-size:var(--font-size-0); line-height:var(--line-height-0);
        margin:0;
        min-height:100%; display:flex; flex-direction:column;  /* for footer-positioning */
    }
    .overlay-menu-visible body,
    .overlay-search-visible body{ overflow:hidden; height:100%; /* prevent scroling */ }

        #stage{ flex:1 0 auto; } /* for footer-positioning */


/* ##################################################################### */
/* #### General formatting ############################################# */

    /* Remove text-shadow in selection highlight. These selection declarations have to be separate. */
    ::-moz-selection{ background:#b3d4fc; text-shadow:none; }
    ::selection{ background:#b3d4fc; text-shadow:none; }

    /*###
    //# Focus
    ###*/

    a:hover, a:active{ outline:0; }  /* Improve readability when focused and hovered in all browsers: h5bp.com/h */

    /*
        :focus-visible applies only when focus reaches the element via keyboard (e.g. Tab). On mouse click the :focus style stays hidden.
        :focus is removed or toned down to control visibility.
    */
    :focus{ outline:none; }
    :focus-visible{ outline:rgb(var(--rgb_color_value_action)) dotted 3px; outline-offset:3px; box-shadow:0 0 0 6px #fff; }


    /*###
    //# Links
    ###*/

    a{ color:rgb(var(--rgb_color_value_action)); }
    /*
    a:visited{ color:rgb(var(--rgb_color_value_action)); }
    a:hover{ color:rgb(var(--rgb_color_value_action)); }
    */

    a[href^="mailto:"]{ word-break:break-all; overflow-wrap:break-word;    } /* Allow line breaks in mailto links */


    /*###
    //# In-Text-Icons
    ###*/

    /* Spacing */
    a.download,
    a.mail,
    a.tel,
    a.arrow,
    a.external, .ce-bodytext  a[target="_blank"]{
        display:inline-flex; flex-wrap:wrap; gap:0.25em; align-items:baseline;
    }

    /* Base style for icon area */
    a.download::before,
    a.mail::before,
    a.tel::before,
    a.arrow::before,
    a.external::after, .ce-bodytext  a[target="_blank"]::after,
    span.icon-chevron-down{
        content:""; display:block; align-self:center; width:1em; height:1em; background-color:currentColor; mask-repeat:no-repeat; mask-position:center; mask-size:contain;
    }
    /* No duplicate icon */
    a.download[target="_blank"]::after{ display:none; }

    /* Icon */
    a.download::before{        mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.8361448,9.52175144 L12.1611448,14.2717514 C12.1307587,14.3026251 12.0988014,14.3309295 12.0655345,14.3566646 L11.9837207,14.4132457 C11.8423066,14.5000907 11.6768898,14.55 11.5,14.55 C11.3584882,14.55 11.224319,14.518058 11.1040956,14.4608831 L10.9990264,14.4023559 L10.9347017,14.3567696 L10.8388552,14.2717514 L6.16385516,9.52175144 C5.79871495,9.15075336 5.79871495,8.54924664 6.16385516,8.17824856 C6.52899537,7.80725048 7.12100463,7.80725048 7.48614484,8.17824856 L10.56585,11.3053182 L10.565,2.2 C10.565,1.67532949 10.9836138,1.25 11.5,1.25 C12.0163862,1.25 12.435,1.67532949 12.435,2.2 L12.43585,11.3053182 L15.5138552,8.17824856 C15.8509077,7.83578879 16.3812687,7.80944574 16.748061,8.09921938 L16.8361448,8.17824856 C17.2012851,8.54924664 17.2012851,9.15075336 16.8361448,9.52175144 Z M20.1363636,17.6454545 C20.1363636,19.0537807 18.9763741,20.1954545 17.5454545,20.1954545 L5.45454545,20.1954545 C4.02362588,20.1954545 2.86363636,19.0537807 2.86363636,17.6454545 L2.86363636,14.2454545 C2.86363636,13.7760125 3.25029953,13.3954545 3.72727273,13.3954545 C4.20424592,13.3954545 4.59090909,13.7760125 4.59090909,14.2454545 L4.59090909,17.6454545 C4.59090909,18.1148966 4.97757226,18.4954545 5.45454545,18.4954545 L17.5454545,18.4954545 C18.0224277,18.4954545 18.4090909,18.1148966 18.4090909,17.6454545 L18.4090909,14.2454545 C18.4090909,13.7760125 18.7957541,13.3954545 19.2727273,13.3954545 C19.7497005,13.3954545 20.1363636,13.7760125 20.1363636,14.2454545 L20.1363636,17.6454545 Z"></path></svg>'); }
    a.mail::before{            mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.4090909,5 C19.8360641,5 21,6.12309604 21,7.5 L21,17.5 C21,18.876904 19.8360641,20 18.4090909,20 L4.59090909,20 C3.1639359,20 2,18.876904 2,17.5 L2,7.5 C2,6.12309604 3.1639359,5 4.59090909,5 L18.4090909,5 Z M19.2727273,9.1 L11.9952629,14.0160266 C11.6978955,14.21688 11.3021045,14.21688 11.0047371,14.0160266 L3.72719857,9.10083333 L3.72719857,17.5 C3.72719857,17.9564294 4.11788228,18.3333333 4.59090909,18.3333333 L18.4090909,18.3333333 C18.8821177,18.3333333 19.2727273,17.9564294 19.2727273,17.5 L19.2727273,9.1 Z M18.4090909,6.66666667 L4.59090909,6.66666667 C4.25581941,6.66666667 3.9620886,6.85580576 3.81927558,7.12836921 L11.5,12.3158333 L19.1807244,7.12836921 C19.0379114,6.85580576 18.7441806,6.66666667 18.4090909,6.66666667 Z"></path></svg>'); }
    a.tel::before{             mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.73942234,2.00012929 L6.47165273,2.00012929 C7.8474858,1.98687828 9.02013846,2.993632 9.21384424,4.36197988 C9.32053043,5.16946567 9.51838341,5.96231174 9.80285707,6.72333673 C10.1793997,7.72329367 9.93856383,8.85056677 9.182497,9.61378183 L8.52806916,10.2666651 L8.59709527,10.3760522 C9.63987551,11.9756664 11.0065488,13.3399439 12.6089721,14.3808961 L12.7183483,14.4486865 L13.3762063,13.7929218 C14.0923758,13.085964 15.1348102,12.8314167 16.0883875,13.1166493 L16.2660406,13.1764773 C17.0304634,13.461223 17.8247018,13.6587291 18.6417694,13.7663406 C20.0199601,13.9604287 21.0336687,15.1547433 20.9991441,16.5437136 L20.9994252,16.5210887 L20.9994177,19.2537146 C21.0025506,20.0241894 20.6801414,20.7602798 20.1113972,21.2811488 C19.542653,21.8020178 18.7802838,22.0593923 17.9951227,21.9884076 C15.041408,21.6680251 12.2041571,20.6604826 9.71845412,19.0512926 C7.3975565,17.5790831 5.42984048,15.6148165 3.95937099,13.3047171 C2.33715026,10.8049719 1.32760929,7.95892088 1.01113421,4.98290557 C0.941883873,4.21792719 1.19790408,3.45911617 1.71665503,2.89183244 C2.23536055,2.32459838 2.96900191,2.00107622 3.73942234,2.00012929 Z M3.74044282,3.82439177 C3.48386313,3.82472208 3.23923967,3.93259646 3.06631385,4.1217007 C2.89339687,4.31079527 2.8080568,4.56373228 2.82973954,4.80449696 C3.11450372,7.48135995 4.02692676,10.0536206 5.49741511,12.3196197 C6.8283276,14.4104167 8.60407133,16.1830475 10.7056483,17.5161821 C12.9586509,18.9746849 15.5229581,19.8853016 18.1760654,20.1732284 C18.4322992,20.1963449 18.6864223,20.1105534 18.8760037,19.9369304 C19.0655851,19.7633074 19.1730548,19.517944 19.172003,19.2574168 L19.1722842,16.4984638 C19.1837924,16.0354737 18.8458895,15.6373688 18.3946564,15.573785 C17.4491135,15.4492961 16.5207132,15.2184274 15.6251036,14.8848122 C15.2911993,14.759518 14.9147817,14.8396559 14.6647637,15.086438 L13.5043506,16.2448169 C13.2135044,16.5351532 12.7641738,16.595706 12.4066168,16.3927499 C9.97612935,15.0131592 7.96372187,13.0042795 6.58170851,10.5780527 C6.37839602,10.2211225 6.43905511,9.77257956 6.72990124,9.48224328 L7.88670928,8.32748333 C8.13752987,8.07428463 8.2178085,7.69852693 8.09152225,7.36315019 C7.75809316,6.47116832 7.52681907,5.54439556 7.40325921,4.60889615 C7.33907039,4.15555587 6.94813998,3.81993165 6.48055567,3.82439177 L3.74044282,3.82439177 Z"></path></svg>'); }
    a.arrow::before{           mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.0615416,6.26848545 L20.7267202,10.8518188 C20.7570425,10.8816091 20.7848414,10.9129398 20.810117,10.9455544 L20.8656877,11.025764 C20.9509819,11.1644053 21,11.3265787 21,11.5 C21,11.6387371 20.9686284,11.7702755 20.9124745,11.8881416 L20.8549924,11.9911506 L20.8102201,12.054214 L20.7267202,12.1481812 L16.0615416,16.7315145 C15.6971685,17.0894952 15.1064029,17.0894952 14.7420298,16.7315145 C14.3776567,16.3735339 14.3776567,15.7931327 14.7420298,15.4351521 L17.8132589,12.4158333 L2.93303571,12.4166667 C2.41773432,12.4166667 2,12.006261 2,11.5 C2,10.993739 2.41773432,10.5833333 2.93303571,10.5833333 L17.8132589,10.5825 L14.7420298,7.56484788 C14.4056854,7.23440425 14.3798128,6.71444245 14.6644119,6.35484218 L14.7420298,6.26848545 C15.1064029,5.91050485 15.6971685,5.91050485 16.0615416,6.26848545 Z"></path></svg>'); }
    a.external::after, .ce-bodytext  a[target="_blank"]::after{ mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,4.84264069 C12,5.17401154 11.7319063,5.44264069 11.4011959,5.44264069 C11.0704855,5.44264069 10.8023918,5.17401154 10.8023918,4.84264069 L10.8023918,2.04818182 L6.74359292,6.11543289 C6.50974537,6.34974747 6.13060357,6.34974747 5.89675602,6.11543289 C5.66290847,5.88111832 5.66290847,5.50121933 5.89675602,5.26690476 L9.95590049,1.2 L7.16701137,1.2 C6.86174025,1.2 6.60982296,0.97110889 6.57287279,0.675262725 L6.56820726,0.6 C6.56820726,0.26862915 6.83630099,-1.28785871e-14 7.16701137,-1.28785871e-14 L11.4011959,-1.28785871e-14 C11.4918246,-1.28785871e-14 11.5777509,0.0201738668 11.6547458,0.0562843522 L11.7220355,0.0932489144 L11.7836025,0.138233894 L11.8246143,0.175735931 L11.8525902,0.205719805 L11.8892387,0.252258854 L11.913801,0.289590974 L11.9434823,0.345155376 L11.9685163,0.407592241 C11.9799932,0.441483937 11.9885022,0.476756356 11.993763,0.513083163 C11.9979233,0.54211793 12,0.571058965 12,0.6 L12,4.84264069 Z"></path><path d="M1.19760823,10.2 C1.19760823,10.5313708 1.46570197,10.8 1.79641235,10.8 L9.09093522,10.8 C9.4216456,10.8 9.68973933,10.5313708 9.68973933,10.2 L9.68973933,7.8 C9.68973933,7.46862915 9.95783307,7.2 10.2885434,7.2 C10.6192538,7.2 10.8873476,7.46862915 10.8873476,7.8 L10.8873476,10.2 C10.8873476,11.1941125 10.0830664,12 9.09093522,12 L1.79641235,12 C0.804281204,12 1.0658141e-14,11.1941125 1.0658141e-14,10.2 L1.0658141e-14,2.89090909 C1.0658141e-14,1.89679654 0.804281204,1.09090909 1.79641235,1.09090909 L4.19162881,1.09090909 C4.52233919,1.09090909 4.79043293,1.35953824 4.79043293,1.69090909 C4.79043293,2.02227994 4.52233919,2.29090909 4.19162881,2.29090909 L1.79641235,2.29090909 C1.46570197,2.29090909 1.19760823,2.55953824 1.19760823,2.89090909 L1.19760823,10.2 Z"></path></svg>'); }
    span.icon-chevron-down{    mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5.29289322,8.29289322 C5.68341751,7.90236893 6.31658249,7.90236893 6.70710678,8.29289322 L12,13.585 L17.2928932,8.29289322 C17.6533772,7.93240926 18.2206082,7.90467972 18.6128994,8.20970461 L18.7071068,8.29289322 C19.0976311,8.68341751 19.0976311,9.31658249 18.7071068,9.70710678 L12.7071068,15.7071068 C12.3165825,16.0976311 11.6834175,16.0976311 11.2928932,15.7071068 L5.29289322,9.70710678 C4.90236893,9.31658249 4.90236893,8.68341751 5.29289322,8.29289322 Z"></path></svg>'); }

    /*
    a.lightbox{ display:block; position:relative; }
    a.lightbox:before{ content:""; display:block; position:absolute; bottom:0; right:0; width:2px; height:16px; background-color:black; border-style:solid; border-color:#ff0; border-width:7px 14px; box-sizing:content-box; }
    a.lightbox:after{  content:""; display:block; position:absolute; bottom:14px; right:7px; width:16px; height:2px; background-color:black; }
    */


    /*###
    //# Typography
    ###*/

    h1, h2, h3, h4, h5, .like-h1, .like-h2, .like-h3, .like-h4{ font-weight:400; margin:0; }

    .frame > header h1,
    .ce-bodytext h1{ margin:0 0 0.5em 0; }
    .frame > header h2,
    .frame > header h3,
    .frame > header h4,
    .ce-bodytext h2,
    .ce-bodytext h3,
    .ce-bodytext h4{ margin:1.2em 0 0.35em 0; }

    h1, .like-h1{ font-size:var(--font-size-5); line-height:var(--line-height-5); }
    h2, .like-h2{ font-size:var(--font-size-4); line-height:var(--line-height-4); }
    h3, .like-h3{ font-size:var(--font-size-3); line-height:var(--line-height-3); }
    h4, .like-h4{ font-size:var(--font-size-1); line-height:var(--line-height-1); }

    p{ margin:0 0 1em 0; }
    p.intro{ font-size:var(--font-size-2); line-height:var(--line-height-2); }


    /* automatic hyphenation: p{ -webkit-locale:de; -webkit-hyphens:auto; hyphens:auto; -moz-hyphens:auto; } */

    b, strong{ font-weight:bold; }

    small{ font-size:var(--font-size-s-2); line-height:var(--line-height-s-2); }

    /* Position subscript and superscript content without affecting line-height:h5bp.com/k */
    sub, sup{ font-size:75%; line-height:0; position:relative; vertical-align:baseline; }
    sup{ top:-0.5em; }
    sub{ bottom:-0.25em; }


    /*###
    //# Quotes
    ###*/

    blockquote{
        /*reset*/
        /* margin:0; font-size:100%; */
        padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; quotes:none;
        /*change*/
        padding-left:1.5em; position:relative;
        margin:0 0 1em 0; font-size:var(--font-size-1); line-height:var(--line-height-1);
    }
    blockquote:before, blockquote:after{ content:''; content:none; }
    blockquote:before{
        content:""; position:absolute; left:0; top:calc((1lh - 1em) / 2); width:1em; height:1em;
        background-color:currentColor;
        mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m8.24214016 5.03889392c1.92240744.20205316 3.29363074 2.1469001 3.06271274 4.3439372-.4501231 4.28263568-3.10067938 7.80130368-6.71020253 9.55068428l-.64268168-1.7766832c1.38761323-.7282064 2.41916262-2.1349002 3.09464818-4.2200815-1.73070619-.391607-2.91968007-2.228015-2.70341719-4.28561882.2309179-2.19703711 1.97653302-3.81429113 3.89894048-3.61223796z"/><path d="m17.2421402 5.03889392c1.9224074.20205316 3.2936307 2.1469001 3.0627127 4.3439372-.4501231 4.28263568-3.1006794 7.80130368-6.7102025 9.55068428l-.6426817-1.7766832c1.3876132-.7282064 2.4191626-2.1349002 3.0946482-4.2200815-1.7307062-.391607-2.9196801-2.228015-2.7034172-4.28561882.2309179-2.19703711 1.976533-3.81429113 3.8989405-3.61223796z"/></svg>') no-repeat center / contain;
    }
        blockquote > :last-child{ margin-bottom:0; }
        blockquote p{ margin:0 0 0.5em 0; }


    /*###
    //# Lists
    ###*/

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

    .ce-bodytext ul,
    .frame-type-menu_subpages ul{ padding:0; margin:0 0 1em 0; }
        .ce-bodytext ul > li,
        .frame-type-menu_subpages ul > li{ margin:0 0 0.5em 0; padding:0 0 0 1.2em; list-style:none; position:relative; }
        .ce-bodytext ul > li:last-child,
        .frame-type-menu_subpages ul > li:last-child{ margin-bottom:0; }

            .ce-bodytext ul > li > *:last-child,
            .frame-type-menu_subpages ul > li > *:last-child{ margin-bottom:0; }

            .ce-bodytext ul > li:after,
            .frame-type-menu_subpages ul > li:after{
                content:""; position:absolute; left:0.2em; top:0.45em; display:block; box-sizing:border-box; width:0.3em; height:0.3em; border-style:solid; border-radius:50%; border-width:0; background-color:rgb(var(--rgb_color_value_base));
                /* chevron-right ">"
                -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='9 18 15 12 9 6' fill='none' stroke='black' stroke-width='2' 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'><polyline points='9 18 15 12 9 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
                */
            }

    /* .ce-bodytext ol{} */
        .ce-bodytext ol > li{ margin-bottom:1em; }
        .ce-bodytext ol > li:last-child{ margin-bottom:0; }

    dd{ margin:0 0 0 40px; }


    /*###
    //# Figures
    ###*/

    figure{ margin:0; } /* Set margin to 0. Addresses margin not present in IE6/7/8/9, S5, O11 */


    /*###
    //# Embedded content
    ###*/

    img{
        border:0; /* Removes border when inside 'a' element in IE6/7/8/9, FF3 */
        -ms-interpolation-mode:bicubic; vertical-align:middle; /* Improves image quality when scaled in IE7 */
        max-width:100%;    height:auto; box-sizing:border-box;
    }

    .image-caption{ font-size:var(--font-size-s-2); line-height:var(--line-height-s-2); }


    /*###
    //# hr ("paragraph-level thematic break")
    ###*/

    /* see ContentBlocks/ContentElements/div/assets/frontend.css */


    /*###
    //# Tables
    ###*/

    table{ border-collapse:collapse; border-spacing:0; }
        td{ vertical-align:top; }



/* ##################################################################### */
/* #### non-semantic helper classes #################################### */


    .text-right{ text-align:right; }
    .text-center{ text-align:center; }
    .text-justify{ text-align:justify; }

    .frame-space-before-small{ margin-top:max(4vh, 24px); /* at 1200px designs this would be 48px */  }
    .frame-space-after-small{ margin-bottom:max(4vh, 24px); }
    .frame-space-before-medium{ margin-top:max(9vh, 54px); /* at 1200px designs this would be 108px */ }
    .frame-space-after-medium{ margin-bottom:max(9vh, 54px); }
    .frame-space-before-large{ margin-top:max(14vh, 84px); /* at 1200px designs this would be 168px */ }
    .frame-space-after-large{ margin-bottom:max(14vh, 84px); }


/* ##################################################################### */
/* #### Indexed Search ################################################# */

    .tx-indexedsearch-searchbox{ margin:0 0 1em 0; }
        .tx-indexedsearch-searchbox fieldset{ margin:0; padding:0; border:none; }
            .tx-indexedsearch-searchbox legend{ display:none; }

    /* hide "Size", "Created", "Modified", and "Path": */
    dl.tx-indexedsearch-info{ display:none; }

    ul.tx-indexedsearch-browsebox{ margin:2em 0; padding:0; list-style:none; }
        ul.tx-indexedsearch-browsebox li{ margin:0; padding:0; display:inline; }
            ul.tx-indexedsearch-browsebox li:after{ content:"|"; margin:0 10px;  }
            ul.tx-indexedsearch-browsebox li:last-child:after{ display:none; }
                ul.tx-indexedsearch-browsebox li.tx-indexedsearch-browselist-currentPage a{ color:black; }


/* ##################################################################### */
/* #### Forms + Buttons ################################################ */

    input,
    select,
    optgroup,
    textarea {
        margin:0;
        font-family:inherit;
        font-size:inherit;
        line-height:inherit;
    }

    .frame-type-form_formframework{ margin-bottom:2em; }
    .form-element{ margin:1em 0 0 0; }
    .form-element.form-element-gridrow{ margin:0; }
    fieldset.form-element{
        border:1px solid white; border-radius:0.5em;
    }

    .form-label,
    .form-element-statictext b,
    .form-element-statictext strong,
    .form-element > legend{ font-size:var(--font-size-1); line-height:var(--line-height-1); font-weight:normal; }

    .form-element-statictext p:last-child{ margin-bottom:0; }

    .form-text{ font-size:var(--font-size-s-1); line-height:var(--line-height-s-1); }

    .form-element-imageupload > label,
    .form-element-fileupload > label{ display:block; }
    .form-element-imageupload > .form-text,
    .form-element-fileupload > .form-text{ display:block; margin-top:0.5em; }


    /*###
    //# Multi-column forms
    ###*/

    .frame-type-form_formframework .row{
        display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap;
        margin-right:-15px; margin-left:-15px;
    }
        .frame-type-form_formframework .col-md-1,
        .frame-type-form_formframework .col-md-2
        .frame-type-form_formframework .col-md-3,
        .frame-type-form_formframework .col-md-4,
        .frame-type-form_formframework .col-md-6,
        .frame-type-form_formframework .col-md-7,
        .frame-type-form_formframework .col-md-8,
        .frame-type-form_formframework .col-md-9,
        .frame-type-form_formframework .col-md-10,
        .frame-type-form_formframework .col-md-11,
        .frame-type-form_formframework .col-md-12{
            -ms-flex-preferred-size:0; flex-basis:0; -ms-flex-positive:1; flex-grow:1;
            max-width:100%; box-sizing:border-box; position:relative; width:100%;
            padding-right:15px; padding-left:15px;
        }
        .frame-type-form_formframework .col-md-1{ -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width:8.333333%; }
        .frame-type-form_formframework .col-md-2{ -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width:16.666667%; }
        .frame-type-form_formframework .col-md-3{ -ms-flex:0 0 25%; flex:0 0 25%; max-width:25%; }
        .frame-type-form_formframework .col-md-4{ -ms-flex:0 0 33.333333%; flex:0 0 33.333333%; max-width:33.333333%; }
        .frame-type-form_formframework .col-md-6{ -ms-flex:0 0 50%; flex:0 0 50%; max-width:50%; }
        .frame-type-form_formframework .col-md-7{ -ms-flex:0 0 58.333333%; flex:0 0 58.333333%; max-width:58.333333%; }
        .frame-type-form_formframework .col-md-8{ -ms-flex:0 0 66.666667%; flex:0 0 66.666667%; max-width:66.666667%; }
        .frame-type-form_formframework .col-md-9{ -ms-flex:0 0 75%; flex:0 0 75%; max-width:75%; }
        .frame-type-form_formframework .col-md-10{ -ms-flex:0 0 83.333333%; flex:0 0 83.333333%; max-width:83.333333%; }
        .frame-type-form_formframework .col-md-11{ -ms-flex:0 0 91.666667%; flex:0 0 91.66 }
        .frame-type-form_formframework .col-md-12{ -ms-flex: 0 0 100%; flex: 0 0 100%; max-width:100%; }

    @media screen and (max-width:500px){
        .frame-type-form_formframework .row{ display:block; }
            .frame-type-form_formframework .col-md-1,
            .frame-type-form_formframework .col-md-2,
            .frame-type-form_formframework .col-md-3,
            .frame-type-form_formframework .col-md-4,
            .frame-type-form_formframework .col-md-6,
            .frame-type-form_formframework .col-md-7,
            .frame-type-form_formframework .col-md-8,
            .frame-type-form_formframework .col-md-9,
            .frame-type-form_formframework .col-md-10,
            .frame-type-form_formframework .col-md-11,
            .frame-type-form_formframework .col-md-12{ max-width:100%; }
    }


    /*###
    /# input
    ###*/

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    input[type="password"],
    textarea{
        padding:5px 5px; font-size:var(--font-size-0); line-height:var(--line-height-0); width:100%; /*width:300px;*/
        border-radius: 0.5em; /* em unit to keep it proportional to the set font-size */
        box-shadow:none; border:none;
    }
    textarea{ min-height:80px; }
    /*input[type="number"]{ width:auto; }*/


    /*###
    /# checkboxes
    ###*/

    .form-check-wrapping-label{
        display:flex;
        align-items:flex-start;
        gap:0.4em;
        cursor:pointer;
    }
        .form-check-wrapping-label .form-check-input{
            flex:0 0 auto;
        }
        /* Native Safari/WebKit draws a frame that is not the CSS border — use appearance:none for a true borderless control. */
        input[type="checkbox"].form-check-input{
            -webkit-appearance:none;
            appearance:none;
            width:1em;
            height:1em;
            margin:0.2em 0 0 0;
            padding:0;
            border:none;
            border-radius:0.25em;
            vertical-align:top;
            cursor:pointer;
            box-sizing:border-box;
            background-color:#fff;
            background-repeat:no-repeat;
            background-position:center;
            background-size:0.65em auto;
        }
        input[type="checkbox"].form-check-input:checked{
            background-color:rgb(var(--rgb_color_value_action));
            background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5.5 4.5 9 11 1'/%3E%3C/svg%3E");
        }
        input[type="checkbox"].form-check-input:focus-visible{
            outline:none;
            box-shadow:0 0 0 2px rgb(var(--rgb_color_value_action));
        }
        .form-check-label{
            cursor:pointer;
        }

    /*###
    //# error
    ###*/

    .has-error input[type="text"],
    .has-error input[type="email"],
    .has-error input[type="tel"],
    .has-error input[type="url"],
    .has-error input[type="number"],
    .has-error input[type="password"],
    .has-error textarea{ border-color:rgb(var(--rgb_color_value_warning)); }

    form .error.form-text{ padding:0 0 0.5em 10px; font-size:smaller; color:rgb(var(--rgb_color_value_warning)); }


    /*###
    //# Buttons + Submit
    ###*/

    .form-navigation{ text-align:right; margin-top:var(--gap); }


    button:not(:disabled),
    [type=button]:not(:disabled),
    [type=reset]:not(:disabled),
    [type=submit]:not(:disabled) {
      cursor: pointer;
    }

    button{
        /* reset styles */
        background:none; border:none; margin:0;    padding:0; font-family:inherit; font-size:inherit; line-height:inherit;    color:inherit; text-align:inherit; cursor:pointer;
    }

    button.has-icon/*,a.has-icon*/{
        /* 48px base area. Contains 24px (longest side) SVG icon. */
        width:48px; height:48px;
        display:inline-flex; align-items:center; justify-content:center; color:inherit;
    }
    button.has-icon.intext/*, a.has-icon.intext*/{ width:1em; height:auto; }
    button.has-icon:hover/*, a.has-icon:hover*/{ color:rgb(var(--rgb_color_value_action)); }


    /* button#btnToggleMenu{} */
        /* Open animation (step 1: shift) */
        #btnToggleMenu[aria-expanded="true"] .line1{ transform:translateY(6px);  transition:transform 0.15s ease; }
        #btnToggleMenu[aria-expanded="true"] .line3{ transform:translateY(-6px); transition:transform 0.15s ease; }
        /* Close animation (reverse order) */
        #btnToggleMenu[aria-expanded="false"] .line1,
        #btnToggleMenu[aria-expanded="false"] .line3{ transform:translateY(0); transition:transform 0.15s ease 0.15s; }

            /* Open animation (step 2: rotation) */
            #btnToggleMenu .line1 line{ transform-origin:12px 6px; }
            #btnToggleMenu .line3 line{ transform-origin:12px 18px; }
            #btnToggleMenu[aria-expanded="true"] .line1 line{ transform:rotate(45deg);  transition: transform 0.15s ease 0.15s; }
            #btnToggleMenu[aria-expanded="true"] .line3 line{ transform:rotate(-45deg); transition: transform 0.15s ease 0.15s; }
            /* Close animation (reverse order) */
            #btnToggleMenu[aria-expanded="false"] .line1 line{ transform:rotate(0); transition:transform 0.15s ease; }
            #btnToggleMenu[aria-expanded="false"] .line3 line{ transform:rotate(0); transition:transform 0.15s ease; }

            /* Hide middle line */
            #btnToggleMenu[aria-expanded="true"] .line2 line { opacity:0; transition:opacity 0.15s ease 0.15s; }
            /* Close animation (reverse order) */
            #btnToggleMenu[aria-expanded="false"] .line2 line { opacity:1; transition:opacity 0.15s ease; }


    /*###
    //# CTAs & buttons (.cta and submit are always primary)
    ###*/

    /* base (layout only) */
    .cta,
    .btn,
    input[type="submit"]{
        display:inline-block; box-sizing:border-box; min-width:150px; padding:0 var(--gap); border:none; text-align:center; font-weight:bold;
        font-size:1em; line-height:40px; text-decoration:none; cursor:pointer;
        border-radius:0.5em; margin:10px 0;
        box-shadow:var(--box-shadow);
        transition:background-color 0.15s ease, box-shadow 0.15s ease;
    }

    /* secondary */
    .btn:not(.btn-primary){
        color:rgb(var(--rgb_color_value_base)); background-color:rgb(var(--rgb_color_value_background_light_01));
    }

    /* primary */
    .cta,
    .btn.btn-primary,
    input[type="submit"]{
        color:#fff; background-color:rgb(var(--rgb_color_value_action));
    }

    /* hover / focus – all */
    .cta:hover, .btn:hover, input[type="submit"]:hover,
    .cta:focus-visible, .btn:focus-visible, input[type="submit"]:focus-visible{
        box-shadow:var(--box-shadow-strong);
    }

    /* hover / focus – secondary */
    .btn:hover:not(.btn-primary),
    .btn:focus-visible:not(.btn-primary){
        background-color:color-mix(in srgb, rgb(var(--rgb_color_value_background_light_01)) 88%, rgb(var(--rgb_color_value_base)));
    }

    /* hover / focus – primary */
    .cta:hover, .btn.btn-primary:hover, input[type="submit"]:hover,
    .cta:focus-visible, .btn.btn-primary:focus-visible, input[type="submit"]:focus-visible{
        background-color:color-mix(in srgb, rgb(var(--rgb_color_value_action)) 88%, #000);
    }

    .cta + .cta,
    .btn + .btn{ margin-left:var(--gap-s); }


    /*###
    //# FE-Login
    ###*/
    /*
    .frame-type-felogin_login fieldset{ border:none; padding:0; margin:1em 0; }
    .frame-type-felogin_login legend{ display:none; }
    .frame-type-felogin_login label{ display:block; }
    */


/* ##################################################################### */
/* #### Language switcher ############################################## */

    #language-switcher{ position:relative; z-index:1; }

        #language-switcher > button{ position:relative; z-index:2; }
        #language-switcher ul {
            display:none;
            position:absolute; right:0;    top:100%;
            background:rgba(255,255,255,0.8);
            text-align:right; line-height:1.8em; padding:0.3em var(--gap-s); box-shadow:var(--box-shadow);
        }
        #language-switcher:hover ul,
        #language-switcher:focus-within ul,
        #language-switcher button[aria-expanded="true"] + ul{ display:block; }

            #language-switcher a,
            #language-switcher span {
                display: block;
                text-decoration: none;
                color:rgb(var(--rgb_color_value_base));
            }

            #language-switcher a:hover,
            #language-switcher a:focus {
                color:rgb(var(--rgb_color_value_action));
            }
            #language-switcher span{ font-weight:bold; }


/* ##################################################################### */
/* #### Layout grid #################################################### */

        .centered,
        .centered-wide,
        .centered-narrow,
        .frame > header,
        .frame-type-indexedsearch_pi2 > div,
        .frame-type-form_formframework > form,
        .frame-type-form_formframework > div,
        .frame-type-felogin_login,
        .frame-type-menu_subpages > ul{ max-width:1440px; width:90%; margin-left:auto; margin-right:auto; position:relative; }

        .centered-narrow{ max-width:952px; }
        .centered-wide{ max-width:none; }


    /*###
    //# Header
    ###*/

    /* #region: Header */

        /* #header{ min-height:175px; } */
        .header-fixed #header::before { content:""; display:block; height:var(--header-bar-height);    }

            /* #skipLinks{} */
            .overlay-visible #skipLinks{ display:none; }
                #skipLinks li{ height:0; overflow:hidden; transition:height 0.2s ease-in-out; line-height:2em; }
                #skipLinks li:focus-within{    height:auto; overflow:visible; }
                    #skipLinks a{ display:block; text-decoration:none; color:#fff; background-color:rgb(var(--rgb_color_value_action)); text-align:center; }
                    #skipLinks a:focus-visible{ outline:none; box-shadow:none; }

            /* #region: Info-Banner */
            #info-banner {
                display:none; /* shown via JS */
                background-color:rgb(var(--rgb_color_value_background_light_01)); padding:0.25em 0;
            }
                .banner-content{ display:flex; justify-content:space-between; align-items:center; }
                    #info-banner .frame .centered{ max-width:auto; width:100%; margin:0; }
                        #info-banner a{ color:rgb(var(--rgb_color_value_base)); }
                        #info-banner p{ margin:0; }
            /* #endregion */


            #headerBar{
                background-color:rgb(var(--rgb_color_value_background_base));
                position:relative; top:0; width:100%; z-index:9001;
                transition:transform 0.3s ease;
            }
            .header-fixed #headerBar{ position:fixed; box-shadow:0 2px 5px rgba(var(--rgb_color_value_base),0.1); }
            .header-hidden #headerBar{ transform:translateY(-100%); transition:none; }

                #headerBar > .grid{
                    display:flex; justify-content:space-between; align-items:center; gap:var(--gap-s); flex-wrap: wrap;
                    padding:clamp(20px, 0.9868rem + 1.1696vw, 28px) 0 20px 0;
                }

                    #headerBar .logo{ max-width:calc(100% - (144px + var(--gap-s) )); }
                        #headerBar .logo > a{ display:block; }

                    #mainNav{ flex-grow:1; text-align:center; align-self:stretch; }
                    .overlay-menu-visible #mainNav{ order:3; width:100%; }

                        #mainNav ul.lvl1{ border-bottom:1px solid rgba(var(--rgb_color_value_base),0.25); }
                        html:not(.overlay-menu-visible) #mainNav ul.lvl1{ display:inline-flex; height:100%; gap:72px; border:none; }

                                #mainNav li{ position:relative; display:flex; flex-wrap:wrap; border-top:1px solid rgba(var(--rgb_color_value_base),0.25); }
                                html:not(.overlay-menu-visible) #mainNav ul.lvl1 > li{ align-items:center; border-top:none; }
                                #mainNav li ul{ width:100%; }

                                    /* a */
                                    html:not(.overlay-menu-visible) #mainNav ul.lvl1 > li > a{ flex:0 0 auto; border-width:4px 0; border-style:solid; border-color:transparent; padding:0; }
                                    html:not(.overlay-menu-visible) #mainNav ul.lvl1 > li > a.act,
                                    html:not(.overlay-menu-visible) #mainNav ul.lvl1 > li:hover > a{ border-bottom-color:rgb(var(--rgb_color_value_action)); }

                                    #mainNav a{
                                        flex:1; /* Takes all available space */
                                        display:flex; align-items:center; /* Vertical centering */
                                        text-align: start;
                                        color:rgb(var(--rgb_color_value_base)); text-decoration:none;
                                        padding:0.4em var(--gap-s) 0.4em var(--gap);
                                    }
                                    #mainNav a.act,
                                    #mainNav a:hover{ color:rgb(var(--rgb_color_value_action)); }

                                    html:not(.overlay-menu-visible) #mainNav ul.lvl3 a{ padding-left:calc(var(--gap) + var(--gap-s)); }

                                    /* .toggleSubMenu */
                                    html:not(.overlay-menu-visible) #mainNav ul.lvl1 > li > .toggleSubMenu{ display:none; }
                                    #mainNav .toggleSubMenu{ height:auto; transition:transform .15s; }
                                    #mainNav .toggleSubMenu[aria-expanded="true"]{ transform:rotate(180deg); }
                                    #mainNav .toggleSubMenu[aria-expanded="false"] + ul{ display:none; }

                                    /* ul */
                                    .overlay-menu-visible #mainNav ul.lvl1 ul{ padding-left:var(--gap); }

                                    html:not(.overlay-menu-visible) #mainNav ul.lvl1 ul.lvl2{
                                        visibility:hidden; transition:visibility 0.01s; /* minimal delay so when moving focus in submenu Edge and Chrome do not close the menu and lose focus */
                                        position:absolute; z-index:1; top:100%; left:calc(-1 * var(--gap)); min-width: max(290px, calc(100% + 20px)); /*box-sizing:content-box;*/
                                        background-color:#fff; border-top:none; padding-left:0; /*height:0;*/
                                        box-shadow:var(--box-shadow);
                                    }
                                    html:not(.overlay-menu-visible) #mainNav ul.lvl1 > li:hover ul.lvl2,
                                    html:not(.overlay-menu-visible) #mainNav ul.lvl1 > li:focus-within ul.lvl2{ display:block; visibility:visible; transition:visibility 0s; /*height:auto;*/ }

                    #headerBarButtons{ display:inline-flex; gap:0px; }
                        #btnToggleSearch svg:last-child,
                        #btnToggleSearch[aria-expanded="true"] svg:first-child{ display:none; }
                        #btnToggleSearch[aria-expanded="true"] svg:last-child{ display:block; }
                        #btnToggleMenu{ display:none; }
                        .overlay-menu-visible #btnToggleMenu{ display:flex; }
                    #headerBarSearch{ display:none; }

                @media screen and (max-width:980px){
                    #headerBar .logo{ text-align:center; width:100%; max-width:calc(100% - (48px + var(--gap-s) )); padding-left:calc(48px + var(--gap-s) ); }
                    #headerBarButtons{ flex-direction:column; width:48px; }
                    html:not(.overlay-menu-visible) #mainNav{ display:none; }
                        #btnToggleMenu{ display:flex; }
                }
                @media screen and (max-width:390px){
                    #headerBar .logo{ text-align:left; padding-left:0; }
                }


            /*###
            //# Overlay
            ###*/

                #overlay{
                    visibility:hidden; display:block; position:fixed; top:0px; left:0; width:100%; min-height:100%;
                    overflow-y:auto; overflow-x:hidden; z-index:9000;
                    backdrop-filter:blur(4px); background-color:rgba(70,70,70,0.89);
                }
                .overlay-visible #overlay{ visibility:visible; }

                /*###
                //# Overlay – Search
                ###*/

                    .overlay-search-visible #headerBar .logo,
                    .overlay-search-visible #mainNav,
                    .overlay-search-visible #headerBarButtons > :not(#btnToggleSearch){ display:none; }

                    .overlay-search-visible #headerBarSearch{ display:flex; flex:1; text-align:right; gap:var(--gap); }
                        #headerBarSearch form{ flex:1; position:relative; }
                            #quickSearchTerm{ padding-right:48px; height:48px; }
                            #headerBarSearch form button{ position:absolute; right:0; top:50%; transform: translateY(-50%); }

                /*###
                //# Overlay – Menu
                ###*/

                    /*.overlay-menu-visible .logo,*/
                    .overlay-menu-visible #language-switcher,
                    .overlay-menu-visible #btnToggleSearch{ display:none; }


    /* #endregion */

    /*###
    //# Stage
    ###*/

    /* #stage{ } */
        .frame-class-group{ display:flow-root; /* keps margins inside */ }
        /* default top spacing unless a frame-space-before-* class sets its own margin */
        .frame-class-group:first-child > .frame:first-child:not(.frame-space-before-small, .frame-space-before-medium, .frame-space-before-large, .frame-space-before-none){ margin-top:4vh; }
        .frame-class-group:last-child > .frame:last-child:not(.frame-space-after-small, .frame-space-after-medium, .frame-space-after-large, .frame-space-after-none){ margin-bottom:8vh; }
        .frame-class-group-bg-light{ background-color:rgb(var(--rgb_color_value_background_light_01)); }
        /*
        .frame-class-group-bg-gray{ background-color:rgb(var(--rgb_color_value_background_gray)); }
        .frame-class-group-bg-colored{ background-color:rgb(var(--rgb_color_value_background_colored)); }
        */

        /* Space before first element if it is text:
        #stage > .frame_class-group:first-child > div:first-child .frame-type-text{ margin-top:50px; }
        */
        /* Large space before footer if last element is text:
        #stage > .frame_class-group:last-child > div:last-child .frame-type-text{ margin-bottom:100px; }
        */


        /*###
        //# Breadcrumb
        ###*/

        nav#breadcrumb{ padding-top:2em; padding-bottom:2em; font-size:var(--font-size-s-2); line-height:var(--line-height-s-2); }
            #breadcrumb ol{ margin:0; padding:0; list-style:none; }
                #breadcrumb li{ margin:0; padding:0; display:inline; }
                #breadcrumb li::before{ content:">"; margin:0 0.4em; font-weight:normal; }
                #breadcrumb li:first-child::before{ display:none; }
                    #breadcrumb a{ color:rgb(var(--rgb_color_value_base)); text-decoration:none; }
                    #breadcrumb a:hover{ color:rgb(var(--rgb_color_value_action)); }
        @media screen and (max-width:575px){
                #breadcrumb li:not(:nth-last-child(2)){ display:none; }
                #breadcrumb li > span{ display:none; }
        }


    /*###
    //# Footer
    ###*/

        #footer{ position:relative; padding-top:32px; padding-bottom:32px; background-color:rgb(var(--rgb_color_value_background_light_01)); }

            #legalNav{ text-align:center; }
                #legalNav ul{ display:flex; flex-wrap:wrap; justify-content:center; gap:0 1em; margin:0; padding:0; list-style:none; }
                    #legalNav li{ margin:0; }
                        #legalNav a{ text-decoration:none; color:rgb(var(--rgb_color_value_base)); }
                        #legalNav a:hover{ color:rgb(var(--rgb_color_value_action)); }


        /* ###
        //# Back-to-top button
        ### */

            #toTop{
                --toTop-ring-fill: rgb(var(--rgb_color_value_background_light_01));
                --toTop-ring-rest: #fff;
                position:fixed; right:24px; bottom:24px; z-index:1000;
                border-radius:50%;
                box-shadow: var(--box-shadow), inset 0 0 0 3px #fff; /* outer shadow + 2px white ring inside */
                background:
                    conic-gradient(
                        var(--toTop-ring-fill) 0deg,
                        var(--toTop-ring-rest) 0deg
                    )
                    center / 100% no-repeat;
            }
            #toTop:hover,
            #toTop:focus-visible{
                --toTop-ring-fill: rgb(var(--rgb_color_value_action));
                /* keep --toTop-ring-rest as #fff so the ring does not appear closed on hover */
            }
            /* centered on footer top edge when enough footer is visible (bottom set via JS) */
            #toTop.toTop-at-footer{ bottom: var(--toTop-bottom); }
            /* fully hidden while .off is set */
            #toTop.off{ display:none; }
                #toTop svg { position:relative; z-index:1; }

                /* inner white circle: 7px inset = 2px white + 5px colored ring */
                #toTop::before { content:""; position:absolute; inset:7px; border-radius:50%; background-color:#fff; }

        @media screen and (max-width: 991px) {
            #toTop{ right:0; left:0; margin: 0 auto; }
        }


/* ##################################################################### */
/* #### Print styles (Inlined to avoid the additional HTTP request) #### */

    @media print {
        *,
        *:before,
        *:after,
        *:first-letter,
        *:first-line {
            background:transparent !important;
            color:black !important; /* Black prints faster */
            box-shadow:none !important;
            text-shadow:none !important;
        }
        html{ background-color:white !important; }

        pre, blockquote{ /*border:1px solid #999;*/ page-break-inside:avoid; }
        thead{ display:table-header-group; }
        tr, img{ page-break-inside:avoid; }
        img{ max-width:100% !important; }
        p, h2, h3, h4{ orphans:3; widows:3; }
        h2, h3, h4{ page-break-after:avoid; }


        /*###
        //# custom styles
        ###*/

        #toTop{ display:none !important; }

        /*
            #mixednav, #footer, .flexslider, .quick-access{ display:none !important; }
            .centered{ width:auto; }
        */

    }
