	@import 'https://fonts.googleapis.com/css?family=Roboto:700,300';
	@import 'https://fonts.googleapis.com/css2?family=Inconsolata:wght@200..900';
	
	:root:before {
		content: url(https://maps.nicholsonroad.com/zones/rbrtwhite-zones.svg);
		visibility: hidden;
		position: absolute;
	}
    
	html, body, #map {
        height: 100%;
        padding: 0;
        margin: 0;
        background:#ffffff;
      }
	  
	  #map {
	height: calc(100% - 50px);
    top: 50px;
    z-index: 0;
	  }
      
      /* disclaimer popup */
        .popup {
            display: flex;
            justify-content: center;
            align-items: center;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(205, 205, 205, 0.9);
            z-index:1000;
			color:#000;
        }

        .popup-content {
	background-color: #fff;
    padding: 20px 20px 20px 30px;
    text-align: left;
    width: 50%;
    min-width: 300px;
    max-width: 550px;
    clip-path: polygon(1% 0, 100% 0, 99% 100%, 0 100%);
        }
        
        .popup h2 {
            font-family: 'Roboto', sans-serif;
      	    font-size:24px;
      	    text-transform:uppercase;
      	    margin:10px 0;
        }

        .popup p {
            font-family: 'Roboto', sans-serif;
            font-size: 14px;
            line-height: 1.6;
        }
        
        .popup button {
            margin: 20px auto 10px;
            padding: 8px 16px;
            border: none;
            background-color: rgba(21,132,144, 1);
            color: white;
            cursor: pointer;
            border-radius: 2px;
            display:block;
			font-size:16px;
			font-weight:bold;
        }

        .popup button:hover {
            background-color: rgba(21,132,144, 0.8);
        }
      
      #header {
    height: 65px;
    width: 100%;
    background: white;
    display: block;
    top: 0;
    position: absolute;
    clip-path: polygon(0 0, 100% 0, 100% 50px, 0 100%);
    z-index: 1000;
      }
	  
	  #header strong,
	  #header #main-menu a strong
	  {
		  font-weight:700;
	  }
      
      #header #reference {
    	display:block;
      	position:absolute;
		visibility:visible;
      	top:0;
      	left:0;
      	height:45px;
      	width:45px;
      	background: url('https://maps.nicholsonroad.com/vanbldgs/menu-closed.png') 50% 50% no-repeat;
      }
      
      #header h1 {
	font-family: 'Roboto', sans-serif;
    color: #000;
    font-size: 75px;
    text-transform: uppercase;
    padding: 0px 0;
    margin: 0 0 0 20px;
    font-weight: 600;
      }
      
      #header h1 span {
	font-weight: 300;
    font-size: 26px;
    top: -32px;
    /* margin-top: -100px; */
    position: relative;
    left: -14px;
      }
	  
	  	#header .header-right {
    	position: absolute;
		right: 20px;
		top: 0px;
		z-index:99;
		font-family: 'Roboto', sans-serif;
      	color:#000;
      	font-size:20px;
      	text-transform:uppercase;
     	padding: 13px 0;
        margin:0 0 0 20px;
        font-weight:600;
    }
	  
	#header .header-right a {
		font-size: 14px;
    	text-transform: lowercase;
    	text-decoration: none;
    	color: #000;
		font-weight: 300;
		position: relative;
		top: -3px;
	}
      
    #header .header-right img {
      	display: inline-block;
      	vertical-align:middle;
      	border-radius:16px;
      	zoom:1;
      	text-decoration:none;
      	margin-right: 10px;
    }


#offline {
	font-size: 16px;
    display: block;
    margin: 0 auto;
    padding: 0;
    text-decoration: none;
    text-align: left;
    opacity: 0.9;
    background: rgb(255, 255, 255);
    border-radius: 5px;
    font-family: 'Roboto';
    width: 100%;
    height: calc(100% - 40px);
    top: 40px;
    position: absolute;
    z-index: 999;
}

#offline p {
	max-width: 30%;
	margin:0 auto 20px;
	color: #000;
}


#offline .oops {
	margin: calc(100%/2/4) auto 20px;
	font-size: 80px;
    font-weight: 700;
    color: #1097e2;
}

#offline p img {
	margin-top:10px;
}

#offline p a {
	text-decoration: none;
	color: #1097e2;
}

#donate {
	margin-right: 10px;
    height: 21px;
    display: inline-block;
}

#header #donate a {
	padding: 3px 8px 2px 24px;
    margin-right: 10px;
    border-radius: 4px;
    font-size: 10px !important;
	color: #022f84;
	text-transform:uppercase;
	font-weight:bold;
	background: #fff url('paypal.png') no-repeat 4px 1px;
}

