/* fonts - https://google-webfonts-helper.herokuapp.com/fonts */

/* roboto-regular - latin-ext */
/*@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'),
url('../fonts/roboto-v18-latin-ext-regular.woff2') format('woff2'),  Chrome 26+, Opera 23+, Firefox 39+ 
url('../fonts/roboto-v18-latin-ext-regular.woff') format('woff');  Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ 
}*/

/* Typography  */
@media all {

    /* html { font-size: 1rem; height: 100%; background: rgb(51,51,51); } */

    body,
    input:not([type="radio"]):not([type="checkbox"]),
    button,
    select,
    textarea {
        font-family: Poppins, "Helvetica Neue", sans-serif;
        /* uncomment with other font stacks: font-display: fallback */
        font-size: 112.5%;
        font-weight: 400;
        line-height: 1.5;
        color: rgb(51, 51, 51);
        background: rgb(255, 255, 255);
    }

    b,
    strong,
    dt {
        font-weight: 600;
    }

    .ce-frame-invertedBlue b,
    .ce-frame-invertedBlue strong,
    .ce-frame-invertedBlue dt {
        color: rgb(255, 255, 255);
    }

    .ce-frame-invertedGreen b,
    .ce-frame-invertedGreen strong,
    .ce-frame-invertedGreendt {
        color: rgb(255, 255, 255);
    }

    a {
        color: rgb(16, 0, 104);
        text-decoration: underline;
    }

    a:hover {
        text-decoration: underline;
    }

    .ce-frame-invertedGreen a {
        color: rgb(255, 255, 255);
    }

    .ce-frame-invertedGreen a:not(.btn):hover,
    .ce-frame-invertedGreen a:not(.btn):focus {
        color: rgb(255, 255, 255);
    }

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

    .page-stage .h1-like,
    .page-stage .h2-like,
    .page-stage h1,
    .page-stage h2 {
        color: rgb(16, 0, 104);
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .ce-frame-invertedGreen .h1-like,
    .ce-frame-invertedGreen .h2-like,
    .ce-frame-invertedGreen h1,
    .ce-frame-invertedGreen h2 {
        color: rgb(255, 255, 255);
        padding: 0;
    }

    .page-stage .h1-like::after,
    .page-stage .h2-like::after,
    .page-stage h1::after,
    .page-stage h2::after {
        display: none;
    }

    .h1-like a,
    .h2-like a,
    .h3-like a,
    .h4-like a,
    .h5-like a,
    h1 a,
    h2 a,
    h3 a,
    h4 a,
    h5 a {
        /* color: rgb(70,70,70); FIXME */
        text-decoration: none;
    }

    .h1-like,
    h1 {
        font-size: 2rem;
    }

    .h2-like,
    h2 {
        font-size: 1.5rem;
    }

    .h3-like,
    h3 {
        font-size: 112.5%;
    }

    .timeline__content .ce-header>*:first-child {
        font-size: 1rem;
    }

    .h4-like,
    h4 {
        font-weight: 600;
    }

    blockquote {
        margin-left: 1.25rem;
        border-left: 4px solid rgb(204, 204, 204);
        padding: 0.9375rem 0 0 1.25rem;
        font-style: italic;
    }

    blockquote::after {
        content: "";
        display: table;
    }

    /* margins */

    .ce-news,
    .ce-teaserlink-outer,
    table,
    p,
    ul,
    ol,
    dl {
        margin: 0 0 0.9375rem;
        letter-spacing: 1px;
    }

    .ce-header {
        margin-bottom: 1.75rem;
        letter-spacing: 3px;
    }

    .timeline__content .ce-bodytext {
        margin-top: 1.75rem;
    }

    .ce-header-subheader,
    .ce-header-date {
        margin-top: 0.3125rem;
    }

    .ce-header-subheader {
        margin-top: 0.625rem;
    }

    .ce-header-date {
        margin: 0.625rem 0 0;
    }

    ul ul,
    ul ol,
    ol ul,
    ol ol {
        margin: 0;
    }

    .ce-menu .ce-menu {
        margin-left: 1.25rem;
    }

    hr,
    .ce-div {
        border: none;
        border-top: 1px solid rgb(51, 51, 51);
        margin: 0;
        height: 0.9375rem;
    }

    .ce-frame-invertedBlue hr,
    .ce-frame-invertedBlue .ce-div {
        border-top: 1px solid rgb(255, 255, 255);
    }

    /* text flow */
    p,
    li,
    a,
    figcaption {
        overflow-wrap: break-word;
        word-wrap: break-word;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
    }

    .timeline__content .ce-header {
        margin-bottom: 0;
    }

    .page-stage p:first-child {
        margin-bottom: 0.25rem;
    }

    .page-stage p {
        color: rgb(255, 255, 255);
        font-weight: 600;
        background-color: rgba(16, 0, 104, 0.85);
        padding: 0.75rem;
        font-size: 1.25rem;
        hyphens: none;
    }
}

/* large */
@media all and (min-width: 62.5em) {
    /* typography */

    .h1-like,
    h1 {
        font-size: 2.5rem;
    }

    .h2-like,
    h2 {
        font-size: 2rem;
    }

    .page-sidebar h2,
    .page-footer h2 {
        font-size: 125%;
    }

    .h3-like,
    h3 {
        font-size: 125%;
    }

    .page-sidebar h3,
    .page-footer h3 {
        font-size: 112.5%;
    }

    .h4-like,
    h4 {
        font-size: 112.5%;
        font-weight: inherit;
    }

    .h5-like,
    h5 {
        font-weight: 600;
    }

    .page-stage .h1-like,
    .page-stage.h2-like,
    .page-stage h1,
    .page-stage h2 {
        padding: 0;
        margin: 0;
        color: rgb(255, 255, 255);
    }

    .ce-header {
        margin-bottom: 2.125rem;
    }

    .page-stage header *,
    .page-stage p {
        text-transform: uppercase;
        background-color: rgba(16, 0, 104, .75);
        padding: 0.5rem;
        margin: 0;
        line-height: 1;
        width: max-content;
        position: relative;
    }

    .page-stage .ce-header-subheader {
        margin-top: 0.25rem;
        margin-bottom: 1.75rem;
    }

    .page-stage .ce-header * {
        font-size: 3.75rem;
    }

    .page-stage .ce-header-subheader {
        font-size: 2rem;
    }

    .page-stage p {
        font-size: 2.5rem;
    }

    .timeline__content .ce-bodytext {
        margin-top: 2.125rem;
    }

    .timeline__content .ce-header>*:first-child {
        font-size: 1.5rem;
    }
}

/* xlarge */
@media all and (min-width: 82.5em) {
    /* typography */

    .h1-like,
    h1 {
        font-size: 3.75rem;
    }

    .h2-like,
    h2 {
        font-size: 2.5rem;
    }

    .page-sidebar h2,
    .page-footer h2 {
        font-size: 150%;
    }

    .h3-like,
    h3 {
        font-size: 150%;
        font-weight: 600;
    }

    .page-sidebar h3,
    .page-footer h3 {
        font-size: 125%;
    }

    .h4-like,
    h4 {
        font-size: 125%;
    }

    .h5-like,
    h5 {
        font-size: 112.5%;
        font-weight: inherit;
    }
}