div.gtx-race {
	margin: 1.5em 0 2em;
}
div.gtx-race h2.race-title {
	border-bottom: 2px solid #eee;
	padding-bottom: 0;
	margin-bottom: 0;
}
div.gtx-race p.precincts-reporting {
	margin-top: 0;
}
div.gtx-race p.race-description {
	margin-bottom: .2em;
	margin-top: .1em;
}

div.gtx-race ul.race-results {
	padding: 0;
	margin: 2em 0 .3em;
	list-style: none;
	display: table;
	width: 100%;
}
div.gtx-race ul.race-results li {
	display: table-row;
	line-height: 1.4em;
	padding-top: 4px;
}
div.gtx-race ul.race-results li span.winner,
div.gtx-race ul.race-results li span.graph,
div.gtx-race ul.race-results li span.percentage,
div.gtx-race ul.race-results li span.votes {
	padding-left: 6px;
}
div.gtx-race ul.race-results li span.has-party {
	margin-left: 6px;
}
div.gtx-race ul.race-results li span.answer,
div.gtx-race ul.race-results li span.has-party,
div.gtx-race ul.race-results li span.winner,
div.gtx-race ul.race-results li span.graph,
div.gtx-race ul.race-results li span.percentage,
div.gtx-race ul.race-results li span.votes {
	display: table-cell;
}
div.gtx-race ul.race-results li span.name,
div.gtx-race ul.race-results li span.percentage {
	font-weight: bold;
}
div.gtx-race ul.race-results li span.has-party {
	background: #000;
	color: #fff;
	display: inline-block;
	font-size: 10px;
	height: 16px;
	width: 16px;
	border-radius: 50%;
	line-height: 16px;
	text-align: center;
	vertical-align: top;
	margin-top: 3px;
}
div.gtx-race ul.race-results li span.name {
	width: 100%;
	white-space: nowrap;
}
div.gtx-race ul.race-results li.didnotwin span.name {
	color: #AAA;
}
div.gtx-race ul.race-results li span.is-incumbent {
	padding-right: .25em;
	font-weight: bold;
}
div.gtx-race ul.race-results li span.votes,
div.gtx-race ul.race-results li span.percentage
{
	text-align: right;
}
div.gtx-race ul.race-results li span.winner.is-winner span {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
div.gtx-race ul.race-results li span.winner.is-winner:after {
	content: '\2713';
	font-stretch: 1.2em;
	color: #30B769;
	font-weight: bold;
}
div.gtx-race ul.race-results li span.graph {
	width: 100%;
	vertical-align: top;
}
div.gtx-race ul.race-results li div.graph {
	background-color: #f6f6f6;
}
div.gtx-race ul.race-results li span.graph {
	padding-top: .3em;
}
div.gtx-race ul.race-results li div.graph,
div.gtx-race ul.race-results li div.fill {
	height: 1em;
}

div.gtx-race ul.race-results li .fill {
	background-color: #000;
	width: 0;
	-webkit-transition: width 300ms;
	-o-transition: width 300ms;
	transition: width 300ms;
}
div.gtx-race ul.race-candidates li.party-republican .fill { background-color: #EB5757; }
div.gtx-race ul.race-candidates li.party-democrat .fill { background-color: #2F80ED; }
div.gtx-race ul.race-candidates li.party-independent .fill { background-color: #B069C2; }
div.gtx-race ul.race-candidates li.party-libertarian .fill { background-color: #DAA520; }
div.gtx-race ul.race-candidates li.party-green .fill { background-color: #008000; }
div.gtx-race ul.race-candidates li.party-nonpartisan .fill { background-color: #F69443; }
div.gtx-race ul.race-candidates li.party-other .fill { background-color: #333333; }

div.gtx-race ul.race-candidates li .has-party { background-color: #000; }
div.gtx-race ul.race-candidates li.party-republican .has-party { background-color: #EB5757; }
div.gtx-race ul.race-candidates li.party-democrat .has-party { background-color: #2F80ED; }
div.gtx-race ul.race-candidates li.party-independent .has-party { background-color: #B069C2; }
div.gtx-race ul.race-candidates li.party-libertarian .has-party { background-color: #DAA520; }
div.gtx-race ul.race-candidates li.party-nonpartisan .has-party { background-color: #F69443; }
div.gtx-race ul.race-candidates li.party-green .has-party { background-color: #008000; }
div.gtx-race ul.race-candidates li.party-other .has-party { background-color: #333333; }

div.gtx-race .election-legend {
	font-style: italic;
	float: left;
}

div.gtx-race .precincts-reporting,
div.gtx-race .date-modified,
div.gtx-race .total-vote-count {
	text-align: right;
}

div.gtx-race .total-vote-count {
	font-weight: bold;
	float: right;
}

div.gtx-race .candidate-image-wrapper {
	width: 100%;
	height: 300px;
}

div.gtx-race .candidate-image-wrapper .candidate-image {
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	display: block;
	width: 100%;
	height: 100%;
	float: left;
	position: relative;
}

div.gtx-race .candidate-image-wrapper.image-count-2 .candidate-image {
	width: 50%;
}

div.gtx-race .candidate-image-wrapper.image-count-3 .candidate-image {
	width: 33.3%;
}

div.gtx-race .candidate-image-wrapper.image-count-4 .candidate-image {
	width: 25%;
}

div.gtx-race .candidate-image-wrapper .candidate-image span {
	position: absolute;
	bottom: 10px;
	left: 0;
	height: 30px;
	width: 100%;
	font-size: 22px;
	padding-left: 10px;
	line-height: 30px;
	font-weight: bold;
	white-space: nowrap;
	color: #000;
	background: rgba(255,255,255,0.7);
}

div.gtx-race .candidate-image-wrapper.image-count-3 .candidate-image span,
div.gtx-race .candidate-image-wrapper.image-count-4 .candidate-image span {
	font-size: 12px;
	color: #000;
}

div.gtx-race .candidate-image-wrapper .candidate-image span.winner:after {
	font-family: "FontAwesome";
	content: "\f00c";
	font-size: 30px;
	display: block;
	width: 30px;
	height: 30px;
	text-shadow: -1px 1px 2px rgba(0,0,0,0.3);
	color: green;
	position: absolute;
	top: -40px;
	left: 10px;
}

div.gtx-race .candidate-image-wrapper .candidate-image span.incumbent.winner:after {
	left: 45px;
}

.results-search-input {
	width: 75%;
	float: left;
}

.results-search-button {
	padding: 9px 20px;
}

div.gtx-race.collapsed {
	position: relative;
}

div.inner-race-wrapper.collapsed {
	display: none;
}

div.inner-race-wrapper.open {
	display: block;
}

div.gtx-race h2.collapsable {
	cursor: pointer;
	width: 100%;
}

div.gtx-race h2.collapsable i {
	float: right;
}

div.gtx-race .precincts-reporting {
	clear: right;
}

div.gtx-race .reporting-graph {
	display: block;
	width: 170px;
	float: right;
	height: 6px;
	margin: 10px 0 3px;
	background-color: #f6f6f6;
}

div.gtx-race .reporting-graph .fill {
	background-color: #961510;
	height: 6px;
}
div.gtx-race .reporting-graph.full {
	width: 188px;
}
div.gtx-race .reporting-graph.full .fill {
	background-color: #1C9D14;
}
div.gtx-race .reporting-graph span.graph {
	width: 100%;
	vertical-align: top;
}

.candidate-image {
	position:relative;
	max-width: 100%;
	-moz-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s; 
	transition: all 0.5s; 
	cursor: pointer
}
.candidate-image:after {
	position:absolute;
	display: block;
	height:100%;
	width:5px;
	background: #fff;
	content:'';
	right: 0
}
.candidate-image:last-of-type:after {
	display: none
}
.candidate-image:hover {
	-moz-transform: scale(1.04); 
	-webkit-transform: scale(1.04); 
	-ms-transform: scale(1.04); 
	-o-transform: scale(1.04);
	transform: scale(1.04);
}
div.gtx-race .candidate-image-wrapper .candidate-image span.incumbent:after {
	content: "*" !important;
	margin-left: 5px;
	font-size: 16px !important;
	color: #000 !important;
	top: -2px !important;
	left: auto !important;
	position: absolute;
	display: inline !important;
	width: 10px !important
}
div.gtx-race .candidate-image-wrapper .candidate-image span.winner:after {
	content: "\2713" !important;
	color: #30B769 !important; 
	top: auto !important;
	left: auto !important;
	display: inline !important
}
div.gtx-race .candidate-image-wrapper .candidate-image span.incumbent.winner:after{
	left: auto !important;
}
div.gtx-race .candidate-image-wrapper .candidate-image span {
	/*display: grid;*/
	grid-template-columns: auto 10px 30px;
	justify-items: start;
}
div.gtx-race .candidate-image-wrapper .candidate-image span:after{
	grid-area: 1 / 3 / 2 / 4;
}
div.gtx-race ul.race-results.race-candidates{
	margin-bottom:5px;
	border-bottom:1px solid #ddd;
	padding-bottom: 15px;
}
div.gtx-race ul.race-results li.race-candidate{
	margin-top:10px;
	display:inline-table;
}

@media screen and (max-width: 768px){
	div.gtx-race .candidate-image-wrapper.image-count-4 .candidate-image {
		width: 50%;
		height: 80%;
	}	
	div.gtx-race .candidate-image-wrapper.image-count-3 .candidate-image {
		width: 50%;
		height: 70%;
	}	
	div.gtx-race .candidate-image-wrapper.image-count-3 .candidate-image:nth-child(1) {
		width: 100%;
	}	
}