#header #donate a:hover {
	text-decoration:underline;
}
      	  
	  #header #site-nav {
		background:url(https://maps.nicholsonroad.com/zones/rbrtwhite-zones.svg) 50% 50% no-repeat;
		background-size:60%;
		height: 40px;
		width: 40px;
		position: absolute;
		top: 0;
		left: 0;
		outline: none;
		border: none;
		border-right: 1px solid rgba(255, 255, 255, 0.1);
		cursor:pointer;
	 }
	 
	 #header #site-nav:hover
	 {
		 background-color: rgb(118, 111, 174);
		 border-right: 1px solid #000;
	 }
	 
	 #header #site-nav.active {
		 background-color: rgba(118, 111, 174, 0.75);
		 border-right: 1px solid #000;
	 }
	 
	 #main-menu {
		background-color: rgba(0,0,0,0.9);
		position: absolute;
		top: 40px;
		left: 0px;
		z-index: 9999;
		width: 350px;
		height: auto;
		font-family: 'Roboto', sans-serif;
		font-weight:300;
		font-size:12px;
		padding-bottom:22px;
		visibility:hidden;
	 }
	 
	 #main-menu.active {
		 visibility:visible;
	 }
	 	 
	 #main-menu p {
		color: #fff;
		padding: 22px;
		margin: 0;
		line-height: 17px;
		font-size: 13px;
	 }
	 
	 #main-menu a {
		 color:#fff;
		 text-decoration:none;
		 font-weight:500;
	 }
	 
	 #main-menu .project {
		border-top:1px solid rgba(255,255,255,0.5);
		margin-top:10px;
		padding:12px;
		color:#fff;
		text-decoration:none;
		font-weight:300;
		display:block;
		text-transform: uppercase;
		margin: 0 22px;		
		padding-left: 30px;
		background-position:7px 50%;
		background-repeat:no-repeat;
		background-size: 16px;
	 }
	 #main-menu a strong {
		 font-weight:500;
	 }
	 
	 #main-menu .heights {
		background-image: url(https://maps.nicholsonroad.com/images/maps-heights-icon.svg);
	 }
	 #main-menu .bcer {
		background-image: url(https://maps.nicholsonroad.com/images/maps-bcer-icon.svg);
	 }
	 #main-menu .zones {
		background-image: url(https://maps.nicholsonroad.com/zones/rbrtwhite-zones.svg);
	 }
	 
	 #main-menu a.project:hover {
		 background-color:#766fae;
	 }
	 
	 #main-menu ul {
		margin: 0 22px;
		padding: 6px 0;
		border-bottom:1px solid rgba(255,255,255,0.5);
		border-top:1px solid rgba(255,255,255,0.5);
	 }
	 
	 #main-menu li {
		 list-style:none;
	 }
	 
	 #main-menu li span.project {
		 margin:0;
		 padding:6px 0 6px 30px;
		 border:none;
	 }
	 
	 #main-menu li a.project {
		border:none;
		padding:6px;
		background:none;
	 }
      
      
    /* --- Map Title --- */
	a#map-title {
		position: absolute;
    	top: 70px;
    	left: 25px;
    	padding: 20px 25px;
    	height: 45px;
    	width: 220px;
    	z-index: 999;
    	background: rgba(0,0,0,0.75);
	}
	
	#map-title img.icon {
	    position: relative;
    	float: left;
    	display: inline-table;
    	height:47px;
    	width:47px;
	}
	
	h2#title {
		font-family: 'Roboto', sans-serif;
      	color:#fff;
      	font-size:28px;
      	text-transform:uppercase;
      	padding: 0;
        margin: 0;
        font-weight:600;
	}
	#map-title #title {
	    position:absolute;
	    display: block;
        left: 92px;
    	top:16px;
    	width:150px;
    	height:28px;
	}
	
	h3#subject {
		font-family: 'Roboto', sans-serif;
      	color:#fff;
      	font-size:19px;
      	text-transform:uppercase;
     	padding: 0;
        margin: 0;
        font-weight:300;
	}
	
	#map-title h3 {
        position:absolute;
        display: block;
    	left: 92px;
    	top: 44px;
    	width: 150px;
    	height: 19px;

	}
	
	/* ---------------- */
	/* --- Controls --- */
	/* ---------------- */
	
	#controls {
		position: absolute;
		top: 65px;
		left: 0px;
		display: block;
		z-index: 10;
	}
	
	#more {
		font-style: italic;
		font-family: serif;
		margin-left: 10px;
		border: none;
	}	
	
	/* --- Info Box --- */
	.more {
		margin: 10px 7px 0 0;
	}

	.more.active {
		background-color: rgba(0, 0, 0, 0.75);
		opacity: 1;
	}
	
	#reference {
    position: absolute;
    display: block;
    visibility: visible;
    z-index: 1;
    top: 100px;
    /*font-family: 'Roboto', sans-serif;*/
    opacity: 1;
    }

    #reference button {
    font-size: 13px;
	font-family: 'Inconsolata', monospace;
    color: #fff;
    display: block;
    margin: 0 0 2px 0;
    padding: 5px 12px 4px 8px;
    text-decoration: none;
    text-align: left;
    text-transform: capitalize;
    font-weight: 500;
    opacity: 0.95;
    border: none;
	clip-path: polygon(0 0, 100% 0, calc(100% - 4px) 100%, 0 100%);

	}
	
	#reference button span {
    float: left;
    width: 12px;
    text-decoration: none;
    text-align: left;
    text-transform: Capitalize;
    font-weight: 700;
    opacity: 0.95;
    border: none;
    border-radius: 8px;
    height: 14px;
    width: 14px;
    position: relative;
    margin-right: 8px;
	background: #fff;
	}
		
    #reference button:hover {
        background-color: #a7a7a7;
        color: #404040;
    }

    #reference button.active {
        color: #ffffff;
        background:#766fae;
		opacity:0.9;
    }

    #reference button.active:hover {
        border-left-width:32px;
        background:#757575;
    }
	
	#reference button span {
		font-weight:300;
	}
	
	#reference p {
		font-size: 13px;
		display: block;
		margin: 0 0 10px 0;
		padding: 6px 8px;
		text-decoration: none;
		text-align: left;
		opacity: 0.9;
		background:rgb(255, 255, 255);
		max-width:182px;
		border-radius:5px;
	}
	
