/* ============================================================
   CONSOLIDATED CSS - BZSt Online Portal
   Single file replacing all stylesheet_*.css files
   ============================================================ */

/* ============================================================
   1. NORMALIZE / RESET
   ============================================================ */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    font-size: 10px;
    scroll-behavior: smooth
}

*,
*::before,
*::after {
    box-sizing: inherit
}

body {
    margin: 0;
    padding: 0;
    background: #fff;
    font-family: "bundessansweb", Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: normal;
    line-height: 1.5;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: none !important;
    -moz-text-size-adjust: none !important;
    -ms-text-size-adjust: none !important;
    text-size-adjust: none !important;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

body>div {
    font-size: 100%
}

img {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button {
    padding: 0;
    appearance: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    line-height: 1;
    cursor: pointer
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

fieldset {
    padding: .35em .75em .625em
}

textarea {
    overflow: auto;
    height: auto;
    min-height: 50px;
    border-radius: 0
}

select {
    box-sizing: border-box;
    width: 100%;
    border-radius: 0
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

details {
    display: block
}

summary {
    display: list-item
}

template,
[hidden] {
    display: none
}

pre {
    overflow: auto;
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

b,
strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline dotted
}

figure {
    margin: 0
}

img[src="data:,"],
source[src="data:,"] {
    display: none !important
}

/* ============================================================
   2. FONT FACES
   ============================================================ */
@font-face {
    font-family: "BundesSans";
    src: url("") format("woff2"), url("") format("woff");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: "bundessansweb";
    src: url("15.woff2") format("woff2"), url("16.woff") format("woff");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: "bundessansweb";
    src: url("19.woff2") format("woff2"), url("20.woff") format("woff");
    font-weight: 500;
    font-style: normal
}

@font-face {
    font-family: "bundessansweb";
    src: url("23.woff2") format("woff2"), url("24.woff") format("woff");
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: "bundessansweb";
    src: url("25.woff2") format("woff2"), url("26.woff") format("woff");
    font-weight: 700;
    font-style: italic
}

/* ============================================================
   3. FOUNDATION GRID SYSTEM (used classes only)
   ============================================================ */
.row {
    max-width: 1164px;
    margin-right: auto;
    margin-left: auto
}

.row::before,
.row::after {
    display: table;
    content: " ";
    flex-basis: 0;
    order: 1
}

.row::after {
    clear: both
}

.row .row {
    margin-right: -2rem;
    margin-left: -2rem
}

.row.collapse>.column,
.row.collapse>.columns {
    padding-right: 0;
    padding-left: 0
}

.row .row.collapse {
    margin-right: 0;
    margin-left: 0
}

.row.expanded {
    max-width: none
}

.row:not(.expanded) .row {
    max-width: none
}

.column,
.columns {
    width: 100%;
    float: left;
    padding-right: 2rem;
    padding-left: 2rem
}

.column,
.columns,
.column:last-child:not(:first-child),
.columns:last-child:not(:first-child) {
    float: left;
    clear: none
}

.column:last-child:not(:first-child),
.columns:last-child:not(:first-child) {
    float: right
}

.column.end:last-child:last-child,
.end.columns:last-child:last-child {
    float: left
}

.column.row.row,
.row.row.columns {
    float: none
}

.row .column.row.row,
.row .row.row.columns {
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0
}

/* Small grid (mobile-first, no media query) */
.small-5 {
    width: 41.66667%
}

.small-7 {
    width: 58.33333%
}

.small-12 {
    width: 100%
}

/* Medium grid */
@media print,
screen and (min-width: 37.5625em) {

    .row .row {
        margin-right: -4rem;
        margin-left: -4rem
    }

    .column,
    .columns {
        padding-right: 4rem;
        padding-left: 4rem
    }

    .medium-5 {
        width: 41.66667%
    }

    .medium-6 {
        width: 50%
    }

    .medium-10 {
        width: 83.33333%
    }

    .medium-12 {
        width: 100%
    }

    .medium-offset-1 {
        margin-left: 8.33333%
    }
}

/* Large grid */
@media screen and (min-width: 64em) {

    .row .row {
        margin-right: -2rem;
        margin-left: -2rem
    }

    .column,
    .columns {
        padding-right: 2rem;
        padding-left: 2rem
    }

    .large-3 {
        width: 25%
    }

    .large-4 {
        width: 33.33333%
    }

    .large-6 {
        width: 50%
    }

    .large-12 {
        width: 100%
    }

    .large-offset-0 {
        margin-left: 0%
    }

    .large-offset-1 {
        margin-left: 8.33333%
    }
}

/* ============================================================
   4. BASE TYPOGRAPHY
   ============================================================ */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
.c-nav-primary__title,
h4,
h5,
h6 {
    font-family: "bundessansweb", Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-style: normal;
    font-weight: normal;
    color: #333;
    text-rendering: optimizeLegibility;
    clear: both
}

h1 {
    color: #000;
    font-weight: bold;
    font-size: 3rem;
    line-height: 3.7rem;
    margin-bottom: .76rem;
    letter-spacing: .005rem
}

h2 {
    font-size: 3rem;
    line-height: 3.7rem;
    font-weight: bold;
    color: #35444c;
    letter-spacing: .02rem;
    margin-top: 0;
    margin-bottom: 1rem
}

h2 .topline {
    display: block;
    font-size: 1.2rem;
    padding: 0
}

h3,
.c-nav-primary__title {
    font-size: 1.8rem;
    line-height: 2.7rem;
    font-weight: bold;
    letter-spacing: .05rem;
    text-transform: uppercase
}

h4 {
    font-size: 1.8rem;
    line-height: 2.7rem;
    font-weight: bold;
    color: #527568;
    letter-spacing: .05rem
}

p {
    margin-bottom: 1rem;
    font-size: inherit;
    line-height: 1.5;
    text-rendering: optimizeLegibility
}

p,
a,
li,
td,
th,
blockquote,
dl,
caption,
.formError,
address,
figure,
figcaption {
    font-size: 1.6rem
}

p,
li,
td,
th,
blockquote,
dl,
caption,
.formError,
address,
.address {
    line-height: 1.5
}

p,
address,
.address {
    margin: 0 0 18px
}

em,
i {
    font-style: italic;
    line-height: inherit
}

strong,
b {
    font-weight: bold;
    line-height: inherit
}

li {
    font-size: inherit
}

ul,
ol,
dl {
    margin-bottom: 0;
    list-style-position: outside;
    line-height: 1.5
}

ul {
    margin-left: 0;
    list-style-type: none
}

ol {
    margin-left: 0;
    list-style-type: none
}

/* ============================================================
   5. LINKS
   ============================================================ */
a {
    line-height: inherit;
    color: #23614e;
    text-decoration: none;
    cursor: pointer
}

a:hover,
a:focus {
    color: #23614e
}

a:active,
a:focus,
a:hover {
    outline: none;
    color: #000;
    text-decoration: underline
}

a:focus {
    outline: 1px solid #23614e;
    outline-offset: 1px;
    border-radius: 2px
}

a:hover,
a:active {
    outline: none
}

a img {
    border: 0
}

a p {
    color: #000
}

a.internal {
    padding-right: 5px;
    position: relative
}

a.internal:after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 12px;
    background: url("7.svg") no-repeat -2120px -2060px;
    position: static;
    margin-left: 5px;
    -webkit-transition: .5s;
    transition: .5s
}

a.internal:active:after,
a.internal:focus:after,
a.internal:hover:after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 12px;
    background: url("7.svg") no-repeat -2120px -2060px;
    margin-left: 20px;
    position: static;
    -webkit-transition: .5s;
    transition: .5s
}

a.external,
.teaser .more a.external {
    padding-left: 13px;
    position: relative
}

a.external:before,
.teaser .more a.external:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 8px;
    height: 8px;
    background: url("7.svg") no-repeat -2413px -914px;
    top: 10px;
    left: 0
}

a.external:active:before,
a.external:focus:before,
a.external:hover:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 8px;
    height: 8px;
    background: url("7.svg") no-repeat -2413px -50px
}

