body{
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Droid Sans","Helvetica Neue",Arial,sans-serif;
	text-align: center;
	margin: 0;
}

.holder{
	margin: 20px auto;
	text-align: center;
	overflow: hidden;
}

#cost-map, #limit-map, #agepop-map, #locale-map, #ref-map{
  box-sizing: content-box;
  margin: 0 auto;
  text-align: center;
  max-width: 610px;
  max-height: 580px;
  position: relative;
}
#cost-map svg, #limit-map svg, #agepop-map svg, #locale-map svg, #ref-map svg{
  box-sizing: content-box;
  width: 100%;
  height: 1px;
  padding-bottom: 95%;
  overflow: visible;
}

#diff-loc, #enroll-loc{
  box-sizing: content-box;
  margin: 0 auto;
  text-align: center;
  max-width: 630px;
  max-height: 580px;
  position: relative;
}
#diff-loc svg, #enroll-loc svg{
  box-sizing: content-box;
  width: 100%;
  height: 1px;
  padding-bottom: 92%;
  overflow: visible;
}

#ref-chart, #ref-chart-2, #ref-chart-3, #ref-line-chart, #ref-line-chart-2{
  box-sizing: content-box;
  margin: 0 auto;
  text-align: center;
  max-width: 610px;
  max-height: 350px;
  position: relative;	
}
#ref-chart svg, #ref-chart-2 svg, #ref-chart-3 svg, #ref-line-chart svg, #ref-line-chart-2 svg{
  box-sizing: content-box;
  width: 100%;
  height: 1px;
  padding-bottom: 63%;
  overflow: visible;	
}

/*note: will need to edit this to match the viewBox behavior of svg...*/
#diff-loc canvas, #enroll-loc canvas{
	position: absolute;
	box-sizing: content-box;
	padding-top: 11px;
	padding-left: 81px;
	left: 0;
	top: 0;
	z-index: 2;
}

@media (max-width: 629px){
	#diff-loc canvas, #enroll-loc canvas{
		padding-top: 1.75%;
		padding-left: 12.9%;
		padding-right: 4.93%;
		max-width: 82.17%;
	}
}

.chart-title{
	text-align: center;
	margin: 12px auto;
	font-size: 22px;
}
.chart-title > span{
	display: block;
	font-size: 16px;
}

.filter-holder, .chart-title{
	color: rgb(90, 90, 90);
}

.domain{
	stroke: rgb(100, 100, 100);
	stroke-width: 2.2;
	stroke-linejoin: round;
}

.tick{
	font-size: 14px;
}

.tick > text{
	fill: rgb(140, 140, 140);
}

#ref-chart .x-axis .tick > text, #ref-chart-2 .x-axis .tick > text, #ref-chart-3 .x-axis .tick > text,, #ref-line-chart .x-axis .tick > text, #ref-line-chart-2 .x-axis .tick > text{
	fill: rgb(80,80,80);
	font-weight: 700;
	font-size: 15px;
}
#ref-chart .y-axis .tick > text, #ref-chart-2 .y-axis .tick > text, #ref-chart-3 .y-axis .tick > text, #ref-line-chart .y-axis .tick > text, #ref-line-chart-2 .y-axis .tick > text{
	fill: rgb(111,111,111);
	font-size: 15px;
}
#ref-chart .tick > line, #ref-chart-2 .tick > line, #ref-chart-3 .tick > line, #ref-line-chart .tick > line, #ref-line-chart-2 .tick > line{
	stroke-width: 1;
}
#ref-chart .domain, #ref-chart-2 .domain, #ref-chart-3 .domain, #ref-line-chart .domain, #ref-line-chart-2 .domain{
	stroke-width: 3;
	stroke: rgb(80,80,80);
}

.breakLine, .zeroLine{
	stroke: rgb(200, 200, 200);
	stroke-width: 1.5;
	stroke-linecap: round;
}

.tick > line{
	stroke-width: 0.5;
	stroke: rgb(222, 222, 222);
	stroke-linecap: round;
}

#ref-chart .x-axis .tick > line, #ref-chart-2 .x-axis .tick > line, #ref-chart-3 .x-axis .tick > line, #ref-line-chart .x-axis .tick > line, #ref-line-chart-2 .x-axis .tick > line{
	display: none;
}

