@import url("font-awesome.min.css");

    html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 100%;
        font: inherit;
        vertical-align: baseline;
    }

    article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
        display: block;
    }

    body {
        line-height: 1;
    }

    ol, ul {
        list-style: none;
    }

    blockquote, q {
        quotes: none;
    }

    blockquote:before, blockquote:after, q:before, q:after {
        content: '';
        content: none;
    }

    table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    body {
        -webkit-text-size-adjust: none;
    }

/* Box Model */

    *, *:before, *:after {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

/* Containers */

    .container {
        margin-left: auto;
        margin-right: auto;
        border-radius: 4px;
    }

    .container.\31 25\25 {
        width: 100%;
        max-width: 1425px;
        min-width: 1140px;
    }

    .container.\37 5\25 {
        width: 855px;
    }

    .container.\35 0\25 {
        width: 570px;
    }

    .container.\32 5\25 {
        width: 285px;
    }

    .container {
        width: 1140px;
    }

    @media screen and (max-width: 1680px) {

        .container.\31 25\25 {
            width: 100%;
            max-width: 1200px;
            min-width: 960px;
        }

        .container.\37 5\25 {
            width: 720px;
        }

        .container.\35 0\25 {
            width: 480px;
        }

        .container.\32 5\25 {
            width: 240px;
        }

        .container {
            width: 960px;
        }

    }

    @media screen and (max-width: 1080px) {

        .container.\31 25\25 {
            width: 100%;
            max-width: 118.75%;
            min-width: 95%;
        }

        .container.\37 5\25 {
            width: 71.25%;
        }

        .container.\35 0\25 {
            width: 47.5%;
        }

        .container.\32 5\25 {
            width: 23.75%;
        }

        .container {
            width: 95%;
        }

    }

    @media screen and (max-width: 840px) {

        .container.\31 25\25 {
            width: 100%;
            max-width: 118.75%;
            min-width: 95%;
        }

        .container.\37 5\25 {
            width: 71.25%;
        }

        .container.\35 0\25 {
            width: 47.5%;
        }

        .container.\32 5\25 {
            width: 23.75%;
        }

        .container {
            width: 95%;
        }

    }

    @media screen and (max-width: 736px) {

        .container.\31 25\25 {
            width: 100%;
            max-width: 118.75%;
            min-width: 95%;
        }

        .container.\37 5\25 {
            width: 71.25%;
        }

        .container.\35 0\25 {
            width: 47.5%;
        }

        .container.\32 5\25 {
            width: 23.75%;
        }

        .container {
            width: 95% !important;
        }

    }

/* Basic */

    body {
        background-color: #183026;
        background-image: url("../images/overlay.png"), url("../images/bg.jp2");
        background-repeat: repeat, no-repeat;
        background-size: auto, cover;
        background-position: top left, center 0;
        background-attachment: fixed, fixed;
        /* https://systemfontstack.com */
        font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
        font-size: 18pt;
        line-height: 1.75em;
        font-weight: 300;
        letter-spacing: 1px;
        color: #3a3939;
        text-shadow: 0 0 0.5px rgba(58, 57, 57, 0.25);
        -webkit-text-stroke: 0.25px;
    }

        body.is-scroll {
            background-attachment: scroll, scroll;
            background-size: auto, 100% auto;
        }

        body.is-loading * {
            -moz-transition: none !important;
            -webkit-transition: none !important;
            -ms-transition: none !important;
            transition: none !important;
            -moz-animation: none !important;
            -webkit-animation: none !important;
            -ms-animation: none !important;
            animation: none !important;
        }

    input, textarea, select {
        /* https://systemfontstack.com */
        font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
        font-size: 18pt;
        line-height: 1.75em;
        font-weight: 300;
        letter-spacing: 1px;
        color: #3a3939;
        text-shadow: 0 0 0.5px rgba(58, 57, 57, 0.25);
        -webkit-text-stroke: 0.25px;
    }

    h1, h2, h3, h4, h5, h6 {
        font-weight: 400;
        text-transform: uppercase;
        line-height: 1.75em;
    }

    h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
        color: inherit;
        text-decoration: none;
    }

    h2 {
        font-size: 1.25em;
        letter-spacing: 8px;
    }

    h3 {
        font-size: 1em;
        letter-spacing: 5px;
    }

    strong, b {
        font-weight: 400;
    }

    em, i {
        font-style: italic;
    }

    a {
        -moz-transition: border-color 0.35s ease-in-out, color 0.35s ease-in-out;
        -webkit-transition: border-color 0.35s ease-in-out, color 0.35s ease-in-out;
        -ms-transition: border-color 0.35s ease-in-out, color 0.35s ease-in-out;
        transition: border-color 0.35s ease-in-out, color 0.35s ease-in-out;
        color: #35b88f;
        text-shadow: 0 0 0.5px rgba(53, 184, 143, 0.25);
        text-decoration: none;
        border-bottom: dotted 1px rgba(53, 184, 143, 0.5);
    }

        a:hover {
            border-bottom-color: rgba(53, 184, 143, 0);
        }

    sub {
        position: relative;
        top: 0.5em;
        font-size: 0.8em;
    }

    sup {
        position: relative;
        top: -0.5em;
        font-size: 0.8em;
    }

    hr {
        border: 0;
        border-top: solid 1px #dad9d9;
        margin: 2em 0 2em 0;
    }

    blockquote {
        border-left: solid 0.5em #eae9e9;
        padding: 1em 0 1em 2em;
        font-style: italic;
    }

    p, ul, ol, dl, table {
        margin-bottom: 1em;
    }

    header {
        margin-bottom: 1em;
    }

        header p {
            display: block;
            margin: 0.5em 0 0 0;
            padding: 0 0 1.5em 0;
        }

    footer {
        margin-top: 1em;
    }

    br.clear {
        clear: both;
    }

