/*
	Theme Name: LocalVote.us 2017
	Theme URI: http://www.localvote.us/
	Description: Post 2016 election redevlopment
	Version: 1.0
	Author: Jonathan Silberman
	Author URI: www.benjamincanyon.com

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font-family: "Open Sans", sans-serif;
    font-size: 14px;
    line-height: 1.7em;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	margin:0 auto;
	position:relative;
}
/* header */
.header {
	background-color: white;
	-webkit-box-shadow: 0 4px 5px -2px rgba(0,0,0,0.22), 0 2px 1px -1px rgba(0,0,0,0.05);
	        box-shadow: 0 4px 5px -2px rgba(0,0,0,0.22), 0 2px 1px -1px rgba(0,0,0,0.05);
	padding: 0 1.7rem;
	position: -webkit-sticky;
    position: -moz-sticky;
    position: -o-sticky;
    position: -ms-sticky;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    z-index: 900;

}
main {
    max-width: 1400px;
    margin: 0 auto;
}

/* logo */
.logo {
	max-width: 15rem;
    margin: auto auto auto 0;
	width: 30%;
}
.logo-img {
    width: 100%;
}
/* nav */

.nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.nav ul {
	border-top: 2px solid #172648;
    border-bottom: 2px solid #172648;
    padding: 0;
    color: #172548;
}
.nav li {
	list-style: none;
    display: inline-block;
    margin: 0;
}
.nav a {
	display: block;
	padding: .5em 2em;
    font-size: 1.55rem;
    font-weight: bold;
	-webkit-transition:color .3s, background-color .3s;
	transition: color .3s, background-color .3s;
}
.nav li a:hover {
	background-color: #172548;
	color: white;
}
.nav .search {
	height: 1.6em;
}


/* footer */
.footer {
    background-color: #172648;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1em;
    color: white;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.footer .disclaimer {
    -ms-flex-preferred-size: 70%;
        flex-basis: 70%;
    margin: auto;
}
.footerContact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-preferred-size: 15%;
        flex-basis: 15%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    flex-wrap: wrap;
}
.footerContact a {
	padding: 0.4em;
	-ms-flex-preferred-size: 20%;
	    flex-basis: 20%;
}

.partner-widget h3 {
    font-size: 3rem;
    background-color: #1a6274;
    width: 5em;
    height: 5em;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: white;
    margin-left: 1em;
    margin-bottom: -1em;
}
.partner-widget {
	position: relative;
    margin-top: -9rem;
}
.partner-widget:before {
	content: "";
	width: 100%;
	height: 4rem;
	position: absolute;
	background-color: #5fc2a1;
	z-index: -1;
	top: 6rem;
}
#partnersList > * {
    width: 10%;
    margin: auto;
    padding: 0.9em;
    max-height: 13em
}
#partnersList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}



.addtoany_shortcode {
	opacity:0;
	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
	position: relative;
}

article:hover .addtoany_shortcode {
	opacity: 1;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/


/* Homepage */

body.home article {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.fullwidthabanner {
    max-width: 1400px;
    margin: 0 auto;
}
#guides-explanation {
    padding: 2.5em;
    font-size: 1.2em;
    text-align: center;
    color: #fff;
    background-color: #172648;
    width: 100%;
}
#guides-explanation strong {
    font-size: 1.4em;
}
.buttonWrap {
    width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.homepage.button {
    font-weight: bold;
    border: none;
    background: #5fc2a1;
    color: #ffffff;
    font-size: 2.1em;
    width: 100%;
    text-align: center;
    padding: 0.8em;
    -webkit-transition:background .3s;
    transition: background .3s;
    line-height: 1em;
}
.homepage.button:nth-child(2) {
	background: #01a99c;
}
.homepage.button:hover {
	background: #172648;
	color: white;
}

.browse-dropdown {
	-ms-flex-preferred-size: 100%;
	    flex-basis: 100%;
}

#mega-menu-wrap-max_mega_menu_1 {
    width: 17rem;
    margin: 2em auto;
}

.mega-sub-menu {
    max-height: 31rem;
    overflow: scroll !important;
    z-index: 5 !important;
}

#featured {
    margin: 8em 0;
	background-color: #172648;

}
#featured a {
	color: white;
	-ms-flex-preferred-size: 25%;
	    flex-basis: 25%;
    line-height: 1em;
}
#featured a:hover {
	color: #5fc2a1;
}

#featured-wrap {
		display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-ms-flex-pack: distribute;
	    justify-content: space-around;
    padding: 0 0 5em 0;
}

