html, body, .container, .container > .row {
	height: 100%;
	overflow: hidden;
/*	min-width: 768px; */
}

.olImageLoadError { 
    /* when OL encounters a 404, don't display the pink image */
    display: none !important;
}

.container {
	max-width: none; /* Allow 100% width, override skeleton. */
}

.template {
	display: none;
}

#topBar {
	background-color: #efefef;
	height: 50px;
	padding: 0 12px 0 17px;
	position: absolute;
	z-index: 450;
	left: 0;
	top: 0;
	line-height: 50px;
}

#viewTitle {
	float: left;
}

.kevala-logo {
	float: right;
	padding-top: 9px;	
}

.selected-district-wrapper {
	visibility: hidden; /* Hide On mobile until we figure out what to do */
	position: absolute;
	width: 0;
	overflow: hidden;
}

@media (min-width: 700px) {
	.selected-district-wrapper {
		display: block;
		float: right;
		margin-right: 40px;
		position: static;
		visibility: visible;
		width: auto;
	}
}

.select-district {
	height: 100%;
	display: block;
	float: left;
	padding: 0 20px;
	text-decoration: none;
	-webkit-transition: background .2s;
	transition: background .2s;
}

#topBar .selectedDistrict > a:hover {
	background: rgba(150, 220, 250, 0.35);
	cursor: pointer;
}

.selectedDistrict a#showPrintPage {
	position: absolute;
	right: 0;
	top: 0;
	display: none;
}
#showPrintPage > img {
	float: left;
	margin-right: 9px;
}

.dropArrow {
	text-decoration: none;
	display: inline-block;
	margin-left: 5px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.dropArrow.opened, .dropArrow.opened {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.popup {
	display: none;
	position: absolute;
	background: #eee;
	border-radius: 10px;
	border: 1px solid #ccc;
	padding: 10px;
	box-shadow: 0 5px 15px rgba(100,100,100,.45);
	z-index: 500;
}

.popup .close {
	position: absolute;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #fff;
	top: -15px;
	right: -15px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	font-size: 30px;
	line-height: 29px;
	text-indent: 8px;
	cursor: pointer;
}
.popup .close:hover {
	background: #ccc;
}

/* popup autocomplete menu choices */
ul#ui-id-1 {
  z-index: 501;
}

#zipDetailsPopup {
	min-width: 200px;
	padding: 0;
	z-index: 300;
}

#zipDetailsPopup .header {
	font-weight: bold;
	background-color: #ddd;
	padding: 10px 20px;
	border-bottom: 1px solid #ccc;
	border-radius: 10px 10px 0 0;
}

#zipDetailsPopup .contents {
	max-height: 250px;
	overflow-y: scroll;
}

#zipDetailsPopup .contents > div {
	padding: 5px 20px;
	border-bottom: 1px solid #ccc;
}

#zipDetailsPopup .contents > div:last-child {
	border-bottom: none;
}

#zipDetailsPopup .expander {
	position: relative;
}

#zipDetailsPopup .expander:hover {
	background: rgba(150, 220, 250, 0.35);
	cursor: pointer;
}

#zipDetailsPopup .tri {
	position: absolute;
	left: 7px;
	top: 4px;
	-webkit-transition: all .3s;
	transition: all .3s;
}

#zipDetailsPopup .expanded .tri {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

#zipDetailsPopup .expanded .nameCount {
	font-weight: bold;
}
#zipDetailsPopup .locationNames {
	display: none;
}

#zipDetailsPopup .loc {
	margin: 2px 0;
}

#zipDetailsPopup .loc:before {
	content: "- ";
}

/***********************************************************************************
 *
 * District Selector
 *
**********************************************************************************/

#districtSelector {
	top: 56px;
	right: 7px;
}

.district-selector__pointer-outer,
.district-selector__pointer-inner {
	border: 25px solid transparent;
	left: 193px;
	position: absolute;
}

.district-selector__pointer-outer {
	border: 25px solid transparent;
	border-bottom-color: #ccc;
	top: -50px;
}

.district-selector__pointer-inner {
	border-bottom-color: #eee;
	top: -47px;
}

#districtValue {
	width: 400px;
	padding-left: 30px;
}

.highlight {
	font-weight: bold;
}

.houseType {
	text-transform: uppercase;
	font-size: .7em;
	color: #aaa;
	margin-right: 10px;
	width: 110px;
	text-align: right;
	display: inline-block;
}

#recentDistricts {
	position: relative;
	display: none;
}

#recentDistricts ul {
	padding-left: 3px;
	list-style: none;
	margin-bottom: 0;
}

#recentDistricts li {
	margin-bottom: 0;
	line-height: 4rem;
}

#recentDistricts a {
	text-decoration: none;
}