/* Sections/Article */

    section, article {
        margin-bottom: 3em;
    }

    section > :last-child,
    article > :last-child,
    section:last-child,
    article:last-child {
        margin-bottom: 0;
    }

    .row > section, .row > article {
        margin-bottom: 0;
    }

/* List */

    ul.default {
        list-style: disc;
        padding-left: 1em;
    }

        ul.default li {
            padding-left: 1.5em;
            margin-top: 1.5em;
        }

            ul.default li:first-child {
                margin-top: 0;
            }

    ul.icons {
        cursor: default;
    }

        ul.icons li {
            display: inline-block;
        }

        ul.icons a {
            display: inline-block;
            width: 2.5em;
            height: 2.5em;
            line-height: 2.5em;
            text-align: center;
            border: 0;
        }

    ul.menu {
        cursor: default;
    }

        ul.menu li {
            display: inline-block;
            line-height: 1em;
            border-left: solid 1px #dad9d9;
            padding: 0 0 0 0.5em;
            margin: 0 0 0 0.5em;
        }

            ul.menu li:first-child {
                border-left: 0;
                padding-left: 0;
                margin-left: 0;
            }

    ul.actions {
        cursor: default;
    }

        ul.actions li {
            display: inline-block;
            margin: 0 0 0 0.5em;
        }

            ul.actions li:first-child {
                margin-left: 0;
            }

    ol.default {
        list-style: decimal;
        padding-left: 1.25em;
    }

        ol.default li {
            padding-left: 1.25em;
            margin-top: 1.5em;
        }

/* Box */

    .box {
        position: relative;
        margin-top: 9em;
        margin-bottom: 0;
    }

        .box:after {
            content: '';
            display: block;
            position: absolute;
            top: -9em;
            left: 50%;
            height: 9em;
            border-left: solid 1px #fff;
        }

        .box:before {
            content: '';
            display: block;
            width: 90px;
            height: 66px;
            position: absolute;
            left: 50%;
            top: -4.5em;
            margin-left: -45px;
            margin-top: -33px;
            background: url("../images/arrow.svg") no-repeat;
        }

        .box :last-child {
            margin-bottom: 0;
        }

        .box.style1 {
            background: #fff;
            padding: 3em;
        }

            .box.style1 .image {
                display: block;
                position: absolute;
                top: 0;
                width: 50%;
                height: 100%;
                background: #152E33;
                overflow: hidden;
            }

                .box.style1 .image img {
                    position: absolute;
                    top: 0;
                    height: 100%;
                    width: auto;
                }

            .box.style1 .inner > :last-child {
                margin: 0;
            }

            .box.style1.right .image {
                left: 0;
            }

                .box.style1.right .image img {
                    right: 0;
                }

            .box.style1.right .inner {
                margin-left: 50%;
                padding-left: 3em;
            }

            .box.style1.left .image {
                right: 0;
            }

                .box.style1.left .image img {
                    left: 0;
                }

            .box.style1.left .inner {
                margin-right: 50%;
                padding-right: 3em;
            }

        .box.style2 {
            text-align: center;
        }

            .box.style2 header {
                display: inline-block;
                background: #fff;
                padding: 2em 3em 2em 3em;
                margin: 0;
                border-radius: 4px;
            }

                .box.style2 header p {
                    padding: 0;
                }

            .box.style2 .inner {
                position: relative;
                padding: 40px 0 0px 0;
            }

                .box.style2 .inner:after {
                    content: '';
                    display: block;
                    position: absolute;
                    top: 0;
                    left: 50%;
                    height: 100%;
                    /* border-left: solid 1px #fff; */
                }

                .box.style2 .inner .row {
                    position: relative;
                }

                    .box.style2 .inner .row:before {
                        content: '';
                        display: block;
                        position: absolute;
                        top: 50%;
                        left: 20px;
                        width: calc(100% - 40px);
                        border-bottom: solid 1px #fff;
                    }

                .box.style2 .inner .image {
                    position: relative;
                    z-index: 1;
                    padding: 20px;
                }

        .box.style3 {
            background: #fff;
            padding: 3em;
        }

            .box.style3 header {
                text-align: center;
            }