.filter-holder{
	font-style: italic;
	position: relative;
}

.filter-holder > label{
	padding: 0 10px;
	font-weight: 700;
	font-style: normal;
	position: relative;
}

.filter-holder > label{
	cursor: pointer;
}
.filter-holder > label > span{
	margin-left: 13px;
}
.checkbox-overlay{
	box-sizing: border-box;
	pointer-events: none;
	z-index: 2;
	background: #fff;
	transition: background 0.15s ease, border-color 0.05s ease;
}
.checkbox-overlay, .filter-holder input{
	position: absolute;
	height: 16px;
	width: 16px;
	border: 1px solid rgb(200,200,200);
	border-radius: 2px;
	top: 3px;
	left: 2px;
}
.filter-holder input:hover{
	cursor: pointer;
}
.filter-holder input:checked + .checkbox-overlay{
	background-color: rgb(37, 203, 138);
	border-color: rgb(14, 173, 110);
}
.filter-holder input:checked +.checkbox-overlay::before{
	box-sizing: border-box;
	content: "";
	position: absolute;
	border: 2px solid #fff;
	border-top: none;
	border-left: none;
	left: 5px;
	bottom: 2px;
	width: 5px;
	height: 12px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	pointer-events: none;
}
.filter-holder input{
	margin: 0;
}
.filter-holder input:indeterminate + .checkbox-overlay{
	background-color: #62a0c5;
	border-color: #62a0c5;
}
.filter-holder input:indeterminate + .checkbox-overlay::before{
	box-sizing: border-box;
	content: "";
	position: absolute;
	height: 2px;
	width: 12px;
	background-color: #fff;
	top: 7px;
	left: 2px;
	pointer-events: none;
}

.zoom-holder{
	position: absolute;
	z-index: 3;
	top: 3%;
	left: 15%;
}

.zoom-holder button{
	border: none;
	border: 1px solid rgb(200,200,200);
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: #fff;
	color: rgb(90, 90, 90);
}

.zoom-holder button:hover{
	background: #efefef;
	cursor: pointer;
}

.zoom-holder button:disabled{
	background: rgb(232,232,232);
	color: rgb(121,121,121);
	cursor: default;
}

.zoom-buttons > button{
	padding: 0;
	display: block;
	width: 36px;
	height: 36px;
	font-size: 24px;
	border-bottom-right-radius: 2px;
	border-bottom-left-radius: 2px;
}

.zoom-buttons > button:first-child{
	border-bottom: none;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	border-top-right-radius: 2px;
	border-top-left-radius: 2px;
}

.reset-button{
	width: 36px;
	margin-top: 4px;
	padding: 4px 2px;
	border-radius: 2px;
	line-height: 1.1em;
}

.reset-button:disabled{
	font-style: italic;
}

.dot{
	transition: opacity 0.2s ease, fill 0.15s ease;
	fill-opacity: 0.8;
}

.dot.hidden, circle.hidden{
	opacity: 0;
	pointer-events: none;
}

.dot.pos{
	fill: rgb(69, 131, 201);
}

.dot.neg{
	fill: rgb(255, 215, 0);
}

.highlight-dot{
	pointer-events: none;
	fill-opacity: 0;
}

#ref-line-chart .highlight-dot, #ref-line-chart-2 .highlight-dot{
	stroke-opacity: 0;
}

.dot.hover-dot, .highlight-dot.hover-dot{
	fill: rgb(242, 65, 27);
	fill-opacity: 1;
}

#ref-line-chart .highlight-dot.hover-dot, #ref-line-chart-2 .highlight-dot.hover-dot{
	stroke-opacity: 1;
}

#ref-line-chart .highlight-dot, #ref-line-chart-2 .highlight-dot{
	fill: rgb(242, 65, 27);
	stroke: #fff;
	stroke-width: 2;
}

.axis-label-text{
	font-size: 18px;
	fill: rgb(90,90,90);
	text-anchor: middle;
	font-weight: 600;
}

.catch-circles circle{
	fill-opacity: 0;
	fill: transparent;
	stroke: transparent;
	stroke-opacity: 0;
}