a.external:focus {
    outline: 1px solid #23614e
}

a,
a::before,
a::after,
button,
button::before,
button::after,
input,
input::before,
input::after,
label[for],
label[for]::before,
label[for]::after {
    cursor: pointer
}

/* ============================================================
   6. BUTTONS
   ============================================================ */
.button {
    background: linear-gradient(270deg, #18493A 0%, #23614E 100%);
    padding: 2.2rem 1rem;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    word-spacing: .25em;
    display: block !important;
    clear: left;
    text-align: center;
    border-radius: 4px;
    width: 100%;
    position: relative
}

.button:active,
.button:focus,
.button:hover {
    background: linear-gradient(270deg, #18493A 0%, #23614E 100%);
    text-decoration: none !important;
    color: #fff
}

.button:active:after,
.button:focus:after,
.button:hover:after {
    content: "";
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    position: absolute;
    background: transparent;
    border: 2px solid #23614e;
    border-radius: 7px
}

.button-transparent {
    background: rgba(255, 255, 255, 0.4);
    color: #23614e;
    border: 2px solid #23614e;
    width: calc(100% - 4px);
    height: calc(100% - 4px)
}

.button-transparent:active,
.button-transparent:focus,
.button-transparent:hover {
    background: rgba(255, 255, 255, 0.4);
    color: #23614e
}

/* ============================================================
   7. FORM ELEMENTS
   ============================================================ */
label,
input,
select,
textarea,
.formLabel,
.formLabel em {
    font-size: 1.5rem;
    line-height: 1.5
}

form {
    margin-bottom: 18px
}

form fieldset {
    padding: 0;
    border: none
}

form fieldset input {
    padding: 1.1rem 1.65rem 1.3rem;
    border: 1px solid #7f7f7f;
    border-radius: 2px;
    margin-bottom: 1.6rem
}

input,
textarea,
select {
    width: 100%;
    padding: 5px 3px;
    border: 1px solid transparent;
    border-radius: 2px
}

input:active,
input:focus,
input:hover,
textarea:active,
textarea:focus,
textarea:hover,
select:active,
select:focus,
select:hover {
    border-top-color: #7f7f7f;
    border-right-color: #7f7f7f;
    border-left-color: #7f7f7f;
    box-shadow: 0 2px 0 0 #23614e
}

label,
.formLabel em {
    margin-bottom: 9px;
    font-weight: normal;
    font-style: normal;
    display: table
}

.search fieldset {
    margin: 0
}

/* ============================================================
   8. UTILITY CLASSES
   ============================================================ */
.aural {
    width: 0;
    line-height: 0;
    position: absolute;
    left: -2000px;
    overflow: hidden
}

.sf-hidden {
    display: none !important
}

.is-visible {
    display: block !important
}

.is-hidden {
    display: none !important
}

.hide {
    display: none !important
}

.mfp-hide {
    display: none !important
}

.show-for-sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

@media screen and (min-width: 64em) {
    .hide-for-large {
        display: none !important
    }
}

@media screen and (max-width: 63.99875em) {
    .show-for-large {
        display: none !important
    }
}

/* ============================================================
   9. LAYOUT - WRAPPER
   ============================================================ */
.wrapperInner {
    overflow: hidden
}

.wrapperDivisions {
    min-width: 320px;
    margin: 0
}

.mobile-menu-opened .wrapperDivisions {
    min-height: calc(100vh - 100px);
    overflow: hidden
}

.fixed .wrapperDivisions {
    padding-top: var(--header-height, 4.8em)
}

section {
    padding: 3rem 0
}

/* ============================================================
   10. HEADER
   ============================================================ */
.header {
    background-color: #fff;
    padding-bottom: 13px;
    margin-left: 0;
    margin-right: 0
}

.fixed .header {
    padding-bottom: 0
}

.header p {
    margin: 18px 0
}

.header .logo svg,
.header .logo img {
    height: 4.7rem;
    padding-right: 1.5rem;
    border-right: 1px solid #d8d8d8
}

.header .logo svg+img,
.header .logo svg+svg,
.header .logo img+img,
.header .logo img+svg {
    padding-left: 1.5rem;
    height: 4rem;
    border-right: none
}

.header .logo a {
    display: inline-block
}

.header .logo a+svg,
.header .logo a+img {
    padding-left: 1.5rem;
    height: 4rem;
    border-right: none
}

.header .logo a:active,
.header .logo a:focus,
.header .logo a:hover {
    position: relative;
    text-decoration: none
}

.header .logo a:focus,
.header .logo a:focus-visible {
    position: relative;
    outline: none
}

.header .logo a:focus::before,
.header .logo a:focus-visible::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 47%;
    right: 0;
    bottom: 0;
    height: 143.25%;
    width: 102.95%;
    display: block;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    outline: 1px solid #23614e
}

/* ============================================================
   11. SEARCH BOX
   ============================================================ */
.header .searchBox {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .5s cubic-bezier(0, 1, 0, 1);
    transition: max-height .5s cubic-bezier(0, 1, 0, 1)
}

.header .searchBox * {
    visibility: hidden
}

.header .searchBox.active {
    max-height: 1000px;
    border-top: 1px solid #7f7f7f;
    -webkit-transition: max-height 1s ease-in-out;
    transition: max-height 1s ease-in-out
}

.header .searchBox.active * {
    visibility: visible
}

.header .searchBox .formField {
    background-color: #fff !important
}

.header .searchBox .formField input {
    font-family: "bundessansweb", Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
    color: #7f7f7f;
    font-size: 2.4rem
}

.header .searchBox .formField input:active,
.header .searchBox .formField input:focus,
.header .searchBox .formField input:hover {
    border-bottom: none;
    text-decoration: underline
}

.c-nav-primary__search {
    height: 2rem
}

.search .c-autosuggest__item {
    position: relative;
    padding-left: 2px;
    background-color: #fff
}

.search .c-autosuggest__item.active {
    background-color: #eaf1ef
}

/* ============================================================
   12. NAV SERVICE META + PRIMARY NAV
   ============================================================ */
.navServiceMeta,
.search,
.navPrimary {
    display: none
}

.navPrimary {
    clear: both;
    position: relative
}

.navPrimary a {
    padding: 9px 0;
    color: #000;
    display: block
}

.navPrimary>ul {
    height: 100%;
    float: right
}

.navPrimary>ul>li {
    width: auto;
    height: 100%;
    float: left;
    position: relative
}

.navPrimary>ul>li .menu-nn {
    display: inline-block;
    font-size: 1.8rem;
    line-height: 1.2;
    margin-top: 0
}

.c-nav-primary__title {
    line-height: 1.5
}

li strong,
.navPrimary>ul>li .c-nav-primary__title button {
    padding: 1.3rem .3rem 2.3rem
}

/* Nav Skip */
.gsb .navSkip,
.gsb .navSkip a {
    width: 0;
    line-height: 0;
    position: absolute;
    left: -2000px
}

.gsb .navSkip a:active,
.gsb .navSkip a:focus {
    background-color: #23614e;
    width: 180px;
    height: auto;
    padding: 15px 0 20px;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    top: 75px;
    left: calc(2000px + 50vw);
    z-index: 1545;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

/* Toggle Nav (mobile) */
.togglenav {
    position: relative;
    background: #23614e;
    width: 100%;
    padding: 0 10px 0 20px;
    z-index: 9999
}

.togglenav>ul {
    height: 4rem;
    margin: 4px 0;
    padding: 0;
    display: inline-table
}

.togglenav>ul>li {
    height: 100%;
    float: left
}

.togglenav>ul>li>a,
.togglenav>ul>li>strong,
.togglenav>ul>li>button {
    margin-right: 9px;
    padding: 8px 10px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: normal;
    display: block;
    line-height: inherit
}

.togglenav>ul>li>a:active,
.togglenav>ul>li>a:focus,
.togglenav>ul>li>a:hover,
.togglenav>ul>li>strong:active,
.togglenav>ul>li>strong:focus,
.togglenav>ul>li>strong:hover,
.togglenav>ul>li>button:active,
.togglenav>ul>li>button:focus,
.togglenav>ul>li>button:hover {
    color: #fff
}

.togglenav .right {
    float: right
}

.fixed .togglenav {
    position: fixed;
    top: 0
}

/* ============================================================
   13. COOKIE BANNER
   ============================================================ */
.cookiebanner {
    padding-top: 0 !important;
    background: #fff;
    padding: 0 10px;
    border-bottom: 10px solid #23614e;
    overflow: hidden
}

.js-on .cookiebanner {
    background: #f2f2f2;
    width: 100%;
    height: auto;
    border-bottom: 10px solid #23614e;
    position: fixed;
    bottom: 0;
    z-index: 1531;
    overflow: inherit
}

.js-on .cookiebanner::before {
    content: " ";
    height: 26px;
    display: block
}

.js-on .cookiebanner__relative {
    position: relative !important
}

/* ============================================================
   14. MAIN CONTENT
   ============================================================ */
.main {
    display: block
}

.content a {
    display: inline-block
}

/* Dialog / Modal */
.c-dialog {
    max-width: calc(100% - 20px);
    min-width: calc(100% - 20px);
    background-color: #fff;
    position: relative;
    padding: 20px;
    padding-bottom: 25px;
    border-radius: 5px;
    overflow: hidden;
    border: none;
    margin-left: auto;
    margin-right: auto
}

.c-dialog.modal {
    padding-left: 60px !important
}

.c-dialog.modal::before {
    content: "";
    background-color: #23614e;
    position: absolute;
    left: -2px;
    top: 50%;
    transform: translateY(-50%);
    height: 110%;
    width: 42px
}

/* ============================================================
   15. STAGE / HERO
   ============================================================ */
.stage {
    padding: 0
}

.stage__container {
    position: relative
}

.stage__image {
    text-align: center;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden
}

.stage__image img {
    float: right;
    width: auto;
    max-width: unset;
    height: 100%
}

.stage__text {
    position: relative;
    float: none !important;
    padding-top: 101px;
    padding-bottom: 74px;
    z-index: 1
}

.stage__text:before {
    content: "";
    display: block;
    position: absolute;
    background-color: #fff;
    opacity: .7;
    -webkit-filter: blur(50px);
    filter: blur(50px);
    border-radius: 6rem;
    z-index: -1;
    top: 6.1rem;
    right: -2rem;
    bottom: 3.4rem;
    left: -2rem
}

.stage__text h2,
.stage__text p {
    font-family: "bundessansweb", Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
    color: #000
}

.stage__text h2 {
    font-size: 3rem;
    line-height: 3.7rem;
    margin-bottom: .76rem
}

.stage__text p {
    font-size: 1.6rem;
    line-height: 2.2rem;
    margin-bottom: 2.14rem
}

.stage__text ul {
    display: flex;
    flex-direction: column;
    padding-left: 0 !important
}

.stage__text ul li {
    list-style: none
}

.stage__text ul li a {
    width: 100%
}

.stage__text ul li+li {
    margin-top: 1rem
}

.h-expand {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw)
}

/* ============================================================
   16. FEATURES / FEATURE BOX
   ============================================================ */
.features {
    position: relative;
    padding: 0;
    margin: -6.5rem 0 5rem;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
    z-index: 1
}

.features__list {
    display: flex;
    flex-flow: row wrap
}

.features * {
    font-size: 1.4rem !important;
    line-height: 1.6rem !important
}

.features__item {
    display: block;
    flex: 0 0 50%;
    max-width: 50%;
    position: relative;
    text-align: center;
    padding: 12rem 1rem 4.5rem;
    font-size: 1.4rem;
    line-height: 1.6rem;
    width: 100%;
    color: #23614e
}

.features__item:first-child {
    border-left: none;
    border-bottom: 1px solid #979797
}

.features__item:first-child+.features__item {
    border-bottom: 1px solid #979797;
    border-left: 1px solid #979797
}

.features__item:last-child {
    border-left: 1px solid #979797
}

.features__icon {
    display: block;
    position: absolute;
    text-align: center;
    left: 0;
    right: 0;
    top: calc(50% - 3.8rem);
    pointer-events: none
}

.features__icon img {
    height: 3.8rem;
    width: auto
}

.features__link {
    color: #23614e;
    font-weight: bold;
    text-decoration: none
}

.features__link:hover,
.features__link:focus,
.features__link:active {
    text-decoration: underline;
    color: #000
}

/* ============================================================
   17. FOOTER
   ============================================================ */
.footer {
    background: #f2f2f2;
    color: #fff;
    position: relative;
    margin-left: 0;
    margin-right: 0
}

.footer h2,
.footer h3,
.footer .c-nav-primary__title {
    margin-bottom: 0;
    padding: 10px 0 0;
    font-family: "bundessansweb", Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 1.4rem;
    line-height: 1.5
}

.footer p {
    color: #35444c
}

.footer li,
.footer p {
    font-size: 1.6rem
}

.footer a,
.footer strong {
    padding: 10px 15px 10px 0;
    color: #35444c;
    display: block
}

.footer strong,
.footer a:hover,
.footer a:focus,
.footer a:active {
    color: #fff;
    text-decoration: underline
}

.footer ul {
    position: relative
}

.footer .print-link {
    display: none
}

/* Nav Functions */
.footer .navFunctionsWrapper {
    background: #fff
}

.footer .navFunctionsWrapper h2 {
    margin-right: 9px
}

.footer .navFunctionsWrapper h2,
.footer .navFunctionsWrapper ul {
    float: right
}

.footer .navFunctionsWrapper li {
    margin: 0 4rem 0 0
}

.footer .navFunctionsWrapper a {
    padding-bottom: 9px;
    padding-left: 15px;
    padding-right: 0;
    color: #23614e;
    border-bottom: 9px solid transparent
}

.footer .navFunctionsWrapper a:active,
.footer .navFunctionsWrapper a:focus,
.footer .navFunctionsWrapper a:hover {
    border-bottom-color: #23614e;
    color: #23614e;
    text-decoration: none
}

/* Copyright */
.footer .copyright {
    background: #fff;
    padding: 3.5rem 0;
    text-align: center
}

.footer .copyright a,
.footer .copyright strong {
    padding-right: 0;
    color: #35444c;
    display: block;
    font-size: 1.6rem
}

.footer .copyright li:last-child,
.footer .copyright:has(.l-sponsoring) li:nth-last-child(2) {
    clear: both;
    padding: 2rem 0 1rem;
    color: #555 !important;
    font-size: 1.6rem
}

.footer .copyright .l-sponsoring {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%
}

.footer .copyright .sponsoring {
    max-height: 50px;
    height: 50px;
    margin: 20px 0 0
}

.footer .copyright .sponsoring:first-child {
    margin-top: 0
}

.footer .copyright .sponsoring__image {
    max-width: 200px;
    max-height: 50px;
    height: fit-content;
    width: fit-content;
    display: block;
    background-color: #fff
}

.footer .copyright .sponsoring__image img {
    max-height: 50px
}

.footer .copyright .sponsoring__text {
    color: #878787;
    display: block;
    margin-bottom: 10px
}

/* Help Box */
.helpBox {
    padding: 0
}

.helpBox-wrapper {
    background-color: #333;
    border-radius: 5px;
    padding: 5rem 0 6rem;
    position: relative;
    overflow: hidden
}

.helpBox-wrapper:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 246px;
    height: 246px;
    background: url("7.svg") no-repeat -742px -894px;
    right: -5rem;
    bottom: -4rem
}