/* Icons */

    .icon {
        text-decoration: none;
    }

        .icon:before {
            display: inline-block;
            font-family: FontAwesome;
            font-size: 1.25em;
            text-decoration: none;
            font-style: normal;
            font-weight: normal;
            line-height: 1;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        .icon > .label {
            display: none;
        }

/* Header */

    .header {
        position: relative;
        margin-top: 2em;
        margin-bottom: 0;
        text-shadow: 0 0 0.5px rgba(58, 57, 57, 0.25);
        text-align: center;
        border-left: solid 1px #fff;
        cursor: default;
        background: #fff;
        border-radius: 4px;
        padding: 2em;
    }
        .header header {
            display: inline-block;
        }

            .header header h1 {
                font-weight: 400;
                font-size: 2em;
                letter-spacing: 10px;
            }
            .header header p {
                border-top: solid 1px rgba(58, 57, 57, 0.25);
                text-shadow: 0 0 0.5px rgba(58, 57, 57, 0.25);
                font-size: 1em;
                text-transform: uppercase;
                letter-spacing: 3px;
                padding: 0;
            }

                .header header p:before {
                    content: '';
                    display: block;
                    border-top: solid 1px rgba(58, 57, 57, 0.25);
                    margin: 4px 0 0.8em 0;
                }
    img.avatar {
                position: relative;
                display: block;
                margin: 2em auto;
                width: 9em;
                height: 9em;
                border-radius: 4px;
                box-shadow: 0 0 0 0.5em rgba(58, 57, 57, 0.25);
    }

/* Footer */

    #footer {
        position: relative;
        color: #fff;
        text-shadow: 0 0 0.5px rgba(255, 255, 255, 0.25);
        text-align: center;
        margin: 4.5em 0 0 0;
    }

        #footer:after {
            content: '';
            display: block;
            position: absolute;
            top: -4.5em;
            left: 50%;
            height: 4.5em;
            border-left: solid 1px #fff;
        }

        #footer a {
            color: #fff;
            text-shadow: 0 0 0.5px rgba(255, 255, 255, 0.25);
            border-bottom-color: rgba(255, 255, 255, 0.5);
        }

            #footer a:hover {
                color: #35b88f;
                text-shadow: 0 0 0.5px rgba(69, 200, 159, 0.25);
                border-bottom-color: rgba(53, 184, 143, 0.5);
            }

        #footer .icons {
            padding: 0.75em 2em 0.75em 2em;
            border-radius: 3em;
            border: solid 1px #fff;
            display: inline-block;
            margin: 0 0 3em 0;
        }

        #footer .copyright {
            margin: 0 0 9em 0;
            font-size: 0.8em;
        }

/* Wide */

    @media screen and (max-width: 1680px) {

        /* Basic */

            body, input, textarea, select {
                font-size: 16pt;
            }

    }

/* Normal */

    @media screen and (max-width: 1080px) {

        /* Banner */

            #banner {
                padding: 4em 0 4em 0;
                background-size: auto, 175% auto;
            }

    }

