/* prefixed by https://autoprefixer.github.io (PostCSS: v7.0.26, autoprefixer: v9.7.3) */

#statewrapper {
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
		-ms-flex-direction: row;
			flex-direction: row;
	-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
	position: relative;
	border-top: 1px solid #D5D5D5;
	border-bottom: 1px solid #D5D5D5;
	margin-bottom: 10px;
}

.statecell {
	padding: 4px 0;
}

.statewrapper {
	-webkit-box-flex: 1;
		-ms-flex: 1 1 auto;
			flex: 1 1 auto;
}

.resultswrapper {
	-webkit-box-flex: 1;
		-ms-flex: 1 1 auto;
			flex: 1 1 auto;
}

a.statename { display: -webkit-box; display: -ms-flexbox; display: flex; }
a.statename:before { -ms-flex-preferred-size: 100%; flex-basis: 100%; }

.statename, .statewinner { padding: 4px 0; }

#statelegend div { text-align: left; }

.legendwrapper {
	margin-right: 10px;
}

.resultswrapper {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow-x: scroll;
	width: 100%;
}

.resultswrapper .statecell {
	-webkit-box-flex: 1;
		-ms-flex: 1 0 calc(100% / 14);
			flex: 1 0 calc(100% / 14);
}

.resultsgradient {
	display: none;
	padding-left: 30px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f7f7f7+0,f7f7f7+100&0+0,1+75 */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
background: -o-linear-gradient(left,  rgba(247,247,247,0) 0%,rgba(247,247,247,1) 75%,rgba(247,247,247,1) 100%);
background: -webkit-gradient(linear,  left top, right top,  from(rgba(247,247,247,0)),color-stop(75%, rgba(247,247,247,1)),to(rgba(247,247,247,1)));
background: linear-gradient(to right,  rgba(247,247,247,0) 0%,rgba(247,247,247,1) 75%,rgba(247,247,247,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f7f7f7', endColorstr='#f7f7f7',GradientType=1 ); /* IE6-9 */
	height: 100%;
	position: absolute;
	right: 0;
}

.spacer {
	padding-left: 30px;
	display: none;
}

.resultsgradient:after { 
	content: '\203A'; 
	position: absolute;
	top: 50%;
	right: 5px;
	font-family: 'FranklinITCProLight','FranklinITCStdLight',Helvetica,Arial,sans-serif;
	font-weight: normal;
	font-size: 2rem;
	line-height: 1;
	color: rgb(70,70,70);
	-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
			transform: translateY(-50%);
	opacity: .7;
	-webkit-animation-name: blinkyguy;
			animation-name: blinkyguy;
	-webkit-animation-duration: 1.5s;
			animation-duration: 1.5s;
	-webkit-animation-iteration-count: infinite;
			animation-iteration-count: infinite;
	-webkit-animation-timing-function: ease-in-out;
			animation-timing-function: ease-in-out;
	-webkit-filter: saturate(0);
	filter: saturate(0);
}

@-webkit-keyframes blinkyguy {
	0% { opacity: 0; right: 10px; }
	50% { opacity: 1; right: 5px; }
	100% { opacity: 0; right: 10px; }
}

@keyframes blinkyguy {
	0% { opacity: 0; right: 10px; }
	50% { opacity: 1; right: 5px; }
	100% { opacity: 0; right: 10px; }
}

.statetext, .statetextbold, .statedelegates, #biden, #bloomberg, #buttigieg, #klobuchar, #sanders, #steyer, #warren {
	font-family: 'FranklinITCProLight','FranklinITCStdLight',Helvetica,Arial,sans-serif;
	color:#2a2a2a;
	line-height: 1.3em;
	font-size: .875rem;
	font-weight: normal;
}

.statetextbold {
	font-family: 'FranklinITCProBold','HelveticaNeue','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;
	font-weight: normal;
}

#statedelegates { 
	color: rgba(107,107,107,1); 
	padding: 4px 0;
}
#statelegend #statedelegates { color: #2a2a2a; }

span.statedelegates:after { margin-left: 4px; }

