html, body { color: #37246b; font-family: "Ubuntu", 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: #37246b; 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: #281757; }

#skiptocontent { background-color: #fff; border-radius: 8px; box-shadow: 2px 2px 8px 0 #000; font-size: 1.3em; left: -9999px; padding: 3px 12px; position: absolute; top: -9999px; }
#skiptocontent:focus { left: 8px; top: 8px; }
.ada-element { left: -9999px; position: absolute; }
#topnav { background: #2d1b5b; padding: 12px 8% 12px 6%; }
#topnav img { height: 34px; }
#topnav a { color: #fff; float: right; margin-top: 6px; text-decoration: underline; }
#topnav a:hover { color: #93b26f; }
.toolkit-header #topnav a { float: none; }
.toolkit-header #topnav span { float: right; }
.dashboard-header { box-shadow: 0 4px 12px -4px #b9b4c6; height: 56px; position: relative; z-index: 10; }
.dashboard-header #topnav { background: #fff; color: #37246b; height: 56px; }
.dashboard-header #topnav a { color: #37246b; }
.dashboard-header #topnav a:hover { color: #000; }
.dashboard-header #topnav span { margin-top: 5px; }

/** Intro Page */
#intro-screens { background: #dae9b2; height: 100%; padding-top: 56px; position: absolute; top: 0; width: 100%; z-index: 8; }
.screen { background-image: URL("../images/REZ1.jpg"); background-position: center; background-size: cover; display: none; height: 100%; text-align: center; }
.screen.active { display: block; }
.screen:before { content: ""; display: inline-block; height: 100%; vertical-align: middle; }
.screen > div { display: inline-block; vertical-align: middle; }
.screen > div > div { background: #fff; border: 1px solid #a6a7c7; font-size: 1.25em; margin: 0 auto 18px; padding: 18px 34px 14px; text-align: left;  width: 625px; }
.screen > div > div p { line-height: 1.3em; margin: 18px 0; }
.screen h2 { font-size: 1.5em; font-weight: 700; margin-top: 0; }
.screen button { background: #37246b; border-radius: 8px; border: 0; color: #fff; font-size: 1.1em; margin: 24px 8px 0; padding: 5px 24px; text-transform: uppercase; transition: background .2s; }
.screen button:hover { background: #251453; }
.screen a.button { background: #37246b; border-radius: 8px; border: 0; color: #fff; font-size: 1.1em; margin: 24px 8px 0; padding: 8px 24px; text-transform: uppercase; transition: background .2s; }
.screen a.button:hover { background: #251453; } 

/* Map Specific */
#map-area { height: 100%; overflow: hidden; padding-top: 56px; 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; }

#map-top { height: 74px; padding: 8px 0 0 5.7%; position: relative; z-index: 7; }
#map-top h2 { display: inline-block; }
#map-top a { background: #e7e5ed; border: 1px solid #a6a7c7; border-right: 0; color: #37246b; float: right; font-size: 1.1em; font-weight: 700; margin-top: 6px; padding: 12px 8.7% 12px 30px; position: relative; text-decoration: underline; top: 0; transition: .3s; }
#map-top a img { height: 38px; left: -19px; position: absolute; top: 4px; }
#map-top a:hover { padding-right: 11%; }

#not-map-title { height: 100%; padding-top: 130px; position: absolute; top: 0; width: 100%; }

#left-panels { height: 64%; left: 16px; position: absolute; top: 148px; width: 560px; }
#select-island { background: #fff; border: 1px solid #a6a7c7; padding: 14px 18px; }
#select-island h3 { display: inline-block; font-size: 1.3em; font-weight: 700; margin: 0; }
#select-island h3 > div { display: inline-block; position: relative; }
#select-island h3 > div > span { background: #6773ae; border-radius: 50%; color: #fff; cursor: pointer; display: inline-block; font-size: .8em; height: 20px; line-height: 20px; margin-left: 3px; position: relative; text-align: center; top: -2px; width: 20px; }
#select-island div > div { left: -9999px; opacity: 0; position: absolute; }
#select-island div:hover > div { background: #fff; border: 1px solid #6773ae; box-shadow: 0 3px 8px -4px #666; font-size: .75em; left: 100%; margin-left: 12px; opacity: 1; padding: 8px 10px; top: 0; transition: left 0s, opacity .2s; width: 280px; z-index: 100; }
#select-island select { border-color: #37246b; color: #37246b; float: right; padding: 2px 6px 2px 4px; }

#add-input { background: #fff; border: 1px solid #a6a7c7; max-height: 100%; overflow: auto; padding: 14px 18px 12px; }
#add-input > em { color: #000; display: block; margin-top: 8px; margin-bottom: 16px; }
#add-input img { display: inline-block; margin-right: 3%; vertical-align: top; width: 15%; }
#add-input div { display: inline-block; width: 80%; }
#add-input h3 { font-size: 1.3em; font-weight: 700; margin-top: 0; }
#add-input h4 { font-size: 1.1em; font-weight: 700; margin-top: 0; }
#add-input ul { margin-top: 2px; margin-bottom: 16px; }
#add-input li { margin: 0; }
#add-input > p { margin: 12px 0; }
#add-input > p:last-of-type { border-top: 1px solid #37246b; margin-top: 0; padding-top: 8px; }

#layers-box { background: #fff; border: 1px solid #a6a7c7; opacity: 0; padding: 14px 24px 12px; position: absolute; right: 100%; top: 148px; width: 240px; }
#layers-box.showing { opacity: 1; right: 34px; transition: right 0s, opacity .2s; }
#layers-box h3 { font-size: 1.3em; font-weight: 700; margin-top: 0; margin-bottom: 14px; }
#layers-box p { font-size: .9em; line-height: 1.3em; margin: 8px 0 16px; }
#layers-box a { color: #37246b; text-decoration: underline; }
#layers-box > a { font-style: italic; }
#layers-box .layer { margin: 4px 0; padding-left: 22px; position: relative; }
#layers-box .layer input { left: 0; position: absolute; top: 2px; }
#layers-box label { margin: 0; }

#rez-link { bottom: 44px; padding-bottom: 10px; position: absolute; right: 90px; }
#rez-link a { background: #edf2e4; border: 1px solid #a5ce3a; color: #37246b; display: block; font-weight: 700; padding: 8px 14px 10px; text-align: center; text-decoration: underline; width: 160px; }
#rez-link a:hover { background: #dde7cb; }
#rez-link img { display: block; margin: -25px auto 3px; width: 40px; }

#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: rgb(55 36 107 / .75); height: 100%; padding: 12px 30px; position: absolute; right: 0; top: -100%; transition: top .8s; width: 100%; z-index: 80; }
#form-area.showing { top: 0; transition: top 1.1s; }
#form-area form { background-color: #fff; border: 1px solid #a6a7c7; height: 80%; margin: -66px auto 0; overflow: auto; padding: 18px 38px 84px; transition: 1.3s ease-in-out .3s; width: 60%; }
#form-area.showing form { margin-top: 36px; }
#form-area form input[type="submit"] { float: right; font-size: 1.2em; }
.email-required { color: #a33; display: none; font-style: italic; }
#form-area h3 { font-size: 1.5em; }

#map-info-soon { background-color: #fff; border: 2px solid #37246b; border-radius: 8px; box-shadow: 3px 8px 24px 0 #444; padding: 6px 34px 6px 26px; position: absolute; top: -264px; transition: top .8s; left: 28px; }
#map-info-soon span { cursor: pointer; font-size: 1.4em; line-height: .6em; padding: 8px; position: absolute; right: 0; top: 0; }
#map-info-soon p { margin-top: 8px; }
#map-info-soon.showing { top: 154px; }

#thank-you { background-color: #fff; border: 2px solid #37246b; border-radius: 8px; box-shadow: 3px 8px 24px 0 #444; padding: 6px 34px 6px 26px; position: absolute; top: -264px; transition: top .8s; left: 28px; }
#thank-you span { cursor: pointer; font-size: 1.4em; line-height: .6em; padding: 8px; position: absolute; right: 0; top: 0; }
#thank-you p { margin-top: 8px; }
#thank-you.showing { top: 154px; }

#buttons { top: 148px; height: 80px; left: 0; margin-left: 558px; padding: 28px; position: absolute; z-index: 96; }
#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: #37246b; border: 0; box-shadow: 0 4px 8px -1px #111; color: #fff; cursor: pointer; float: left; font-size: .9em; font-weight: 700; height: 100px; letter-spacing: .07em; line-height: 1.2em; position: absolute; text-align: center; top: 0; transition: background-color .2s, top .6s ease-in-out 0s; width: 104px;  }
#buttons button:hover { background-color: #281757; }
#buttons button img { display: block; height: 30px; margin: 14px auto 11px; }
#buttons #view-comment-button { top: 0; transition: background-color .2s, top .6s ease-in-out .15s; }
#buttons #map-layers { top: 110px; /* top: 220px: */ }
#buttons #cancel-add-button,
#buttons #cancel-view-button { background-color: #a00; display: none; 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: #37246b; display: none; left: 148px; }
#buttons #cancel-form-button:hover { background-color: #281856; }

.gm-style .gm-style-iw-c { width: 280px; }
.gm-style-iw-d div { padding: 5px; min-width: 100%; }
.gm-style-iw-d div a { background-color: #37246b; border-radius: 6px; color: #fff; display: block; font-weight: 700; margin: 8px auto 0; padding: 4px 0; text-align: center; width: 170px; }
.gm-style-iw-d div a:hover { background-color: #281856; }

#form-error { color: #a00; font-size: 1.2em; font-weight: 700; font-style: italic; }

#buttons.adding #add-comment-button,
#buttons.viewing #add-comment-button,
#buttons.general-commenting #add-comment-button { display: none; }
#buttons.adding #view-comment-button,
#buttons.viewing #view-comment-button,
#buttons.general-commenting #view-comment-button { display: none; }
#buttons.adding #map-layers,
#buttons.general-commenting #map-layers { display: none; }
#buttons.adding #cancel-add-button,
#buttons.viewing #cancel-view-button,
#buttons.general-commenting #cancel-add-button { display: block; }
#buttons.commenting { left: 0; margin-left: 0; top: 20px; }
#buttons.commenting #cancel-form-button { display: block; }
#buttons.general-commenting #cancel-form-button { display: none; }

/* Modal Window */
.close-modal { display: none; }
.modal-window { display: none; height: 100%; left: 0; position: fixed; top: -100%; transition: 0; width: 100%; z-index: 5000; }
.modal-window.showing { top: 0; transition: top 1s; }
.modal-window > button { 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%; }
.modal-title { padding: 6px 0; width: 90%; }
.modal-window > div { background-color: #fff; border: 1px solid #333; bottom: 50px; box-shadow: 4px 13px 28px 0 #111; left: 12%; margin: 0; overflow: auto; padding: 0 3% 28px; position: absolute; top: 40px; width: 76%; }
.modal-window > div .close-modal { background: transparent; border: 0; font-size: 3em; line-height: .6em; position: absolute; right: 10px; top: 16px; }
.modal-window > div .close-modal span { left: -9999px; position: absolute; }
.modal-window :focus { border-radius: 2px; outline: 2px groove #ddd; }

/* Accordions */
.accordion-set { margin-bottom: 20px; }
.accordion { background: #fff; }
.accordion h3 { font-size: 1.1em; font-weight: 700; }
.accordion-header { background: #fff; border: 0; cursor: pointer; padding: 8px 25px 8px 2%; position: relative;  text-align: left; width: 100%; }
.accordion-header i { font-size: 1em; margin-left: 12px; position: absolute; right: 8px; top: 10px; transition: .45s; vertical-align: middle; }
.opened .accordion-header i { margin-top: -2px; transform: rotate(180deg); }
.accordion > div { padding: 2px 3% 10px; }

#rez-explanation h4 { font-size: 1.4em; font-weight: 700; margin-top: 10px; }
#rez-explanation > div { padding: 18px 0 0; overfflow-x: hidden; }
#rez-explanation > div .row { margin: 0; }
#rez-explanation > div .col-sm-12 { padding-bottom: 0 !important;  }
#rez-explanation > div .row > div { padding: 30px 5% ; }
#rez-explanation > div > button { z-index: 1; }
#rez-explanation a { color: #37246b; text-decoration: underline; }
#rez-explanation img { width: 100%; }
#rez-explanation .row:nth-of-type(2) { background: #dae9b2; }
#rez-explanation .info-style { background: #e7e5ed; background-image: url("../images/info.png"); background-repeat: no-repeat; background-position: right -20px center; background-size: 26%; height: 110px; margin: 32px auto 0; width: 64%; }
#rez-explanation .info-style .close-modal { background: #37246b; border-radius: 8px; color: #fff; font-size: 1.1em; line-height: 1.2em; margin: 38px 10%; padding: 6px 14px; position: static;  }

#about-map > div { padding-top: 36px !important; }
#about-map .accordion { border: 1px solid #a6a7c7; margin-top: 28px; }
#about-map .accordion h3 { margin-top: 3px; }


/*********************************************/
/****** Media Queries ************************/
/*********************************************/
@media screen and (max-width: 1270px) {
    #form-area form { margin: -66px 0 0 34%; width: 56%; }   

    #left-panels { left: 14px; width: 400px; }
    #select-island h3 { font-size: 1.1em; }
    #add-input h3 { font-size: 1.1em; }
    #add-input img { width: 11%; }
    #add-input div { width: 84%; }
    #buttons { margin-left: 396px; }
}

@media screen and (max-width: 1030px) {
    #left-panels { left: 10px; top: 120px; width: 300px; }
    #select-island { padding: 8px;  }
    #select-island h3 { font-size: 1em; }
    #add-input { margin-top: 0; }
    #add-input h3 { font-size: 1em; }
    #add-input img { margin-right: 8px; width: 24px }
    #add-input h4 { font-size: 1em; }
    #add-input div { margin-bottom: 6px; width: 84%; }
    #buttons { margin-left: 292px; top: 120px; }

    #map-top { height: 54px; padding: 4px 0 0 18px; }
    #map-top h2 { font-size: 1.6em; font-weight: 700; }
    #map-top a { margin-top: 8px; padding: 6px 8% 6px 30px; }
    #map-top a img { top: -2px; }

    #not-map-title { padding-top: 112px; }

    #rez-link { bottom: 12px; right: 70px; }
}

@media screen and (max-width: 790px) {
    #topnav { padding: 5px 12px; }
    .dashboard-header { height: 44px; }
    .dashboard-header #topnav { height: 44px; }
    #intro-screens { padding-top: 44px; }
    #map-area { padding-top: 44px; }
    #add-input { padding: 9px 12px; }
    #add-input > div { display: none; }
    #add-input em { font-size: .9em; margin-bottom: 8px; }
    #add-input img { display: none; }
    #add-input > p { font-size: .9em; line-height: 1.2em; }
    #add-input > p:first-of-type { margin-top: 2px;  }
    #add-input ul { padding-left: 18px; }
    #add-input li { font-size: .9em; line-height: 1.2em; }
    #buttons { left: 0; margin-left: 208px; top: 110px; }
    #buttons button img { margin: 0 auto 8px; }
    #buttons button { font-size: .8em; height: 76px; width: 80px; }
    #buttons #map-layers { top: 86px; }
    
    #not-map-title { padding-top: 98px; }
    #map-top h2 { font-size: 1.4em; }

    #select-island { display: none; }
    #left-panels { left: 10px; top: 100px; width: 220px; }
    
    .screen > div { width: 96%; }
    .screen > div > div { margin: 0 auto; width: 80%; }
    
     #form-area { padding: 0; }
     #form-area form { height: 78%; margin: -66px auto 0; padding: 6px 12px 54px; width: 90%; }
     #form-area.showing form { margin-top: 120px; }
     label { font-size: .8em; margin: 4px 0 1px; }
     input[type="text"],
     textarea { font-size: .9em; }
     #form-area form input[type="submit"] { font-size: .8em; }
     #thank-you { left: 14px; padding: 2px 14px 5px; width: 210px; }
     #thank-you p { font-size: .85em; line-height: 1.2em; }
     #thank-you.showing { top: 74px; }
    #buttons #cancel-form-button { left: 118px; }
    #buttons #view-comment-button { top: 84px; }

     .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: 90%; }
}

@media screen and (max-width: 550px) {
    .modal-title { padding: 0; }
    .modal-window > div { padding: 0 5% 28px; }

    .dashboard-header { display: none; }
    #topnav { display: none; }
    #intro-screens { padding-top: 0; }
    #map-top h2 { display: block; font-size: 1.3em; margin-top: 6px; margin-bottom: 0; }
    #map-top a { margin-top: 10px; padding: 4px 8% 4px 14px; }
    #map-top a img { height: 26px; top: 2px; }
    #map-area { padding-top: 0; }
    .screen > div > div { font-size: 1em; padding: 12px; }
    .screen h2 { margin-bottom: 4px; }
    
    #not-map-title { padding-top: 84px; }
    #left-panels { display: none; left: 10px; top: 84px; width: 150px; }
    #add-input { padding: 7px 6px; }
    #add-input em { display: none;  line-height: 1.1em; }
    #add-input p { line-height: 1.1em; }
    #buttons { left: 0; margin-left: 0; padding: 0 8px;top: 92px; }
    #buttons button img { margin: 0 auto 8px; }
    #buttons button { font-size: .8em; height: 76px; width: 80px; }

    #rez-link a { padding: 6px 4px 8px; }
    #rez-link img { width: 30px; }
}