/* General styling *******************************************/
@charset "utf-8";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; /*font: inherit;*/ vertical-align: baseline;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none;}
ins {text-decoration: none;}
del {text-decoration: line-through;}
table {border-collapse: collapse; border-spacing: 0;}

* {
  box-sizing: border-box;
}

a{color: inherit; text-decoration: none;}
a:hover{color: inherit; opacity: 0.8; text-decoration: none;}
.white{color: white;}

i {padding: 3px}

ul {list-style: none; padding: 0px;}
.nav-link{padding: 0px;}
.navbar-brand{margin-right: 0px;}

.container {
	width: 100%;
}

select{
    width:100%;
    height: 45px;
    background-color: white;
}

input[type=checkbox], input[type=radio] {width: auto;}

input {
  padding: 10px;
/*   width: 100%; */
  font-size: 17px;
   border: 1px solid #aaaaaa;
}

/* Mark input boxes that gets an error on validation: */
input.invalid, select.invalid, div.invalid {
  background-color: #ffdddd;
}

/* Hide all steps by default: */
.tab {
  display: none;
}

.subhead{
    border-top: 1px lightgrey solid; 
    margin:30px 0px 20px 0px;
		text-transform: uppercase;
		font-size: 14px;
		letter-spacing: 2px;
		font-family: GT-America-Standard;
		padding-top: 10px;
		color: #959595;
 }

button, input[type="submit"] {
  background-color: #343b93;
  color: #ffffff;
	font-weight: 800;
  text-transform: uppercase;
  border: none;
  padding: 10px 20px;
  font-size: 17px;
  cursor: pointer;
	font-family: GT-America-Extended;
}

.orange-btn{
    background-color: #eba623;
    text-transform: uppercase;
    margin: 0px 0px 20px 0px;
    font-weight: 800;
    
}

button:hover {
  opacity: 0.8;
}

.prevBtn {
  background-color: #bbbbbb;
}

.step.active {
  opacity: 1;
}

.step {
  border-bottom:1px solid black; 
  padding-bottom: 13px;
  padding-top: 13px;
	opacity: 0.7;
}

.left {
  text-align: left;
}

.hidden {
  display: none;
}

.form-row .select-navigation, .form-row input[type=text]{
	width:100%;
	max-width:100%;
	min-width:100%;
}

.padding-12 {
	padding: 12px;
}

h1 {  font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; font-size: 2.15em; line-height: 1.185em; }
h2 {  font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; font-weight: normal; text-transform: uppercase; font-size: 1.85em; line-height: 1.2em; }
h3 {  font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; font-size: 1.35em; line-height: 1.2em; }
h4 {  font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; font-weight: bold; font-size: 1.15em; line-height: 1.2em; }

