body {
	font-family: 'Droid Serif', serif;
	margin-top: 0
}

.clearfix {
  clear: both;
}

.map_container {
	position: relative;
}

.note {
	font-size: 11px;
	font-family: Open Sans;
	margin-top: 20px;
}

.color_box {
	width: 20px;
	height: 20px;
	border: 1px solid #000000;
}

.map_label {
	color: #ffffff;
	position: absolute;
	text-shadow: 1px 1px 1px #000000;
	text-transform: uppercase;
	z-index: 100;
	cursor: default;
}

#label_div {
	font-family: arial;
	font-size: 10px;
	position: absolute;
	top: 0;
	white-space: wrap;
}



.map,
.map_image {
	position: absolute;
	top: 0;
	left: 0;
}

.candidates-header-large h4 {
	margin-top: 0;
	margin-bottom: 5px;
}

#race-header {
	color: #fff;
	font-size: 18px;
	height: 60px;
}

.general-election #race-header {
	height: auto;
}

.general-election #town-header h3,
#race-header h3 {
	font-size: 18px;
	font-weight: bold;
	font-family: 'Droid serif';
	line-height: 20px;
	padding-left: 68px;
	color: #0076b4;
	background-color: transparent;
}

.candidates-header {
	padding-bottom: 5px;
	text-decoration: underline;
	font-weight: bold;
	font-family: "Times New Roman";
}

.key-races,
#prec-container-town,
#town-header-container {
	margin: auto;
	margin-top: 10px;
	background-color: #fff;
	width: 91%;
	border: 1px solid #e6e7e8;
}

.candidates-header-container {
	padding: 10px 15px 0 2px;
}

.candidates-header-large {
	float: left;
	width: 60%;
}

.candidates-header {
	float: left;
	width: 20%;
	text-align: right;
}

#prec-header {
	float: left;
	width: 30%;
}

#prec-content {
	float: left;
	width: 29%;
	padding-left: 10px;
}

.candidates-header,
.candidates-header-large h4 {
	font-size: 13px;
	line-height: 16px;
	text-decoration: underline;
}

/* General Election Style Overrides */
.general-election #race-header h3,
.general-election #town-header h3 {
	padding-left: 0;
	border-bottom: 1px solid #96a3af;
	padding-bottom: 10px;
}

.key-races.general-election {
	margin: auto;
	margin-top: 10px;
	background-color: #fff;
	width: 100%;
	border: 0;
}

#prec-container {
	border-bottom: 3px solid #96a3af;
	padding-bottom: 10px;
	text-align: center;
	margin-top: 5px;
}

.mobile-view #prec-header,
.general-election #prec-header {
	width: 97px;
	font-family: 'Open sans';
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #1c2b46;
	font-weight: 800;
	text-align: inherit;
}

#prec-header.left {
	text-align: left;
	width: 70px;
}

.mobile-view #prec-content,
.general-election #prec-content {
	width: 97px;
	padding-left: 0;
	text-align: right;
	font-family: 'Open Sans';
	font-weight: 700;
	color: #0076b4;
}

.general-election .candidates-header-large h4,
.general-election .candidates-header {
	font-family: 'Open Sans';
	text-decoration: none;
	color: #1c2b46;
	text-transform: uppercase;
}

.general-election .candidates-header-large h4 {
	font-weight: 800;
}

.general-election .candidates-header {
	font-weight: 800;
	width: 57px;
}

.general-election .candidates-header-large {
	float: left;
	width: 180px;
	margin-right: 10px;
}

.general-election .candidates-header-container {
	padding: 5px 0px;
}

.general-election .candidate-col {
	width: 200px;
	padding: 0;
	margin: 5px 10px 5px 0;
	float: left;
	text-align: left;
	font-family: 'Open Sans';
	font-weight: 700;
	font-size: 12px;
	color: #1c2b46;
}

.general-election .candidate-col-votes,
.general-election .candidate-col-percent {
	font-family: 'Open Sans';
	font-weight: 800;
	font-size: 11px;
	color: #0076b4;
}