.polls_open #statepolls, .polls_closed #statedelegates { display: inherit; }
.polls_closed #statepolls, .polls_open #statedelegates { display: none; }

.polls_closed span.statedelegates { display: none; }

#statelegend .statename:before { content: 'State'; }
#statelegend span.statedelegates:after { content: '/\00a0 Delegates'; }
#statelegend #statedelegates.statedelegates:after { content: 'Del.\00a0 at\00a0 stake'; font-family: 'FranklinITCProBold','HelveticaNeue','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-weight: normal; }
#statelegend #statepolls:before { content: 'Polls close'; font-family: 'FranklinITCProBold','HelveticaNeue','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-weight: normal; }
#statelegend #statepolls:after { content: '\00a0(ET)'; }
#statelegend .statewinner:after { content: 'Winner'; }

/* =============== STATES =============== */

/*ALABAMA*/
#alabama .statename:before { content: 'Ala.'; }
#alabama span.statedelegates:after, #alabama #statedelegates.statedelegates:after { content: '52'; }
#alabama #statepolls:after { content: '8 p.m.' }
#alabama .statewinner:after { content: '\2014'; }

/*ARKANSAS*/
#arkansas .statename:before { content: 'Ark.'; }
#arkansas span.statedelegates:after, #arkansas #statedelegates.statedelegates:after { content: '31'; }
#arkansas #statepolls:after { content: '8:30 p.m.' }
#arkansas .statewinner:after { content: '\2014'; }

/*CALIFORNIA*/
#california .statename:before { content: 'Calif.'; }
#california span.statedelegates:after, #california #statedelegates.statedelegates:after { content: '415'; }
#california #statepolls:after { content: '11 p.m.' }
#california .statewinner:after { content: '\2014'; }

/*COLORADO*/
#colorado .statename:before { content: 'Colo.'; }
#colorado span.statedelegates:after, #colorado #statedelegates.statedelegates:after { content: '67'; }
#colorado #statepolls:after { content: '9 p.m.' }
#colorado .statewinner:after { content: '\2014'; }

/*MAINE*/
#maine .statename:before { content: 'Maine'; }
#maine span.statedelegates:after, #maine #statedelegates.statedelegates:after { content: '24'; }
#maine #statepolls:after { content: '8 p.m.' }
#maine .statewinner:after { content: '\2014'; }

/*MASSACHUSETTS*/
#massachusetts .statename:before { content: 'Mass.'; }
#massachusetts span.statedelegates:after, #massachusetts #statedelegates.statedelegates:after { content: '91'; }
#massachusetts #statepolls:after { content: '8 p.m.' }
#massachusetts .statewinner:after { content: '\2014'; }

/*MINNESOTA*/
#minnesota .statename:before { content: 'Minn.'; }
#minnesota span.statedelegates:after, #minnesota #statedelegates.statedelegates:after { content: '75'; }
#minnesota #statepolls:after { content: '9 p.m.' }
#minnesota .statewinner:after { content: '\2014'; }

/*NORTHCAROLINA*/
#northcarolina .statename:before { content: 'N.C.'; }
#northcarolina span.statedelegates:after, #northcarolina #statedelegates.statedelegates:after { content: '110'; }
#northcarolina #statepolls:after { content: '7:30 p.m.' }
#northcarolina .statewinner:after { content: '\2014'; }

/*OKLAHOMA*/
#oklahoma .statename:before { content: 'Okla.'; }
#oklahoma span.statedelegates:after, #oklahoma #statedelegates.statedelegates:after { content: '37'; }
#oklahoma #statepolls:after { content: '8 p.m.' }
#oklahoma .statewinner:after { content: '\2014'; }

/*TENNESSEE*/
#tennnessee .statename:before { content: 'Tenn.'; }
#tennnessee span.statedelegates:after, #tennnessee #statedelegates.statedelegates:after { content: '64'; }
#tennnessee #statepolls:after { content: '8 p.m.' }
#tennnessee .statewinner:after { content: '\2014'; }