.helpBox h2,
.helpBox a {
    color: #fff
}

.helpBox h2 {
    font-size: 2.5rem;
    text-transform: uppercase
}

.helpBox a,
.helpBox strong {
    font-size: 1.8rem
}

.helpBox p {
    color: #bdbdbd
}

/* Site Info */
.siteInfo {
    padding-top: 3rem;
    margin-bottom: 2.5rem
}

.siteInfo ul {
    list-style-type: none;
    padding: 0;
    margin-bottom: 20px
}

.siteInfo ul ul {
    list-style-type: none;
    margin-left: 0
}

.siteInfo ul li {
    padding-left: 0;
    text-align: center
}

.siteInfo li a {
    font-size: 2.2rem
}

.siteInfo li a img {
    max-width: 4rem;
    height: 4rem;
    display: block;
    margin: 0 auto 2rem
}

.siteInfo li a:after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 12px;
    background: url("7.svg") no-repeat -279px -2179px;
    position: static
}

.siteInfo li a:active,
.siteInfo li a:focus,
.siteInfo li a:hover {
    color: #35444c;
    text-decoration-color: #23614e;
    text-underline-offset: .5rem
}

/* Share */
.share {
    position: absolute;
    width: 100%;
    z-index: 1516;
    background: #fff;
    border-top: 2px dotted #7f7f7f
}

