/* ============= TAB STYLES ============= */

.hptabwrapper {
	background-color: #fff;
	border: 1px solid #e9e9e9;
	border-bottom-color: #d5d5d5;
	border-bottom-width: 2px;
	border-radius: 4px;
	background-color: #fff;
	color: #333;
	overflow: hidden;
	text-align: center;
}

.hptab {
	overflow: hidden;
	background-color: rgba(0,0,0,0.1);
	flex-basis: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.hptab button {
	background-color: inherit;
	border: none;
	outline: none;
	cursor: pointer;
	padding: 10px;
	font-size: .9375rem;
	font-family: 'FranklinITCProBold','HelveticaNeue','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;
	color: #2a2a2a;
	line-height: 1.1em;
	margin: 0;
	flex: 1 1 auto;
	transition: all .25s ease-in-out;
}

.hptab button:nth-of-type(1), .hptab button:nth-of-type(2) { border-right: 1px solid #fff; }
.hptab button:last-of-type { border-left: 1px solid #fff; }

.hptab button:hover {
	background-color: rgba(0,0,0,.5);
	color: #fff;
	transition: all .25s ease-in-out;
}

.hptab button.hptabactive {
	background-color: rgba(0,0,0,1);
	color: #fff;
	transition: all .25s ease-in-out;
	display: block;
}

.hptabcontent, .hptabactive {
	display: none;
	border-top: none;
}

.hptabcontent {
	flex-basis: 100%;
	padding: 15px 20px;
}

.hptabactive {
	display: flex;
}

#state1.hptabcontent {
	display: flex;
}

.hptable {
	-webkit-animation-name: hpfade;
	-webkit-animation-duration: .4s;
	animation-name: hpfade;
	animation-duration: .4s;
}

@-webkit-keyframes hpfade { from { opacity: .4; } to { opacity: 1; } }
@keyframes hpfade { from { opacity: .4; } to { opacity: 1; } }

div.hidebullets .related-links { display: none; }

.hprule { width: 2px; background-color: #fff; }

#hpsupertuesday.show_2 button:nth-of-type(n+3).hptablinks { display: none; }
#hpsupertuesday.show_3 button:nth-of-type(n+4).hptablinks { display: none; }
#hpsupertuesday.show_4 button:nth-of-type(n+5).hptablinks { display: none; }

/* ============= END TAB STYLES ============= */

.tabstatename:before { content: 'Full results from\00a0' }

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

button#alabama:before, .alabama .tabstatename:after { content: 'Alabama'; }
button#arkansas:before, .arkansas .tabstatename:after { content: 'Arkansas'; }
button#california:before, .california .tabstatename:after { content: 'California'; }
button#colorado:before, .colorado .tabstatename:after { content: 'Colorado'; }
button#maine:before, .maine .tabstatename:after { content: 'Maine'; }
button#massachusetts:before, .massachusetts .tabstatename:after { content: 'Massachusetts'; }
button#minnesota:before, .minnesota .tabstatename:after { content: 'Minnesota'; }
button#northcarolina:before, .northcarolina .tabstatename:after { content: 'North Carolina'; }
button#oklahoma:before, .oklahoma .tabstatename:after { content: 'Oklahoma'; }
button#tennessee:before, .tennessee .tabstatename:after { content: 'Tennessee'; }
button#texas:before, .texas .tabstatename:after { content: 'Texas'; }
button#utah:before, .utah .tabstatename:after { content: 'Utah'; }
button#vermont:before, .vermont .tabstatename:after { content: 'Vermont'; }
button#virginia:before, .virginia .tabstatename:after { content: 'Virginia'; }

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

/* =============== IFRAME STYLES ================ */

.mapholder, .tableholder { display: inline-flex; }

.mapholder iframe { width: 100%; height: initial; }

.tableholder iframe { 
	width: 100%; 
	height: 250px; 
}

.mapholder {
	flex: 0 0 40%;
	margin: 20px 10px 0 0;
}

.mapholder iframe { margin: 0 auto; }

.tableholder {
	flex: 1 1 auto;
	margin: 0 0 0 10px;
}

.hptable { 
	flex-basis: 100%;
}
.hptable a {
	font-family: 'FranklinITCProbold','HelveticaNeue','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;
	font-weight: normal;
	font-size: 1rem;
}
.hptable:after { 
	font-family: "FontAwesome";
	content: "\f0a9";
	font-size: .875rem;
	margin-left: 4px;
}


/* ============= END IFRAME STYLES ============== */

/* ======== STATE-SPECIFIC MAP SETTINGS ========= */

.alabama .mapholder iframe 			{ width: 80%; }
.arkansas .mapholder iframe 		{ width: 100%; }
.california .mapholder iframe 		{ width: 100%; }
.colorado .mapholder iframe 		{ width: 100%; }
.maine .mapholder iframe 			{ width: 78%; }
.massachusetts .mapholder iframe 	{ width: 100%; }
.minnesota .mapholder iframe 		{ width: 100%; }
.northcarolina .mapholder iframe 	{ width: 100%; }
.oklahoma .mapholder iframe 		{ width: 100%; }
.tennessee .mapholder iframe 		{ width: 100%; }
.texas .mapholder iframe 			{ width: 100%; }
.utah .mapholder iframe 			{ width: 90%; }
.vermont .mapholder iframe 			{ width: 72%; }
.virginia .mapholder iframe 		{ width: 100%; }

@media (min-width: 1300px) {
	.alabama .mapholder iframe 			{ width: 68%; }
	.arkansas .mapholder iframe 		{ width: 100%; }
	.california .mapholder iframe 		{ width: 100%; }
	.colorado .mapholder iframe 		{ width: 100%; }
	.maine .mapholder iframe 			{ width: 72%; }
	.massachusetts .mapholder iframe 	{ width: 100%; }
	.minnesota .mapholder iframe 		{ width: 100%; }
	.northcarolina .mapholder iframe 	{ width: 100%; }
	.oklahoma .mapholder iframe 		{ width: 100%; }
	.tennessee .mapholder iframe 		{ width: 100%; }
	.texas .mapholder iframe 			{ width: 100%; }
	.utah .mapholder iframe 			{ width: 90%; }
	.vermont .mapholder iframe 			{ width: 62%; }
	.virginia .mapholder iframe 		{ width: 100%; }
}

.hptabcontent.massachusetts, .hptabcontent.northcarolina, .hptabcontent.oklahoma, .hptabcontent.tennessee, .hptabcontent.virginia { flex-wrap: wrap; }

.massachusetts .mapholder, .northcarolina .mapholder, .oklahoma .mapholder, .tennessee .mapholder, .virginia .mapholder { flex: 0 0 60%; margin: 0 auto; }

.tennessee .mapholder { flex: 0 0 80%; margin: 0 auto; }

.massachusetts .tableholder, .northcarolina .tableholder, .oklahoma .tableholder, .tennessee .tableholder, .virginia .tableholder { margin-left: 0; }

.massachusetts .tableholder iframe, .northcarolina .tableholder iframe, .oklahoma .tableholder iframe, .tennessee .tableholder iframe, .virginia .tableholder iframe { height: 220px; }

.massachusetts .mapholder:after, .northcarolina .mapholder:after, .oklahoma .mapholder:after, .tennessee .mapholder:after, .virginia .mapholder:after { content: ''; }

.massachusetts .mapholder:after { padding-top: 64%; }
.virginia .mapholder:after { padding-top: 52%; }
.oklahoma .mapholder:after { padding-top: 55%; }
.northcarolina .mapholder:after { padding-top: initial; }

/* ====== END STATE-SPECIFIC MAP SETTINGS ======= */

@media (max-width: 500px), (min-width: 768px) and (max-width: 1199px) {
	button#alabama:before, .alabama .tabstatename:after { content: 'Ala.'; }
	button#arkansas:before, .arkansas .tabstatename:after { content: 'Ark.'; }
	button#california:before, .california .tabstatename:after { content: 'Calif.'; }
	button#colorado:before, .colorado .tabstatename:after { content: 'Colo.'; }
	button#maine:before, .maine .tabstatename:after { content: 'Maine'; }
	button#massachusetts:before, .massachusetts .tabstatename:after { content: 'Mass.'; }
	button#minnesota:before, .minnesota .tabstatename:after { content: 'Minn.'; }
	button#northcarolina:before, .northcarolina .tabstatename:after { content: 'N.C.'; }
	button#oklahoma:before, .oklahoma .tabstatename:after { content: 'Okla.'; }
	button#tennessee:before, .tennessee .tabstatename:after { content: 'Tenn.'; }
	button#texas:before, .texas .tabstatename:after { content: 'Tex.'; }
	button#utah:before, .utah .tabstatename:after { content: 'Utah'; }
	button#vermont:before, .vermont .tabstatename:after { content: 'Vt.'; }
	button#virginia:before, .virginia .tabstatename:after { content: 'Va.'; }
}

@media (max-width: 500px) {
	.alabama .tabstatename:after { content: 'Alabama'; }
	.arkansas .tabstatename:after { content: 'Arkansas'; }
	.california .tabstatename:after { content: 'California'; }
	.colorado .tabstatename:after { content: 'Colorado'; }
	.maine .tabstatename:after { content: 'Maine'; }
	.massachusetts .tabstatename:after { content: 'Massachusetts'; }
	.minnesota .tabstatename:after { content: 'Minnesota'; }
	.northcarolina .tabstatename:after { content: 'North Carolina'; }
	.oklahoma .tabstatename:after { content: 'Oklahoma'; }
	.tennessee .tabstatename:after { content: 'Tennessee'; }
	.texas .tabstatename:after { content: 'Texas'; }
	.utah .tabstatename:after { content: 'Utah'; }
	.vermont .tabstatename:after { content: 'Vermont'; }
	.virginia .tabstatename:after { content: 'Virginia'; }
}

@media (max-width: 500px), (min-width: 768px) and (max-width: 1199px) {
	.mapholder, .tableholder { margin: 0; }
	.mapholder { display: none; }
	.tableholder iframe { height: 240px !important; }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.mapholder, .tableholder { margin: 0; }
	.mapholder { display: none; }
	.tableholder { width: 100%; }
	.tableholder iframe { height: 220px; }
}