/*tooltips*/
.map-tt{
  z-index: 100;
  position: absolute;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
}
.map-tt[aria-hidden="true"]{
  opacity: 0;
}
.map-tt[aria-hidden="false"]{
  opacity: 1;
}
.tt-wrap{
  width: 220px;
  max-width: 100%;
  text-align: left;
  background: rgb(77,77,77);
  padding: 8px 6px;
  border-radius: 3px;
  color: rgb(252,252,252);
  font-size: 14px;
}
.tt-wrap.smaller{
	width: 180px;
}
.tt-wrap table{
	width: 100%;
	border-collapse: collapse;
}
.tt-wrap th{
	font-weight: normal;
	font-style: italic;
}
.tt-name, .tt-year{
  text-align: center;
  font-size: 1.2em;
  margin-bottom: 2px;
  border-bottom: 1px solid rgb(122,122,122);
  line-height: 1.2em;
  padding-bottom: 2px;
}
.tt-tip{
  position: absolute;
  width: 40px;
  height: 20px;
  margin: 0 auto;
  overflow: hidden;
}
.tt-tip.adjusted{
  display: none;
}
.tt-tip-inner{
  background: rgb(77,77,77);
  width: 12px;
  height: 12px;
  padding: 1px;
  margin: -10px auto 0;
  transform: rotate(45deg);
}

.vorgrid{
	fill-opacity: 0;
	fill: transparent;
	stroke: #000;
	stroke-opacity: 0.2;
}

.map-legend{
	display: inline-block;
	vertical-align: top;
}

.cost-map path, .rev-map path, .limit-map path, .agepop-map path, .locale-map path, .ref-map path{
	fill: #fff;
}

.cost-map path.nd, .rev-map path.nd, .limit-map path.nd, .agepop-map path.nd, .locale-map path.nd, .ref-map path.nd{
	fill: rgb(252,252,252);
	pointer-events: none;
}

.geo-holder path{
	stroke: rgb(222,222,222);
	stroke-width: 0.3;
}

.limit-map .geo-holder path, .agepop-map .geo-holder path, .locale-map .geo-holder path, .ref-map .geo-holder path{
	stroke: rgb(252,252,252);
}

.geo-holder path, .map-legend rect{
	transition: fill 0.2s ease-in-out;
}

.map-var-button{
	border: none;
	border: 1px solid rgb(200,200,200);
	border-radius: 3px;
	background: #fff;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding: 4px 8px;
	color: rgb(90, 90, 90);
	font-size: 18px;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Droid Sans","Helvetica Neue",Arial,sans-serif;
	margin: 2px;
}

.map-var-button:hover{
	background: rgb(222,222,222);
	cursor: pointer;
}

.map-var-button.checked{
	background: rgb(37, 203, 138);
	border-color: rgb(14, 173, 110);
	border-width: 2px;
	color: rgb(0, 27, 16);
	margin: 1px;
}

.map-var-button.checked:hover{
	background: rgb(37, 203, 138);
}

.map-legend text, .legend-txt{
	fill: rgb(90,90,90);
}

.legend-title{
	font-weight: 700;
	font-size: 1.1em;
}

.cost-map #rev-title, .rev-map #cost-title{
	display: none;
}

.cost-map .c1{
	fill: rgb(253,212,158);
}
.cost-map .c2{
	fill: rgb(252,141,89);
}
.cost-map .c3{
	fill: rgb(239,101,72);
}
.cost-map .c4{
	fill: rgb(215,48,31);
}
.cost-map .c5{
	fill: rgb(153,0,0);
}
.rev-map .r1{
	fill: rgb(204,236,230);
}
.rev-map .r2{
	fill: rgb(102,194,164);
}
.rev-map .r3{
	fill: rgb(65,174,118);
}
.rev-map .r4{
	fill: rgb(35,139,69);
}
.rev-map .r5{
	fill: rgb(0,88,36);
}

.limit-map .l1{
	fill: rgb(213, 201, 237);
}
.limit-map .l2{
	fill: rgb(176, 157, 216);
}
.limit-map .l3{
	fill: rgb(146, 123, 194);
}
.limit-map .l4{
	fill: rgb(127, 99, 185);
}
.limit-map .l5{
	fill: rgb(86, 51, 159);
}