/* Narrow */

    @media screen and (max-width: 840px) {

        /* Basic */

            body {
                background-color: #203936;
                background-image: url("../images/overlay.png"), url("../images/bg-alt.jp2");
                background-repeat: repeat, no-repeat;
                background-size: auto, 100% auto;
                background-position: top left, top center;
                background-attachment: scroll, scroll;
                font-size: 14pt;
            }

            input, textarea, select {
                font-size: 14pt;
            }

            h1, h2, h3, h4, h5, h6 {
                line-height: 1.5em;
            }

            header p {
                margin: 0.25em 0 0 0;
                padding: 0 0 0.5em 0;
            }

        /* Box */

            .box {
                position: relative;
            }

                .box section {
                    margin: 0 0 2em 0;
                }

                .box.style1 {
                    padding: 2.5em 2em 2.5em 2em;
                }

                    .box.style1.right .inner {
                        padding-left: 2em;
                    }

                    .box.style1.left .inner {
                        padding-right: 2em;
                    }

                .box.style2 header {
                    padding: 2em;
                }

                .box.style2 .inner {
                    position: relative;
                    padding: 30px 0 0 0;
                }

                .box.style3 {
                    padding: 2.5em 2em 2.5em 2em;
                }

        /* Banner */

            #banner {
                padding: 3.5em;
                background-size: 200% auto;
            }

                #banner br {
                    display: none;
                }

    }

/* Mobile */

    @media screen and (max-width: 736px) {

        /* Basic */

            * {
                text-shadow: none !important;
            }

            body, input, textarea, select {
                line-height: 1.5em;
                font-size: 12pt;
                letter-spacing: 0;
            }

            h2, h3, h4, h5, h6 {
                font-size: 1em;
            }

            h2 {
                font-size: 1.25em;
                letter-spacing: 4px;
            }

        /* List */

            ul.default li {
                padding-left: 0.5em;
            }

            ul.icons a {
                width: 2em;
                height: 2em;
                line-height: 2em;
            }

            ul.menu li {
                display: block;
                padding: 0;
                border: 0;
                margin: 1em 0 0 0;
            }

                ul.menu li:first-child {
                    margin-top: 0;
                }

            ul.actions li {
                display: block;
                margin: 1em 0 0 0;
            }

                ul.actions li:first-child {
                    margin-top: 0;
                }

            ol.default li {
                padding-left: 0.25em;
            }

        /* Button */

            input[type="button"],
            input[type="submit"],
            input[type="reset"],
            button,
            .button {
                padding: 0.75em 0 0.75em 0;
                width: 100%;
                max-width: 320px;
            }
        /* Box */

            .box {
                margin-top: 4.5em;
            }

                .box:after {
                    top: -4.5em;
                    height: 4.5em;
                }

                .box:before {
                    width: 45px;
                    height: 33px;
                    top: -2.25em;
                    margin-left: -22.5px;
                    margin-top: -16.5px;
                    background-size: 45px 33px;
                }

                .box.style1 {
                    padding: 0;
                    text-align: center;
                }

                    .box.style1 .image {
                        position: relative !important;
                        left: 0 !important;
                        width: 100% !important;
                        height: auto !important;
                    }

                        .box.style1 .image img {
                            position: relative;
                            height: auto;
                            width: 100%;
                        }

                    .box.style1 .inner {
                        margin: 0 !important;
                        padding: 2em 1.25em 2em 1.25em !important;
                    }

                .box.style2 .inner .row:before {
                    display: none;
                }

                .box.style2 .inner .image {
                    padding: 0;
                    max-width: 250px;
                    margin: 0 auto 20px auto;
                }

                .box.style3 {
                    padding: 2em 1.25em 2em 1.25em;
                }

        /* Header */

            #header {
                padding: 3em 0 3em 0;
            }

                #header header {
                    padding-left: 2em;
                    padding-right: 2em;
                }

                    #header header h1 {
                        font-size: 1.75em;
                        letter-spacing: 6px;
                    }

                #header footer {
                    bottom: 0em;
                    padding: 0 0 0 0;
                }

                    #header header:after {
                        bottom: -4.5em;
                        left: 50%;
                        height: 4.5em;
                    }

                    #header header:before {
                        width: 45px;
                        height: 33px;
                        bottom: -2.25em;
                        margin-left: -22.5px;
                        margin-bottom: -16.5px;
                        background-size: 45px 33px;
                    }

        /* Banner */

            #banner {
                padding: 3em 2em 3em 2em;
                background-size: auto 150%;
            }

                #banner header {
                    margin: 0 0 1em 0;
                }

                    #banner header h2 {
                        font-size: 1.5em;
                        letter-spacing: 6px;
                    }

        /* Footer */

            #footer .icons {
                padding: 0.5em 1.25em 0.5em 1.25em;
            }

            #footer .copyright {
                font-size: 1em;
                margin: 0 0 4em 0;
            }

    }
