﻿.shell {
    opacity: 0;
    animation-name: page-load;
    animation-fill-mode: forwards;
    animation-duration: 0.4s;
    animation-delay: 0.4s;
}

@keyframes page-load {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.page-alert p {
    position: relative;
    width: 100%;
    max-width: 138.4rem;
    padding-left: 3.2rem;
    padding-right: 3.2rem;
    margin: auto;
}

@media only screen and (max-width: 1447px) {
    .page-alert p {
        box-sizing: border-box;
        max-width: 100%;
    }
}

@media only screen and (max-width: 959px) {
    .page-alert p {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }
}

input[type="submit"], .btn {
    font-family: "Lato", sans-serif;
    font-weight: bold;
    line-height: 1.5;
    text-shadow: none;
    background-color: #1c2858;
    border-radius: 0;
    padding: 1rem 3.6rem;
    background-image: none;
    color: #FFFFFF;
    border: solid 0.2rem #1c2858;
    font-size: 1.6rem;
    transition: 0.2s;
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
}

    input[type="submit"]:hover, .btn:hover, input[type="submit"]:focus, .btn:focus, input[type="submit"]:active, .btn:active {
        text-decoration: underline;
        background-image: inherit;
        box-shadow: none;
    }

input[type="submit"], .btn-secondary {
    color: #1c2858;
    background-color: #FFFFFF;
}

.btn-block {
    display: block;
}

.btn-has-icon {
    display: inline-flex;
}

    .btn-has-icon:hover span, .btn-has-icon:focus span, .btn-has-icon:active span {
        text-decoration: underline;
    }

    .btn-has-icon .material-icons {
        margin-right: .25em;
    }

a.has-icon .material-icons, .page-alert p a .material-icons {
    vertical-align: top;
}

a.has-icon:hover, .page-alert p a:hover, a.has-icon:focus, .page-alert p a:focus, a.has-icon:active, .page-alert p a:active {
    text-decoration: none;
}

    a.has-icon:hover span, .page-alert p a:hover span, a.has-icon:focus span, .page-alert p a:focus span, a.has-icon:active span, .page-alert p a:active span {
        text-decoration: underline;
    }

input[type="submit"], .btn {
    box-shadow: 0 0.8rem 0.5rem -0.5rem rgba(0, 0, 0, 0.2);
}

/* ==========================================================================
  Helper classes
  ========================================================================== */
input[type="radio"], .offscreen, .checkbox-list li input[type="checkbox"] {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

:root {
    font-size: 10px;
    height: 100%;
}

body {
    font-size: 1.6rem;
    line-height: 1.5;
    color: #303030;
    font-family: "Lato", sans-serif;
    overflow-anchor: none;
    height: 100%;
}

.shell {
    max-width: 100%;
    min-height: 100%;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

.tel {
    text-decoration: none !important;
    color: #303030 !important;
}

svg use {
    transition: 0.2s;
}

a {
    color: #1c2858;
    text-decoration: none;
    transition: 0.2s;
}

    a:hover, a:focus, a:active {
        text-decoration: underline;
    }

    a .material-icons,
    a .fa {
        transition: none;
    }

    a.has-icon {
        font-weight: bold;
    }

.w-50 {
    width: 50%;
}

.w-25 {
    width: 25%;
}

.mb-5 {
    margin-bottom: 15px !important;
}

label {
    transition: 0.2s;
}

    label:focus {
        outline: none;
    }

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1,
h2,
h3,
h4 {
    font-weight: 900;
    color: #1c2858;
}

h1 {
    font-size: 4.8rem;
    line-height: 1.1875;
}

h2 {
    font-size: 4rem;
}

h3 {
    font-size: 2.4rem;
    line-height: 1.3333333333;
}

h4 {
    font-size: 1.8rem;
    line-height: 1.3333333333;
}

h5 {
    font-size: 1.4rem;
    color: #727272;
    font-weight: normal;
}

small {
    font-size: .875em;
    color: #727272;
}

button:hover, button:focus, button:active {
    box-shadow: none;
}

input[type="text"], input[type="password"], input[type="search"] {
    box-sizing: border-box;
    height: 4.8rem;
    font-family: "Lato", sans-serif;
    line-height: 1.5;
    color: #303030;
    padding: 1rem 1.6rem;
    background-color: #FFFFFF;
    border: solid 0.2rem #1c2858;
    font-size: 1.6rem;
    box-sizing: border-box;
    transition: 0.2s;
}

    input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active, input[type="password"]:hover, input[type="password"]:focus, input[type="password"]:active, input[type="search"]:hover, input[type="search"]:focus, input[type="search"]:active {
        border-color: #256fb8;
    }

        input[type="text"]:hover + label .material-icons, input[type="text"]:focus + label .material-icons, input[type="text"]:active + label .material-icons, input[type="password"]:hover + label .material-icons, input[type="password"]:focus + label .material-icons, input[type="password"]:active + label .material-icons, input[type="search"]:hover + label .material-icons, input[type="search"]:focus + label .material-icons, input[type="search"]:active + label .material-icons {
            color: #256fb8;
        }

input[type="radio"] + label {
    position: relative;
    padding-top: .8rem;
    padding-bottom: .8rem;
    line-height: 1;
    display: inline-block;
    padding-left: 4.5rem;
}

    input[type="radio"] + label::before, input[type="radio"] + label::after {
        content: '';
        display: block;
        border-radius: 50%;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    input[type="radio"] + label::before {
        width: 2.8rem;
        height: 2.8rem;
        border: solid 0.2rem #1c2858;
        background-color: #FFFFFF;
    }

    input[type="radio"] + label::after {
        left: .4rem;
        width: 2.4rem;
        height: 2.4rem;
        background-color: #1c2858;
        transition: 0.2s;
        opacity: 0;
    }

input[type="radio"]:focus + label::after, input[type="radio"]:active + label::after {
    background-color: #256fb8;
}

input[type="radio"]:checked + label::after {
    opacity: 1;
}

select.form-control {
    box-sizing: border-box;
    font-family: "Lato", sans-serif;
    color: #303030;
    background-color: #FFFFFF;
    border: solid 0.2rem #1c2858;
    font-size: 1.6rem;
    box-sizing: border-box;
    transition: 0.2s;
}

    select.form-control:not(.form-control-small) {
        height: 4.8rem;
        padding: 1rem 1.6rem;
        line-height: 1.5;
    }

.checkbox-list {
    margin-top: 1em;
}

    .checkbox-list li {
        margin-top: .7rem;
    }

        .checkbox-list li input[type="checkbox"] + label {
            display: inline-block;
            padding-left: 3.2rem;
            position: relative;
            cursor: pointer;
        }

            .checkbox-list li input[type="checkbox"] + label .material-icons {
                position: absolute;
                top: 0;
                left: 0;
                color: #1c2858;
            }

                .checkbox-list li input[type="checkbox"] + label .material-icons + .material-icons {
                    opacity: 0;
                }

        .checkbox-list li input[type="checkbox"]:checked + label .material-icons + .material-icons {
            opacity: 1;
        }

        .checkbox-list li input[type="checkbox"]:focus + label .material-icons {
            color: #256fb8;
        }

.material-icons,
.fa {
    vertical-align: bottom;
    font-size: 2.4rem;
    transition: 0.2s;
}

.btns li + li {
    margin-top: 2.4rem;
}

@media only screen and (max-width: 639px) {
    .btns li + li {
        margin-top: 1.6rem;
    }
}

.btn-simple {
    border-color: transparent !important;
}

.btn-has-icon:hover, .btn-has-icon:focus, .btn-has-icon:active {
    text-decoration: none;
}

.btn-has-icon.btn-block {
    display: flex;
    justify-content: center;
    align-items: center;
}

    .btn-has-icon.btn-block div {
        text-align: left;
    }

.page-alert {
    background-color: #fab730;
    text-align: center;
    font-size: 1.8rem;
    padding: 1em 0;
}

    .page-alert p .material-icons {
        position: relative;
    }

    .page-alert p > .material-icons {
        bottom: .0625em;
    }

    .page-alert p a {
        margin-left: 1.6rem;
    }

        .page-alert p a .material-icons {
            top: .0625em;
        }

.skip-to-content {
    position: fixed;
    top: 1.6rem;
    left: 1.6rem;
    z-index: 80;
    transition: 0.2s;
    transform: translateX(-150%);
}

    .skip-to-content:hover, .skip-to-content:focus, .skip-to-content:active {
        transform: translateX(0);
    }

.menu-overlay {
    display: none;
}

.arrow-forward-left li a:before {
    content: "\e5c8";
    font-family: 'Material Icons';
    text-decoration: none !important;
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    padding-right: 0.8rem;
    vertical-align: middle;
}

span.arrow-forward-left:before {
    content: "\e5c8";
    font-family: 'Material Icons';
    text-decoration: none !important;
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    padding-right: 0.8rem;
    vertical-align: middle;
}

@media only screen and (max-width: 959px) {
    html.nav-active {
        height: 150%;
        overflow: hidden;
    }

        html.nav-active body {
            height: 100%;
            overflow: hidden;
        }

    .split-content {
        display: flex;
        flex-flow: column;
    }

        .split-content > div:nth-child(1) {
            order: 2;
        }

        .split-content > div:nth-child(2) {
            order: 1;
        }

        .split-content > div:nth-child(3) {
            order: 4;
        }

        .split-content > div:nth-child(4) {
            order: 3;
        }

    .article-contact .split-content > div:nth-child(1) {
        order: 1;
    }

    .article-contact .split-content > div:nth-child(2) {
        order: 2;
    }
}

.hidden-True,
.hidden-TrueTrueTrue {
    display: none !important;
    position: absolute !important;
    left: -9999px !important;
}

@media only screen and (max-width: 639px) {
    h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 2.4rem;
    }

    h3 {
        font-size: 2rem;
    }
}

@media only screen and (max-width: 374px) {
    :root {
        font-size: 2.6666666667vw;
    }
}
