/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

/* Font styles */
@font-face {
    font-family: 'reader';
    src: url('fonts/reader-bold-webfont.woff2') format('woff2'),
        url('fonts/reader-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'reader';
    src: url('fonts/reader-regular-webfont.woff2') format('woff2'),
        url('fonts/reader-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* Custom styles */
/* Colours used:
red: #f93822
blue: #0c4bc2
green: #21c16f
navy: #2e3948 */

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

body {
    background-color: #0c4bc2;
    color: #fff;
    font-size: 1.2rem;
    box-sizing: border-box;
    font-family: 'reader', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    animation-name: color;
    animation-duration: 40s;
    line-height: 1.15;
    animation-iteration-count: infinite;
}

@keyframes color {
    0% {
        background-color: #f93822;
    }
    25% {
        background-color: #0c4bc2;
    }
    50% {
        background-color: #21c16f;
    }
    75% {
        background-color: #2e3948;
    }
    100% {
        background-color: #f93822;
    }
}

img { max-width: 100%; }

h1 { margin: 0; }

h3, h4, h5 { font-weight: normal; }

#content p {
    margin-top: 0;
    max-width: 600px;
}

p,
h1,
a {
    color: #fff;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

a.solid {
    border-bottom: 2px solid #fff;
}
a.solid:hover {
    text-decoration: none; 
    border-bottom-width: 3px;
}

#wrapper {
    box-sizing: border-box;
    border: .8rem solid white;
    padding: 1.5rem;
    min-height: 100vh;
}

#footer {
    font-size: 0.85rem;
}

.small {
    font-size: 0.7rem;
}

@media (min-width: 860px) {
    #wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: left;
        padding: 3rem 3.5rem;
    }

    #header,
    #main {
        width: 50%;
        min-height: 100%;
        max-width: 50%;
        flex-grow: 1;
    }

    #main {
        display: flex;
        flex-direction: column;
        max-width: 510px;
    }

    #content {
        flex-grow: 1;
    }

    h2 { margin-top: 0; }

    #footer {
        flex-grow: 0;
    }
}

@media (max-width: 600px) {
    #header {
        margin-bottom: 1rem;
    }
}