html {
    height: 100%;
}
body {
    font-family: lato, sans-serif;
    font-style: normal;
    font-weight: 100;
    background: url(/bg.jpg);
    background-position: top left;
    background-size: cover;
    min-height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
    height: 100%;
    counter-reset: section;
}
a {
    text-decoration: none;
}
nav ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    list-style: none;
    padding: 0;
}
header {
    color: #fff;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    top: 0;
}
header, footer {
    width: 100%;
    position: absolute;
    font-size: 11pt;
}
header img {
    margin: 1.4em 0 0 1.4em;
    height: 1em;
}
header nav ul {
    margin-right: 1em;
}
header nav li {
    margin: 0 .4em;
}
header nav a {
    color: #fff;
    text-transform: uppercase;
}
main {
    background-color: rgba(255, 255, 255, 0.6);
    max-width: 600px;
    width: 70%;
    margin-top: 25%;
    max-height: 55%;
    overflow-y: auto;
    padding: 2em 2em 3em;
}
main section {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
main section.centered {
    text-align: center;
}
main h1 {
    margin: .5em 0;
    font-size: 22pt;
    text-transform: uppercase;
}
main h2 {
    counter-reset: subsection;
    margin: 2em 0 0;
    font-size: 12pt;
}
main h2:first-of-type {
    margin-top: 0;
}
main h2::before {
    counter-increment: section;
    content: counter(section)". ";
}
main h3 {
    margin: 1em 0 0;
}
main h3::before {
    counter-increment: subsection;
    content: counter(section)"."counter(subsection)". ";
}
main h3,
main p,
main li,
main address {
    font-size: 9pt;
}
main p {
    margin: 1em 0 0;
}
main ul {
    margin: 1em 0 0;
}
main address {
    margin-top: 1em;
    font-style: normal;
    font-weight: 700;
}
main a {
    color: inherit;
}
footer {
    bottom: 0;
    background-color: white;
}
footer nav ul {
    margin: .4em 0;
}
footer nav a {
    color: #000;
}
footer nav li {
    width: 50%;
    text-align: center;
}
@media only screen and (min-width: 480px) {
    main {
        margin-top: 15%;
        max-height: 50%;
    }
    main h3,
    main p,
    main li,
    main address {
        font-size: 11pt;
    }
    header img {
	    margin: 1.4em 0 0 3.4em;
	    height: 1em;
    }
    header, footer {
        font-size: 14pt;
    }
    header nav ul {
        margin-right: 3em;
    }
    footer nav ul {
        margin: 1em 0;
    }
}
@media only screen and (min-width: 760px) {
    main {
        width: 80%;
        margin-top: 16%;
        max-height: 52%;
        padding: 3em 3em 5em;
    }
    main img {
        width: 15em;
    }
    main h3,
    main p,
    main li,
    main address {
        font-size: 11pt;
    }
}
@media only screen and (min-width: 960px) {
    main {
        margin-top: 10%;
        max-height: 50%;
    }
    main img {
        width: 18em;
    }
    main h2 {
        font-size: 20pt;
    }
    main h3 {
        font-size: 13.5pt;
    }
    main p,
    main li,
    main address {
        font-size: 13.5pt;
    }
}
@media only screen and (min-width: 1600px) {
    main {
        margin-top: 2%;
        max-height: 60%;
    }
}
