/**** Global ****/
body {
	font-family: 'Ubuntu', sans-serif;
	line-height: 1em;
}

.container.main-container {width: 100%;}

.row.is-flex {
	display: flex;
	flex-wrap: wrap;
}
.row.is-flex > [class*='col-'] {
	display: flex;
	flex-direction: column;
}

/*
* And with max cross-browser enabled.
* Nobody should ever write this by hand. 
* Use a preprocesser with autoprefixing.
*/
.row.is-flex {
	display: -webkit-box;
	/*display: -webkit-flex;*/
	display: -ms-flexbox;
	/*display: flex;*/
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.row.is-flex > [class*='col-'] {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

p {
	font-size: 1.143em;
	line-height: 1.571em;
}

a {
	color: #00adef;
	text-decoration: underline;
}
	a:hover {color: #13beff;}

h2 {font-size: 2.857em;}
h3 {font-size: 1.857em;}
h4 {
	font-size: 1.429em;
	font-weight: 400;
	line-height: 1.429em;
}
	h4.extra-bottom {margin-top: 40px;}

a.quit {
	text-decoration: none;
	color: #fff;
}

table {border-collapse: collapse; text-align: left; border-bottom: 1px dotted #dde6f3;}
	tr.even td {background-color: #f5f9ff;}
	th, td {border-spacing: 0; padding: 5px; vertical-align: top;}
	th {font-weight: normal; border-bottom: 1px dotted #dde6f3;}

caption {text-align: left; margin: 0; background: #666; color: #fff; padding: 0.5em;}

.btn {
	color: #fff;
	padding: 15px 30px;
	font-weight: 700;
	font-size: 1.143em;
	border-radius: 25px;
	text-decoration: none;
}
	.btn:active, .btn:focus, .btn:active:focus {
		color: #fff;
		outline: none;
	}
	.btn:hover {color: #fff;}
	
	.btn.blue {background: #00adef;}
		.btn:hover.blue {background: #13beff;}
	
	.btn.green {background: #bed12a;}
		.btn:hover.green {background: #c4d82b;}

	.btn.language {
		border: 2px solid #ffd902;
		text-decoration: none;
	}
		.btn:hover.language {color: #ffd902;}

.clear {clear: both;}
/**** End Global ****/


/*** Header ***/
.header-container {
	width: 100%;
	background-color: #00adef;
}
	.header {
		position: relative;
		width: 100%;
		margin: 0 auto;
		padding: 20px 30px;
	}
	.header-container a.vogo {
		display: block;
		/*max-width: 186px;*/
		height: auto;
		float: left;
	}
		.header-container a.vogo img {
			display: block;
			width: 100%;
			max-height: 66px;
			height: 66px;
		}
	.header-container .header-tag {
		display: block;
		color: #fff;
		font-size: 1.429em;
		text-transform: uppercase;
		font-weight: 700;
		float: left;
		margin-top: 25px;
		margin-left: 50px;
	}
	.header-container .header-nav {
		margin: 10px 0 0 0;
		padding: 0;
		float: right;
	}
		.header-container .header-nav li {
			display: inline-block;
			list-style: none;
			padding: 0 10px 0 10px;
		}
			.header-container .header-nav li:last-child {
				padding-right: 0;
				border-right: 0;
			}
.demo-text {
	margin-top: 91px;
	float: right;
}
/*** End Header ***/


/**** Content Bar ****/
.content-bar {
	background: #003c44;
	padding: 30px 0 30px 0;
	text-align: center;
}
	.content-box {margin: 0 auto;}
	.content-bar h2 {color: #fff;}
	.content-bar p {color: #fff;}
/**** End Content Bar ****/


/**** Login ****/
.main-container .main.login h2 {color: #fff;}
.main-container .main.login h4 {color: #fff;}

.login-text {
	padding-top: 5px;
	padding-right: 37px;
	color: #fff;
}
.login-form {padding-left: 37px;}

form.login-box {
	box-shadow: 0px 5px 12px 0px rgba(0, 0, 0, 0.25);
	border-radius: 12px;
	background: #fff;
	padding: 25px;
}
	form.login-box input[type=text],
	form.login-box input[type=password] {
		border: 2px solid #a5adb7;
		border-radius: 12px;
		padding-top: 15px;
		padding-bottom: 15px;
		font-size: 1.143em;
		color: #a5adb7;
		margin-bottom: 25px;
		height: 50px;
	}
	form.login-box button {
		display: block;
		margin: 0 auto 15px auto;
	}
	form.login-box .extra-text {text-align: center;}
.main-container .main.login {
	height: 700px;
	background: url('../i/background-login.jpg') no-repeat;
	background-size: cover;
	padding-left: 30px;
	padding-right: 30px;
}
/**** End Login ****/


/**** Status ****/
.status {
	background: #a5adb5;
	padding-left: 0;
	padding-right: 0;
}
	.status ul {
		padding: 0;
		margin: 0;
	}
		.status ul li {
			position: relative;
			display: block;
			width: 100%;
			height: 100px;
			margin: 0;
			padding: 18px 0 0 0;
			border-bottom: 1px solid #c1c7ce;
			text-align: center;
			background: #a7aeb8; /* Old browsers */
			background: -moz-linear-gradient(-45deg, #a7aeb8 0%, #c1c7cf 100%); /* FF3.6-15 */
			background: -webkit-linear-gradient(-45deg, #a7aeb8 0%,#c1c7cf 100%); /* Chrome10-25,Safari5.1-6 */
			background: linear-gradient(135deg, #a7aeb8 0%,#c1c7cf 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
			filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a7aeb8', endColorstr='#c1c7cf',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
		}
			.status ul li.finished {
				background: #27954b; /* Old browsers */
				background: -moz-linear-gradient(-45deg, #27954b 0%, #00a94c 100%); /* FF3.6-15 */
				background: -webkit-linear-gradient(-45deg, #27954b 0%,#00a94c 100%); /* Chrome10-25,Safari5.1-6 */
				background: linear-gradient(135deg, #27954b 0%,#00a94c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
				filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#27954b', endColorstr='#00a94c',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
				border-bottom-color: #00ac4c;
			}
				.status ul li.finished span,
				.status ul li.finished i {color: #fff;}
			.status ul li.active {background: #fff;}
			.status ul li:last-child {border-bottom: 0;}
			.status ul li .step {
				display: inline-block;
				width: 100px;
				text-align: left;
			}
			.status ul li span {
				font-size: 0.857em;
				font-weight: 500;
				color: #a5adb5;
			}
			.status ul li i {
				display: block;
				font-size: 3.214em;
				margin: 0 0 0 5px;
				color: #a5adb5;
			}
			.status ul li.active::before {
				display: block;
				position: absolute;
				float: left;
				content: "";
				width: 24px;
				height: 99px;
				background-image: url('../i/right-arrow.svg'), url('../i/status-bar.svg');
				background-size: 12px 20px, 12px 99px;
				background-repeat: no-repeat, no-repeat;
				background-position: 11px center, 0 0;
				margin-left: 0;
				margin-top: -18px;
			}
			.status ul li.active::after {
				content: "";
				position: absolute;
				display: block;
				bottom: -19px;
				width: 100%;
				height: 18px;
				background: url('../i/status-shadow.png');
				background-size: 100% 18px;
				z-index: 100;
			}
			.status ul li.active:last-child::after {
				content: "";
				background: none;
			}
			.status ul li.active i {color: #ffd902;}
			.status ul li.active span {color: #1c2b39;}
/**** End Status ****/


/** Main content structure **/
.main-content {
	width: 905px;
	margin: 0 auto;
	padding-top: 100px;
	padding-bottom: 50px;
}
	.main-content h2 {
		text-align: center;
		margin-top: 0;
		margin-bottom: 25px;
	}
	.main-content h4 {
		text-align: center;
		margin-bottom: 30px;
		padding: 0 18px;
	}
	.main-content p {text-align: center;}
		.main-content p.blue {color: #00adef;}
/** End Main content structure **/


/** Intro **/
.skip-container {text-align: center;}
.video-js {margin-bottom: 30px;}
.videoskip {margin: 0 auto;}
.video-js .vjs-big-play-button {
	bottom: 25px;
	top: initial;
	left: 0;
	right: 0;
	margin: 0 auto;
}
/** End Intro **/


/** Candiates Listing **/
#candidates-box {
	text-align: center;
	padding: 40px 25px 20px 25px;
}
	#candidates-box form input.btn {margin-top: 40px;}
	#candidates-box .candidate {
		text-align:center;
		margin-bottom: 30px;
	}
		#candidates-box .candidate img {
			max-width: 190px;
			margin-bottom: 20px;
		}
			#candidates-box .candidate img.unselected {opacity: 0.5;}
		#candidates-box .candidate label {
			font-size: 1.857em;
			font-weight: 400;
		}
			#candidates-box .candidate label input {margin-top: 0;}

		#candidates-box .candidate .confirm-name {
			position: relative;
			display: block;
			font-weight: 400;
			margin-top: 10px;
			margin-bottom: 10px;
		}
		#candidates-box .candidate .confirm-name label {
			min-height: 20px;
			padding-left: 20px;
			margin-bottom: 0;
			font-weight: 400;
			display: inline-block;
			max-width: 100%;
		}
			#candidates-box .candidate .confirm-name.unselected {padding-left: 0;}
			/*#candidates-box .candidate .confirm-name p {
				display: block;
				font-size: 1.857em;
				font-weight: 400;
				padding-left: 25px;
			}*/
			#candidates-box .candidate .confirm-name .checkmark {
				position: absolute;
				margin-top: 0;
				margin-left: -25px;
				color: #00adef;
				font-size: 0.692em;
			}
			#changeVoteForm {margin: 25px;}

			.candidate .read {
				display: block;
				text-align: center;
			}

.submit {margin: 0 auto 0 auto;}
.checked {visibility: hidden;}
.disabled {opacity: 0.50;}

input#changevote {
	border: none;
	background: none;
	cursor: pointer;
	text-decoration: underline;
	color: #00adef;
	padding: 0;
	height: 20px;
}
input#changevote:hover {color: #13beff;}
/** End Candiates Listing **/

/** Lightbox **/
.info-box {
	display: none;
	padding: 15px 20px 15px 20px;
}
	.info-box .img-col {
		width: 49%;
		float: left;
	}
		.info-box .img-col img {
			display: block;
			width: 100%;
			height: auto;
		}
	.info-box .text-col {
		float: right;
		padding-left: 25px;
		padding-right: 25px;
		width: 51%;
	}
	.info-box .text-col.full {width: 100%;}
	.info-box .text-col h3 {margin-top: 0;}
	.info-box .text-col ul li {
		list-style: disc;
		margin-bottom: 5px;
	}
	.info-box p a {color: #7a9bbf;}
		.info-box p a:hover {color: #8eb5df;}
	.fancybox-inner {min-height: 350px;}
	.fancybox-nav {width: 8%;}
/** End Lightbox **/


/** Form Box **/
.form-box {
	max-width: 700px;
	margin: 40px auto 0 auto;
	box-shadow: 0px 5px 12px 0px rgba(0, 0, 0, 0.25);
	border-radius: 12px;
	background: #fff;
	padding: 25px;
}
	.form-box .radio,
	.form-box .checkbox {margin-bottom: 45px;}
	.form-box label {
		display: block;
		font-size: 1.857em;
		font-weight: 400;
		padding-left: 30px;
	}
		.form-box label .link {
			float: right;
			font-size: 0.615em;
			margin-top: 0;
		}
		.form-box label input[type=radio],
		.form-box label input[type=checkbox] {
			position: absolute;
			margin-top: 0;
			margin-left: -30px;
		}
		.form-box input[type=text] {
			width: 100%;
			border: 2px solid #a5adb7;
			border-radius: 12px;
			padding-top: 15px;
			padding-bottom: 15px;
			font-size: 1.143em;
			color: #a5adb7;
			margin-bottom: 25px;
			height: 50px;
		}
	.question-box {margin-bottom: 45px;}
	.question-box p {
		text-align: left;
		margin-bottom: 20px;
	}
		.form-box .question-box .checkbox {
			display: inline-block;
			margin: 0 30px 0 0;
		}

	.form-box input[type=submit] {
		display: block;
		margin: 0 auto;
	}
/** End Form Box **/


/** Thank you pages **/
.main-container .main.thank-you {
	height: 701px;
	background: url('../i/background-thankyou.jpg') no-repeat;
	background-size: cover;
	padding-left: 30px;
	padding-right: 30px;
	text-align: center;
}
.main-container .main.thank-you h2 {color: #fff;}
.main-container .main.thank-you h4 {
	color: #fff;
	padding: 0;
}
.main-container .main.thank-you .btn {
	color: #fff;
	padding: 15px 30px;
	font-weight: 700;
	font-size: 1.571em;
	border-radius: 31px;
	text-decoration: none;
}
/** End Thank you pages **/	


/** Errors **/
.alert {
	margin-top: 20px;
	margin-bottom: 0;
	background: none;
	font-size: 1em;
}
	#error p {margin-bottom: 0;}
/** End Errors **/


/**** Results ****/
.login-box.admin {
	max-width: 420px;
	margin: 50px auto 0 auto;
}
form.login-box.admin button {margin: 0 auto 0 auto;}
.copyright {
	margin-top: 50px;
	text-align: center;
	color: #aaa;
}
.loginErrorVoting {margin-top: 25px;}

#scanform {text-indent: -9999px;}

#voting-main {
	margin-top: 25px;
	margin-bottom: 25px;
}
	#voting-main h3 {
		color: #00adef;
		margin-bottom: 0;
		height: 34px;
	}
		#voting-main h3 span {
			font-size: 0.667em;
			color: #000;
		}

#vote-candidates {
	padding: 0;
	margin: 25px 0 25px 5px;
}
	#vote-candidates li {
		list-style: none;
		margin-bottom: 18px;
		height: 20px;
	}
		#vote-candidates li input[type="checkbox"] {
			margin-top: 0;
			margin-right: 5px;
		}

		.ballot-number-container {
			height: 34px;
			margin-top: 20px;
		}
		.ballotnumber {font-size: .785em; font-weight: bold; width: 100px;}
#formBox {margin: 0 auto 0 auto;}
#scanform {text-indent: -9999px;}

.instructions {
	box-shadow: 0px 5px 12px 0px rgba(0, 0, 0, 0.25);
	border-radius: 12px;
	background: #fff;
	float: left;
	padding: 25px;
}
	.instructions .instruction {}
		.instructions .instruction h3 {margin: 0 0 15px 0;}
		.instructions .instruction p {
			font-size: 1em;
			color: #666;
		}
		.instructions .instruction ol {
			margin: 0 0 0 18px;
			padding: 0 0 0 0;
		}
			.instructions .instruction li {
				font-size: 1em;
				color: #666;
				margin-bottom: 15px;
				line-height: 1.429em;
			}

#chart {margin-top: 25px;}
.graphcont {
	margin-bottom: 20px;
	margin-right: 0;
}
	.graphcont .col-md-7 {padding-right: 0;}
	.graphsurvey {padding-right: 0; padding-bottom: 10px;}
	.graphsurvey .col-md-9 {padding-right: 0;}
.graph {
	background-color: #eee;
	width: 100%;
	padding: 0;
}
.graph .bar {
	display: block;
	position: relative;
	background: url("../i/bargraph.gif") repeat-x right center;
	border-right: #bdbb97 1px solid;
	text-align: center;
	color: #fff;
	height: 20px;
	font-size: 1em;
	padding-top: 3px;
}
.graph .bar span {
	position: absolute;
	left: 1em;
}

.voting-alert {margin-top: 25px;}

.ballot-form .form-group {width: 100%;}
.ballot-form label {
	margin-bottom: 0px;
	font-size: 1em;
}
.ballot-form input[type="text"] {
	margin: -6px 0 0 5px;
	width: 230px;
	font-size: 1em;
}
/**** End Results ****/



/*** Footer ***/
.footer-container {
	width: 100%;
	background-color: #d6d9dd;
}
	.footer {
		max-width: 1180px;
		margin: 0 auto;
		padding: 60px 0 45px 0;
	}
		.footer .container {padding: 0;}
		.footer .learn-more {
			margin-top: 10px;
			text-decoration: none;
		}
		.footer .copyright {
			text-align: right;
			font-size: 0.857em;
			color: #333;
		}
			.footer .copyright .powered {
				display: inline-block;
				margin-bottom: 45px;
			}
		.footer .contact .contact-left {
			float: left;
			width: 50%;
		}
			.footer .contact .contact-left span {
				color: #00adef;
				font-weight: 700;
				padding-right: 10px;
			}
		.footer .contact .contact-right {
			float: right;
			width: 50%;
		}
			.footer .contact .contact-right p:last-child {margin-bottom: 0;}
			.footer .contact .contact-right span {
				color: #00adef;
				font-weight: 700;
			}
/*** End Footer ***/

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	.main-container .main.login {
		background: url(../i/background-login@2x.jpg) no-repeat;
		background-size: cover;
	}
	.main-container .main.thank-you {
		background: url(../i/background-thankyou@2x.jpg) no-repeat;
		background-size: cover;
	}
}

@media (max-width: 1199px) {
	.container.main-container {width: 100%;}
	.header {padding: 20px 30px;}
	.header-container .header-tag {left: 201px;}
	.main-content {
		width: initial;
		max-width: 905px;
	}
	.main-content.intro {width: 100%;}
}

@media (max-width: 1024px) {
	.main-content {padding-top: 50px;}
}

@media (max-width: 991px) {
	.row.is-flex {display: block;}
	.container.main-container {width: 100%;}
	.header {
		padding-left: 15px;
		padding-right: 15px;
	}
	.header-container .header-tag {left: 185px;}
	.main-container .main.login {height: auto;}
	.main-container .main.thank-you {height: auto;}
	.login-text {
		text-align: center;
		margin-bottom: 25px;
		padding-right: 15px;
	}
	.login-form {padding-left: 15px;}

	.status {
		white-space: nowrap;
			overflow-y: hidden;
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
	}
	.status ul {width: 100%;}
		.status ul li {
			display: inline-block;
			float: none;
			width: 16.6666667%;
			margin: 0 -4px 0 0;
			padding: 24px 0 0 0;
			height: 75px;
			border-bottom: none;
		}
		.status ul li .step {
			width: 100%;
			text-align: center;
		}
		.status ul li span {
			font-size: 0.857em;
			line-height: 0.857em;
		}
		.status ul li i {
			font-size: 1.714em;
			margin: 0 0 4px 0;
		}
		.status ul li.active::before {
			display: block;
			position: absolute;
			content: "";
			width: 100%;
			height: 24px;
			background-image: url('../i/bottom-arrow.svg'), url('../i/status-bar-bottom.svg');
			background-size: 20px 12px, 100% 12px ;
			background-repeat: no-repeat, repeat-x;
			background-position: center 10px, 0 0;
			top: 16px;
		}
		.status ul li.active::after {background: none;}
		
	.footer .message {
		text-align: center;
		margin-bottom: 25px;
	}
	.footer .container {
		padding-left: 15px;
		padding-right: 15px;
	}
	.footer .contact {margin-bottom: 25px;}
	.footer .contact .contact-left {
		float: left;
		width: 100%;
		text-align: center;
	}
	.footer .contact .contact-right {
		float: left;
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.main-content {padding-top: 25px;}
	.main-content h2 {
		font-size: 1.429em;
		margin-bottom: 20px;
	}
	.main-content h4 {
		font-size: 1em;
		margin-bottom: 20px;
		padding: 0 15px;
	}
	p {font-size: 1em;}

	.status ul li {width: 115px;}

	#candidates-box {padding: 20px 25px 20px 25px;}

	#candidates-box .candidate label {
		padding-left: 0;
		line-height: 1em;
		font-size: 1.143em;
	}
	#candidates-box .candidate .confirm-name {font-size: 1.143em;}
	#candidates-box .candidate .confirm-name .checkmark {font-size: 1em;}

		#candidates-box .candidate label input {margin-top: 2px;}
		#candidates-box form input.btn {margin-top: 20px;}

		.form-box label {font-size: 1.429em;}
			.form-box label .link {
				display: block;
				float: none;
				margin-top: 10px;
			}

	.info-box .img-col {
		width: 100%;
		margin-bottom: 20px;
	}
	.info-box .text-col {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	.footer-container {display: none;}
}

@media (max-width: 587px) {
	.header-container .header-tag {
		display: block;
		color: #fff;
		font-size: 0.714em;
		text-transform: uppercase;
		font-weight: 700;
		float: left;
		margin-top: 15px;
		margin-left: 30px;
	}
	.header-container a.vogo {
		display: block;
		max-width: 100px;
		height: auto;
		float: left;
	}
	.header-container .header-nav {margin: 0;}
	.header-container .header-nav li {
		border-right: 0 solid #fff;
		padding: 0 3px 0 3px;
	}
	.header-container .header-nav .btn {
		color: #fff;
		padding: 10px;
		font-weight: 700;
		font-size: 0.857em;
		border-radius: 15px;
	}
	.form-inline .btn.green {width: 100%;}

}


@media (max-width: 320px) {

}

@media (min-width: 768px) {
	.footer .container {width: 750px;}
}
@media (min-width: 992px) {
	.footer .container {width: 947px;}
}
@media (min-width: 1200px) {
	.footer .container {width: 1155px;}
}