* { box-sizing: border-box; }

body { background-color: #EAEAEA;
        color: #666666;
        font-family: Arial, Helvetica, sans-serif;
}

#wrapper { background-color: #90C7E3;
           background-image: linear-gradient(to bottom, #FFFFFF, #90C7E3)
}

header { background-color: #002171;
        color: #FFFFFF;
        text-align: center;
}

header a { text-decoration: none; }

header a:link { color: #FFFFFF; }

header a:visited { color: #FFFFFF; }

header a:hover { color: #90C7E3; }

nav { padding: 0em;
      font-size: 120%;
      font-weight: bold;
      padding: 1em;
      text-align: center;
}

nav li { border-bottom: 1px solid darkblue; }

nav ul { list-style-type: none;
         margin: 0px;
         padding-left: 0px;
         font-size: 1.2em;
}

nav a:link { color: #5C7FA3; }

nav a:visited { color: #344873; }

nav a:hover { color: #A52A2A }

nav a { text-decoration: none;
        transition: color 3s ease-out;
}

table {
    border: 2px solid #3399CC;
    border-collapse: collapse;
}

td {
    padding: 0.5em;
    border: 2px solid #3399CC;
    text-align: center;
}

th {
    padding: 0.5em;
    border: 2px solid #3399CC;
}

.text {
    text-align: left;
}

tr:nth-of-type(odd) {
    background-color: #F5FAFC;
}

h1 { margin-bottom: 0;
    font-family: Georgia, 'Times New Roman', serif;
    margin-top: 0px;
    letter-spacing: .25em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

h2 { color: #1976D2;
     font-family: Georgia, 'Times New Roman', serif;
     text-shadow: 1px 1px #CCCCCC;
}

h3 { font-family: Georgia, 'Times New Roman', serif;
     color: #000033;
}

main ul { list-style-image: url(marker.gif); }

footer { font-size: 75%;
         font-style: italic;
         text-align: center;
         font-family: Georgia, 'Times New Roman', serif;
         padding: 2em;
         background-color: white;
}

dt { color: #002171;}

.resort { color: #1976D2;
          font-weight: bold;
}

#contact { font-size: 90%; }

main { padding: 1px 20px 20px 30px;
       overflow: auto;
       display: block;
       background-color: #FFFFFF;
}

#homehero { height: 300px;
            background-image: url(coast2.jpg);
            background-size: 100% 100%;
}

#yurthero {
            height: 300px;
            background-image: url(yurt.jpg);
            background-size: 100% 100%;
}

#trailhero {
            height: 300px;
            background-image: url(trail.jpg);
            background-size: 100% 100%;
}

#special {
    background-color: white;
}

form { display: flex;
       flex-flow: column nowrap;
}

input, textarea { margin-bottom: .5em; }

video, embed { float: right; padding-left: 20px; }

@media (min-width: 600px) {
    nav ul {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-around;
    }

    nav li {
        border-bottom: none;
    }

    section {
        padding-left: 2em;
        padding-right: 2em;
    }

    .content main {
        display: grid;
        grid-template-rows: auto;
        grid-template-columns: 1fr 1fr 1fr;
    }

    form { width: 60%;
           display: grid;
           grid-template-rows: auto;
           grid-template-columns: 6em 1fr;
           grid-gap: 1em;
           gap: 1em;
    }

    input[type="submit"] { grid-column: 2 / 3; 
                           width: 9em;
    }

    h2 { 
        grid-row: 1 / 2;
        grid-column: 1 / 5;
    }

    section {
        grid-row: 2 / 3;
        grid-column: auto;
    }

    #special {
        grid-row: auto;
        grid-column: 1 / 5;
    }

    footer {
        grid-row: auto;
        grid-column: 1 / 5;
    }
}

@media (min-width: 1024px) {
    nav ul {
        flex-direction: column;
        padding-top: 1em;
    }

    nav {
        text-align: left;
        padding-left: 1em;
    }

    #wrapper {
        margin: auto;
        width: 80%;
        border-color: darkblue;
        box-shadow: 1px 1px 1px #828282;
        display: grid;
        grid-template-columns: 180px 1fr;
        grid-template-rows: 120px auto auto auto;
    }

    header {
        grid-row: 1 / 2;
        grid-column: 1 / 3;
    }

    nav {
        grid-row: 2 / 5;
        grid-column: 1 / 2;
    }

    div {
        grid-row: 2 / 3;
        grid-column: 2 / 3;
    }

    main {
        grid-row: 3 / 4;
        grid-column: 2 / 3;
    }

    footer {
        grid-row: 4 / 5;
        grid-column: 2 / 3;
    }

    #special {
        grid-row: 4 / 5;
        grid-column: 2 / 3;
    }
}