@import url(http://fonts.googleapis.com/css?family=Roboto:400,100,300,500,700,900);
@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800);

html, body {
	font-family: Roboto, Helvetica, sans-serif;
	margin: 0;
	color:rgba(255,255,255,.9);
	background-color: #222;
}

h1, h2, h3, h4, h5, h6 {
	margin:0;
}


.introduction {
	width: 70%;
	background-color: rgba(0,0,0,.9);
	color: #ddd;
	position:fixed;
	padding:25px 5%;
	z-index:999999;
	box-shadow: 0px 0px 10px black;
	text-align:center;
}

	.introduction h1 {
		font-weight:100;
		text-align:center;
		font-size:40pt;
		line-height: 1.1em;
	}
	
	.introduction p {
		font-size: 13pt;
		font-weight: 200;
		  line-height: 1.2em;
		text-align:center;
	}
	
	.introduction ul {
		list-style:0;
		margin:0;
		padding:0;
	}
	
		.introduction table {
			display: inline-block;
		  margin: 0px 10px 0px;
			width:30%;
		  padding: 10px;
		  font-size: 12pt;
		  font-weight: 500;
		  line-height: 1.2em;
			vertical-align:middle;
		}
			.introduction table td {
				vertical-align:middle;
			}
			
			.introduction .fa {
				font-size: 25pt;
				margin:10px;
			}
			
			.introduction #go {
				width: 50px;
			  margin: 22px auto 0px;
			  border: 1px solid #aaa;
			  border-radius: 3px;
			  padding: 10px;
			  font-size: 12pt;
				transition: .25s all;
			}
				.introduction #go:hover {
					border: 1px solid #ddd;
					cursor:pointer;
				}

#map {
	width: 100%;
	border:0;
	margin: 0 0 20px 0;
}

	#map iframe{
		width:100%;
		height:100%;
		border: 0;
		border-bottom: 1px solid #ccc;
	}

.buttons {
	text-align: right;
	margin-bottom: 10px;
	color: #999;
	font-weight:500;
	font-size:12pt;
	margin-right:5px;
}

	.buttons span {
		display:inline-block;
		margin-right:10px;
	}
	
	.buttons button {
		margin-right:5px;
		color: #222;
	  font-weight: 700;
	  background-color: #999;
	  border: 0;
	  font-size: 12pt;
	  padding: 6px 10px;
	  text-transform: lowercase;
	font-family: Roboto, sans-serif;
	margin-bottom:8px;
	}

		.buttons button:hover{
			cursor:pointer;
			background-color:#8a8a8a;
		}
	
ul.candidates {
	padding: 0;
	margin: 0;
	list-style: none;
}

	ul.candidates li{
		height: 150px;
		  border-right: 1px solid rgba(255,255,255,.2);
		border-top: 1px solid rgba(255,255,255,.2);
		transition: background-color .25s;
		overflow: hidden;
		position:relative;
		background-color: #222;
	}
	
		ul.candidates li.selected {
			background-color: #444;
		}
		
			ul.candidates li.selected .toggle:before{
				background-color: #444;
			}
		
		ul.candidates li:hover{
			cursor:pointer;
			background-color: #2d2d2d;
		}
		
		ul.candidates li:hover .toggle:before{
			background-color: #2d2d2d;
		}
		
			ul.candidates li.selected:hover{
				background-color: #3d3d3d;
			}
			
				ul.candidates li.selected:hover .toggle:before{
					background-color: #3d3d3d;
				}

	ul.candidates li.closed {
		height: 50px;
	}
	
		.closed .portrait{
			margin-top: -100px;
			opacity: 0;
		}
		
		.closed .verticalLine {
			opacity: 0;
		}
	
		.closed .stats {
			opacity: 0;
		}
		
.toggle{
	color: rgba(255,255,255,.7);
	position:absolute;
	top: 12px;
	right:10px;
	font-size:18pt;
}

	.toggle:hover{
		color: rgba(255,255,255,1);
	}
	
	.toggle:before{
		position: relative;
		left: -10px;
		top: -5px;
		content: attr(text);
		color: white;
		font-size: 10pt;
		color: rgba(255,255,255,.5);
		opacity:0;
		transition: .25s all;
		background-color: #3d3d3d;
	  	width:100%;
		z-index:10;
		padding: 10px 0px 10px 10px;
	}
	
	.toggle:hover:before{
		opacity:1;
	}
	
.bar {
	height: 100%;
	width: 10px;
	float:left;
}

table.bio {
	height:100%;
	float: left;
	//border-right: 1px solid #eee;
}

	table.bio td.name {
		font-size: 14pt;
		  font-weight: 100;
		  color: rgba(255,255,255,.9);
		  width: 155px;
		  padding-left: 16px;
	}

	table.bio .portrait {
		width: 75px;
		height: 75px;
		border-radius: 50%;
		background-size: cover;
		background-position: center;
		background-color: #eee;
		border: 2px solid #eee;
		display: inline-block;
		transition: .25s all;
		  margin-left: 14px;
	}

	.verticalLine {
		height: 120px;
		margin: 15px 30px 0px;
		background-color: rgba(255,255,255,.2);
		width: 1px;
		display:inline-block;
		float: left;
		transition: .25s ease;
	}

