/* reset styles */
html, body {
    font-size: 12px;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

/* apply base reset */
body, div, footer, header, h1, h2, h3, nav, p {
    border: 0;
    padding: 0;
    margin: 0;
}

/* global styles */
p {
    max-width: 700px;
    margin: 0.4em 0;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.2em;
    text-align: center;
}

/* header container */
header {
    background-color: #778ef7;
    text-align: center;
    padding: 1em 0;
    color: ghostwhite;
}

header .logo {
    width: 400px;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* body and page container */
body {
    display: flex;
    flex-direction: column;
    font-family: Lato, Arial, Helvetica, sans-serif;
    background-attachment: fixed;
    background-color: white;
    min-height: 100vh;
}

.content {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    background-color: white;
}

/* site navigation */
nav.sitenavigation {
    background-color: rgb(0,90,139);
    text-align: center;
}

nav.sitenavigation a {
    padding: 0.2em 0.2em;
}

nav.sitenavigation p {
    display: inline-block;
    margin: 0.4em 0.6em;
    font-size: 1.6em;
}

nav.sitenavigation a:link {
    color: rgb(235, 231, 231);
    text-decoration: none;
}

nav.sitenavigation a:visited {
    color: gray;
}

nav.sitenavigation a:hover {
    color: white;
    text-shadow: 1px 1px 0 black;
    background-color: rgb(99, 155, 228);
    border: 0px solid black;
    border-radius: 7px;
}

nav.sitenavigation a:active {
    position: relative;
    top: 1px;
    left: 1px;
}

h2 {
    margin: 0 0 0.4em;
    font-size: 2.4em;
    font-weight: 700;
}

/* footer section */
footer {
    padding: 0.5em;
    background-color: rgb(0,90,139);
    text-align: center;
}

/* print styles */
@media print {
    .container, h1, h2, header p, p {
        color: black;
        background-color: white;
    }

    nav {
        display: none;
    }
}

@page {
    margin: 1in;
}