.zone-toggle {
  background-color: var(--zone-color, #ccc);
  color: white;
}

#reference button.zone-toggle.dark {
	color: #212121;
}

.zone-toggle:hover {
  filter: brightness(1.25);
}

.zone-toggle.inactive {
  opacity: 0.6;
}


	/* --- Info Box --- */
		
	#info-box {
		display:block;
		height: 100%;
		left:0px;
		width:100%;
    	background: rgba(0,0,0,0.75);
    	z-index: 999;
    	position: absolute;
    	float:left;
		top:0px;
	}
	
	/* --- JS UI --- */
	.hidden {
		display:none;
		visibility:hidden;
	}
	
	#info-box #info-title {
		display: block;
    	width: 200px;
    	text-align: center;
    	position: relative;
    	margin: 0 auto;
    	margin-top: 100px;
	}

	#info-box img.icon {
		position: relative;
    	margin: 0 auto;
	}
	
	#info-box #title,
	#info-box #subject {
		display: block;
    	color: white;
    	position: relative;
    	width: 100%;
    	text-align: center;
    	margin: 0;
	}
	
	#info-box #title {
		font-size:26px;
		margin-top:2px;
	}
	
	#info-box #subject {
		font-size: 18px;
    	margin-top: -4px;
    	margin-bottom:10px;
	}
	
	#info-box #content {
	    font-family: 'Roboto', sans-serif;
    	color: #fff;
    	font-size: 16px;
    	font-weight:300;
    	padding:30px;
    	line-height:140%;
		width:50%;
		margin: 0 auto;
	}
	
	#info-box #content p {
		margin:0 0 15px 0;
	}
	
	#info-box #content p a {
		color:#fff;
		font-weight:600;
		text-decoration:none;
	}
	#info-box #content p a:hover {
		text-decoration:underline;
	}
		
	#info-box #close-info {
	margin: 20px auto 10px;
    padding: 8px 16px;
    border: none;
    background-color: #fff;
    color: white;
    cursor: pointer;
    border-radius: 2px;
    display: block;
    font-size: 16px;
    font-weight: bold;
	}
	
	#info-box #close-info:hover {
		opacity:0.75;
		background-color: rgba(0, 0, 0, 0.50);
	}

html .mapboxgl-popup {
    max-width: 450px;
    font: 12px 'Roboto', Arial, Helvetica, sans-serif;
}

.marker-title {
    font-weight: 700;
}

.C {
	background:#fd3232;
}
.CD, .BCPED, .CWD, .DD, .DEOD, .FC, .FCCDD, .FSD {
	background:#a078e9;
}
.HA {
	background:#00bcbe;
}
.I, .IC, .M, .MC {
	background:#0085d9;
}
.RA {
	background:#00b050;
}
.RM, .FM, .RT, .R3, .R4, .R5 {
	background:#ffbf24;
}
.R1 {
	background: #fff3b2;
}
.mapboxgl-popup h3.R1 {
	color:#212121;
}

.RR {
	background:#d58b47;
}
.rezoning,
.revised {
	background:#ff2285;
}

html .mapboxgl-popup-content {
	padding: 0 0 5px 0;
	box-shadow: 0 0 10px 1px rgba(0,0,0,.2);
}