/* Picture / Sponsoring */
.picture {
    background: #f2f2f2;
    max-width: 100%;
    margin: 0 auto 18px;
    overflow: hidden
}

.picture a,
.picture a span {
    display: block
}

.picture img {
    display: block
}

.picture .wrapper,
.picture .wrapper-text {
    max-width: 100%
}

/* Nav to top */
.nav-to-top {
    padding: 0;
    display: none !important;
    position: fixed;
    right: 0;
    bottom: 90px;
    z-index: 1000;
    transform: translateX(-25%);
    transition: opacity .2s ease-in-out
}

/* ============================================================
   18. RESPONSIVE - MEDIUM (min-width: 601px)
   ============================================================ */
@media only screen and (min-width: 601px),
print {
    h1 {
        font-size: 4rem;
        line-height: 4.3rem;
        margin-bottom: 3.2rem
    }

    h2 {
        font-size: 3.5rem;
        line-height: 3.7rem;
        margin-bottom: 5rem
    }

    h2 .topline {
        font-size: 1.4rem
    }

    h3 {
        font-size: 1.8rem;
        line-height: 2.7rem;
        font-weight: bold
    }

    h4 {
        font-size: 1.8rem;
        line-height: 2.7rem;
        font-weight: bold;
        color: #527568
    }

    p,
    a,
    li,
    td,
    th,
    blockquote,
    dl,
    caption,
    .formError,
    address,
    figure,
    figcaption {
        font-size: 1.8rem
    }

    .button {
        padding: 2.2rem 3rem;
        color: #fff;
        font-size: 1.8rem;
        max-width: 100%;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content
    }

    .button-transparent {
        color: #23614E
    }

    .features * {
        font-size: 1.6rem !important;
        line-height: 1.8rem !important
    }

    .footer {
        margin-left: 0;
        margin-right: 0
    }

    .footer .copyright ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between
    }

    .footer .copyright ul:has(>li>.l-sponsoring) {
        padding-bottom: 35px;
        position: relative
    }

    .footer .copyright ul:has(>li>.l-sponsoring) li:last-child {
        width: 100%;
        margin-left: auto
    }

    .footer .copyright a,
    .footer .copyright strong {
        padding-right: 3rem;
        color: #35444C;
        display: block;
        font-size: 1.8rem
    }

    .footer .copyright li:last-child,
    .footer .copyright:has(.l-sponsoring) li:nth-last-child(2) {
        flex-basis: 100%;
        padding: 2rem 0 1rem;
        color: #878787;
        font-size: 1.8rem
    }

    .footer .copyright .l-sponsoring {
        flex-direction: row;
        column-gap: 30px
    }

    .footer .copyright .sponsoring {
        margin: 0
    }

    .footer .copyright .sponsoring__image {
        margin: 0
    }

    .footer .copyright .sponsoring__text {
        margin: 5px 0 0;
        display: inline-block
    }

    .helpBox {
        background: linear-gradient(0deg, #F2F2F2 120px, #fff 120px)
    }

    .helpBox-wrapper {
        padding: 6rem 0;
        margin: 0 4rem;
        width: calc(100% - 8rem)
    }

    .helpBox h2 {
        font-size: 3rem;
        margin-bottom: 2rem
    }

    .siteInfo {
        margin: 7rem auto 5rem;
        padding-top: 0
    }

    .header {
        margin-left: 0;
        margin-right: 0
    }

    .header p {
        margin: 2rem 0 3rem
    }

    .header .searchBox .formField input {
        font-size: 3.6rem
    }

    .header .searchBox .formField input[type=image] {
        width: 38px;
        height: 38px;
        margin: 16px 7px
    }

    .stage {
        clear: both;
        position: relative
    }

    .stage__text {
        padding-top: 320px;
        padding-bottom: 116px
    }

    .stage__text:before {
        border-radius: 10rem;
        top: 24rem;
        right: -4rem;
        bottom: 3.6rem;
        left: -4rem
    }

    .stage__text .button {
        width: 24.6rem
    }

    .stage__text h2 {
        font-size: 4rem;
        line-height: 4.3rem;
        margin-bottom: 3.2rem
    }

    .stage__text p {
        font-size: 2rem;
        line-height: 2.7rem;
        margin-bottom: 4.1rem
    }

    .stage__text ul {
        flex-direction: row
    }

    .stage__text ul li a {
        width: 24.6rem
    }

    .stage__text ul li+li {
        margin-left: 1.8rem;
        margin-top: 0
    }

    .wrapperDivisions {
        margin: 0
    }
}

