/********************************************
    AHouseUnited.org
	Built by WebSight Design, Inc.
*********************************************/

/* Webfonts
font-family: avenir-lt-pro, sans-serif;
font-weight: 400, 700;
font-style: normal, italic;
*/

/******** BROWSER CSS RESET *************************/
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, caption,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	/*** Include Padding/Borders in width for all elements ***/
	box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: none; }
table { border-collapse: collapse; border-spacing: 0; }
/* Responsive images & embedded objects (remove for image cropping) */
img, object, embed { max-width: 100%; }

/****** GLOBAL ELEMENT CSS ******/
html * { max-height: 999999px; } /* Android mobile font sizing fix */

body {
	line-height: normal;
	font-size: 18px;
	font-family: avenir-lt-pro, sans-serif;
	background: #fff;
	-webkit-text-size-adjust: none;
}

body, select, input, textarea { color: #000; }

ins { background-color: #fcd700; color: #000; text-decoration: none; }
mark { background-color: #fcd700; color: #000; font-style: italic; font-weight: bold; }

h1, h2, h3, h4, h5, h6 { padding:0 0 20px 0; }
h1 { font-size: 28px; }
h2 { font-size: 24px; color:#0033cc; }
h3 { font-size: 22px; }
h4, h5, h6 { font-size: 20px; }

p.note { font-size:0.8em; }

a, a:visited { color: #2446a9; text-decoration: underline; }
a:hover, a:active { color: #2446a9; text-decoration: underline; }
a:link { -webkit-tap-highlight-color: initial; }

a.gray-btn { display:inline-block; margin:5px; padding:10px 25px;
    color:#2446a9; font-size:16px; text-decoration:none; font-weight:700;
    background:#f2f2f2; border-radius:12px; 
    cursor:pointer; transition:0.2s linear all;
}
a.gray-btn:hover { background:#ccc; }

a.o-btn { display:inline-block; margin:5px; padding:10px 25px;
    color:#fff; font-size:16px; text-decoration:none; font-weight:700;
    background:#ef7c28; border-radius:12px; 
    cursor:pointer; transition:0.2s linear all;
}
a.o-btn:hover { background: #ef5728; }

p { padding:0 0 20px 0; line-height:140%; }
img { height:auto; }

b, strong { font-weight: bold; }
i, em { font-style: italic; }

.clear { clear: both; }
.clearfix::after { content:''; clear:both; display:table; }

.container1400 { width:100%; max-width:1400px; margin:0 auto; }
.container1200 { width:100%; max-width:1200px; margin:0 auto; }

.hpad { padding-left:20px; padding-right:20px; }
.vpad { padding-top:30px; padding-bottom:30px; }
.graybg { background:#f2f2f2; }

.flex-top { display:flex; align-items:flex-start; justify-content:space-between; }

.dsk, .dsk2 { display:none; }
.mob { display:block; }
.mob2 { display:inline; }


/*** Basic List Styling ***/
ul {
	margin: 0px 0px 20px;
	padding: 0 0 0 20px;
	list-style-type: disc;
	list-style-position: outside;
}
ul li { margin-bottom: 5px; }
ul li ul li { margin-top: 5px; }
ul li ol li { margin-top: 5px; }

ol {
	margin: 0px 0px 20px;
	padding: 0px 0px 0px 20px;
	list-style-type: decimal;
	list-style-position: outside;
}
ol li { margin-bottom: 5px; }
ol li ol li { margin-top: 5px; }
ol li ul li { margin-top: 5px; }



/*** Blockquote ***/
/*genric styles for blockquote in content*/
blockquote {
  background: #f9f9f9;
  border-left: 10px solid #ccc;
  margin: 1.5em 10px;
  padding: 0.5em 10px;
  quotes: "\201C""\201D""\2018""\2019";
}
blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}
blockquote p {
  display: inline;
}



/****** FRONTEND LAYOUT ******/
#page {
	margin: 0 auto;
	width: 100%;
	min-width: 350px;
	max-width: 1920px;
	position: relative;
}

/*** Header ***/
#header {
	margin:0;
	padding: 15px 0 0 0;
	position: relative;
    text-align:center;
}

#logo { display: inline-block; width:190px; margin:0 auto; }
#logo img { width:100%; display:block; }



/*** Main Menu ***/
#menuBtn { width:40px; height:40px; display:block; position:absolute; top:20px; right:15px; z-index:100; cursor:pointer; }
#menuBtn svg:first-child { position:absolute; top:10px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #0033cc; }
#menuBtn svg:nth-child(2n) { position:absolute; top:18px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #0033cc; }
#menuBtn svg:last-child { position:absolute; top:26px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #0033cc; }

#menuBtn.open svg:first-child { transform: rotate(45deg); top:18px; }
#menuBtn.open svg:nth-child(2n) { opacity:0; }
#menuBtn.open svg:last-child { transform: rotate(-45deg); top:18px; }

#mainmenu { text-align:center; width:100%; max-width:600px; margin:0 auto; padding:0 5px; display:none; }
#mainmenu ul#desktop-nav { display:none; }
#mainmenu ul { margin:20px auto; padding:0; list-style-type: none; display:flex; align-items:flex-start; justify-content:space-between; }
#mainmenu ul li { width:auto; margin:0; }
#mainmenu ul li a {
	display: block;
	padding:0 10px;
	color: #2446a9; font-size:15px; font-weight:400;
	text-decoration: none;
	background-color: transparent;
}
#mainmenu ul li.active > a  { font-weight:700; }

/*** Content Area ***/
#content { }


/*** Footer ***/
#footer { font-size:14px; padding:20px; }
div.footer-left { text-align:center; margin-bottom:15px; }
#footer-logo { width:155px; display:inline-block; margin:0 auto; }
div.footer-right { text-align:center; }



/****** FORMS STYLING ******/
div.form {
	margin: 0 auto;
	max-width: 700px;
}
div.form label { display: block; font-weight: normal; }
div.form input,
div.form textarea,
div.form select {
	box-sizing: border-box;
	margin:0;
	font-size: 18px; font-family: avenir-lt-pro, sans-serif;
}
div.form fieldset, div.form .row { margin:0 0 20px 0; }
div.form input[type=text],
div.form input[type=number],
div.form input[type=password] {
	padding: 10px;
	width: 100%;
	border: 1px solid #666;
	border-radius:12px;
	-webkit-appearance: none;
}
div.form textarea {
	padding: 10px;
	width: 100%;
	height: 120px;
	border: 1px solid #666;
	border-radius:12px;
	-webkit-appearance: none;
}
div.form select {
	padding: 10px;
	width: 100%;
	border: 1px solid #666;
	border-radius:12px;
}

div.form span.required { color: red; }
div.form .row.buttons { }
div.form input[type=submit] {
	padding: 10px 40px;
	color: #fff; font-family: avenir-lt-pro, sans-serif; font-size:18px; font-weight:700; text-transform:uppercase;
	border: 1px #ef7c28 solid;
	border-radius: 12px;
	-webkit-appearance: none;
	background: #ef7c28;
	box-shadow: none;
	cursor:pointer; transition:0.2s linear all;
}
div.form input[type=submit]:hover,
div.form input[type=submit]:active { background: #ef5728; }

/*** Form Errors ***/
div.form div.error label,
div.form label.error,
div.form span.error {
	color:#ef7c28;
}
div.form div.error input,
div.form div.error textarea,
div.form div.error select,
div.form input.error,
div.form textarea.error,
div.form select.error {
	border-color: #ef7c28;
}

div.form .errorMessage { font-size:0.8em; font-weight:bold; margin:5px 0; }


/****** HOMEPAGE ******/
#intro { text-align:center; font-size:18px; }
#intro h1 { font-size:24px; }

.homeWrap, .rainbowWrap { background:url('../images/home-content-bg.jpg') 0 0 no-repeat; background-size:100% 100%; }
.homeContent, .subContent { background:#fff; border-radius:12px; padding:5%; }

/* Candidates */
.candidates { width:100%; max-width:1200px; margin:0 auto; }

/* Intro */
div.cand-intro { width:100%; display:flex; align-items:flex-end; margin-bottom:10px; padding:0; }
div.intro-spacer { width:82%; display:block; }
div.intro-tight { display:none; }
div.intro-aff { display:none; }
div.intro-score { width:18%; display:block; text-align:center; }
div.cand-intro p { font-size:18px; text-transform:uppercase; color:#000; padding:0; font-weight:700; }

/* Candidates */
div.cand { width:100%; display:flex; align-items:stretch; border-radius:12px; margin-bottom:15px; padding:0; flex-wrap:wrap; font-size:17px; }
div.cand-name { width:82%; display:block; padding:15px 0 15px 15px; font-weight:700; color:#fff; }
div.cand-www { display:none; }
div.cand-tight { display:none; }
div.cand-aff { display:none; }
div.cand-score { width:18%; display:block; padding:15px 15px 15px 0; color:#fff; font-weight:700; text-align:right; }

div.mobile-ta { width:100%; display:block; background:rgba(255,255,255,0.8); padding:15px; color:#000; font-size:16px; line-height:140%; }

/* Colors */
#cand-list div.cand:nth-child(6n+1) { background:#597bdf; }
#cand-list div.cand:nth-child(6n+2) { background:#168368; }
#cand-list div.cand:nth-child(6n+3) { background:#8b24a9; }
#cand-list div.cand:nth-child(6n+4) { background:#ef7c28; }
#cand-list div.cand:nth-child(6n+5) { background:#b7207d; }
#cand-list div.cand:nth-child(6n+6) { background:#2446a9; }

/* Donation Calculator */
div.form#donation-calc { width:auto; max-width:none; text-align:center; margin:10px auto 30px auto; }

div.form#donation-calc label { width:100%; display:block; font-size:22px; padding:0 0 15px 0; text-align:center; }
div.form#donation-calc input[type=text] { 
    width:calc(100% - 130px); max-width:400px; height:50px; padding-left:25px; display:inline-block; vertical-align:top;
    background:url('../images/dollar-sign.png') 10px 50% no-repeat #fff; background-size:12px auto; 
    border-radius:12px; border:1px #666 solid;
    font-size:26px;
    position:relative;
}
div.form#donation-calc input[type=submit] { width:135px; height:50px; padding:0; position:relative; margin-left:-30px; z-index:10; display:inline-block; vertical-align:top; }

#donation-table { width:100%; max-width:1200px; margin:0 auto; font-size:18px; line-height:150%; }
h3.table-title { font-size:14px; font-weight:700; color:#2446a9; text-transform:uppercase; padding:0 0 10px 0; }
div.table-district { display:none; }


/*** NEWS ***/
ul.newsListings { display:block; text-align:center; list-style-type:none; padding:0; }
ul.newsListings li { width:100%; display:inline-block; vertical-align:top; margin:0 auto 40px auto; text-align:left; max-width:350px; }
div.news-thm { width:100%; margin:0 0 20px 0; display:block; position:relative; border-radius:12px; overflow:hidden; }
div.news-thm img { width:100%; display:block; }
div.news-thm p.date { width:auto; display:inline-block; background:#555; padding:5px 15px;
    position:absolute; top:0; left:0; z-index:10;
    color:#fff; font-size:0.8em; font-weight:700;
}
ul.newsListings li h2 { font-weight:700; font-size:1.2em; }

hr.divider { border:none; border-top:1px #ccc solid; margin:0 auto; border-collapse:collapse; }
div.form#news-cat-selector { width:100%; max-width:600px; margin:0 auto; padding:30px 0 40px 0; }
div.form#news-cat-selector label { font-size:18px; text-align:center; padding:0 0 10px 0; }
div.form#news-cat-selector select { }

#blog-extras { text-align:center; }
#blog-extras a.o-btn { margin:10px; }

ul.tags { list-style-type:none; padding:10px 0; }
ul.tags li { display:inline-block; vertical-align:top; border-right:1px #ccc solid; padding-right:10px; margin-right:6px; font-size:0.8em; }
ul.tags li:first-child, ul.tags li:last-child { border-right:none; padding-right:0; margin-right:0; }
ul.tags li a, ul.tags li a:hover { border:none !important; text-decoration:underline; text-transform:none; }

.postNav { text-align:center; padding:30px 0 50px 0; }
.postNav a { display:inline-block; vertical-align:top; margin:0 10px; }


/***************************************************
	DESKTOP LAYOUT BREAKPOINTS
****************************************************/
@media(min-width: 880px) {

	/****** GLOBAL ELEMENT CSS ******/
	.flex-bot { display:flex; align-items:flex-end; }
    
    h1 { font-size:30px; }
    h2 { font-size:30px; }
    
    .mob, .mob2 { display:none; }
    .dsk { display:block; }
    .dsk2 { display:inline; }
    
    .vpad { padding-top:50px; padding-bottom:50px; }

	/****** FRONTEND LAYOUT ******/
	#header { }
    #logo { width:490px; }
	
	/*** Main Menu ***/
    #menuBtn { display: none; }
    
	#mainmenu {
		display: block; width:auto;
        position:absolute; top:0; right:30px; z-index:10;
        text-align:right;
	}
    #mainmenu ul#desktop-nav { display:block; }
    #mainmenu ul#mobile-nav { display:none; }
    
	#mainmenu ul { width:auto; }
	#mainmenu ul li {
		display: block; float:left;
		position: relative;
	}
	#mainmenu ul li a {
		padding: 10px 20px;
		font-size: 16px;
	}
    
    #mainmenu ul li a:hover { color:#168368; }
    
    #mainmenu ul li > ul {
        display:none; position:absolute; top:15px; left:0; z-index:100;
    }
    #mainmenu ul li:hover > ul { display:block; }
    #mainmenu ul li > ul li { display:block; float:none; text-align:left; white-space:nowrap; }
    #mainmenu ul li > ul li a { padding:5px 20px; }
    #mainmenu ul li > ul li a:hover { color:#168368; }



	/*** Content Area ***/
    #content { }


    /*** Footer ***/
    #footer { font-size: 16px; color:#000; padding:20px; }
    #footer a { color:#2446a9; text-decoration:none; }
    #footer a:hover { color:#000; text-decoration:underline; }
    
    div.footer-left { width:30%; float:left; }
    #footer-logo { width:255px; display:block; }
    
    div.footer-right { width:70%; float:right; text-align:right; line-height:140%; }
	

	
	/****** FORMS ******/
	div.form { }
	div.form label {
		float: left;
		padding: 5px 0 0 0;
		width: 25%
	}
	div.form input[type=text],
	div.form input[type=number],
	div.form input[type=password] {
		width: 75%
	}
	div.form textarea {
		width: 75%;
		height: 120px;
	}
	div.form select {
		width: 75%;
	}
	div.form .row.buttons { }
    div.form .errorMessage { margin:5px 0 5px 25%; }

    
    /***** BREADCRUMBS *****/
	ul.breadcrumbs {
		padding: 5px;
		font-size: 14px;
	}


    /****** HOMEPAGE ******/
    #intro { text-align:center; font-size:26px; }
    #intro h1 { font-size:30px; }
    
    /* Candidates */
    #cand-list { position:relative; }
    div.shadow1 { width:61px; height:100%; display:flex; position:absolute; top:0; left:30%; z-index:10; background:url('../images/chart-shadow.png') 0 0 no-repeat; background-size:100% 100%; }
    div.shadow2 { width:61px; height:100%; display:flex; position:absolute; top:0; left:60%; z-index:10; background:url('../images/chart-shadow.png') 0 0 no-repeat; background-size:100% 100%; }
    div.shadow3 { width:61px; height:100%; display:flex; position:absolute; top:0; left:75%; z-index:10; background:url('../images/chart-shadow.png') 0 0 no-repeat; background-size:100% 100%; }

    /* Intro */
    div.cand-intro { width:100%; display:flex; align-items:flex-start; margin-bottom:10px; padding:0; }
    div.intro-spacer { width:60%; display:block; }
    div.intro-tight { width:15%; display:block; text-align:center; }
    div.intro-aff { width:15%; display:block; text-align:center; }
    div.intro-score { width:10%; display:block; text-align:center; }
    div.cand-intro p { font-size:20px; text-transform:uppercase; color:#2446a9; padding:0; font-weight:700; }
    div.cand-intro p.explan { font-size:14px; padding:0; color:#000; font-weight:400; text-transform:none; }

    /* Candidates */
    div.cand { width:100%; display:flex; align-items:stretch; border-radius:12px; margin-bottom:15px; padding:0; font-size:18px; }
    div.cand-name { width:30%; display:block; padding:20px 10px 20px 20px; font-weight:700; color:#fff; }
    div.cand-www { width:30%; display:block; background:rgba(255,255,255,0.8); padding:20px 10px; color:#000; }
    div.cand-tight { width:15%; display:block; background:rgba(255,255,255,0.8); padding:20px 10px; color:#000; text-align:center; }
    div.cand-aff { width:15%; display:block; background:rgba(255,255,255,0.8); padding:20px 10px; color:#000; text-align:center; }
    div.cand-score { width:10%; display:block; padding:20px 10px; color:#fff; font-weight:700; text-align:center; }
    
    div.mobile-ta { display:none; }
    
    /* Donation Calculator */
    div.form#donation-calc { margin:20px auto 40px auto; }
    div.form#donation-calc label { width:auto; float:none; display:inline-block; vertical-align:top; font-size:26px; padding:10px 5px 0 0; text-align:left; }
    div.form#donation-calc input[type=text] { width:230px; }
    div.form#donation-calc input[type=submit] { width:auto; padding:15px 20px; }
    
    #donation-table { font-size:24px; }
    
    #donation-table th, #donation-table td { padding:0 10px; }
    
    h3.table-title { font-size:20px; font-weight:700; color:#2446a9; text-transform:uppercase; }
    div.table-district { display:inline-block; width:100px; }
    
    
    /*** NEWS ***/
    ul.newsListings { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; }
    ul.newsListings li { width:48%; display:block; margin:0 0 50px 0; max-width:none; }
    
    div.form#news-cat-selector { width:100%; max-width:600px; margin:0 auto; padding:30px 0 40px 0; text-align:center; }
    div.form#news-cat-selector label { font-size:18px; text-align:left; width:auto; float:none; display:inline-block; padding:5px 0 10px 0; }
    div.form#news-cat-selector select { width:75%; max-width:300px; }


}  /* @media(min-width: 880px) */



@media (min-width:1000px) { 
    ul.newsListings li { width:30%; }
}


/*** Skip to Content invisible link for accessibility ***/
#skip a
{
position:absolute;
left:-10000px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}
/* uncommenting will make the link visible when focused
#skip a:focus
{
position:static;
float:left;
width:auto;
height:auto;
}
*/