#clearDistricts {
	position: absolute;
	right: 0;
	top: 0;
	line-height: normal;
}

#mapBox {
	height: calc(100% - 50px);
	position: relative;
	top: 50px;
}

.district-view-mode > #mapBox {
	height: calc(100% - 200px); /* 50px top bar + 150px bottom bar */
}

.map {
	height: 100%;
	width: 100%;
}

.map img {
	max-width:none;
}

#OpenLayers_Map_2_OpenLayers_Container {
	z-index:0 !important;
}

#OpenLayers_Control_Zoom_5 {
	bottom: 26px;
	left: 14px;
	z-index: 50 !important;
}

div.olControlZoom {
	top: auto;
}

div.olControlZoom a,
div.olControlZoom a:hover {
	background: #184f96;
	padding-top: 2px; /* Content box model */
	height: 24px;
	width: 26px;
}

.info-button-wrapper {
	border: 2px solid transparent; /* don't double up on alpha */
	border-radius: 16px;
	background: rgba(255,255,255,0.4);
	position: absolute;
	width: 30px;
	height: 30px;
	bottom: 94px;
	left: 13px;
}

.info-button {
	background: #184f96;
	border-radius: 16px;
	border: 0;
	padding: 0;
	width: 30px;
	height: 30px;
}

.info-button path,
.info-button circle {
	fill: #fff;
}

/***********************************************************************************
 *
 * Legend.
 *
**********************************************************************************/

#layerToggles {
	position: absolute;
	bottom: 0;
	right: 0;
	border-radius: 5px 0 0 0;
	z-index: 50;
	font-size: 12px;
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.25);
	background: rgba(100, 100, 100, .95);
	width: 225px;
	border-top: 1px solid #aaaaaa;
}

.legend__layer-button,
.legend__layer-button:hover {
	border: 0;
	margin: 0;
	padding: 0 30px 0 30px;
	text-align: left;
	width: 100%;
	color: #eeeeee;
}

#layerToggles .layer {
	position: relative;
}

#layerToggles .layer + .layer { /* All but the first */
	border-top: 1px solid #888888;	
}

#layerToggles .spectrum .label {
	text-transform: uppercase;
	font-size: 10px;
}

#layerToggles .spectrum .value {
	display: inline-block;
	width: 10px;
	height: 10px;
}

#layerToggles .legend {
	margin-left: 36px;
}

.legend .spectrum {
	margin-left: 25px;
}

.toggle {
	position: relative;
	display: block;
}

.toggle .indicator {
	border-radius: 2px;
	border: 1px solid #aaa;
	position: absolute;
	width: 12px;
	height: 12px;
	left: 8px;
	top: 12px;
}

/* Show checkbox checked with checkmark */
.toggle.on .indicator:after {
	content: "";
	border-right: 2px solid #aaa;
	border-bottom: 2px solid #aaa;
	position: absolute;
	top: 0px;
	left: 4px;
	transform: rotate(34deg);
	width: 3px;
	height: 9px;
}

.layer .dot {
	border-radius: 50%;
	width: 10px;
	height: 10px;
	display: inline-block;
	margin-right: 5px;
	border: 1px solid #ccc;
}

.legend.dot {
	border: none;
	display: block;
	margin: 0px;
	position: absolute;
	width: 5px;
	height: 5px;
	right: 13px;
	top: 16px;
}

.dot--orange {
	background-color: rgb(238, 100, 0); /* red/orange match */
}

.evgo-legend-icon.evgo-legend-icon {
	background: transparent;
	border: 2px solid #deffa6;
}

.dot--purple {
	background-color:#33AA33;
	border-color:#9C0;
}

/* INLINE SVG ICON */
.commute-legend-icon {
	display: block;
	position: absolute;
	right: 8px;
	top: 14px;
}

/* solid square */
.commute-legend-icon__start-point {
	fill: #ffbf24; /* slightly more yellow */
}

/* rectangle is the commute path */
.commute-legend-icon__commute {
	fill: #53bac3;
}

/* hollow rounded rectangle */
.commute-legend-icon__endpoint {
	fill: #fba334; /* slightly more orange */
}


.attribution {
	position: absolute;
	font-size: 10.5px;
	left: 6px;
	bottom: 4px;
	text-shadow: 0 0 5px rgba(255,255,255,.9);
}

.attribution,
.attribution__link,
.attribution__link:hover {
	color: #333;
	text-decoration: none;
}

#clear_routes button {
	display: none;
	padding-left: 26px;
	color:green;
}

#bottomContainer {
	background-color: #fff;
	border-top: 1px solid #aaa;
	position: absolute;
	height: 150px;
	bottom: -151px; 
	width: 100%;
	-webkit-transition: all .4s;
	transition: all .4s;
	z-index: 50;
}