/* ============================================================
   19. RESPONSIVE - LARGE (min-width: 1024px)
   ============================================================ */
@media only screen and (min-width: 1024px) {
    h1 {
        font-size: 4.5rem;
        line-height: 4.9rem;
        margin-bottom: 2.3rem
    }

    h2 {
        font-size: 4rem;
        line-height: 4.3rem
    }

    h2 .topline {
        font-size: 1.5rem;
        line-height: 1.7rem;
        margin-bottom: 2px
    }

    p,
    a,
    li,
    td,
    th,
    blockquote,
    dl,
    caption,
    .formError,
    address,
    figure,
    figcaption {
        font-size: 1.2rem
    }

    .wrapperInner {
        overflow: clip
    }

    .button {
        font-size: 2rem;
        padding: 2.5rem 3rem
    }

    .c-dialog {
        max-width: 410px;
        min-width: 410px
    }

    .features__item {
        flex: 0 0 25%;
        max-width: 25%;
        border-left: 1px solid #979797;
        border-bottom: none !important;
        font-size: 2rem !important;
        line-height: 2.2rem !important;
        padding: 12rem 1rem 4.5rem
    }

    .features__item * {
        font-size: 2rem !important;
        line-height: 2.2rem !important
    }

    .footer {
        margin-left: 0;
        margin-right: 0
    }

    .footer .navFunctionsWrapper .print-link {
        display: inline-block;
        padding-left: 32px;
        position: relative;
        float: right;
        font-size: 1.4rem;
        font-weight: bold
    }

    .footer .navFunctionsWrapper .print-link:before {
        content: "";
        display: inline-block;
        position: absolute;
        width: 22px;
        height: 21px;
        background: url("7.svg") no-repeat -2051px -171px;
        top: 10px;
        left: 0
    }

    .footer .helpBox {
        background: linear-gradient(0deg, #F2F2F2 160px, #fff 160px)
    }

    .footer .helpBox-wrapper {
        margin: 0 auto;
        max-width: 1124px;
        width: 100%
    }

    .footer .helpBox p {
        font-size: 1.8rem
    }

    .footer .helpBox a,
    .footer .helpBox strong {
        font-size: 2rem
    }

    .footer .helpBox .columns:last-child {
        float: left
    }

    .footer .siteInfo {
        padding-top: 0
    }

    .footer .siteInfo h3,
    .footer .siteInfo li {
        border: none
    }

    .footer .siteInfo a,
    .footer .siteInfo strong {
        background: none;
        padding: 5px 0
    }

    .footer .siteInfo li:last-child {
        border: none
    }

    .footer .copyright ul {
        display: block
    }

    .footer .copyright ul:has(>li>.l-sponsoring) {
        padding-bottom: 140px
    }

    .footer .copyright a,
    .footer .copyright strong {
        float: left;
        padding-right: 3.7rem;
        display: block;
        font-size: 2.2rem
    }

    .footer .copyright li:last-child,
    .footer .copyright:has(.l-sponsoring) li:nth-last-child(2) {
        float: right;
        clear: none;
        padding: 1rem 0;
        color: #878787;
        font-size: 2.2rem
    }

    .footer .copyright .sponsoring {
        margin: 0
    }

    .footer .copyright .sponsoring__image {
        max-width: 280px;
        max-height: 90px
    }

    .footer .copyright .sponsoring__image img {
        max-height: 90px
    }

    .header .searchBox .formField input {
        font-size: 4.8rem
    }

    .navServiceMeta {
        display: block
    }

    .navServiceMeta ul {
        float: right
    }

    .navServiceMeta li {
        margin-left: 39px;
        font-size: 1.2rem;
        float: left
    }

    .navServiceMeta li a,
    .navServiceMeta li strong {
        display: block;
        font-size: 1.2rem !important;
        padding: 2px 0;
        color: #6D748D;
        text-transform: uppercase;
        margin-top: 2px
    }

    .navServiceMeta li strong,
    .navServiceMeta li a:hover,
    .navServiceMeta li a:active {
        text-decoration: underline
    }

    .navServiceMeta li .button {
        padding: .8rem 1.65rem;
        margin-top: 0;
        width: auto;
        color: #fff;
        display: inline-block !important
    }

    .navServiceMeta li .button-logout {
        color: #23614E;
        background: #fff
    }

    .navServiceMeta .navServiceGS a,
    .navServiceMeta .navServiceGS strong,
    .navServiceMeta .navServiceLS a,
    .navServiceMeta .navServiceLS strong {
        padding-right: 28px;
        position: relative
    }

    .navServiceMeta .navServiceGS a:after,
    .navServiceMeta .navServiceGS strong:after {
        content: "";
        background-color: currentColor;
        width: 22px;
        height: 23px;
        display: inline-block;
        outline: 23px solid currentColor;
        outline-offset: calc(23px * -1);
        position: absolute;
        -webkit-mask-image: url("7.svg");
        mask-image: url("7.svg");
        -webkit-mask-position: -1331px -1674px;
        mask-position: -1331px -1674px;
        right: 1px;
        top: -4px
    }

    .navServiceMeta .navServiceLS a:after,
    .navServiceMeta .navServiceLS strong:after {
        content: "";
        background-color: currentColor;
        width: 12px;
        height: 17px;
        display: inline-block;
        outline: 17px solid currentColor;
        outline-offset: calc(17px * -1);
        position: absolute;
        -webkit-mask-image: url("7.svg");
        mask-image: url("7.svg");
        -webkit-mask-position: -522px -1939px;
        mask-position: -522px -1939px;
        right: 8px
    }

    .wrapperBranding {
        padding-top: 5px
    }

    .navPrimary {
        background-color: #fff;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        margin: 7rem 0 0 auto;
        display: block
    }

    .navPrimary>ul {
        display: inline-flex;
        justify-content: flex-end
    }

    .navPrimary>ul>li>div {
        height: 100%
    }

    .navPrimary>ul>li h3 {
        font-size: 1.8rem;
        margin-bottom: 0;
        height: 100%
    }

    .navPrimary>ul>li a,
    .navPrimary>ul>li strong,
    .navPrimary>ul>li button {
        color: #35444C;
        padding: 1.3rem 1.3rem 2.3rem;
        font-size: 2rem;
        font-weight: bold;
        display: block;
        border-bottom: 5px solid transparent;
        height: 100%
    }

    .navPrimary>ul>li a img,
    .navPrimary>ul>li strong img,
    .navPrimary>ul>li button img {
        min-height: 2rem;
        min-width: 2rem
    }

    .navPrimary>ul>li a:active,
    .navPrimary>ul>li a:focus,
    .navPrimary>ul>li a:hover,
    .navPrimary>ul>li strong:active,
    .navPrimary>ul>li strong:focus,
    .navPrimary>ul>li strong:hover,
    .navPrimary>ul>li button:active,
    .navPrimary>ul>li button:focus,
    .navPrimary>ul>li button:hover {
        border-bottom-color: #23614E;
        color: #23614E;
        text-decoration: none
    }

    .navPrimary>ul>li:last-child a,
    .navPrimary>ul>li:last-child button,
    .navPrimary>ul>li:last-child strong {
        padding-right: 0
    }

    .navPrimary>ul>li button {
        line-height: inherit
    }

    .header .logo svg,
    .header .logo img {
        height: 8.8rem;
        padding-right: 2.5rem
    }

    .header .logo svg+svg,
    .header .logo svg+img,
    .header .logo img+svg,
    .header .logo img+img {
        height: 4.6rem;
        padding-left: 2.5rem
    }

    .search {
        display: block;
        background-color: #F2F2F2;
        border-radius: 5px
    }

    .search p {
        margin-top: 0
    }

    .search form {
        margin-bottom: 0;
        position: relative
    }

    .search fieldset {
        width: 100%;
        padding: 0;
        margin: 0;
        border: none;
        position: relative
    }

    .search input {
        padding: 6px 20px 8px 23px;
        border: none;
        font-size: 4.8rem;
        margin-bottom: 0
    }

    .search input:active,
    .search input:focus,
    .search input:hover {
        box-shadow: none;
        outline: none
    }

    .search input[type="text"] {
        width: 100%;
        position: relative
    }

    .search input[type="text"]:active,
    .search input[type="text"]:focus,
    .search input[type="text"]:hover {
        text-decoration: underline;
        text-decoration-color: #7F7F7F;
        border: none
    }

    .search input[type="image"] {
        position: absolute;
        right: 0;
        top: 0;
        width: 38px;
        height: 38px;
        margin: 26px 20px 26px 0;
        padding: 0;
        transform: scale(0.75);
        transition: .2s ease-in-out
    }

    .search input[type="image"]:active,
    .search input[type="image"]:focus,
    .search input[type="image"]:hover {
        transform: scale(1);
        outline: none
    }

    .search .formField {
        width: 100%
    }

    .search h2,
    .search p {
        margin-bottom: 0
    }

    .stage {
        max-height: 746px;
        overflow: hidden
    }

    .stage__container {
        position: static
    }

    .stage__image img {
        float: none;
        width: auto;
        max-width: 1600px;
        height: 100%
    }

    .stage__text {
        padding-top: 153px;
        padding-bottom: 258px
    }

    .stage__text:before {
        top: 7.3rem;
        right: -8rem;
        bottom: 17.8rem;
        left: -8rem
    }

    .stage__text h2 {
        font-size: 4.5rem;
        line-height: 4.9rem;
        margin-bottom: 2.3rem
    }

    .stage__text p {
        font-size: 2.2rem;
        line-height: 3.1rem;
        margin-bottom: 4.3rem
    }

    p,
    li,
    td,
    th,
    blockquote,
    dl,
    caption,
    .formError,
    address,
    .address,
    a {
        font-size: 1.8rem
    }

    body {
        border-top: 10px solid #23614E
    }

    body.banner-visible {
        border-top: none
    }

    .main {
        max-width: 1164px;
        margin: 0 auto;
        padding: 0
    }

    section {
        padding: 6rem 0
    }

    .stage .stage-wrapper {
        max-width: 1164px !important;
        margin: 0 auto !important
    }

    .wrapperDivisions {
        padding-top: 0;
        margin: 0
    }

    .fixed .wrapperDivisions {
        padding-top: 0
    }

    .h-expand {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw)
    }
}

