/* page layout */
@media all {
    .page-bg {
        background-color: rgb(243, 244, 249);
    }
    .wrap-inner {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    /* page header */
    .page-header {
        font-size: 87.5%;
    }

    .page-header-topbar {
        background-color: rgb(255, 255, 255);
        border-bottom: 1px solid rgb(243, 244, 249);
        height: 2.8125rem;
    }

    .page-header-topbar-inner {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
        text-align: right;
    }

    .page-topbar-logo-img {
        display: inline;
    }

    .page-header-main {
        background-color: rgb(255, 255, 255);
    }
    .page-header-main-inner {
        display: flex;
        align-items: center;
        column-gap: 0.25rem;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
        padding-right: 0.625rem;
    }

    .page-logo {
        flex-grow: 1;
    }

    .page-logo-link {
        display: inline-block;
        vertical-align: middle;
        width: 10rem;
    }

    .page-logo svg {
        display: block;
        max-width: 100%;
        width: 100%;
    }

    .topnav {
        display: none;
    }

    .search-toggle {
        padding: 0;
        -webkit-appearance: none;
        border: 0;
        background: none;
        width: 2.5rem;
        height: 2.5rem;
        color: currentColor;
        text-decoration: none;
    }

    .page-header-searchbox {
        position: relative;
        width: 2.5rem;
        height: 2.5rem;
    }
    .page-header-searchbox .rc-collapse {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
    }

    .page-search-toggle {
        padding: 0;
        -webkit-appearance: none;
        border: 0;
        background: url("../Icons/search.svg") center center no-repeat;
        width: 2.5rem;
        height: 2.5rem;
        text-decoration: none;
    }
    .rc-open > .page-search-toggle {
        background: none;
    }

    .rc-collapse-enabled .page-search-toggle {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .page-header-searchbox a:hover,
    .page-header-searchbox:focus {
        color: currentColor;
    }

    .page-header-searchbox .rc-collapse {
        display: flex;
        align-items: center;
        max-width: 20em;
    }

    .page-header-searchbox .rc-collapse.rc-collapse-enabled.rc-open {
        width: calc(100vw - 3.125rem - 3.125rem);
        background-color: rgb(255, 255, 255);
    }

    .page-header-searchbox .rc-collapse-body {
        display: flex;
        align-items: center;
    }

    .page-header-searchbox .rc-collapse-enabled .searchbox-inner {
        border: 2px solid currentColor;
        border-radius: 0.25em;
    }
    .page-header-searchbox .search-word {
        outline: none;
    }

    .page-modifier-search .page-header-searchbox {
        display: none !important;
    }

    .page-header-navigation {
        background-color: rgb(82, 92, 163);
    }
    .page-header-navigation-inner {
        padding: 0;
    }

    /* sticky header */
    .page-header-sticky .page-header {
        position: fixed;
        z-index: 10;
        top: 0;
        left: 0;
        right: 0;
        background-color: rgb(255, 255, 255);
        box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.125);
    }

    .page-header-sticky {
        padding-top: calc(2.8125rem + 5rem);
    }

    .no-js .page-header-sticky .page-header {
        position: static;
        box-shadow: none;
    }
    .no-js .page-header-sticky {
        padding-top: 0;
    }

    .page-header-sticky .page-header-topbar {
        transition: height ease-in-out 0.125s;
        overflow: hidden;
    }

    .page-header-sticky.page-scrolled .page-header-topbar {
        height: 0;
        overflow: hidden;
    }

    /* content sections */
    .content-main {
        position: relative;
        z-index: 0;
    }

    .content-main > .ce-element {
        position: relative;
        margin-bottom: 0;
    }
    .content-main > .ce-element > .ce-grid-section {
        border-bottom-right-radius: 2.25rem;
    }

    .content-main > .ce-element:not(:first-child) {
        margin-top: -2.25rem;
    }

    .ce-grid-section .wrap-outer {
        padding-top: calc(3.75rem + 2.25rem);
    }

    .content-main > div:nth-child(1) {
        z-index: -1;
    }
    .content-main > div:nth-child(2) {
        z-index: -2;
    }
    .content-main > div:nth-child(3) {
        z-index: -3;
    }
    .content-main > div:nth-child(4) {
        z-index: -4;
    }
    .content-main > div:nth-child(5) {
        z-index: -5;
    }
    .content-main > div:nth-child(6) {
        z-index: -6;
    }
    .content-main > div:nth-child(7) {
        z-index: -7;
    }
    .content-main > div:nth-child(8) {
        z-index: -8;
    }
    .content-main > div:nth-child(9) {
        z-index: -9;
    }
    .content-main > div:nth-child(10) {
        z-index: -10;
    }
    .content-main > div:nth-child(11) {
        z-index: -11;
    }
    .content-main > div:nth-child(12) {
        z-index: -12;
    }
    .content-main > div:nth-child(13) {
        z-index: -13;
    }
    .content-main > div:nth-child(14) {
        z-index: -14;
    }
    .content-main > div:nth-child(15) {
        z-index: -15;
    }
    .content-main > div:nth-child(16) {
        z-index: -16;
    }
    .content-main > div:nth-child(17) {
        z-index: -17;
    }
    .content-main > div:nth-child(18) {
        z-index: -18;
    }
    .content-main > div:nth-child(19) {
        z-index: -19;
    }
    .content-main > div:nth-child(20) {
        z-index: -20;
    }
    .content-main > div:last-child > .ce-grid-section {
        border-bottom-right-radius: 0;
    }

    .ce-stage .wrap-outer {
        padding-top: 0;
        padding-bottom: 0;
    }

    .ce-share-to-top {
        color: rgb(82, 92, 163);
    }
    .ce-share-to-top .wrap-outer {
        padding-top: calc(0.625rem + 2.25rem) !important;
        padding-bottom: 0.625rem !important;
    }

    .ce-share-to-top .wrap-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .social-share-toggle .fa {
        padding-right: 0.625rem;
    }

    .social-share {
        position: absolute;
        z-index: 10;
        height: 0;
        overflow: hidden;
    }

    .social-share-toggle {
        appearance: none;
        border: 0;
        color: inherit;
        background: none;
        padding: 0.625rem 0;
    }

    .ce-share-to-top .to-top-link {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 2.5rem;
        min-height: 2.5rem;
        padding: 0;
        text-decoration: none !important;
    }

    .ce-share-to-top .to-top-text {
        width: 1px;
        overflow: hidden;
        display: inline-block;
        position: absolute;
    }

    .social-share-toggle[aria-expanded="true"] + .social-share {
        height: auto;
    }

    .social-share {
        padding: 0;
        list-style: none;
        background: white;
        box-shadow: 0 0 0.125em rgba(0,0,0,0.125);
    }

    .social-share li {
        margin: 0;
    }

    .social-share li + li {
        border-top: 1px solid rgba(0,0,0,0.05);
    }

    .social-share a {
        display: block;
        padding: 0.625rem 1.25rem;
        text-decoration: none !important;
    }

    .social-share a:hover,
    .social-share a:focus {
        background-color: rgba(0,0,0,0.05);
    }
    .social-share a:focus-visible {
        outline: none;
        text-decoration: underline !important;
    }

    .social-share i {
        padding-right: 0.625rem;
    }

    /* footer */
    .page-footer {
        color: rgb(255, 255, 255);
        background: rgb(82, 92, 163);
    }

    .page-footer a {
        color: currentColor !important;
    }

    .page-footer-top {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
        border-top: 1px solid rgb(255, 255, 255);
        border-bottom: 1px solid rgb(255, 255, 255);
    }
    .page-footer-bottom {
        padding-top: 2.25rem;
        padding-bottom: 2.25rem;
    }
    .page-footer-logo {
        margin-bottom: 1.5rem;
    }

    .page-footer-logo svg {
        width: 10rem;
        margin: -1.25rem;
    }

    .login-toggle,
    .logout-toggle {
        position: fixed;
        bottom: 2rem;
        right: 2rem;
        background-color: rgb(255,255,255);
        background-image: url("../Icons/dc-mobile.png");
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 1.875rem;
        border-width: 0;
        box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
        min-width: 3.75rem;
        min-height: 3.75rem;
    }
}

/* tablet + print */
@media all and (min-width: 47.5em), print {
    /* page layout */

    .wrap-inner {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }

    .page-header-navigation-inner {
        padding: 0 1.25rem;
    }

    .ce-share-to-top .to-top-text {
        position: static;
        padding-right: 0.625rem;
        width: auto;
    }

    .news-single .social-share {
        left: auto;
        right: 0;
        min-width: 15em;
    }

    .login-toggle,
    .logout-toggle {
        bottom: 2.5rem;
        right: 3.75rem;
        background-image: url("../Icons/dc-login.png");
        min-width: 15rem;
        min-height: 3.75rem;
    }
    .logout-toggle {
        background-image: url("../Icons/dc-logout.png");
        min-width: 15.875rem;
    }
}

/* desktop */
@media all and (min-width: 62.5em) {
    .page-header-searchbox .search-label {
        clip: rect(1px, 1px, 1px, 1px) !important;
        -webkit-clip-path: inset(50%) !important;
        clip-path: inset(50%) !important;
        height: 1px !important;
        overflow: hidden !important;
        position: absolute !important;
        width: 1px !important;
        white-space: nowrap !important;
    }

    /* page layout */

    .wrap-inner {
        padding-left: 5rem;
        padding-right: 5rem;
    }

    .page-header {
        font-size: 80%;
    }

    .page-topbar-logo-img {
        width: auto;
    }

    .page-header-main-inner {
        column-gap: 2.5rem;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }

    .page-logo-link {
        width: 20.125rem;
    }

    .topnav {
        display: block;
    }

    .topnav .menu-horizontal {
        display: flex;
        column-gap: 2.75rem;
    }

    .page-header-navigation {
        color: rgb(82, 92, 163);
        background-color: rgb(243, 244, 249);
    }

    .page-header-navigation .mainnav {
        display: flex;
        height: 3.75rem;
    }

    /* sticky header */
    .page-header-sticky {
        padding-top: 186px;
    }
    .page-header-sticky.page-scrolled {
        padding-top: 2.875rem;
    }

    .page-header-sticky.page-scrolled .page-header-main {
        height: 0;
        overflow: hidden;
    }

    .page-header-sticky.page-scrolled .page-header-navigation,
    .page-header-sticky .page-header-navigation {
        height: auto !important;
        overflow: visible !important;
    }

    .ce-grid-section .wrap-outer {
        padding-top: calc(7.5rem + 2.25rem);
        padding-bottom: 3rem;
    }

    .page-footer-bottom .page-footer-inner {
        display: flex;
        flex-direction: row-reverse;
        gap: 1.5rem;
    }

    .page-footer-content {
        flex-grow: 1;
    }

    .page-footer-inner .ce-element {
        flex-grow: 1;
        padding-right: 2.5rem;
    }
}

@media (min-width: 77.5em) {
    .wrap-inner {
        padding-left: 10rem;
        padding-right: 10rem;
    }

    .page-header {
        font-size: 87.5%;
    }
}

/* desktop - xlarge */
@media (min-width: 93.75em) {

    html {
        overflow-x: hidden;
    } /* needed to hide scrollbar with 100% width elements */
    body {
        max-width: 120rem;
        margin: 0 auto;
    } /* Full HD */

    .wrap-outer {
        max-width: 120rem;
        margin: 0 auto;
    }
    .wrap-inner {
        max-width: 90rem;
        margin: 0 auto;
    }

    .page-header {
        font-size: 88.8889%; /* 16px */
    }

    .page-header-topbar {
        padding: 0;
    }
}

@media (min-width: 120em) {
    .login-toogle,
    .logout-toggle {
        left: 50%;
        margin-left: 60rem;
        right: auto;
        transform: translateX(calc(-100% - 3.75rem));
    }
}