h5 { font-family: GT-America-Standard, Helvetica, Arial, sans-serif; font-weight: bold; font-size: 1.0em; text-align: left; color: #4716A2; padding-bottom: 10px;}
h6 { font-family: GT-America-Extended, Helvetica, Arial, sans-serif; font-size: 1em; text-transform: uppercase; }
p { font-family: GT-America-Standard, Helvetica, Arial, sans-serif; font-size: 1em; color: #000;}
.main-nav li a { font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; font-size: 2em; line-height: 1.5e m; letter-spacing: 0.015em; color: #FFFFFF; text-decoration: none; }

.purple {
  color: #343b93;
}

.row .col-md-12 {
	padding-bottom: 12px;
}

.card {
	border: none;
}

.main-nav { padding: 1em; background-color: #4716A2; list-style-type: none;}
.main-nav li .active, .main-nav li a:hover { border-bottom: 2px solid #FFFFFF;}

.legal { font-size: .875em; }

small { font-family: GT-America-Standard; font-weight: normal; font-style: normal; font-size: 0.85em; color: #888888; margin-bottom: 0.5em; } 

.mobile_title {
  color: #707070;
}

.mobile_button:hover, .mobile_button:active, .mobile_button {
  text-decoration: none;
}

.row-fluid {
    display: flex;
}

:focus { -moz-outline-style: none;}
img:focus { -moz-outline-style: none;}

a {text-decoration:none;}
a:hover {text-decoration:underline;}
a:focus, a:hover, a:active { outline:none;}

a:hover {-webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out;}
a:hover img {-webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out;}

* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;} /* This makes all elements stay a certain width and height even when you set it to have padding */

strong {font-weight:700;}
em {font-style:italic;}
	 
	 .legal { font-size: .875em; }
	

table {width:80%; border:none; border-collapse:collapse;}
	table th {padding:5px; border:1px solid #ddd; background:#ddd;}
	table td {
	padding:5px; 
/* 	border:1px solid #ddd; */
	}

hr {background-color:#ddd; border:none; color:#ddd; height:1px;}

.clear {clear:both;}
.invisible{position : absolute; top : -1000px; width:1px; height:1px; overflow:hidden;}
.hide-text {text-indent: 100%; white-space: nowrap; overflow: hidden;}

/* Blog Styles **********************************************/

.alignleft {float:left; margin-right:15px; margin-bottom:5px;}
.alignright {float:right; margin-left:15px; margin-bottom:5px;}


/* Structure Styles *****************************************/

.wrapper {}
	
	.temp-hide, #responsive-menu-button {display:none !important;}
	
	.header {background:#343b93; padding:30px 140px 60px;}
		.header .box {position:relative; /*margin:0 auto;*/ max-width:1200px;}
			.header .contact {margin-bottom:55px; width:50%; display:inline-block;}
				.header .contact .social {float:left; margin-right:10px;}
					.header .contact .social ul {margin:0; padding:0;}
					.header .contact .social ul li {display:inline-block; margin:0 7px 0 0;}
					.header .contact .social ul li a {display:block;}
					.header .contact .social ul li a:hover {opacity:0.8;}
					.header .contact .social ul li a img {width:auto; height:20px;}
				.header .contact .info {float:left; line-height:20px; text-transform:uppercase; color:#fff; font-family: GT-America-Condensed, Helvetica, Arial, sans-serif;}
					.header .contact .info a {color:#fff; display:inline-block; margin:0 5px;}
					.header .contact .info a:hover {opacity:0.8;}
			.header .logo {width:30%; display:inline-block;}
				.header .logo a {display:block;}
				.header .logo a object {width:100% !important; height:auto !important; pointer-events: none;}
				.header .logo a object img {width:100% !important; height:auto !important;}
				.header .logo a:hover {opacity:0.8;}
				
			.header .nav {float:right; width:320px; right:0; top:0;}
				.header .nav .language {line-height:20px; text-transform:uppercase; color:#fff; font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; margin-bottom:55px;}
					.header .nav .language a {color:#fff; display:inline-block; margin:0 5px;}
					.header .nav .language a.first {margin:0 5px 0 0;}
					.header .nav .language a:hover {opacity:0.8;}
					.header .nav .language .current {text-decoration:underline;}
				.header .nav .main-nav {}					
					.header .nav .main-nav a {display:inline-block; font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; font-size:2.15em; line-height:1.1em; margin-bottom:6px; color:#fff; padding-bottom:2px; border-bottom:3px solid transparent;}
					.header .nav .main-nav a:hover {text-decoration:none; border-bottom:3px solid #fff;}
					.header .nav .main-nav .current_page_item a {border-bottom:3px solid #fff;}
					.header .nav .main-nav .mobile {display:none;}
				.header .nav .register {margin-top:50px;}
					.header .nav .register a {display:inline-block; color:#fff; background:#f04e37; text-transform:uppercase; font-family: GT-America-Extended, Helvetica, Arial, sans-serif; font-size:1.15em; padding:13px 25px;}	
					.header .nav .register a:hover {opacity:0.8; text-decoration:none;}

	.banner {padding:65px 75px 0px;}
		.banner .box {max-width:1200px; margin:0 auto;}
			.banner img {width:100%; height:auto;}
	
	.description {padding:0 75px;}
		.description .box {max-width:1200px; margin:0 auto; padding:55px 0 45px; border-bottom:1px solid #707070;}
			.description .text {float:left; width:52%; font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; color:#000; font-size:2.15em; line-height:1.1em;}
			.description .elections {float:right; width:340px; margin-right:110px;}
				.description .elections a {display:block; margin-bottom:25px;}
				.description .elections a:hover {opacity:0.7;}
				.description .elections object {width:100%; height:auto; pointer-events: none;}
				.description .elections img {width:100%; height:auto;}
				.description .elections p {font-size:0.875em; line-height:1.2em; padding-left:6%;}
	
	
	.program-info {padding:0 75px;}
		.program-info .box {max-width:1200px; margin:0 auto; padding:45px 0 80px;}
			.program-info h2 {font-family: GT-America-Extended, Helvetica, Arial, sans-serif; font-size:1.35em; color:#343b93; text-transform:uppercase; margin-bottom:30px;}
			.program-info .column {float:left; width:22%; margin-right:4%;}
				.program-info .column img {margin-bottom:30px;}
				.program-info .column h3 {font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; color:#000; font-size:1.35em; margin-bottom:15px; line-height:1.2em;}
				.program-info .column p{color:#000; line-height:1.4em;}
			.program-info .column.last {margin-right:0;}
	
	.why {padding:55px 75px 45px; background:#0c8ba3;}
		.why .box {margin:0 auto; max-width:1200px;}
			.why h2 {font-family: GT-America-Extended, Helvetica, Arial, sans-serif; font-size:1.35em; color:#fff; text-transform:uppercase; margin-bottom:30px;}
			.why .table {}
				.why .table .video {float:left; width:49.5%;}
				.why .table .text {float:right; width:42%; color:#fff; margin-right:4%;}
					.why .table .text h3 {font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; font-size:2.15em; line-height:1.1em; margin-bottom:15px;}
					.why .table .text p {line-height:1.4em; margin-bottom:40px;}
					.why .table .text a {display:inline-block; font-family: GT-America-Extended, Helvetica, Arial, sans-serif; text-transform:uppercase; color:#fff; padding-left:25px; /*background:url(images/icons/icon-download-white-small.png) no-repeat left center;*/}
					.why .table .text a:hover {opacity:0.8; text-decoration:none;}
		
	.content {padding:30px 150px 60px; line-height:1.3em;}
		.content .box {max-width:1200px; margin:0 auto;}						
			.content h1 {font-family: GT-America-Extended, Helvetica, Arial, sans-serif; font-size:1.35em; color:#343b93; text-transform:uppercase; margin-bottom:30px;}
			.content h2 {margin:0 0 25px;}
			.content h3 {padding-top:25px; margin:0 0 10px;}
				.content h2 + h3 {padding-top:0;}
			.content p {margin:0 0 15px;}
			.content a {color:#343b93;}
			.content ul {list-style:square; margin:0 0 15px 23px;}
			.content ol {list-style:decimal; margin:0 0 15px 23px;}
			.content li {padding-bottom:7px;}
			.content img {max-width:100%; height:auto;}
	
			.content .purple-link {color:#343b93; font-family: GT-America-Extended, Helvetica, Arial, sans-serif; font-size:0.85em; text-transform:uppercase;}
			.content .purple-link:hover {text-decoration:none; opacity:0.7;}
	
		.left-col {float:left; width:34.8%; padding-right:3.5%;}
			.left-col h1 {margin-bottom:10px; font-size:1em}
			.left-col h2 {font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; color:#000; font-size:1.5em; line-height:1.3em; margin:0;}
			
		.main-content {float:right; width:65.2%;}
		.main-content.border-left {border-left:1px solid #707070; padding-left:3rem;}
		.line-break {height:1px; background:#707070; margin:50px 0;}
		
		.flex-container {padding: 0; margin: 0 !important; list-style: none !important; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; justify-content: space-between; flex-wrap:wrap; align-items:stretch;}
		.flex-item {width: 48%; margin-bottom:4%;}
		
		.school-box {display:table; width:100%; margin-bottom:50px;}
    .school-box .icon {display:table-cell; width:46px; line-height:46px; vertical-align:top;}
    .school-box .icon span {display:block; line-height:46px; color:#fff; background:#343b93; font-family: GT-America-Condensed, Helvetica, Arial, sans-serif; text-transform:uppercase; font-size:1.3em; text-align:center;}
    .school-box .text {display:table-cell; padding:0 1.5rem; vertical-align:top;}
    .school-box .text h2 {font-size:1.2em; text-transform:uppercase; margin:0 0 10px;}
    .school-box .downloads {display:table-cell; width:250px; vertical-align:top; font-size:0.7rem; text-align:right;}
    .school-box .downloads a {display:inline-block; font-family: GT-America-Extended, Helvetica, Arial, sans-serif; text-transform:uppercase; color:#343b93; padding-left:25px; /*background:url(images/icons/icon-download-small.png) no-repeat left center; margin-top:5px;*/}
    .school-box .downloads a:hover {opacity:0.8; text-decoration:none;}

			.wpsm_panel-group {border-bottom:1px solid #000 !important; margin-top:30px !important;}
			.wpsm_panel-title {border-top:1px solid #000 !important;}
			.ac_title_class {font-family: GT-America-Condensed, Helvetica, Arial, sans-serif !important; font-size:0.9em !important; padding-left:0 !important;}
			.wpsm_panel-body {padding:7px 0px !important;}
			.wpsm_panel-body p {font-family: GT-America-Standard, Helvetica, Arial, sans-serif !important; font-size:0.9em !important;}
			
			.ac_open_cl_icon {right:-15px !important; position:relative !important;}
			.fa-plus:before {border:1px solid #343b93; color:#fff !important; padding:6px 7px 5px !important; background:#343b93 !important; font-size:0.8em !important;}
			.fa-minus:before {border:1px solid #343b93; color:#343b93 !important; padding:6px 7px 5px !important; font-size:0.8em !important;}

.accordion {
    border-bottom: 1px solid #000;
    margin-bottom: 20px;
}
.accordion-title {border-top: 1px solid #000; margin: 0 !important; padding: 10px 0 !important; cursor: pointer; font-size:1em !important;}
.accordion-title:hover {}
.accordion-title.open {}
.accordion-content {padding: 15px 0;}
		
		.videos-box h3 {padding-top:0 !important;}
		
		
			
	
	.footer {padding:0 75px; font-family: GT-America-Standard, Helvetica, Arial, sans-serif !important;}
		.footer .box {border-top:1px solid #868686; max-width:1200px; margin:0 auto; padding:40px 0; font-size:0.813em; line-height:1.4em;}
		.footer.home .box {border-top:none;}
			.footer a {color:#343b93;}
			.footer .civix-logo {float:left; margin:2px 30px 0 0;}
				.footer .civix-logo object {width:auto; height:35px; pointer-events: none;}
				.footer .civix-logo img {width:auto; height:35px;}
				.footer .civix-logo img:hover {opacity:0.7;}
			.footer .civix-text {float:left;}
			.footer .elections {float:right;}
			.footer .elections-logo {float:left; margin-right:30px; top:-10px; position:relative;}
				.footer .elections-logo a {display:block;}
				.footer .elections-logo a:hover {opacity:0.8;}
				.footer .elections-logo object {width:auto; height:65px; pointer-events: none;}
				.footer .elections-logo img {width:auto; height:65px;}
			.footer .elections-text {float:left; margin-top:4px; width:165px;}

.rejected_ballots {
	margin-top: 50px;
	margin-bottom: 50px;
}

.main_form {
	margin-bottom: 50px;
}

.candidate {
	margin-bottom: 5px;
}

.header2 {
	font-family: GT-America-Condensed, Helvetica, Arial, sans-serif;
    font-weight: bold;
    font-size: 1.15em;
}

input[type="button"] {
	margin-right: 10px;
	background: #fff;
	border-style: solid;
	border-width: 1px;
	border-color: #343b93;
	color: #343b93;
	
	font-weight: 800;
	text-transform: uppercase;
  	padding: 10px 20px;
  	font-size: 17px;
  	cursor: pointer;
	font-family: GT-America-Extended;
}
/* Responsive Styles: 990px - 1599px *****************************************/

.cand3 {
	width:150px;
}

.cand, .cand2 {
	width:200px;
}

.cand4 {
	width: 10px;
}

@media only screen and (max-width:1365px) {
	
	
	.header .contact .social {float:none; margin-right:0;}
	.header .contact .info {float:none; margin-top:15px;}
	
	.header .nav .main-nav a {font-size:1.75em;}
	
	.header .nav .register {margin-top:40px;}
	.header .nav .register a {font-size:1em;}
	
	.description .text {width:50%;}
	.description .elections {width:30%; margin-right:60px;}
	

}

@media only screen and (max-width:1199px) {
	
	.header .contact {width:60%;}
	.header .nav {width:32%;}
	.header .nav .register a {font-size:0.9em;}
	
	.program-info .column {width:45%; margin-right:6%; margin-bottom:50px;}
	.program-info .column.mobile-last {margin-right:0;}
	
	
	.footer .box {position:relative;}
	.footer .civix-logo {float:none; margin:0 0 15px;}
		.footer .civix-logo img {width:170px;}
	.footer .civix-text {float:none;}
	.footer .elections {
		float:none; 
		margin-top: 10px;
		/* position:absolute;  */
		/* width:170px;  */
		top:35px; 
		right:60px;
	}
	.footer .elections-logo {float:none; margin-right:30px; top:0;}
		.footer .elections-logo object {height:45px;}
		.footer .elections-logo img {height:45px;}
	.footer .elections-text {
		/* margin-top:13px;  */
		width:auto; 
		/* padding-left:12px;  */
		line-height:1.3em;}
}



/* Responsive Styles: 768px - 989px *****************************************/
@media only screen and (max-width:989px) {

	.header {padding:30px 40px 60px;}
	.header .logo {width:60%; max-width:350px;}
	.header .contact {display:none;}		
	
	.header .language {}			
		.header .nav .language {text-align:right;}
		.header .nav .language a {display:block; margin:0; padding:0;}
		.header .nav .language a.first {margin:0 0 10px;}
		.header .language span {display:none;}

	.header .register {display:none;}
	
	.header .nav .main-nav .mobile {display:block;}
	
	#responsive-menu-container {-webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.5); -moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.5); box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.5);}
	
	#responsive-menu-container .social {float:left; margin-right:10px;}
		#responsive-menu-container .social ul {margin:0; padding:0;}
		#responsive-menu-container .social ul li {display:inline-block; margin:0 12px 0 0;}
		#responsive-menu-container .social ul li a {display:block;}
		#responsive-menu-container .social ul li a:hover {opacity:0.8;}
		#responsive-menu-container .social ul li a img {width:auto; height:30px;}
	
	#responsive-menu-container #responsive-menu li.responsive-menu-item .responsive-menu-item-link {font-family: GT-America-Standard, Helvetica, Arial, sans-serif !important;}
	
	/*#responsive-menu-button {border:3px solid #fff !important;}
	.responsive-menu-inner {top:37% !important;}
	.responsive-menu-inner::after {width:13px !important;}*/
	
	.responsive-menu-box {height:auto !important;}
	.responsive-menu-box:hover {opacity:0.85 !important;}
	
	.banner {padding:65px 40px 0px;}
	
	.description {padding:0 40px;}
	.description .text {float:none; width:100%; margin-bottom:40px;}
	.description .elections {float:none; width:100%; margin-right:0;}
	.description .elections object {width:200px;}
	.description .elections img {width:200px;}
	.description .elections p {padding-left:12px;}
	
	.why .table .video {float:none; width:100%; margin-bottom:40px;}
	.why .table .text {float:none; width:100%; margin-right:0;}
	
	.program-info {padding:0 40px;}
	
	.why {padding:55px 40px 45px;}
	
	.content {padding:60px 40px;}
	
	.footer {padding:0 40px;}
	
}

/* Responsive Styles: 480px - 767px *****************************************/
@media only screen and (max-width:767px) {
	
	.header {padding:30px}	
	
	.banner {padding:30px 30px 0px;}
	
	.description {padding:0 30px;}
	.description .box {padding:30px 0;}
	.description .text {font-size:1.6em;}
	
	
	.program-info h2 {font-size:1.15em;}
	
	.why h2 {font-size:1.15em;}
	.why .table .video {margin-bottom:30px;}
	.why .table .text h3 {font-size:1.6em;}
	
	.program-info {padding:0 30px;}
	.program-info .box {padding:30px 0;}
	.program-info .column {float:none; width:100%; margin-right:0;}
	
	.why {padding:30px;}
	
	.content {padding:30px;}
	
	.footer {padding:0 30px;}
	
	.header {padding:30px 30px 60px;}
	
	/* .footer .elections-logo {display:none;}	 */
	/* .footer .elections-text {display:none;} */

	.select-navigation {
    height: 50px;
	}
}