/* ============================================================
   20. RESPONSIVE - XLARGE (min-width: 1200px)
   ============================================================ */
@media only screen and (min-width: 1200px) {
    .footer {
        margin-left: 0;
        margin-right: 0
    }

    .header {
        margin-left: 0;
        margin-right: 0
    }

    .wrapperDivisions {
        margin: 0
    }
}

/* ============================================================
   21. PRINT STYLES
   ============================================================ */
@media print {
    * {
        background: transparent !important;
        color: black !important;
        color-adjust: economy;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a,
    a:visited {
        text-decoration: underline
    }

    a[href]:after {
        content: " (" attr(href) ")"
    }

    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: ""
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    pre,
    blockquote {
        border: 1px solid #8a8a8a;
        page-break-inside: avoid
    }

    img {
        max-width: 100% !important;
        page-break-inside: avoid
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        page-break-after: avoid
    }

    .navPrimary,
    .navSecondary,
    .navServiceMeta,
    .search,
    .navIndex,
    .servicebox,
    .navToTop,
    a.lupe,
    a[href]::after,
    .navFunctionsWrapper,
    .solrSortLinks,
    input[type=submit],
    input[type=reset],
    .siteInfo,
    .cookiebanner {
        display: none !important
    }

    .features {
        display: none
    }

    footer {
        border-top: double 3px #000;
        margin-top: 15pt
    }

    footer .copyright {
        text-align: center
    }

    footer .copyright a {
        display: none !important
    }

    footer .helpBox {
        display: none
    }

    header {
        border-bottom: double 3px #000
    }

    .stage {
        display: none
    }

    .fixed .wrapperDivisions {
        padding-top: 0
    }

    .togglenav {
        display: none
    }

    .h-expand {
        border-top: 1px solid black;
        border-bottom: 1px solid black;
        padding: 50pt 0
    }
}

/* ============================================================
   22. FORCED COLORS (HIGH CONTRAST)
   ============================================================ */
@media (forced-colors: active) {
    .logo img {
        background: currentColor
    }

    .navPrimary button {
        background: currentColor
    }

    .stage__image {
        display: none
    }
}