#featured-wrap article {
	-ms-flex-preferred-size: 40%;
	    flex-basis: 40%;
	    display: -webkit-box;
	    display: -ms-flexbox;
	    display: flex;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

#featured-wrap article h2 {
	-ms-flex-preferred-size: 100%;
	    flex-basis: 100%;
	font-size: 3rem;
}
#featured-wrap img {
	padding-right: 1em;
}

#featured-wrap h3 {
    font-size: 2rem;
    -ms-flex-preferred-size: 70%;
        flex-basis: 70%;
    line-height: 1.4em;
    margin: 0;
}


.round {
	font-size: 3rem;
    background-color: #1a6274;
    width: 5em;
    height: 5em;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: white;
    margin-left: 1em;
    margin-bottom: -1em;
    text-align: center;
    line-height: 1em;
}
.lightGreen {
	background-color: #5fc2a1;
}
.offsetHalf {
    top: -2.5em;
    position: relative;
}



/* State Pages */
#state-header {
    margin-left: -2rem;
    position: relative;

}

@media all and (-ms-high-contrast: none) {
	#state-header {
    	width: 100%;
	}
}

main#page, #state-footer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 1140px;
	margin: 0 auto;
    width: 100%;
}
section#state, section#create {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
    padding: 0 2rem;
}

section#state h1 {
    margin: -3em 0 0;
    width: 90%;
    padding-right: 5%;
    padding-left: 5%;
    color: #fff;
    background-color: #172648;
    font-size: 2.8rem;
    line-height: 1.8em;
    position: absolute;
    bottom: 1em;
}

section#state {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}
#filters {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-top: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
}
.post {
	-ms-flex-preferred-size: 30%;
	    flex-basis: 30%;
    padding: 2em;
}
#state.single .post {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}

/* sidebar */
.sidebar {
	width: 20em;
	background-color: #172648;
	color: white;
	padding: 4em 1.5em 4em;
}

.sidebar #twitterHeader {
    float: right;
    width: 45%;
    background-color: transparent;
    margin-top: -20px;
}
.sidebar a {
	color: white;
}

body.home #mapwrapper {
	-ms-flex-preferred-size: 70%;
	    flex-basis: 70%;
}

main#page #map_base svg {
	height: auto;
    padding: 0 0 3em 0;
}

main#page #map_base svg path {
	fill: white !important;
	stroke: #172648 !important;
}
main#page #map_base svg g#text-abb {
	fill: #172648 !important;
}

main#page #map_base svg g#lakes {
	display: none;
}

.eo-events {
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
    margin-right: auto;
    font-size: 2rem;
    line-height: 1.6em;
    list-style: none;
    padding: 0;
}

.eo-events li {
	background-color: rgba(95, 194, 161, 0.3);
	padding: 1rem;
	border-radius: 0.8rem;
    margin-bottom: 1rem;
}

.eo-events li:nth-child(even) {
	background-color: rgba(15, 168, 155, 0.3);
}

.state-search-sidebar {
	margin-bottom: 2em;
}

.state-search-sidebar select {
    width: 100%;
}

.menu-sidebar-menu-container {
  background-color: white;
  color: #172648;
  border-radius: 5px;
  }
.menu-sidebar-menu-container select {
  height: 25px;
  }

/* Hide Uncategorized and Featured in the submit a guide form */
ul.select2-results li:nth-child(2), ul.select2-results li:nth-child(3) {
	display: none !important;
}



/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/




/*------------------------------------*\
    MISC
\*------------------------------------*/

::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/* Search */