.mapboxgl-popup h3 {
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    padding: 6px 35px 6px 12px;
    margin: 0 0 10px 0;
	border-radius: 3px 3px 0 0;
}

.mapboxgl-popup p {
    margin: 0 10px 5px;
    line-height:16px;
    max-width: 188px;
}

.mapboxgl-popup p:nth-child(3) {
    margin: 10px 10px 5px;
}

.mapboxgl-popup p a {
    text-decoration:underline;
	color:#000;
	font-weight:700;
    clear: both;
}

.mapboxgl-popup p a:hover {
    text-decoration:none;
}

#map .mapboxgl-popup .thumb {
	margin: 0 0 5px;
    width: 188px;
    float: left;
    display:block;
    padding: 0 10px;
}

.mapboxgl-popup .thumb img {
    max-width:100%;
}

.mapboxgl-popup-close-button{
    color: white;
    font-size: 25px;
}

/* buttons to turn on/off layers */
#menu {
	position: absolute;
    z-index: 1;
    top: 40px;
    left: 208px;
    font-family: 'Roboto', sans-serif;
}
 
#menu a {
    font-size: 11px;
    display: inline-block;
    margin: 0 0 0 8px;
    padding: 7px;
    text-decoration: none;
    text-align: center;
    border-radius: 0 0 8px 8px;
	background-color: rgba(0,0,0, 0.25);
	color:white;
}
 
#menu a:last-child {
border: none;
}
 
#menu a:hover {
background-color: #fff;
color: #000;
}
 
#menu a.active {
background-color: rgba(107,107,107,1);
color: #ffffff;
}
 
#menu a.active:hover {
background: #fff;
color: #000;

}

#reference button {
	cursor:pointer;
}

#reference button.inactive {
background-color: rgb(245 245 245 / 90%);
color: #000;
}

html, body, #map {background: #fff;}


/* --------------- Responsive Styles --------------- */

@media only screen and (max-width: 600px) {
	
	html, body {
		overflow-x:hidden;
		overflow-y:hidden;
	}

	body {
		position:relative;
	}
	
	#controls {
		top: 60px;
	}
	
	#map {
		height:calc(100% - 40px);
		top:40px;
		overflow:hidden;
	}

	/* --- Header Bar --- */

	#header {
		height: 60px;
		clip-path: polygon(0 0, 100% 0, 100% 40px, 0 100%);
	}

	#header h1 {
		font-size:40px;
		padding:0;
	}
	
	#header h1 span {
		font-size:14px;
		top:-19px;
		position:relative;
		left:auto;
		margin-top:0;
	}
	
	#header .header-right {
		top: 5px;
		right:10px;
		padding:0;
	}
	
	#header .header-right #donate {
		visibility:hidden;
	}

	#header .header-right a {
		font-size:0px;
	}

	#header .header-right a img {
		margin-top:0;
		height:26px;
		width:26px;
		border-radius:26px;
		zoom:1;
		text-decoration:none;
		margin-right: 0px;
	}

	/* --- Info Box --- */
	#info-box {
		width:100%;
		background:#000;
		z-index:999;
	}
	
	#info-box #close-info {
		background-color: rgba(90, 90, 90, 0.75);
	}
	
	#more {
		padding:1px 13px 2px;
	}

	/* -- legend Mapbox GL -- */
	#reference {
		left:0px;
    }
	
    #reference button:hover {
        background-color: #a7a7a7;
        color: #404040;
    }

    #reference button.active {
        color: #ffffff;
        background:#766fae;
    }

    #reference button.active:hover {
        border-left-width:0px;
        background:#757575;
    }
	    
	.mapboxgl-popup h3 {
		font-size:9px;
	}
	
	.mapboxgl-popup p {
		font-size:10px;
	}
	
	.mapboxgl-popup-close-button {
		font-size:14px;
		padding:2px 6px;
	}
	
	html .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
		font-size:11px;
	}
	
	html .mapboxgl-ctrl-bottom-right,
	#main-menu {
		width:100%;
	}
	
	#reference p {
		max-width:100%;
		margin:0 10px 10px;
	}
	
	#offline p {
		max-width: 80%;
	}
	
	#map .mapboxgl-popup .thumb {
		width:250px;
	}
	
	#donate {
		border:none;
		position: absolute;
		left: 10px;
		top: 50px;
	}
	
	#header #donate a {
		padding: 6px 10px 5px 26px;
		background: #fff url(paypal.png) no-repeat 6px 5px;
		font-size: 11px !important;
		top: -6px;
		display: block;
		position: absolute;
	}

	#menu a {
		display: block;
		margin: 4px 0;
		font-size: 9px;
		padding: 4px;
		border-radius: 4px;
	}

}
    