html, body {
	font-family: 'Roboto', Helvetica sans-serif;
	color: white;
	background-color: #1e1d1d;
}

input:focus {
	outline: none;
}

div.container-outer {
	display: table;
	position: absolute;;
	top:0;
	left:0;
	height:100%;
	width:100%;
}

div.container-middle {
	display: table-cell;
	vertical-align: middle;
}

div.container-inner {
	margin-left: auto;
	margin-right: auto;
	width:900px;	
}

div.controls-top {
	text-align: center;	
	position: relative;
}

div.controls-top input {	
	padding: 0.5em 1em;
	font-size: 1.2em;
	height: 2.4em;
	font-family: 'Roboto', Helvetica sans-serif;
	border-radius: 1.2em;
	-webkit-border-radius: 1.2em;
	-moz-border-radius: 1.2em;
	border: 2px solid white;
	background: transparent;
	color: white;
	transition: all 0.1s ease-in-out;
	z-index: 1;
	position: relative;
}

div.controls-top input:hover {
	background-color: white;
	color: #1e1d1d;
	cursor: pointer;
}

div.controls-top input:active {
	/* transform: scale(0.95) */
}

div.controls-top input:disabled {
	opacity: 0.2;
	background-color: transparent !important;
	color: white;
	cursor: default;
}

span.message {
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 0.95em;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	transform: translateY(2.5em);
	opacity: 0;
	transition: all 0.2s ease-out;
	z-index: 0;	
	color: #aaa;
	line-height: 1em;
	height: 1em;
	padding: 0.3em 0;
}

span.test-id {
	
}

span.test-id .test-id-value {
	color: white !important;
	border-bottom: dashed 1px;
	cursor: pointer;
}

span.test-id .copied {
	position: absolute;
	top: 0; bottom: 0; left: 0; right: 0;
	background-color: #1e1d1d;
	line-height: 100%;
	height: 100%;
	padding-top: 0.1em;
	opacity: 0;
	transition: all 0.1s ease-out;
	pointer-events: none;
}

span.test-id .copied.visible {
	opacity: 0.9;
}

span.error {
	color: #ff2828;
}

div.id-visible .test-id {
	opacity: 1;
}

div.error-visible .error {
	opacity: 1;
}

div.id-visible input, div.error-visible input {
	transform: translateY(-1em);
}

div.tests {
	margin: 0 auto;
}

div.test {
	max-width: 300px;	
	width: 100%;
	float: left;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 20px 14px;
}

div.test img.spinner {
	animation: rotation 1s linear infinite;
	-webkit-animation: rotation 1s linear infinite;
}

div.test--done img.spinner {
	opacity: 0;	
}

div.test--done img.check {
	opacity: 1;
}

div.test--running img.spinner {
	opacity: 1 !important;	
}

div.test--running img.check {
	opacity: 0 !important;
}

div.test-inner {
	width: 100%;
	height: 100%;
	text-align: center;
}

div.test-inner > div {
	padding: 50px 14px;
}

div.test--running .test-value {
	opacity: 0.3;
}

div.test-header {
	height: 1.2em;
	padding-bottom: 5px !important;	
	transition: all 0.1s ease-in-out;
}

div.test--running div.test-header, div.test--done div.test-header {
	transform: translateX(0.75em)
}

div.test-header span {
	position: relative;
}

div.test-header span > img {	
	opacity: 0;
	width: 1.2em;
	height: 1.2em;		
	position: absolute;
	left: -1.5em;
	top: -0.1em;
	transition: opacity 0.075s ease-in;
	-webkit-transition: opacity 0.3s ease-in;
}

div.test-unit {
	font-size: 1.5em;
	padding-top: 0 !important;
}

div.test-value {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	font-size: 6em;
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}

@keyframes rotation {
	0% { transform: rotate(0); }
	100% { transform: rotate(360deg); }
}

@-webkit-keyframes rotation {
	0% { transform: rotate(0); }
	100% { transform: rotate(360deg); }
}

@media all and (max-width: 920px) {

	div.controls-top {
		margin: 4em 0 1em;
	}

	div.test {
		float: none;				
	}

	div.test-unit {
		padding-bottom: 0 !important;
	}	

	div.test-header {
		padding-top: 1em !important;
	}

	div.test:first-of-type div.test-header {
		padding-top: 0 !important;
	}

	div.container-middle {
		display: block;
	}

	div.container-inner {
		margin: 0 auto;
		width: 100%;
	}
}

div.info {
	width: 100%;
	text-align: center;
	margin: 2em 0 2em;
	box-sizing: border-box;
	padding: 0 1em;
	line-height: 1.7em;
	font-weight: 400;
	min-height:  4em;
}

div.info span {
	display: block;
	transition: all 0.25s ease-out;	
}

div.info span.info--hidden {
	opacity: 0;
	transform: translateY(-15px);
}