.agepop-map .l1{
	fill: rgb(222,235,247);
}
.agepop-map .l2{
	fill: rgb(189,215,231);
}
.agepop-map .l3{
	fill: rgb(107,174,214);
}
.agepop-map .l4{
	fill: rgb(49,130,189);
}
.agepop-map .l5{
	fill: rgb(8,69,148);
}

.locale-map .l1{
	fill: #1f78b4;
}
.locale-map .l2{
	fill: #a6cee3;
}
.locale-map .l3{
	fill: #33a02c;
}
.locale-map .l4{
	fill: #b2df8a;
}

.ref-map .l0{
	fill: rgb(212, 212, 212);
}
.ref-map .l5{
	fill: #449fe6;
}

.year-group:hover .bar-pass, .year-group:hover .bar-nr{
	fill: #6abeff;
}
.year-group:hover .bar-fail, .year-group:hover .bar-rr{
	fill: rgb(185, 185, 185);
}
.year-group:hover .bar-debt{
	fill: #e8cd85;
}

.bar-debt{
	fill: #e6b844;
}
.line-rr{
	stroke: rgb(105, 105, 105);
}
.line-nr{
	stroke: #449fe6;
}
.line-debt{
	stroke:  #e6b844;
}

.dot-urban, .bar-urban{
	fill: #1f78b4;
}
.dot-suburb, .bar-suburb{
	fill: #a6cee3;
}
.dot-town, .bar-town{
	fill: #33a02c;
}
.dot-rural, .bar-rural{
	fill: #b2df8a;
}

.year-group:hover .bar-urban{
	fill: #639abf;
}
.year-group:hover .bar-suburb{
	fill: #c6dde8;
}
.year-group:hover .bar-town{
	fill: #6db568;
}
.year-group:hover .bar-rural{
	fill: #cbe6b2;
}

.line-urban{
	stroke: #1f78b4;
}
.line-suburb{
	stroke: #a6cee3;
}
.line-town{
	stroke: #33a02c;
}
.line-rural{
	stroke: #b2df8a;
}

.dot-rr{
	fill: rgb(105, 105, 105);
}
.dot-nr{
	fill: #449fe6;
}
.dot-debt{
	fill:  #e6b844;
}

.line-rr, .line-nr, .line-debt, .line-urban, .line-suburb, .line-town, .line-rural{
	pointer-events: none;
	fill: none;
	stroke-width: 3;
}
.side-text{
	font-weight: 700;
}
.text-nr{
	fill: #255c88;
}
.text-rr{
	fill: rgb(60, 60, 60);
}
.text-debt{
	fill: #8c712c;
}
.text-urban{
	fill: #135886;
}
.text-suburb{
	fill: #6998b1;
}
.text-town{
	fill: #1a7714;
}
.text-rural{
	fill: #81b355;
}

.bar-pass, .bar-nr{
	fill: #449fe6;
}
.bar-fail, .bar-rr{
	fill: rgb(105, 105, 105);
}
.bar-non{
	fill: url("#lightstripe");
}

.map-fade{
	fill-opacity: 0.05;
	stroke-opacity: 0;
}
path.map-nofade{
	fill-opacity: 1;
	stroke-opacity: 1;
}

.rev-map path.map-nofade{
	stroke: rgb(0, 39, 16);
}

.cost-map path.map-nofade{
	stroke: rgb(97, 0, 0);
}

.limit-map path.map-nofade{
	stroke: rgb(50, 21, 111);
}

.agepop-map path.map-nofade{
	stroke: rgb(3, 39, 86);
}

.rev-map path:hover, .limit-map path:hover, .agepop-map path:hover, .locale-map path:hover, .ref-map path:hover{
	fill: rgb(255,207,0);
}

.cost-map path:hover{
	fill: rgb(0, 183, 255);
}

@media (max-width: 768px){
	#diff-loc .hins-tt-wrap{
    	max-width: 90%;
	}
}

@media (max-width: 425px){
  .chart-title{
  	font-size: 18px;
  }
  .tt-tip{
    display: none;
  }
  .filter-holder > label{
	padding: 0 6px;
  }
  .filter-holder{
  	margin-bottom: 6px;
  }
  .axis-label-text{
  	font-size: 24px;
  }
  .filter-label{
  	display: block;
  }
  .side-text{
  	font-size: 1.1em;
  }
}
