html, body { color: #333; font-family: "Roboto", sans-serif; -webkit-font-smoothing: antialiased; height: 100%; width: 100%; }
.container { height: 100%; padding: 0; width: 100%; }

/* Links */
a { transition: background-color .2s, color .2s; }
a:hover,
a:focus { text-decoration: none; }

/* Headers */
h1 { font-size: 3.3em; margin: 30px 0 22px; }
h2 { font-size: 2.2em; margin: 12px 0 0; }
h3 { font-size: 1.8em; margin: 28px 0 0; }
h4 { font-size: 1.6em; margin: 28px 0 0; }
h5 { font-size: 1.4em; margin: 26px 0 0; }
h6 { font-size: 1.3em; margin: 26px 0 0; }

/* Paragraphs & Lists */
p { line-height: 1.5em; margin: 16px 0 6px; }
ul, ol { margin: 16px 0 10px; }
li {  line-height: 1.4em; margin-bottom: 8px; }

/* Forms */
form { margin: 18px 0; }
label { display: block; margin: 10px 0 8px; width: 100%; }
input[type="text"] { margin-bottom: 8px; padding-left: 3px; width: 100%; }
textarea { height: 80px; margin-bottom: 8px; padding: 3px 5px; resize: none; width: 100%; }
input[type="checkbox"],
input[type="radio"] { margin: 0 4px 0 2px; }
input[type="checkbox"] + label,
input[type="radio"] + label { display: inline-block; margin-right: 14px; position: relative; top: -1px; width: auto; }
input[type="submit"],
input[type="reset"] { background-color: #c47; border-radius: 14px; border: 0; color: #fff; letter-spacing: .05em; margin-top: 14px; padding: 4px 16px; transition: background-color .2s; }
.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover { background-color: #b16; }

/** Intro Page */
#splash-page { background-color: #afc9e0; height: 100%; left: 0; overflow: hidden; position: absolute; top: 0; transition: opacity .6s ease-in-out .2s, left 0s ease-in-out .8s; width: 100%; z-index: 1601; }
#splash-page img[src*="bg"] { left: 0; max-width: 800%; opacity: 1; position: relative; top: 0; width: 100%; }
#splash-page img[src*="logo"] { left: 40%; position: absolute; top: 11%; transition: top .7s ease-in-out .1s; width: 20%; }
#splash-page > div { bottom: 0; left: 0; position: absolute; width: 100%; }
#blue-bg { background-color: #00b2d5; bottom: 0; height: 280px; padding-top: 22px; position: absolute; text-align: center; transition: .55s ease-in-out .15s; width: 100%; }
#blue-bg h1 { font-size: 2.4em; line-height: .9em; margin: 0; }
#blue-bg h1 span { display: block; font-size: .65em; font-weight: 400; }
#blue-bg p { font-size: 1.2em; line-height: 1.4em; margin: 26px auto 34px; width: 60%; }
#blue-bg a { background-color: #b61d6c; border-radius: 60px; box-shadow: 0 0 10px 0 #555; color: #fff; display: inline-block; font-size: 1.2em; line-height: 1.3em; padding: 12px 24px; width: 420px; }
#blue-bg a:hover { background-color: #a10b59; }

.introduced #map-bg { bottom: -580px; }
.introduced #blue-bg { bottom: -240px; }
.introduced #splash-page img[src*="logo"] { top: -190%; }
.introduced #splash-page { left: -100%; opacity: 0; }

/* Map Specific */
#map-area { height: 100%; overflow: hidden; position: relative; width: 100%; }
#map { height: 100%; width: 100%; }
#flash { background-color: transparent; border-radius: 50%; height: 350px; left: 50%; margin: -195px 0 0 -175px; position: absolute; top: -100%; transition: background-color .3s, height .3s, width .3s, margin .3s, top 0s ease-in-out .3s; width: 350px; }
#flash.go { background-color: rgba(125,0,0,.6); height: 250px; margin: -145px 0 0 -125px; top: 50%; transition: 0s; width: 250px; }

#back-to-site-link { background-color: #c47; color: #fff; font-size: 1.1em; height: 34px; padding: 6px 10px; position: absolute; top: 0; transition: .5s; width: 100%; }
#back-to-site-link:hover { letter-spacing: .08em; padding-left: 18px; }
#back-to-site-link i { margin-right: 5px; }

#form-area { background-color: rgba(0,0,0,.8); height: 100%; padding: 12px 30px; position: absolute; right: 0; top: -100%; transition: top .8s; width: 100%; }
#form-area.showing { top: 0; transition: top 1.1s; }
#form-area form { background-color: #eee; box-shadow: 2px 68px 84px 0 #000; height: 80%; margin: -66px auto 0; overflow: auto; padding: 18px 38px 24px; transition: 1.3s ease-in-out .3s; width: 60%; }
#form-area.showing form { box-shadow: 2px 18px 44px 0 #000; margin-top: 36px; }
#form-area form input[type="submit"] { float: right; font-size: 1.2em; margin-bottom: 18px; }

#thank-you { background-color: #fff; border: 2px solid #c47; border-radius: 8px; box-shadow: 3px 8px 24px 0 #444; padding: 6px 28px; position: absolute; top: -264px; transition: top .8s; left: 8px; }
#thank-you span { cursor: pointer; font-size: 1.4em; line-height: .6em; padding: 8px; position: absolute; right: 0; top: 0; }
#thank-you.showing { top: 64px; }

#buttons { bottom: 0; height: 60px; position: absolute; }
#buttons div { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;  background-color: #c47; color: #fff; cursor: pointer; float: left; font-size: 1.2em; font-weight: 700; height: 100%; letter-spacing: .07em; line-height: 63px; position: absolute; text-align: center; top: 0; transition: background-color .2s, top .6s ease-in-out 0s; width: 300px;  }
#buttons div:hover { background-color: #b16; }
#buttons #view-comment-button { background-color: #2786a9; left: 300px; transition: background-color .2s, top .6s ease-in-out .15s; }
#buttons #view-comment-button:hover { background-color: #096385; }
#buttons #cancel-add-button,
#buttons #cancel-view-button { background-color: #a00; left: 0; top: 100%; transition: background-color .2s, top .6s; width: 350px; }
#buttons #cancel-add-button:hover,
#buttons #cancel-view-button:hover { background-color: #690101; }
#buttons #cancel-form-button { background-color: #6999a9; left: 350px; top: 100%; width: 350px; }
#buttons #cancel-form-button:hover { background-color: #567985; }
.gm-style .gm-style-iw-c { border-radius: 0; padding: 0; }
.gm-style .gm-style-iw-t::after,
.gm-style .gm-style-iw-c button { display: none !important; }
.gm-style .gm-style-iw-d { overflow: auto !important; }
.gm-style .gm-style-iw-d > div { width: 210px !important; }
.gm-style .gm-style-iw-d > div h2 { color: #3B6064; font-size: 1.1em; margin: 0 0 2px; }
.gm-style .gm-style-iw-d > div div { padding: 9px 14px; }
.gm-style .gm-style-iw-d > div ul { list-style-type: none; margin: 0; padding: 9px 9px 0; }
.gm-style .gm-style-iw-d > div ul img { margin-right: 4px; }
#popup-header { background-color: #E1EDE7; }
#popup-header.error { background-color: #ddc4c7; }

#buttons.adding #add-comment-button,
#buttons.viewing #add-comment-button { top: 100%; transition: background-color .2s, top .6s ease-in-out .15s; }
#buttons.adding #view-comment-button,
#buttons.viewing #view-comment-button { top: 100%; transition: background-color .2s, top .6s ease-in-out 0s; }
#buttons.adding #cancel-add-button,
#buttons.viewing #cancel-view-button { top: 0; transition: background-color .2s, top .8s ease-in-out .4s; }


#buttons.commenting #cancel-form-button { top: 0; }

/*********************************************/
/******   Custom CSS  ************************/
/*********************************************/

#menu { position: absolute; right: 26px; top: 24px; z-index: 700; }
#menu > div { background-color: #fff; box-shadow: 0 6px 6px -3px #777; cursor: pointer; height: 44px; line-height: 40px; text-align: center; transition: background-color .2s, box-shadow .3s; width: 42px; }
#menu > div:hover { background-color: #fafafa; box-shadow: 0 8px 8px -2px #333; }
#menu > div:last-of-type { display: none; }
#menu.showing > div { display: none; }
#menu.showing > div:last-of-type { display: block; }
#menu ul { background-color: #fff; box-shadow: 0 6px 6px -3px #777; display: none; list-style-type: none; margin: 0; padding: 12px 28px;  position: absolute; right: 0; top: 100%; width: 250px; }
#menu.showing ul { display: block; }
#menu ul li { margin: 12px 0 15px; }
#menu ul li:last-of-type { margin-bottom: 13px; }
#menu ul li div { background-color: rgb(85,130,139); background-color: rgba(85,130,139,.4); border: 2px solid #000; display: inline-block; height: 28px; margin-right: 15px; vertical-align: middle; width: 28px; }
#menu ul li span { display: inline-block; line-height: 1.2em; vertical-align: middle; width: 150px; }
#menu ul .other-boundary div { background-color: #fff; }
#menu ul .hvra div { background-color: rgb(255,131,96); background-color: rgba(255,131,96,.8); border: 0; }
#menu ul .steep-slopes div { background-color: rgb(0,132,160); background-color: rgba(0,132,160,.6); border: 0; }
#menu ul .floodplain div { background-color: rgb(28,46,50); background-color: rgba(28,46,50,.41); border: 0; }

#search { left: 29px; position: absolute; top: 27px; z-index: 700; }
#search input { border: 0; box-shadow: 0 5px 8px -2px #777; height: 40px; padding-left: 39px; width: 350px; }
#search img { cursor: pointer; left: 0; padding: 10px;  position: absolute; top: 0; }

#loading { background-color: #0053B6; left: 29px; overflow: hidden; position: absolute; top: 88px; z-index: 800; }
#loading span {color: #fff; display: block; font-weight:900;position:fixed;height:100%;background-color:rgba(0,0,0,0.8);width:100%;top:0;z-index:9999!important;left:0;padding:20% 40%;text-align:center;font-size:1.9em}

@-webkit-keyframes pulse {
    50% {
      background: white;
    }
  }
  @keyframes pulse {
    50% {
      background: white;
    }
  }

  .loading-pulse {
    position: relative;
    width: 6px;
    height: 24px;
    background: rgba(255, 255, 255, 0.2);
    -webkit-animation: pulse 750ms infinite;
            animation: pulse 750ms infinite;
    -webkit-animation-delay: 250ms;
            animation-delay: 250ms;
            left: 48%;
            top:20px;
  }
  .loading-pulse:before, .loading-pulse:after {
    content: '';
    position: absolute;
    display: block;
    height: 16px;
    width: 6px;
    background: rgba(255, 255, 255, 0.2);
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-animation: pulse 750ms infinite;
            animation: pulse 750ms infinite;
  }
  .loading-pulse:before {
    left: -12px;
  }
  .loading-pulse:after {
    left: 12px;
    -webkit-animation-delay: 500ms;
            animation-delay: 500ms;

/*********************************************/
/****** Media Queries ************************/
/*********************************************/
@media screen and (max-width: 790px) {
    #form-area { padding: 0; }
    #form-area form { height: 76%; padding: 6px 12px; width: 90%; }
    #form-area.showing form { margin-top: 14px; }
    label { font-size: .8em; margin: 4px 0 1px; }
    input[type="text"],
    textarea { font-size: .9em; }
    #form-area form input[type="submit"] { font-size: .8em; margin: 2px 0 12px;  }
    #thank-you { padding: 2px 14px 5px; width: 210px; }
    #thank-you p { font-size: .85em; line-height: 1.2em; }
    #back-to-site-link { font-size: .9em; height: 26px; padding: 4px 8px; }

    #buttons div { font-size: .85em; height: 30px; line-height: 30px; width: 180px; }
    #buttons #view-comment-button { left: 0; top: 30px; }
    #buttons #cancel-add-button,
    #buttons #cancel-view-button { width: 210px; }
    #buttons.adding #cancel-add-button,
    #buttons.viewing #cancel-view-button { top: 30px; }
    #buttons #cancel-form-button { left: 0; width: 210px; }
    #buttons.commenting #cancel-form-button { top: 0; }
    .gm-style-iw-d div { font-size: .9em; padding: 3px; width: 100%; }
    .gm-style-iw-d div a { font-size: .85em; margin-top: 12px; width: 100%; }
}

@media screen and (max-width: 640px) {
    #menu { top: 12px; right: 16px; }
    #menu > div { height: 36px; line-height: 34px; width: 36px; }
    #menu ul { font-size: .85em; padding: 8px 18px; width: 200px; }
    #menu ul li div { height: 22px; margin-right: 10px; width: 22px; }
    #menu ul li span { width: 130px; }

    #search { left: 14px; top: 12px; }
    #search input { height: 34px; width: 280px; }
    #search img { padding: 8px; }

    #loading { left: 14px; top: 60px; }
    #loading span { font-size: .9em; padding: 4px 22px; }
}

@media screen and (max-width: 400px) {
    #search { width: 100%; }
    #search input { width: 90%; }
    #menu { top: 60px; }
}