html, body {
    font-family: Georgia, Times, "Times New Roman", serif;
    color: white;
    font-size: 18px;
    letter-spacing: 1.5px;
    line-height: 1.5em;
}

h1, h2 {
    text-shadow: 0 0 1px white, 4px 4px 2px black;
    line-height: 1.2em;
}

/* Bigger headings only on wide screens */
@media (min-width: 48em) {
    h1 {
        font-size: 3.5em;
    }

    h2 {
        font-size: 2.5em;
    }
}

/* Med headings on narrow screens */
@media (min-width: 0) and (max-width: 48em) {
    h1 {
        font-size: 2.1em;
    }

    h2 {
        font-size: 1.6em;
    }
}

.scene {
    font-size: 1.7em;
    line-height: 1.5em;
}

p {
    color: white;
}

a, a:link, a:active, a:hover, a:visited {
    color: hsl(240, 100%, 90%);
}

.title {
    font-size: 1.7em;
    line-height: 1.5em;
}

input, button, textarea {
    font-size: inherit;
}

html, body {
    height: 100%;
    margin: 0;
    overflow: hidden;
}

* {
    box-sizing: border-box;
}

.scene {
    padding: 5vh 10vh 10vw 10vw;
    text-align: center;
    min-height: 80vh;
}

img.parallax {
    box-sizing: border-box;
    height: 100vh;
    width: auto;
}

.simpleParallax {
    position: absolute;
    top: -20vh;
    margin-bottom: -20vh;
    width: 100%;
}

.header h1 {
    margin-bottom: 0.2em;
}

.header h2 {
    margin: 0.2em 0px;
}

p {
    margin: 1em 0;
    z-index: 1;
    position: relative;
}

label {
    display: block;
    margin: 0 0 4px 0;
}

#viewport {
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    position: relative;
    -webkit-overflow-scrolling: touch;
}

.section {
    position: relative;
}

.overlay {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    top: 0vh;
}

.solid {
    z-index: 1;
    position: relative;
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.scene.intro {
    padding-top: 15vh;
    min-height: 100vh;
}

/* box-shadow makes a gradient on the top margin of the div */

.solid.intro {
    background-image: linear-gradient(hsl(240, 100%, 20%) 95%, hsla(240, 20%, 70%, 0) 100%);
    box-shadow: -10px -10px 20px hsl(240, 100%, 20%);
}

.solid.sky {
    background-image: linear-gradient(hsla(195, 50%, 40%, 1) 95%, hsla(240, 20%, 70%, 0) 100%);
    box-shadow: -10px -10px 20px hsl(195, 50%, 40%);
}

.scene.footer {
    background-color: hsl(240, 100%, 20%);
    box-shadow: -10px -10px 20px hsl(240, 100%, 20%);
    min-height: 60vh;
}

.header .title {
    position: relative;
    top: 0vh;
    text-align: center;
}

.logo {
    position: absolute;
    top: 50vh;
    text-align: center;
    width: 100%;
    height: auto;
    z-index: 10;
}

@media (min-width: 1200px) {
    img.parallax {
        width: 100%;
        height: auto;
    }
}

@media (min-width: 40em) {
    .header .title {
        height: 70vh;
    }

    .logo img {
        width: 30vw;
        height: auto;        
    }

    .imagerow img {
        width: 24%;
        height: auto;        
    }

    .fern-hill-logo {
        width: 15%;
        height: auto;
    }
}

@media (min-width: 20em) and (max-width: 40em) {
    .header .title {
        height: 70vh;
    }

    .header .scene {
        padding-top: 5vh;
        padding-bottom: 5vh;
    }

    .logo img {
        width: 70vw;
        height: auto;
    }

    .intro {
        padding-top: 20vh !important;
    }

    .imagerow img {
        width: 90%;
        height: auto;
    }

    .fern-hill-logo {
        width: 80%;
        height: auto;
    }
}

@media (min-width: 0) and (max-width: 20em) {
    .header .title {
        height: 80vh;
    }

    .header .scene {
        padding-top: 5vh;
    }

    .logo img {
        width: 90vw;
        height: auto;
    }

    .intro {
        padding-top: 20vh !important;
    }

    .imagerow img {
        width: 90%;
        height: auto;
    }

    .fern-hill-logo {
        width: 80%;
        height: auto;
    }
}

.contact-us {
    text-align: center;
    line-height: normal;
}
.contact-us form {
    text-align: left;
    margin: 0px auto;
    max-width: 500px;
}
.contact-us input, .contact-us textarea {
    width: 95%;
}