#bottomContainer.inView {
	-webkit-transform: translateY(-150px);
	transform: translateY(-150px);
}

#districtData {
	position: relative;
	margin: auto;
	min-height: 200px;
}

#districtData .title {
	text-transform: uppercase;
	font-size: 12px;
	color: #666;
}

#districtData .values {
	font-size: 18px;
}

#districtData .left,
#districtData .right {
	float: left;
	width: 50%;
	box-sizing: border-box;
	padding: 10px;
}

#districtData .values .span {
	white-space: nowrap;
}

#districtData .chart .entry {
	margin-bottom: 10px;
}

#districtData .chart .bars {
	height: 20px;
	position: relative;
}

#districtData .chart .value {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	background-color: #abf;
	font-size: 12px;
	line-height: 20px;
	box-sizing: border-box;
	padding-left: 5px;
	color: #336;
}

#districtData .chart .additionalNem {
	height: 100%;
	position: absolute;
	background-color: #03f;
	right: 0;
	top: 0;
	z-index: 10;
}

#districtData .additionalNemValue {
	color: #03f;
	padding-right: 10px;
	line-height: 1em;
	/*padding-top: 12px;*/
	text-transform: uppercase;
}

#districtData .additionalNemValue .val {
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.5em;
	display: block;
}

#districtData .chart .value.withNem {
	width: 100%;
}

.district-info__return-to-state {
	border: 0;
	color: #777;
	clear: both;
	float: right;
	font-size: 12px;
	text-transform: uppercase;
}

.district-info__return-to-state:hover,
.district-info__return-to-state:active {
	color: #03f;
}

.asthma-disclaimer {
	float: left;
	font-size: 9px;
	padding: 8px;
	width: 64%;
}

.loader {
	position: absolute;
	width: 100%;
	top: 84px;
	text-align: center;
	opacity: .5;
	z-index: 200;
}
.loader > img {
	margin: auto;
}

/***********************************************************************************
 *
 * Directions is a separate Modal unto itself, with its own styles and bindings.
 *
**********************************************************************************/

.directions-outer-wrapper,
.directions-inner-wrapper {
	box-sizing: border-box;
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 502;
}

.directions-inner-wrapper {
	padding: 70px 245px 0px 60px ; /* 50px top bar plus a 20px allowance */
																/* 225 plus a 20px allowance */
}

.modal-wrapper--hide,
.directions-wrapper--hide {
	display: none;
}

.directions {
	background: rgba(255, 255, 255, .95); /* Match the legend BG. */
	border-radius: 4px;
	box-shadow: 0 3px 10px 1px rgba(0, 0, 0, .2);
	box-sizing: border-box;
	line-height: 1.29;
	margin: 0 auto;
	padding: 15px;
	width: 48em;
	max-width: 92%;
	max-height: calc(100% - 40px);
	overflow-y: scroll;
}

.directions p {
	margin-bottom: 1.1em;
}

@media (min-width: 800px) {
	.directions {
		padding: 25px;
	}
}

.directions-heading {
	line-height: 1.25;
}

.modal-button {
	float: right;
	margin-bottom: 20px;
}

/***********************************************************************************
 *
 * Other Modals 
 *
**********************************************************************************/

.modal-wrapper {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}

.modal {
	background: rgba(255, 255, 255, .92);
	border-radius: 4px;
	border: 1px solid #999;
	box-shadow: 0 4px 6px 2px rgba(0, 0, 0, .3);
	max-width: 92%;
	/* centering */
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modal-ok {
	float: right;
	margin: 16px 0 16px 16px;
}

.modal__title {
}

.modal__contents {
	padding: 1em;
}

.modal-message {
}

/***********************************************************************************
 *
 * Colors
 *
**********************************************************************************/

.vw--orange {
	color: #ffbf24; /* Currently used for VW dots. */
}

.vw--blue {
	color: #46c6d1; /* Currently used for commute lines. */
}

.vw--purple {
	color: #3232b1; /* Currently used for Pollution and Poverty. */
}

.vw--green {
	color: #2D7F10; /* Currently used for EV infrastructure. Darkened from #359812 for type. */
}

.vw--light-green {
	color: #9FCC53; /* Currently used for EVGO. Darkened for legibility in type. */
}

.vw-bold {
	font-weight: bold;
}

/* PRINT style overrides */
@media print {

	@page {
		size: portrait;
	}

	#OpenLayers_Control_Zoom_5,
	.dontPrint {
		display: none !important;
	}
	
	#districtData {
		margin: 0;
	}
	#districtSummary #summaryPrintLogo {
		display: block;
	}
	#topBar.printTransparent {
		background: none;
	}
	#selectDistrict.printBig {
		text-decoration: none;
		color: black;
		font-size: 18px;
	}
	
