* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
html, body, header, section, div, span, iframe, button, a, em, img, strong, h1, h2, h3, h4 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1rem;
	font-family: 'Roboto';
	color: #333333;
}
header {
  display: flex;
  justify-content: center;
  width: 100%;
	max-width: 500px;
  height: auto;
  margin: 0 auto;
  padding: 0;
}
section {
	width: 100%;
	height: auto;
  display: block;
  margin: 0;
  padding: 0;
}
h1 {
	display: block;
  width: 100%;
  max-width: 500px;
  height: auto;
  margin: 0 auto;
  padding: 1rem;
	color: #ffffff;
	font-size: 1.5rem;
	text-align: center;
	text-transform: uppercase;
	background-color: #cc3333;
}
h2 {
	display: block;
  width: 100%;
	max-width: 500px;
  height: auto;
  padding: .5rem;
  margin: 0 0 1rem 0;
	font-size: 1.1rem;
  color: #ffffff;
	text-align: center;
	text-shadow: 0px 1px 0px rgba(0, 0, 0, 1.0);
  background: #828282;
  background: -webkit-linear-gradient(top, #828282 0%, #222222 100%);
  background: -o-linear-gradient(top, #828282 0%, #222222 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(#828282), to(#222222));
  background: linear-gradient(top, #828282 0%, #222222 100%);
}
h3 {
	display: block;
	width: 100%;
  max-width: 500px;
  height: auto;
  margin: 0 auto;
  padding: .25rem 1rem;
	color: #000000;
	font-size: 1rem;
	text-align: center;
}
h3.reporting {
	width: 100%;
  max-width: 500px;
	padding: .25rem 1rem;
	margin: 1rem auto 0 auto;
}
h3.referendum {
	width: 100%;
	max-width: 500px;
	height: auto;
	margin: .5rem 0 1rem 0;
	padding: 0 .5rem;
	font-weight: bold;
}	
h4 {
	display: block;
	width: 100%;
  max-width: 500px;
  height: auto;
  margin: 0 auto;
  padding: 1rem;
	color: #000000;
	font-size: .85rem;
	text-align: center;
}
#wrapper {
  width: 100%;
  max-width: 500px;
  height: auto;
  margin: 0 auto;
  padding: 0;
  background-color: #000000;
}
.accordion {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: .1rem .25rem;
  background-color: #000000;
}
.race-name {
  width: 100%;
  height: auto;
  padding: .5rem;
  margin: .1rem 0;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 1.15rem;
	font-weight: bold;
  color: #eeeeee;
  text-align: left;
	/*text-transform: uppercase;*/
	text-transform: normal;
  text-shadow: 0px 1px 0px rgba(0, 0, 0, 1.0);
  border-radius: .25rem;
  background: #0a85ee;
  background: -webkit-linear-gradient(top, #0a85ee 0%, #0161b3 100%);
  background: -o-linear-gradient(top, #0a85ee 0%, #0161b3 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(#0a85ee), to(#0161b3));
  background: linear-gradient(top, #0a85ee 0%, #0161b3 100%);
}
.active, .race-name:hover {
  color: #ffffff;
  text-shadow: 0px 1px 0px rgba(0, 0, 0, 1.0);
  background: #d8031a;
  background: -webkit-linear-gradient(top, #d8031a 0%, #730713 100%);
  background: -o-linear-gradient(top, #d8031a 0%, #730713 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(#d8031a), to(#730713));
  background: linear-gradient(top, #d8031a 0%, #730713 100%);
}
.race-name:after {
  content: '\2039';
  float: right;
}
.active:after {
  content: '\203A';
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
.panel {
	width: 100%;
  padding: 0;
  margin: 0;
	max-height: 0;
	font-weight: bold;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
.contain {
  width: 100%;
  height: auto;
  margin: 0 0 .25rem 0;
  padding: 0;
  background-color: #ffffff;
}
.row {
	width: 100%;
	height: auto;
	margin: .1rem auto;
	padding: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.gray-end {
	width: 1%;
	height: auto;
	margin: 0 .1rem;
	padding: 0;
	background-color: #000000;
	border-top: .2rem solid #cc3333;
	display: flex;
  align-self: stretch;
  align-items: center;
}
.gray-winner {
	width: 7%;
	margin: 0;
	padding: .5rem;
	background-color: #000000;
	color: #ffffff;
	text-align: center;
	border-top: .2rem solid #cc3333;
	display: flex;
  align-self: stretch;
  align-items: center;
}
.gray-candidate {
	width: 40%;
	height: auto;
	margin: 0 .1rem 0 0;
	padding: .5rem;
	text-align: left;
	background-color: #000000;
	color: #ffffff;
	border-top: .2rem solid #cc3333;
	display: flex;
  align-self: stretch;
  align-items: center;
}
.gray-votes {
	width: 20%;
	height: auto;
	margin: 0;
	padding: .5rem;
  text-align: center;
	background-color: #000000;
	color: #ffffff;
	border-top: .2rem solid #cc3333;
	display: flex;
  align-self: stretch;
  align-items: center;
	justify-content: center;
}
.gray-percent {
	width: 15%;
	height: auto;
	margin: 0 .1rem;
	padding: .5rem;
  text-align: center;
	background-color: #000000;
	color: #ffffff;
	border-top: .2rem solid #cc3333;
	display: flex;
  align-self: stretch;
  align-items: center;
	justify-content: center;
}	
.blue-end {
	width: 1%;
	height: auto;
	margin: 0 .1rem;
	padding: 0;
	background-color: #0066cc;
	display: flex;
  align-self: stretch;
  align-items: center;
}
.winner {
	width: 7%;
	margin: 0;
	padding: .5rem;
	background-color: #1b7bdb;
	color: #ffffff;
	text-align: center;
	display: flex;
  align-self: stretch;
  align-items: center;
}
.winner.green img {
	width: 18px;
  height: auto;
  margin: 0;
  padding: 0;
}
.fa, .fab, .fal, .far, .fas {
	margin: auto;
}
.candidate {
	width: 40%;
	height: auto;
	margin: 0 .1rem 0 0;
	padding: .5rem;
	text-align: left;
	background-color: #0066cc;
	color: #ffffff;
	display: flex;
  align-self: stretch;
  align-items: center;
}
.votes {
	width: 20%;
	height: auto;
	margin: 0;
	padding: .5rem;
  text-align: center;
	background-color: #666666;
	color: #ffffff;
	display: flex;
  align-self: stretch;
  align-items: center;
	justify-content: center;
}
.percent {
	width: 15%;
	height: auto;
	margin: 0 .1rem;
	padding: .5rem;
  text-align: center;
	background-color: #444444;
	color: #ffffff;
	display: flex;
  align-self: stretch;
  align-items: center;
	justify-content: center;
}	
.blue-end.green, .candidate.green, .votes.green, .percent.green {
  background-color: #33cc33;
}
.winner.green {
  background-color: #009900;
}
.reporting {
  width: 100%;
  height: auto;
  margin: .25rem;
  padding: 0;
	text-align: center;
}
.updated {
  width: 100%;
  height: auto;
  margin: .25rem;
  padding: 0;
	text-align: center;
	font-size: .8rem;
}
@media only screen and (max-width: 480px) {
	h1 {
		font-size: 1.2rem;
	}
	div, a {
    font-size: .9rem;
  }
	.gray-votes, .votes {
    width: 25%;
  }
  .gray-percent, .percent {
    width: 20%;
  }
}
@media only screen and (max-width: 450px) {
	.winner.green img {
    width: 15px;
  }
}
@media only screen and (max-width: 400px) {
	.race-name, h2 {
		font-size: 1rem;
	}
	.race-name, h3 {
		font-size: .9rem;
	}
	.fa, .fas {
    font-size: .8rem;
  }
	.gray-winner, .winner {
    width: 8%;
  }
}
@media only screen and (max-width: 350px) {
	.gray-candidate, .candidate {
    width: 37%;
  }
	.gray-winner, .winner {
		width: 10%;
	}
}