@import url("normalize.css");
@import url("fonts.css");




/**
 *    Base
 */
html {
    font-size: 1.125em;
    }

body {
    background-color: #fff;
    font-family: "Crimson Text", serif;
    font-weight: 400;
    line-height: 1.45;
    color: #333;

    padding: 3.333em 1.333em;
    max-width: 40em;
    margin: 0 auto;
    }

p {
    margin-bottom: 1.3em;
    }

h1,
h2,
h3,
h4,
h5,
nav {
    margin: 1.414em 0 0.5em;
    font-weight: inherit;
    line-height: 1.2;
    }

h1 {
    margin-top: 0;
    font-size: 2.441em;
    }

h2 {
    font-size: 1.953em;
    font-style: italic;
    }

h3 {
    font-size: 1.563em;
    }

h4 {
    font-size: 1.25em;
    font-style: italic;
    }

h5 {
    font-size: 1.222em;
    }

header hgroup h2 {
    margin-top: 0;
    }

small {
    font-size: 0.8em;
    }

a {
    cursor: pointer;
    color: #444E70;
    }

img {
    max-width: 100%;
    }

/* Nav */
nav {
    display: table;
    width: 100%;

    -moz-box-shadow: inset 0 -2px #282E41;
    -webkit-box-shadow: inset 0 -2px #282E41;
    box-shadow: inset 0 -2px #282E41;
    }

nav a {
    text-transform: uppercase;
    text-decoration: none;
    padding: 0.667em;

    display: table-cell;
    text-align: center;
    }

    nav a:hover {
        background: #4C587E;
        color: #fff;
        -moz-box-shadow: inset 0 -2px #31394F;
        -webkit-box-shadow: inset 0 -2px #31394F;
        box-shadow: inset 0 -2px #31394F;
        }

/* Footer */
footer section {
    background-color: #444E70;
    color: #fff;

    margin-top: 100px;
    padding: 0.125em 0;
    }

footer a {
    color: #fff;
    }

footer hgroup {
    color: #444E70;
    }



/**
 *    Layout
 */
header,
footer {
    text-align: center;
    clear: both;
    }

article section {
    margin-right: 2em;
    margin-left: 2em;
    }

aside {
    float: right;
    padding: 0 0 1em 1em;
    }

article header {
    background-color: #444E70;
    color: #fff;
    margin-top: -0.5em;
    padding-top: 0.001em;
    padding-bottom: 1.25em;
    }




/**
 *    Module
 */
.split {
    width: 47%;
    float: left;
    }

    .split:last-of-type {
        float: right;
        }

.banner {
    margin-top: -3.333em;
    padding-bottom: 1.333em;
    }

.button {
    white-space: nowrap;
    background: #444E70;
    color: #fff;
    text-decoration: none;
    padding: 0.5em 1em;
    width: 170px;
    border: 1px solid #1F2432;
    border-radius: 3px;
    margin: 44px 1em;
    cursor: pointer;
    box-shadow: 0 3px #1F2432;
    line-height: 3;
    }

.button-icon {
    height: 1.25em;
    padding: 0 8px 1em 0;
    vertical-align: text-top;
    }

.nav-menu-button {
    background-color: #1F2432;
    width: 22px;
    vertical-align: baseline;
    margin: 0.758em 1em 0 1em;
    position: absolute;
    cursor: pointer;
    }



/**
 *    State
 */
.is-current {
    text-transform: uppercase;
    background: #1F2432;
    color: #fff;

    -moz-box-shadow: inset 0 -4px #1F2432;
    -webkit-box-shadow: inset 0 -4px #1F2432;
    box-shadow: inset 0 -4px #1F2432;
    }

.is-mobile,
.is-phone-mobile {
    display: none;
    }

.is-hidden {
    display: none;
    }

.is-shown {
    display: block;
    }

/**
 *    Responsive
 */
@media only screen and (max-width: 42em) {
    body {
        padding: 3.333em 0;
        }

    article section {
        margin: 0;
        padding: 0 1.333em;
        }

    aside {
        float: left;
        padding: 0 1em 1em 0;
        }

    nav a {
        display: none;
        }

    nav a.is-current {
        display: block;
        }


    /* State */
    .is-mobile {
        display: block;
        }
    }


@media only screen and (max-width: 30em) {
    .is-phone-mobile {
        display: block;
        }
    .split {
        width: 100%;
        display: block;
        float: none;
        }

        .split:last-of-type {
            float: none;
            }

    aside {
        float: none;
        padding: 1em 1em 1em 0;
        }
    }
