html {
	font-size: 10px;
	font-family: "Roboto", "Helvetica Neue", Helvetica, sans-serif;
}

body {
	margin: 0;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 300;
}

a {
    color: #0070a8;
    text-decoration: none;
    font-weight: bolder;
}   

body.home > header {
    box-sizing: border-box;
    min-height: 100vh;
    padding-bottom: 3%;
}

body.home > header * {
    position: relative;
    left: 0;
}

body > header, body > footer {
    background-image: url("img/bg-header.png");
    background-repeat: repeat;
    padding: 0;
    position: relative;
}

body > footer {
    padding: 6% 8%;
}

body > header > div {
    padding: 0 8%;
}

body > header > div.upper {
    color: white;
    background-color: #010109;
    background-image: url("img/map-extend.png");
    background-repeat: repeat-x;
    background-position: top left;
    padding-top: 6%;
    padding-bottom: 1em;
    position: relative;
    overflow: hidden;
    background-clip: border-box;
    border-bottom: 12px solid rgba(107,218,255,.85);
    box-shadow: 0 1px 3px rgba(0,0,0,.7);
}

body > header > div.upper:last-child {
    margin-bottom: 0;
}

body > header > div.upper > * {
    z-index: 5;
    position: relative;
}

body > header > div.upper::before {
    content: '';
    margin: 0;
    padding: 0;
    display: block;
    position: absolute;
    left: 4%; top: -40px;
    z-index: 1 !important;
    background-image: url("img/map.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 1010px; height: 632px;   
}

body > footer p {
    text-align: center;
    font-size: .9em;
} 


body > section {
    padding: 4% 8%;
}

body > header h1 {
    font-size: 3.5em;
    font-weight: 300;    
    margin: 0 0 .75em;
}

body > header h1 a {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
}

body.home > header h1 {
    font-size: 4.5em;
}

body > header h1 strong {
    color: rgba(107,218,255,1);
    text-shadow: 0 2px 6px rgba(0,0,0,1);
    opacity: .85;
    
}

p {
    line-height: 1.7;
    font-size: 1.1em;
    margin: 1.7em 0;
}

p.strong {
    font-size: 1.5em;
    line-height: 1.5;
    margin: 1.4em 0;
}

header nav {
    margin-top: 3em;
}

header nav.simple {
    margin-bottom: 1.5em;
}

body.home header nav {
    display: block;
    width: 100%;
}

body.home header nav > a {
    position: relative;
    bottom: 0;
    display: inline-block;
    box-sizing: border-box;
    padding: 1.5em 1.5em 3em;
    font-size: 1.5em;
    width: 30%;
    margin-right: 3%;
    width: calc(33% - 1em);
    margin-right: calc(1em);
    min-height: 200px;
    background-repeat: no repeat;
    background-position: 0% 50%;
    background-size: cover;
    border-bottom-right-radius: 1em;
    vertical-align: top;
    font-weight: bold;
    color: white;
}

body.home header nav > a.resources {
    background-image: url("img/menu-resources.jpg");
}
body.home header nav > a.stories {
    background-image: url("img/menu-stories.jpg");
}
body.home header nav > a.letter {
    background-image: url("img/menu-letter.jpg");
}

header nav.simple > a {
    font-weight: 300;
    font-size: 1.5em;
    line-height: 2em;
    display: block;
    margin: 0 0 1em;
    overflow: hidden;
    color: rgba(107,218,255,.85);
}

header nav.simple > a span {
    display: block;
    overflow: hidden;
    color: rgba(255,255,255,.9);
}

header nav.simple > a:last-child {
    margin-bottom: 0;
}

a.feature {
    display:block;
    text-align: left !important;
}



h3::before {
    font-size: 3.25em;
    margin-right: .4em;
    vertical-align: middle;
    color: #5abae0;
}

header nav.simple > a::before, a.feature::before {
    font-size: 2em;
    vertical-align: middle;
    margin-right: .5em;
    float:left;
    color: #5abae0;
}

header nav.simple > a::after, a.feature::after {
    content: '';
    clear:both;
}

div.row.dotted {
   border-top: 1px dotted #aaa;
}

div.row.dotted:last-of-type {
    border-bottom: 1px dotted #aaa;
}

div.row > section, div.row > article, div.row > header, div.row > div {
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
    padding: 0;
    vertical-align: top;
}

div.row p {
    text-align: justify;
}

div.row > .col-33 {
    width: 33%;
}

div.row > .col-66 {
    width: 67%;
}

div.row > .col-20 {
    width: 20%;
}

div.row > .col-80 {
    width: 80%;
}

div.row > .col-50 {
    width: 50%;
}

div.row > :first-child {
    padding-right: 4rem;
}

div.row > :last-child {
    padding-left: 4rem;
}

ul.resources {
    font-size: 1.2em;
}

ul.resources h4 {
    color: #777;
    margin-bottom: .5em;
}

ul.resources p {
    margin: 0;
    font-size: 80%;
    color: #666;
    text-align: left;
}

blockquote {
    font-style: italic;
    font-family: Georgia, serif;
    color: #666;
    line-height: 1.7;
    position: relative;

}

blockquote * {
    position: relative;
    z-index: 5;
}


label {
    display: block;
    font-weight: bold;
    text-transform: uppercase;
    color: #999;
    margin: 1em 0 .3em;
    padding-left: 2px;
}

input[type="text"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="time"],
input[type="url"],
input[type="password"],
textarea,
select {
    display: block;
    width: 100%;
    margin-bottom: 1em;
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
    border-radius: 6px;
    border: 2px solid #fff;
    box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.33);
    background: #efefef;
    font-size: 1.25em;
}

