html, body { color: #333; font-family: "Open Sans", sans-serif !important; -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: #003F6B; 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: #00253f }

/* Map Specific */
.container { position: relative; }

#title-bar { background: #003F6B; height: 60px; padding: 15px 14px; position: relative; z-index: 1; }
#title-bar h1 { color: #fff; display: inline-block; font-size: 1.6em; font-weight: 700; margin: 0 0 0 18px; vertical-align: middle; }
#title-bar .hdr-launch-modal { background: #FFC845; border-radius: 50%; color: #003f6b; float: right; font-family: 'Times New Roman', sans serif; font-size: 1.6em; font-weight: 900; font-style: italic; height: 26px; line-height: 26px; text-align: center; width: 26px; }
#title-bar a img { width: 200px; }

#map-area { height: 100%; overflow: hidden; padding-top: 48px; position: absolute; top: 0; 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; }

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

#buttons { top: 100px; height: 80px; padding: 28px; position: absolute; z-index: 100; }
#buttons button { -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: #003F6B; border: 0; box-shadow: 0 0 11px -1px #333; color: #fff; cursor: pointer; float: left; font-size: .9em; font-weight: 700; height: 88px; left: 28px; letter-spacing: .07em; line-height: 1.2em; position: absolute; text-align: center; top: 64px; transition: background-color .2s, left .6s ease-in-out 0s; width: 104px;  }
#buttons button:hover { background-color: #002e4f; }
#buttons button img { display: block; height: 18px; margin: 8px auto 11px; }
#buttons #view-comment-button { left: 146px; transition: background-color .2s, left .6s ease-in-out .15s; }
#buttons #cancel-add-button,
#buttons #cancel-view-button { background-color: #a00; left: -128px; top: 64px; transition: background-color .2s, top .6s; }
#buttons #cancel-add-button:hover,
#buttons #cancel-view-button:hover { background-color: #690101; }
#buttons #cancel-form-button { background-color: #6999a9; left: -146px; top: 64px; }
#buttons #cancel-form-button:hover { background-color: #567985; }

.gm-style-iw-d div { padding: 5px; min-width: 300px; font-size:18px; font-weight: bold; padding: 8px 16px;}
.gm-style-iw-d div a { background-color: #003F6B; border-radius: 6px; color: #fff; display: block; font-weight: 700; margin: 0 auto; padding: 4px 0; text-align: center; width: fit-content; padding: 8px 16px;}
.gm-style-iw-d div a:hover { background-color: #002641; }

#buttons label { left: -9999px; position: absolute; }
#buttons input { transition: opacity .2s; width: 220px; }
#buttons.commenting input { opacity: 0; }

#buttons.adding #add-comment-button,
#buttons.viewing #add-comment-button { left: -150px; transition: background-color .2s, left .6s ease-in-out .15s; }
#buttons.adding #view-comment-button,
#buttons.viewing #view-comment-button { left: -150px; transition: background-color .2s, left .6s ease-in-out 0s; }
#buttons.adding #cancel-add-button,
#buttons.viewing #cancel-view-button { left: 28px; transition: background-color .2s, left .8s ease-in-out .4s; }
#buttons.commenting #cancel-form-button { left: 146px; }

#legend { position: absolute; right: 10px; top: 70px;  }
#legend button { background: #003F6B; border: 0; color: #fff; font-size: 1.2em; font-weight: 700; margin: 0; padding: 9px 22px; }
#legend ul { background: #fff; left: -99999px; list-style: none; margin: 0; opacity: 0; padding: 14px 18px; position: relative; width: 220px; }
#legend ul h2 { font-size: 1.2em; font-weight: 700; margin: 0 0 16px; }
#legend li { padding-left: 40px; position: relative; }
#legend li span { background: #F71414; height: 3px; left: 0; position: absolute; top: 50%; transform: translateY(-50%); width: 22px; }
#legend li:nth-of-type(3) span { background: #0DCF38; }
#legend li:nth-of-type(4) span { background: #032BFF; }
#legend li:nth-of-type(5) span { background: transparent; border: 3px solid #ff7c18; border-radius: 50%; height: 18px; margin-left: 2px; width: 18px; }
#legend li:nth-of-type(1) span { background: #fff; border: 2px solid #000; height: 12px; top: 6px; transform: none; }
#legend em { font-size: .9em; margin-top: 10px; display: block; }
#legend.opened  ul { left: 0; opacity: 1; transition: left 0s, opacity .5s; }

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

/* Modal Window */
.hdr-close-modal { display: none; }
.hdr-launch-modal { display: none; }
.has-hdr-modals .hdr-launch-modal { display: block; }
.hdr-modal-showing { overflow: hidden; }
.hdr-modal-window { display: none; height: 100%; left: 0; position: fixed; top: -100%; transition: 0s; width: 100%; z-index: 1000; }
.hdr-modal-window.showing { top: 0; transition: top 1s; }
.hdr-modal-window > .hdr-close-modal { background-color: rgba(0,0,0,.75); border: 0; cursor: pointer; display: block; height: 100%; left: 0; margin: 0; position: absolute; top: 0; width: 100%; }
.hdr-modal-window .hdr-close-modal span { left: -9999px; position: absolute; }
.hdr-modal-window #hdr-modal-title { background: #003F6B; color: #fff; font-size: 1.4em; font-weight: 700; margin: 0 0 6px 0; padding: 14px 60px 14px 3%; }
.hdr-modal-window #hdr-modal-title span { background: #FFC845; border-radius: 50%; color: #003f6b; display: inline-block; font-family: "Times New Roman",serif; font-size: 1.1em; font-weight: 900; font-style: italic; height: 26px; line-height: 26px; margin-right: 14px; text-align: center; width: 26px;  }
.hdr-modal-window > div { background-color: #fff; box-shadow: 4px 13px 28px 0 #111; overflow: auto; padding: 0; position: absolute; }
.hdr-modal-window > div > div { padding: 3px 5% 18px; }
.hdr-modal-window > div .hdr-close-modal { background: transparent; border: 0; color: #fff; font-size: 3em; line-height: .6em; position: absolute; right: 10px; top: 12px; }
.hdr-modal-window > div .hdr-close-modal:hover { color: #666; }
.hdr-modal-window :focus { border-radius: 2px; outline: 2px groove #ddd; }


/*********************************************/
/****** Media Queries ************************/
/*********************************************/
@media screen and (max-width: 1270px) {
     #form-area form { margin: -66px 0 0 34%; width: 56%; }   
 }

@media screen and (max-width: 992px) {
    #title-bar { padding: 17px 16px; }
    #title-bar h1 { font-size: 1.2em; }
    #legend { font-size: .75em; }
}
 
 @media screen and (max-width: 790px) {
     #form-area { padding: 0; }
     #form-area form { height: 82%; margin: -66px auto 0; padding: 6px 12px 54px; width: 90%; }
     #form-area.showing form { margin-top: 70px; }
     label { font-size: .8em; margin: 4px 0 1px; }
     input[type="text"],
     textarea { font-size: .9em; }
     #form-area form input[type="submit"] { font-size: .8em; }
 
     #buttons { padding: 0 14px; }
     #buttons button { box-shadow: 0; font-size: .75em; height: 60px; left: 14px; line-height: 1.1em; top: 38px; width: 90px; }
     #buttons button img { display: block; height: 14px; margin: 2px auto 5px; }
     #buttons #view-comment-button { left: 114px; }
     #buttons.adding #cancel-add-button { left: 14px; top: 38px; }

     #buttons.commenting { top: 0; }
     #buttons.commenting #cancel-add-button { top: 0; }
     #buttons.commenting #cancel-form-button { left: 114px; top: 0; }
     
     #buttons #cancel-view-button { top: 38px; }
     .gm-style-iw-d div { font-size: .85em; padding: 1px; min-width: 0; }
     .gm-style-iw-d div a { font-size: .95em; line-height: 1em; margin-top: 10px; padding: 6px 6px; width: 58%; }

     .hdr-modal-title { padding: 0; }
     .hdr-modal-window .hdr-modal-title { margin: 44px 0 0; }
     .hdr-modal-window > div { height: 88% !important; left: 8% !important; padding: 0 0 24px !important; top: 6% !important; width: 84% !important; }
     .hdr-modal-window > div .hdr-close-modal { font-size: 2em; }
}

@media screen and (max-width: 654px) {
    #title-bar { padding: 11px 9px; }
    #title-bar a img { display: block; height: 18px; width: auto; }
    #title-bar h1 { font-size: .8em; margin: 0; }
    #title-bar .hdr-launch-modal { margin-top: -4px; }
}

@media screen and (max-width: 500px) {
    #legend { z-index: 101; }
    #legend ul { width: 160px; }
    #legend ul li { padding-left: 30px; }
}