.w-search.layout_simple .w-search-form,
.w-search.layout_modern .w-search-form {
	border-radius: 3px;
}
.w-search.layout_simple input,
.w-search.layout_modern input {
	padding-left: 15px;
	line-height: 40px;
	height: 40px;
}
.w-search-background {
	display: none;
	position: fixed;
	z-index: 99;
	border-radius: 100%;
	-webkit-transform: scale(1);
	        transform: scale(1);
	-webkit-transform-origin: 50%;
	        transform-origin: 50%;
	opacity: 0;
	pointer-events: none;
	background-color: #5ec2a1;
}
.w-search-background.overlay-on {
	-webkit-transition:opacity 0.2s, -webkit-transform 0.6s cubic-bezier(.4,0,.2,1);
	transition:opacity 0.2s, -webkit-transform 0.6s cubic-bezier(.4,0,.2,1);
	transition:opacity 0.2s, transform 0.6s cubic-bezier(.4,0,.2,1);
	transition: opacity 0.2s, transform 0.6s cubic-bezier(.4,0,.2,1), -webkit-transform 0.6s cubic-bezier(.4,0,.2,1);
	opacity: 0.96;
}
.w-search-background.overlay-out {
	-webkit-transition:opacity 0.6s, -webkit-transform 0.6s cubic-bezier(.4,0,.2,1);
	transition:opacity 0.6s, -webkit-transform 0.6s cubic-bezier(.4,0,.2,1);
	transition:opacity 0.6s, transform 0.6s cubic-bezier(.4,0,.2,1);
	transition: opacity 0.6s, transform 0.6s cubic-bezier(.4,0,.2,1), -webkit-transform 0.6s cubic-bezier(.4,0,.2,1);
}
.w-search-background.mobilefocus {
	display: none !important;
}
.w-search.layout_fullscreen .w-search-form {
	display: none;
}
.w-search.layout_fullscreen .w-search-form-field {
	position: absolute;
	top: 50%;
	left: 5%;
	right: 5%;
	line-height: 80px;
	margin-top: -40px;
    z-index: 100;
}
.w-search.layout_fullscreen input {
	font-size: 44px;
	line-height: inherit;
	text-align: center;
	height: auto;
	width: 100%;
	display: block;
    border: none;
    background-color: transparent;
    color: inherit;
    -webkit-transition:none;
    transition: none;
    margin: 0 auto;
}
.w-search.layout_fullscreen input:focus + .w-form-row-field-bar:before,
.w-search.layout_fullscreen input:focus + .w-form-row-field-bar:after {
	width: 50%;
}
.w-search.layout_fullscreen .w-search-form {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	z-index: 100;
	background-color: transparent;
}
.w-search.layout_fullscreen .w-search-close {
	font-size: 40px;
	line-height: 100px;
	width: 100px;
}	
.w-search-close {
		position: absolute;
		top: 0;
		right: 0;
		text-align: center;
		font-size: 22px;
		font-weight: bold;
		line-height: 40px;
		width: 40px;
		cursor: pointer;
		opacity: 0.5;
		-webkit-transition:color 0.3s, opacity 0.3s, -webkit-transform 0.3s;
		transition:color 0.3s, opacity 0.3s, -webkit-transform 0.3s;
		transition:color 0.3s, opacity 0.3s, transform 0.3s;
		transition: color 0.3s, opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
		}
	.no-touch .w-search-close:hover {
		opacity: 1;
		}
		.w-search-close:before {
			content: '\2715';
			}

	.w-search.layout_fullscreen .w-search-form-field {
		position: absolute;
		top: 50%;
		left: 5%;
		right: 5%;
		line-height: 80px;
		margin-top: -40px;
		}
		.w-search.layout_fullscreen input {
			font-size: 44px;
			line-height: inherit;
			text-align: center;
			height: auto;
			}
		.w-search.layout_fullscreen input:focus + .w-form-row-field-bar:before,
		.w-search.layout_fullscreen input:focus + .w-form-row-field-bar:after {
			width: 50%;
			}
		
input:focus, textarea:focus, .select2-dropdown-open a.select2-choice {
    -webkit-box-shadow: 0 -1px 0 0 #141414 inset;
            box-shadow: 0 -1px 0 0 #141414 inset;
}

.w-search-open {
	display: block;
	font-size: 17px;
	text-align: center;
	padding: 0 12px;
	color: inherit;
}

.search article.page {
	display: none !important;
}
/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}






@media only screen and (max-width: 479px) {
	body {
		font-size: 12px;
	}
	#partnersList > * {
		width: 25%;
	    max-height: 8em;
	}
	.logo {
        max-width: 12rem;
    	margin: auto;
	}
	.w-search {
		display: none;
	}
	.nav {
		display: none;
	}
	#featured-wrap article {
		-ms-flex-preferred-size: 90%;
		    flex-basis: 90%;
	}
	section#state, section#create {
		-webkit-box-ordinal-group: 1;
		    -ms-flex-order: 0;
		        order: 0;
		width: 100%;
		display: block;
	}
	.sidebar {
    	width: 100%;
    	display: block;
	}
	.partner-widget h3 {
	    margin-bottom: 0em;
	}
	section#state h1 {
		font-size: 1.5rem;
	}
	main#page {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
	.eo-events {
        -ms-flex-preferred-size: 80%;
            flex-basis: 80%;
	    font-size: 1.4rem;
	    margin: 3rem auto 0
	}
	.tp-caption {
	    font-size: 3rem !important;
	}
	.footerContact a {
	    flex-basis: 60%;
	}
}








/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		-webkit-box-shadow:none !important;
		        box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