/*TEXAS*/
#texas .statename:before { content: 'Tex.'; }
#texas span.statedelegates:after, #texas #statedelegates.statedelegates:after { content: '228'; }
#texas #statepolls:after { content: '8 p.m.' }
#texas .statewinner:after { content: '\2014'; }

/*UTAH*/
#utah .statename:before { content: 'Utah'; }
#utah span.statedelegates:after, #utah #statedelegates.statedelegates:after { content: '29'; }
#utah #statepolls:after { content: '10 p.m.' }
#utah .statewinner:after { content: '\2014'; }

/*VERMONT*/
#vermont .statename:before { content: 'Vt.'; }
#vermont span.statedelegates:after, #vermont #statedelegates.statedelegates:after { content: '16'; }
#vermont #statepolls:after { content: '7 p.m.' }
#vermont .statewinner:after { content: '\2014'; }

/*VIRGINIA*/
#virginia .statename:before { content: 'Va.'; }
#virginia span.statedelegates:after, #virginia #statedelegates.statedelegates:after { content: '99'; }
#virginia #statepolls:after { content: '7 p.m.' }
#virginia .statewinner:after { content: '\2014'; }


/*CANDIDATES*/

#biden, #bloomberg, #buttigieg, #klobuchar, #sanders, #steyer, #warren {
	font-family: 'FranklinITCProBold','HelveticaNeue','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;
	font-weight: normal;
	color: #fff;
}

#biden.statewinner, #bloomberg.statewinner, #buttigieg.statewinner, #klobuchar.statewinner, #sanders.statewinner, #steyer.statewinner, #warren.statewinner {
	padding: 4px;
}

#biden.statewinner:after { content: 'Biden'; } 
#biden.statewinner { background-color: #538B94; } 
#bloomberg.statewinner:after { content: 'Bloomberg'; }
#bloomberg.statewinner { background-color: #D89D0F; }
#buttigieg.statewinner:after { content: 'Buttigieg'; }
#buttigieg.statewinner { background-color: #64974B; }
#klobuchar.statewinner:after { content: 'Klobuchar'; }
#klobuchar.statewinner { background-color: #797ABA; }
#sanders.statewinner:after { content: 'Sanders'; }
#sanders.statewinner { background-color: #B264A6; }
#steyer.statewinner:after { content: 'Steyer'; }
#steyer.statewinner { background-color: #C6607A; }
#warren.statewinner:after { content: 'Warren'; }
#warren.statewinner { background-color: #D18040; }


@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.resultswrapper .statecell { width: 7%; }
}



@media (min-width: 1200px) {
	.resultswrapper {
		overflow-x: hidden;
	}
}

@media (max-width: 1100px) {
	.resultswrapper {
		overflow-x: scroll;
	}

	.resultswrapper .statecell {
		-webkit-box-flex: 1;
			-ms-flex: 1 0 10%;
				flex: 1 0 10%;
	}

	#biden.statewinner, #bloomberg.statewinner, #buttigieg.statewinner, #klobuchar.statewinner, #sanders.statewinner, #steyer.statewinner, #warren.statewinner {
		padding: 4px 10px;
	}
	.resultsgradient, .spacer {
		display: initial;
		opacity: 1;
		/*padding-left: 30px;*/
		-webkit-transition: all .25s ease-in-out;
		-o-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
	}

	#statewrapper:hover .resultsgradient, #statewrapper:hover .spacer {
		/*padding-left: 0;*/
		opacity: 0;
		-webkit-transition: all .25s ease-in-out;
		-o-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
	}
}

@media (max-width: 600px) {
	.resultswrapper .statecell {
		-webkit-box-flex: 1;
			-ms-flex: 1 0 15%;
				flex: 1 0 15%;
	}

	#statewrapper:hover .resultsgradient, #statewrapper:hover .spacer {
		padding-left: 0;
	}
}

@media (max-width: 400px) {
	.resultswrapper .statecell {
		-webkit-box-flex: 1;
			-ms-flex: 1 0 20%;
				flex: 1 0 20%;
	}
}