.general-election .candidate-col-votes {
	width: 50px;
	text-align: right;
	float: left;
	margin: 5px 0;
}

.general-election .candidate-col-percent {
	float: right;
	margin-top: 5px;
}

.general-election #candidate-row {
	border-top: 1px dotted #96a3af;
}

.key-races.general-election {
	border-bottom: 3px solid #96a3af;
	float: left;
}

.solid-border {
	border-top: 1px solid #96a3af !important;
}

.full .general-election .candidates-header,
.general-election .candidate-col-votes {
	width: 40px;
	text-align: center;
}

.map {
	left: 0;
}

.legend_div {
	position: static;
	border: 1px solid #f3f3f4;
	padding: 13px;
	background-color: #fafafb;
	margin-bottom: 13px;
}

.legend_div .candidate-name-container {
	display: flex;
}

.legend_div .candidate_name {
	font-family: 'Open Sans', sans-serif;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 11px;
	color: #96a3af;
	margin-left: 10px;
}

.legend-row {
	display: flex;
	margin-bottom: 5px;
}

.color-scale {
	display: flex;
	flex-direction: row;
}

.legend_div .color_box {
	border: 0;
	width: 13px;
	height: 13px;
	margin-right: 0;
}

.legend_div .race_name {
	font-size: 14px;
	text-align: left;
	font-family: 'Droid Serif', serif;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom: 13px;
}

.key-races.general-election {
	width: 180px;
	margin-top: 0;
	border-bottom: 0;
	padding-left: 1px;
}

.general-election #race-header h3 {
	margin-bottom: 5px;
	margin-top: 5px;
}

#race-header h3 {
	padding-top: 0px;
}

.general-election .candidate-col,
.candidate-col {
	width: 40%;
	margin: 5px 13px 5px 0;
}

.general-election .candidate-col-votes,
.candidate-col-votes {
	width: 26%;

}

.general-election .candidate-col-percent,
.candidate-col-percent {
	width: 20%;
	text-align: right;
}

#prec-container {
	border-bottom: 0;
	padding-top: 10px;
	border-top: 3px solid #96A3AF;

}

.general-election #prec-header.left {
	width: auto;
}

.general-election #prec-header {
	letter-spacing: normal;
}

.general-election #prec-content {
	line-spacing: auto;
	width: auto;
	float: right;
}

.general-election .candidates-header-large {
	width: 40%;
}

.general-election .candidates-header {
	width: 26%;
}

.general-election .candidates-header.pct {
	width: 20%;
	float: right;
}

.precinct-progress-container {
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 10px;
	justify-content: center;
}

.precinct-progress-container p {
	text-wrap: nowrap;
	font-family: 'Open Sans';
	font-size: 11px;
	color: #1c2b46;
	text-transform: uppercase;
	font-weight: 500;
}

.precinct-progress {
	background-color: #f3f3f4;
	height: 10px;
	width: 100%;
	border-radius: 3px;
	border: 1px solid #96a3af;
	margin-bottom: 5px;
}

.precinct-progress-bar {
	background-color: #0076b4;
	border-radius: 3px;
	height: 100%;
	width: 0;
	font-size: 10px;
	color: rgb(218, 218, 218);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: width 0.5s ease-in-out;
}

.map-footer {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	font-family: 'Open Sans';

}

.map-footer p {
	text-wrap: nowrap;
	font-family: 'Open Sans';
	font-size: 11px;
	color: #232323;
	font-weight: 400;
	margin-top: 0;
	margin-bottom: 5px;
}

.source-credit {
	font-size: 10px;
	text-transform: uppercase;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.credit {
	font-size: 10px;
	text-transform: uppercase;
}

.source {
	font-size: 10px;
	text-transform: uppercase;
	font-size: 10px;
}

.new-shoreham-bounding-box {
	position: absolute;
	border: 1px solid #CCCCCC;
	pointer-events: none;
}

#WzTtDiV {
	/* width:200px; */
}