input[type="submit"],
input[type="button"] {
    display: inline-block;
    padding: 1em 1.5em;
    margin-right: 1em;
    border-radius: .35em;
    background-color: #6f9acd;
    border: none;
    color: #dde6ef;
    text-decoration: none;
    font-size: 1.4rem;
}

aside#form-footer {
    margin-top: 1em;
    padding: 1em;
    background-color: #dde6ef;
    border-radius: .45em;
}

aside#form-footer > * {
    display: inline-block;
}

div#form-messages {
    font-style: italic;
    color: #666;
    margin-top: 1em;
    text-align: center;
}


@keyframes fadein {
    from {opacity:0;}
}

@keyframes slidein {
    from {opacity:0;left:50px;}
}

@keyframes dropin {
    from {opacity:0;bottom:50px;}
}

@keyframes pulsein {
    0% {opacity:.2;}
    85% {opacity:1;}
    100% {opacity:.85;}
}

body.home > header > div.upper::before {
    animation-name: fadein;
    animation-duration: 1s;
    animation-fill-mode: backwards;  
}

body.home > header h1 {
    animation-name: slidein;
    animation-duration: .7s;
    animation-delay: .5s;
    animation-timing-function:ease-out;
    animation-fill-mode: backwards;
}

body.home > header > div.lower p {
    animation-name: fadein;
    animation-duration: 1.75s;
    animation-delay: .75s;
    animation-fill-mode: backwards;
}

body.home > header > div.upper p {
    animation-name: slidein;
    animation-duration: .7s;
    animation-delay: .8s;
    animation-timing-function:ease-out;
    animation-fill-mode: backwards;   
}

body.home header nav > a {
    transition: bottom .4s;
    animation-name: dropin;
    animation-duration: .5s;
    animation-timing-function:ease-out;
    animation-fill-mode: backwards;   
}

body.home header nav > a:hover {
    transition: bottom .4s;
    bottom: 10px;
}

body.home header nav > a.resources {
    animation-delay: .9s;
}
body.home header nav > a.stories {
    animation-delay: 1s;
}
body.home header nav > a.letter {
    animation-delay: 1.1s;
}
@media screen and (max-width:959px) {
    html {
        font-size: 9px;
    }
}

@media screen and (max-width:767px) {
    
    div.row > article, div.row > aside, div.row > header, div.row > div {
        display: block;
    }
    
    div.row > .col-33,div.row > .col-66,div.row > .col-20,div.row > .col-50,div.row > .col-80 {
        width: 100%;
    }
    
    div.row > :first-child,div.row > :last-child {
        padding-left:0;
        padding-right:0;
    }
    
    h3::before {
        display: none !important;
    }
    
    body.home header nav > a {
        display: block;
        box-sizing: border-box;
        padding: 1.5em 1.5em 2.5em;
        font-size: 1.5em;
        width: 100%;
        margin-right: 0;
        margin-bottom: 1em;
        min-height: 0;
        background-repeat: no repeat;
        background-position: 0% 50%;
        background-size: cover;
        font-weight: bold;
        color: white;
        animation-name: slidein;
    }
    
}

@media screen and (max-width:567px) {
    body.home > header h1, body > header h1 {
        font-size: 3em;
    }
    header nav.simple > a {
        font-size: 1.3em;
    }
    ul.resources {
        font-size: 1em;
        list-style: none;
        padding-left: 0;
    }
}

