* {
	margin: 0;
    padding: 0;
}

html, body {
	height: 100%;
    font-family: 'Didact Gothic', sans-serif;
}

#wrapper {
	min-height: 100%;
	margin: 0 auto -150px; /* the bottom margin is the negative value of the footer's height */
}

header {
    max-width: 50em;
    margin-left: auto;
    margin-right: auto;
    padding: 1.5em;
    text-align: left;
}

header img {
    max-width: 100%;
}

#menu_bar {
    background: #264477;
    height: 3.125em;
    line-height: 3.125em;
    text-align: left;
}

#menu {
    max-width: 53em;
    margin-left: auto;
    margin-right: auto;
}

#menu nav {
    margin-left: 0.8em;
    margin-right: 0.8em;
}

#menu nav li {
    display: inline-block;
    line-height: 3.125em;
}

#menu nav li a {
    display: block;
    padding-left: 0.75em;
    padding-right: 0.75em;
    text-decoration: none;
    color: #fff;
    font-size: 1.3em;
    text-transform: capitalize;
}

#menu nav li a:hover {
    color: #fff;
    background: #4981b8;
}


#banner {
    width: 100%;
    height: 9.5em;
    overflow: hidden;
    text-align: center;
}

#banner img {
    width: 78em;
    max-width: 100%;
    min-width: 25em;
    vertical-align: top;
}

#content {
	max-width: 50em;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
    padding: 1.5em;
}

#content .two-column {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 2em;
    -moz-column-gap: 2em;
    column-gap: 2em;
    -webkit-column-width: 12em;
    -moz-column-width: 12em;
    column-width: 12em;
}

#content h1 {
    text-decoration: overline;
    font-size: 1.7em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

#content h2 {
    font-size: 1.5em;
    color: #4981b8;
    margin: 1.0em 0 0.25em;
}

#content h3 {
    font-size: 1.3em;
    color: #4981b8;
    margin: 1em 0 1em;
}

#content p {
    margin: 0.5em 0 1.2em;
    text-align: left;
    font-size: 1.1em;
}

#content p.subheading {
    margin: -0.8em 0 1em;
}

.bold {
    font-weight: 700;
}

.italic {
    font-style: italic;
}

#content ul {
    font-size: 1.1rem;
    margin-bottom: 0.5em;
    margin-left: 1.5em;
}

#content ol {
    font-size: 1.1em;
    margin-left: 1.5em;
    margin-bottom: 1.2em;
}

.spaced-list li {
    margin-bottom: 1.2em;
    margin-top: 0.5em;
}

#content li.dummy {
    list-style-type: none;
}

#content .lvl-two {
    padding-left: 1.5em;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

#content a {
    color: #264477;
}

#content a:hover {
    color: #77aee5;
}

#button {
    display: inline-block;
    width: 11.75em;
    background: #264477;
    color: #fff !important;
    padding: 0.25em;
    margin: 0.25em 0.25em 0.6em;
    text-align: center;
    text-decoration: none;
    border: 0.1875em solid #333;
    border-radius: 0.5em;
    font-size: 1.1em;
}

#button:hover {
    color: #fff !important;
    background: #4981b8;
}

footer {
    background: #264477;
    font-size: 0.85em;
    color: #fff;
    text-align: center;
}

footer nav {
    max-width: 50em;
    padding-top: 1.7em;
    padding-bottom: 1.7em;
    margin-left: auto;
    margin-right: auto;
}

footer nav li {
    display: inline;
    margin-left: 0.5em;
    margin-right: 0.5em;
}

footer a {
    text-decoration: underline;
    color: #fff;
    text-transform: capitalize;
}

footer a:hover {
    color: #4981b8;
}

footer, #push {
	height: 150px; /* .push must be the same height as .footer */
}

.show-menu {
    display: none;
    padding-left: 1.75em;
    padding-right: 1.5em;
    text-decoration: none;
    color: #fff;
    font-size: 1.5em;
    text-transform: capitalize;
}

.show-menu:before {
    content: "";
    position: relative;
    float: left;
    left: -0.5em;
    top: 0.6em;
    width: 1em;
    height: 0.15em;
    background: white;
    box-shadow: 
        0 0.35em 0 0 white,
        0 0.7em 0 0 white;
}

.show-menu:hover {
    background: #4981b8;
}

input[type=checkbox] {
    display: none;
    -webkit-appearance: none;
}

#map {
    width: 100%;
    height: 30em;
    border: 0.1875em solid #333;
}

.storelink {
    display: inline-block;
    padding-right: 15px;
    padding-bottom: 15px;
}

@media screen and (max-width: 51.5em) {
    
    input[type=checkbox]:checked ~ #menu nav li {
        display: block;
    }
    
    #menu_bar {
        height: auto;
    }
    
    .show-menu {
        display: block;
    }
    
    #menu nav li {
        display: none;
    }
    
    #button {
        display: block;
        margin-top: 0.25em;
    }
    
    header {
        padding: 3%;
    }
    
    #content {
        padding: 3%;
    }
    
    #banner {
        height: 5.5em;
    }
    
    #map {
        height: 20em;
    }
}