:root {
    --accent-color: #35597B;
    --logo-left-color: #FAFAF2;
    --logo-right-color: #35597B;
}

html {
    overflow-y: scroll;
    color: #000;
    font: 400 62.5%/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body,
html {
    height: 100%;
    min-height: 100%;
}

body {
    margin: 0;
    font-size: 1.3rem;
    background: #dadfe3;
    color: #000;
}

a {
    cursor: pointer;
    text-decoration: none;
    color: #35597b;
    font-weight: 600;
    background-color: transparent;
}

a:active,
a:hover {
    text-decoration: underline;
    color: #188dd9;
    outline: 0;
}

h1,
h2 {
    margin: 0 0 0.5rem;
    color: #444;
    font-weight: 400;
    line-height: 1;
}

h1 { font-size: 2.4rem; }
h2 { font-size: 3.6rem; }

p { margin: 1.2rem 0; }

p.lead {
    font-size: 1.6rem;
    color: #4f5a64;
}

hr {
    box-sizing: content-box;
    height: 0;
    margin: 2.4rem 0;
    border: 0;
    border-top: 1px solid #ddd;
}

.view-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 100vh;
    position: relative;
}

.view-wrapper:before {
    display: block;
    content: '';
    -webkit-box-flex: 0;
    -ms-flex: 0 1 474px;
    flex: 0 1 474px;
    background: var(--accent-color);
}

.site-header {
    position: absolute;
    top: 6em;
    left: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    pointer-events: none;
    z-index: 5;
}

.box-left {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 474px;
    flex: 0 0 474px;
    height: 304px;
    background-color: var(--logo-left-color);
    -webkit-mask: url(_logo-left.svg) 100% 0 no-repeat;
    mask: url(_logo-left.svg) 100% 0 no-repeat;
    -webkit-mask-size: auto 100%;
    mask-size: auto 100%;
}

.box-right {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    height: 304px;
    background-color: var(--logo-right-color);
    -webkit-mask: url(_logo-right.svg) 0 0 no-repeat;
    mask: url(_logo-right.svg) 0 0 no-repeat;
    -webkit-mask-size: auto 100%;
    mask-size: auto 100%;
}

.site-body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 70%;
    flex: 1 1 70%;
    box-sizing: border-box;
    margin-top: 7rem;
    padding: 10rem 5rem 5rem;
    min-height: 100vh;
}

.text-container {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 24rem;
}

@media (max-width: 1140px) {
    .view-wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .view-wrapper:before {
        display: none;
    }
    .site-header {
        position: relative;
        top: 0;
        background: var(--accent-color);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 4rem 0;
    }
    .box-left {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 152px;
        flex: 0 0 152px;
        height: 304px;
        background-color: #ffffff;
    }
    .box-right {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 152px;
        flex: 0 0 152px;
        height: 304px;
        background-color: #ffffff;
    }
    .site-body {
        margin-top: 0;
        padding: 5rem;
        text-align: center;
    }
    .text-container {
        margin-top: 0;
    }
    hr {
        margin: 2.4rem auto;
        max-width: 300px;
    }
}

@media (max-width: 768px) {
    .site-header {
        padding: 2.5rem 0;
    }
    .box-left {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
        flex: 0 0 100px;
        height: 200px;
    }
    .box-right {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
        flex: 0 0 100px;
        height: 200px;
    }
    .site-body {
        padding: 4rem 2.5rem;
    }
}

@media (max-width: 479px) {
    h2 { font-size: 3rem; }
    .site-body { padding: 3rem; }
}

@media (max-height: 680px) and (max-width: 1140px) {
    .site-header {
        padding: 1.5rem 0;
    }
    .box-left {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 60px;
        flex: 0 0 60px;
        height: 120px;
    }
    .box-right {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 60px;
        flex: 0 0 60px;
        height: 120px;
    }
    .site-body {
        padding: 2rem 2.5rem;
    }
}
