html, body { color: #4c4c4c; font-family: 'News Cycle', sans-serif; -webkit-font-smoothing: antialiased; }
.container { padding: 0; width: 100%; }
.row { margin: 0; }
.row > div { padding: 0 1.5% 12px; }
.content { width: 100%; }
.vertical-center > div { float: none; display: inline-block; margin-left: -.5%; vertical-align: middle; }
.vertical-center > div:first-of-type { margin: 0; }

/* Links */
a { transition: background-color .2s, color .2s; }
a:hover,
a:focus { text-decoration: none; }
.button { background-color: #c47; border-radius: 14px; border: 0; color: #fff; display: inline-block; letter-spacing: .05em; margin-top: 12px; padding: 4px 16px; transition: background-color .2s; }
.button:hover { background-color: #b16; color: #fff; }
.button:focus { color: #fff; }

/* Headers */
h1 { font-size: 2.6em;  }
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; }

/* Tables */
table { border: 2px solid #333; border-width: 0 2px 2px 0; margin: 14px 0; width: 100%; }
table tr th { border: 2px solid #333; border-width: 0 2px 2px 0; padding: 2px 4px; }
table tr td { border: 1px solid #333; border-width: 0 1px 1px 0; padding: 2px 4px; }
table tr:nth-of-type(even) { background-color: #eee; }

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

html,
body,

#map { height: 100%; width: 100%;}
#header {text-align:left;border-top:10px #005984 solid}
#header img {max-width:180px;margin:20px 40px 20px 20px;display:block;float:left;}
#header h1 {display:block;float:left;margin-top:0px;padding-top:25px;}
.leaflet-control-geocoder-form { margin: 8px 10px; position: relative; width: 350px; }
.leaflet-control-geocoder-form input[type="submit"] { display: none; }
.leaflet-control-geocoder-form input[type="text"] { font-size: 1.1em; height: 30px; width: 320px; }
.leaflet-control-geocoder-form i { background-color: #1b6cd5; color: #fff; cursor: pointer; height: 30px; line-height: 30px; position: absolute; right: 0; text-align: center; top: 0; transition: background-color .2s; width: 30px; }
.leaflet-control-geocoder-form i:hover { background-color: #0853b5; }

#basemap-button { background-color: #1b6cd5; color: #fff; font-size: 1.2em; letter-spacing: .05em; padding: 5px 11px; position: absolute; right: 20px; top: 62px; transition: background-color .2s; z-index: 1100; }
#basemap-button:hover { background-color: #0853b5; }

.leaflet-popup { margin: 30px 230px; width: 400px; top:100px;left:-800px!important;}
.leaflet-popup-content-wrapper { border-radius: 0; padding: 0; }
.leaflet-popup-content { margin: 0; }
.leaflet-container a.leaflet-popup-close-button { color: #333; padding: 14px 29px 0 0; }
.leaflet-container a.leaflet-popup-close-button:hover { color: #666; }
.leaflet-popup-tip {  display: none; }

.segment-details { border: 12px solid #f3901d; overflow: hidden; padding: 18px 0 14px; width: 400px; background-color: #FFF; display: flex; flex-wrap: wrap;}
.segment-details h1 { color: #f3901d; font-size: 1.4em; font-weight: 700; margin: 0 0 16px; padding-bottom: 7px; position: relative; text-align: center; width: 100%;}
.segment-details.blue h1 {
     color: #0081c6;
}
.segment-details h1:after { background-color: #f3901d; content: ""; height: 2px; left: 15%; position: absolute; top: 100%; width: 70%; }
.segment-details h2 { font-size: 1em; font-weight: 700; line-height: 1.2em; margin: 6px 0 10px; }
.segment-details > div { float: left; font-size: 1.1em; line-height: 1.2em; padding: 0 12px 3px; position: relative; text-align: center; width: 50%; }
.segment-details.three-col > div { width: 33.3%; }
.segment-details > div:nth-of-type(1):after,
.segment-details > div:nth-of-type(3):after
 { background-color: #f3901d; content: ""; height: 100%; left: 100%; position: absolute; top: 0; width: 2px; }
 .segment-details.three-col > div:nth-of-type(2):after  { background-color: #0081c6; content: ""; height: 100%; left: 100%; position: absolute; top: 0; width: 2px; }

.light-green { border-color: #7ac143; }
.light-green h1 { color: #7ac143; }
.light-green h1:after,
.light-green > div:nth-of-type(1):after,
.light-green > div:nth-of-type(2):after { background-color: #7ac143; }

.blue { border-color: #0081c6; }
.blue h1 { color: #0081c6; }
.blue h1:after,
.blue > div:nth-of-type(1):after,
.blue > div:nth-of-type(2):after { background-color: #0081c6; }

.light-blue { border-color: #72cdf4; }
.light-blue h1 { color: #72cdf4; }
.light-blue h1:after,
.light-blue > div:nth-of-type(1):after,
.light-blue > div:nth-of-type(2):after { background-color: #72cdf4; }

.gray { border-color: #404a54; }
.gray h1 { color: #404a54; }
.gray h1:after,
.gray > div:nth-of-type(1):after,
.gray > div:nth-of-type(2):after { background-color: #404a54; }

.green { border-color: #439539; }
.green h1 { color: #439539; }
.green h1:after,
.green > div:nth-of-type(1):after,
.green > div:nth-of-type(2):after { background-color: #439539; }

/* Modal */
#modalOverlay {
     position: fixed;
     top: 0;
     left: 0;
     background: rgba(0, 0, 0, 0.5);
     z-index: 99999;
     height: 100%;
     width: 100%;
}
.modalPopup {
     position: absolute;
     top: 30%;
     left: 50%;
     transform: translate(-50%, -50%);
     background: #fff;
     width: 50%;
     padding: 0 0 30px;
     -webkit-box-shadow: 0 2px 10px 3px rgba(0,0,0,.2);
     -moz-box-shadow: 0 2px 10px 3px rgba(0,0,0,.2);
     box-shadow: 0 2px 10px 3px rgba(0,0,0,.2);
}
.modalContent {padding: 0 2em;}
.headerBar {
width: 100%;
background: #54b948;
margin: 0;
text-align: center;
height:30px;
}

.leaflet-popup-content .segment-details h2:before {display:none;}
.leaflet-popup-content .segment-details h2 {padding:0px;}
.buttonStyle {
     border: transparent;
     border-radius: 0;
     background: #6d6d6d;
     color: #eee !important;
     cursor: pointer;
     font-weight: bold;
     font-size: 14px;
     text-transform: uppercase;
     padding: 6px 25px;
     text-decoration: none;
     background: -moz-linear-gradient(top, #6d6d6d 0%, #1e1e1e 100%);
     background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6d6d6d), color-stop(100%,#1e1e1e));
     background: -webkit-linear-gradient(top, #6d6d6d 0%,#1e1e1e 100%);
     background: -o-linear-gradient(top, #6d6d6d 0%,#1e1e1e 100%);
     background: -ms-linear-gradient(top, #6d6d6d 0%,#1e1e1e 100%);
     background: linear-gradient(to bottom, #6d6d6d 0%,#1e1e1e 100%);
     filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6d6d6d', endColorstr='#1e1e1e',GradientType=0 );
/*	-webkit-box-shadow: 0 2px 4px 0 #999;
     box-shadow: 0 2px 4px 0 #999; */
     -webkit-transition: all 1s ease;
     -moz-transition: all 1s ease;
     -ms-transition: all 1s ease;
     -o-transition: all 1s ease;
     transition: all 1s ease;
}
.buttonStyle:hover {
     background: #1e1e1e;
     color: #fff;
     background: -moz-linear-gradient(top, #1e1e1e 0%, #6d6d6d 100%, #6d6d6d 100%);
     background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e1e1e), color-stop(100%,#6d6d6d), color-stop(100%,#6d6d6d));
     background: -webkit-linear-gradient(top, #1e1e1e 0%,#6d6d6d 100%,#6d6d6d 100%);
     background: -o-linear-gradient(top, #1e1e1e 0%,#6d6d6d 100%,#6d6d6d 100%);
     background: -ms-linear-gradient(top, #1e1e1e 0%,#6d6d6d 100%,#6d6d6d 100%);
     background: linear-gradient(to bottom, #1e1e1e 0%,#6d6d6d 100%,#6d6d6d 100%);
     filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e1e1e', endColorstr='#6d6d6d',GradientType=0 );
}
#basemap-button span:before {content:'View Satellite Map';display:inline;}
#basemap-button.aerial span:before {content:'View Street Map'!important;}

/* global popups */
.leaflet-popup-content h2 {font-size:14px!important;padding:20px;}
.leaflet-popup-content table {display:none;}
.leaflet-popup-content h2:before{content: 'Owner: ';display:inline;font-weight:bold;}

/* Legend */
#legend {position:absolute;bottom:20px;left:20px; z-index:999;background:white;padding:10px;border:gray solid 1px}
#legend ul li {list-style:none;position:relative;}
#legend ul {padding:0px}
#legend ul li:nth-of-type(1):before{content:'';display:inline-block;height:10px;width:20px;background:rgba(72,185,84,0.3);margin-right:10px;border:2px #54b948 solid;}
#legend ul li:nth-of-type(2):before{content:'';display:inline-block;height:10px;width:20px;background:rgba(0,89,132,0.3);margin-right:10px;border:2px #005984 solid;}
#legend ul li:nth-of-type(3):before{content:'';display:inline-block;height:10px;width:20px;background:rgba(84,84,84,0.1);margin-right:10px;border:2px #26bcd7 solid;}
#legend ul li:nth-of-type(4) input[type=checkbox]:before{content:'';display:block;height:10px;width:20px;background:rgba(174,6,177,0.1);right:30px;border:2px #AE06B1 solid;position:relative;margin-top:3px;}
#legend ul li:nth-of-type(5) input[type=checkbox]:before{content:'';display:block;height:10px;width:20px;background:rgba(84,245,138,0.4);right:30px;border:2px #54f58a solid;position:relative;margin-top:3px;}
#legend h3 {margin-top:0px;font-size:16px;font-weight:bold;}
#legend ul li:nth-of-type(6):before{content:'';display:inline-block;height:10px;width:20px;background:#0000FF;margin-right:10px;border:2px #0000FF solid;}
#legend h3 {margin-top:0px;font-size:16px;font-weight:bold;}
#legend ul li:nth-of-type(4) input[type=checkbox], #legend ul li:nth-of-type(5) input[type=checkbox] {margin-left:30px;}
/*********************************************/
/****** Media Queries ************************/
/*********************************************/
/* Add more queries as needed; 992px is the column breakpoint for "medium"  columns in Bootstrap */

@media screen and (max-width: 992px) {
     .vertical-centered > div { margin: 0; }
     h1 { font-size: 2.2em; margin: 20px 0 6px; }
     h2 { font-size: 1.7em; margin: 12px 0 0; }
     h3 { font-size: 1.4em; margin: 20px 0 0; }
     h4 { font-size: 1.3em; margin: 28px 0 0; }
     h5 { font-size: 1.2em; margin: 26px 0 0; }
     h6 { font-size: 1.1em; margin: 26px 0 0; }
     p, li { font-size: .9em; line-height: 1.3em; }
     .button { font-size: .8em; border-radius: 12px; padding: 4px 12px 3px; }
     table tr { font-size: .8em; padding: 2px; }
}

@media screen and (max-width: 675px) {
     .leaflet-control-geocoder-form { margin: 0 2px; width: 180px; }
     .leaflet-control-geocoder-form input[type="text"] { font-size: .9em; height: 20px; width: 160px; }
     .leaflet-control-geocoder-form i { font-size: .8em; height: 20px; line-height: 20px; width: 20px; }
     #header img {max-width:120px;}
     #header h1 {font-size:1.5em;}
     #basemap-button { font-size: .9em; padding: 3px 6px; right: 12px; top: 37px; }

     .leaflet-popup { margin: 10px 110px;width: 180px !important; }
     .leaflet-popup-content { width: 180px !important; }
     .leaflet-container a.leaflet-popup-close-button { padding: 10px 24px 0 0; }
     .segment-details { border-width: 8px; padding-bottom: 4px; width: 180px; }
     .segment-details h1 { font-size: 1em; margin-bottom: 5px; padding-bottom: 5px; }
     .segment-details h2 { margin: 4px 0 4px; }
     .segment-details > div, .segment-details.three-col > div { font-size: .9em; margin: 3px 0 0; padding-bottom: 7px; width: 100%; }
     .segment-details > div:nth-of-type(1):after,
     .segment-details > div:nth-of-type(2):after,
     .segment-details.three-col > div:nth-of-type(1):after,
     .segment-details.three-col > div:nth-of-type(2):after{ height: 1px; left: 10%; top: 100%; width: 80%; }
}

@media screen and (max-width: 400px) {
     #header img {max-width:60px;margin:15px;}
     #header h1 {font-size:1em;padding-top:15px;}
}