table.stats {
	height: 100%;
	transition: .25s ease;
}
	table.stats th {
		color: rgba(255,255,255,.9);
		font-weight:500;
		text-align:Center;
		padding-top: 13px;
	}
	
	table.stats thead tr {
		height:33px;
	}
	
	table.stats tr td {
		vertical-align: middle;
	}
	
	table.stats h3 {
		font-size: 38pt;
		text-align: center;
		font-weight: 700;
		line-height:1em;
		font-family: "Open Sans", Helvetica, sans-serif;
		position: relative;
	  	top: -10px;	
		display: inline-block;
	}
	
	.stats .total {

		text-align:center;
		min-width:100px;
		padding: 0px 25px;
		width:22%;
	}
	
	.stats .last-seen {
		min-width:150px;
		text-align:center;
		color: rgba(255,255,255,.9);
		padding: 0px 25px;
		width:36%;
	}
	
		.stats .last-seen h4 {
			font-size: 13pt;
			font-weight:200;
			position:relative;
			top: -10px;
		}
		
	.stats .chartContainer {
		position:relative;
		width: 100%;
		height:100%;
	}
	
		.stats .chart {
			min-width:300px;
			position:relative;
			padding-top:13px;
			width:50%;
		}
	
		
		.stats .chart bar {
			position: absolute;
			background-color: #FAA61A;
			text-align: center;
			color: rgba(255,255,255,.9);
			text-shadow: none;
			font-size:13pt;
			font-weight:700;
			transition: .25s all;
			line-height:1.5em;
			vertical-align:bottom;
			font-family: "Open Sans", Helvetica, sans-serif;
		}
		
		
		.chart  bar:after{
			line-height: 1em;
			content: attr(state);
			position:absolute;
			bottom:-25px;
			width:100%;
			text-align:center;
			left:0;
			font-size:12pt;
			font-weight:300;
			font-family: "Roboto", sans-serif;
		}
		
		.chart bar.toosmall:before {
			content: attr(count);
			position:absolute;
			top: -26px;
			left:0;
			text-align:center;
			width:100%;
		}

.search, .searchButton {
	position:absolute;
	top: 10px;
	right: 10px;
	z-index:4;
	background-color: rgba(0,0,0,.7);
	padding: 10px;
	border-radius: 5px;
	color: rgba(255,255,255,.7);
}
	.searchButton {
		color: rgba(255,255,255,.7);
		padding:10px 15px;
		font-size:15pt;
		cursor:pointer;
	}
		.searchButton:hover {
			color: rgba(255,255,255, .9);
		}


	.search label {
		padding: 4px;
		color: rgba(255,255,255,.7);
		position: relative;
		top: 1px;
	}

	.search td:first-child {
		padding:0 5px 7px 0;
	}

	.search input {
		font-family: Roboto, sans-serif;
		border: 0;
		  background-color: rgba(255,255,255,.9);
		  color: black;
		border-radius:3px;
		padding: 0px 4px;
	}
		.search input:focus {
			background-color: rgba(255,255,255,.95);
		}

	.search select {
		width:100%;
		background-color: rgba(255,255,255,.9);
		border-radius:3px;
	}

	.search button {
		float: right;
		border: 0;
		border-radius: 3px;
		padding: 4px 9px;
		border: 1px solid #888;
	}

		.search button.hide {
			color: #ddd;
			background-color:rgba(0,0,0,0);
			margin-right: 5px;
		}

		.search button:hover {
			cursor:pointer;
			background-color:rgba(255,255,255,.8);
		}

		.search button.hide:hover {
			background-color:rgba(255,255,255,.0);
		}

	.search .fa {
		font-size: 11pt;
	  	position: relative;
	  	top: 2px;
	  	margin-right: 3px;
	}

		.search .fa.fa-map-marker {
			font-size: 13pt;
			padding-left: 2px;
		}

.credits {
	padding:20px 3%;
			font-weight:300;
}

	.credits h4 {
		font-weight: 100;
		font-size: 20pt;
	}
		
#about {
	padding: 10px 0px;
	width:70%;
	display: inline-block;
	display:inline-block;
}	
	
	#about p {
		font-weight:300;
	}
	
#wemadethis {
	width: 20%;
	border-left: 1px solid #999;
	display:inline-block;
	vertical-align: top;
	padding:10px 0px 10px 2%;
	margin-left:2%;
}

	#wemadethis a {
		color: inherit;
		margin-top:16px;
		display:block;

	}


	
@media screen and (max-width: 1040px) {
	table.stats .total h3 {
		font-size: 23pt;

	}

	table.stats .total {
		min-width: 0;
		width:auto;
	}
	
	table.stats td { font-size: 11pt; }
	
	.stats .last-seen {
		width:auto;
		min-width:0;
	}

	table.bio td.name {
		font-size:13pt;
		width: 168px;
	}
	
	.introduction h1 {
		font-size: 20pt;
	}
	
	.introduction table {
	}
	

}


@media screen and (max-width: 900px) {
	li.candidate {
		height: auto;
		text-align:center;
	}

	.stats td.chart, th.chart {
		display:none;
	}
	
	.verticalLine {
		display:none;
	}
	
	table.bio td.name {
		padding-right:10px;
		padding-left:0px;
		text-align:right;
	}
	
	table.bio .portrait {
		width:40px;
		height: 40px;
	}
	
	#map {
		height:auto!important;
	}
	
	#map iframe {
		height:500px;
	}

	.search {
		position: static;
		display: block;
	}
	
	.introduction {
		display:none;
	}
	
	#about, #wemadethis {
		display:block;
		width:100%;
		padding:0;
		margin: 0 0 10px 0;
		border: 0;
	}
	
}