/*
  _                             _    _                            __              _____                                      
 | |                           | |  | |                          / _|            / ____|                                     
 | |     __ _ _ __ _ __ _   _  | |__| | ___   __ _  __ _ _ __   | |_ ___  _ __  | |  __  _____   _____ _ __ _ __   ___  _ __ 
 | |    / _` | '__| '__| | | | |  __  |/ _ \ / _` |/ _` | '_ \  |  _/ _ \| '__| | | |_ |/ _ \ \ / / _ \ '__| '_ \ / _ \| '__|
 | |___| (_| | |  | |  | |_| | | |  | | (_) | (_| | (_| | | | | | || (_) | |    | |__| | (_) \ V /  __/ |  | | | | (_) | |   
 |______\__,_|_|  |_|   \__, | |_|  |_|\___/ \__, |\__,_|_| |_| |_| \___/|_|     \_____|\___/ \_/ \___|_|  |_| |_|\___/|_|   
                         __/ |                __/ |                                                                          
                        |___/                |___/                                                               
  __  __                 _____                     _    |  *  |----------------    ___   ___  __  ___  
 |  \/  |      _   _    |  __ \                   | |   |* * *|----------------   |__ \ / _ \/_ |/ _ \ 
 | \  / | __ _| |_| |_  | |__) | __ ___  _   _  __| |   |*   *|----------------      ) | | | || | (_) |
 | |\/| |/ _` | __| __| |  ___/ '__/ _ \| | | |/ _` |   |  *  |----------------     / /| | | || |> _ < 
 | |  | | (_| | |_| |_  | |   | | | (_) | |_| | (_| |   |*   *|----------------    / /_| |_| || | (_) |
 |_|  |_|\__,_|\__|\__| |_|   |_|  \___/ \__,_|\__,_|   |* * *|----------------   |____|\___/ |_|\___/ 
                                                        |  *  |----------------                        

*/



/******************** base styles ********************/

body {
/*    margin-top: 104px; // this should be the height of the nav bar (or close to it) */
    /*margin-top: 0; * override for transparent navbar */
    font-family: "proxima-nova", sans-serif;
    background-color: #f0f0f0;
}

body.subpage {
    margin-top: 104px; /* this should be the height of the nav bar (or close to it) */
}

.btn {
	border-radius: 0;
}

.hidden {
	display: none;
}

@media (max-width: 768px) {
	.hidden-sm-down {
		display: none;
	}
}

.no-margin {
	margin:0;
}

.no-padding {
	padding: 0;
}

.relative-position {
	position: relative;
}

.divider, .divider-white {
    width: 40px;
    height: 2px;
    background-color: rgba(229, 90, 84, 1);
    margin: 1.375rem 0;
}

.divider-white {
	background-color: #fff;
}

.divider-red {
	background-color: #d72e3d;
}

.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
}

.padding {
	padding: 35px 20px;
}

@media only screen and (min-width:40.063em) {
	.padding {
		padding: 50px 40px;
	}
}

@media only screen and (min-width:64em) {
	.padding {
        padding: 70px 40px
	}
}

h1 {
	font-family: "franklin-gothic-urw", sans-serif;
	font-weight: bold;
}

h2, h3, h4, h5, h6 {
	font-family: "proxima-nova", sans-serif;
	font-weight: bold;
}

a {
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

hr {
	width: 45%;
	background-color: #d72e3d;
	height: 1px;
	display: block;
	margin-top: 1.75em;
	margin-bottom: 1.5em;
}

.well {
	min-height: 20px;
	padding: 19px;
	margin-bottom: 20px;
	background-color: #f5f5f5;
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
	box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
}

.well hr {
	width: 90%;
}

.padtopmore {
    padding-top: 25px;
}


/******************** navbar ********************/

header .subpage-header {
	margin-bottom: 5%;
}

header nav.navbar {
	background-color: transparent; /* override for transparent navbar */
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

body.home header .navbar-nav .nav-link {
	color: #fff!important;
}

body.subpage header nav.navbar {
	background-color: #fff;
	border-bottom: 0px solid #d72e3d;
}

header nav.navbar.navbar-expanded {
	background-color: #fff!important;
	border-bottom: 0px solid #d72e3d;
}

header nav.navbar-expanded .navbar-nav .nav-link {
	color: #333!important;
}


header nav.navbar .navbar-brand img {
	height: 75px;
}

.navbar-expand-md .navbar-nav .nav-link {
	margin-left:  .25rem;
	margin-right: .25rem;
	padding-left: 1rem;
	padding-right: 1rem;
	color: #333;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .03em;
	font-family: "proxima-nova", sans-serif;
	font-weight: 600!important;
}

.navbar-expand-md .navbar-nav .nav-link:hover {
	text-decoration: underline;
}

.navbar-expand-md .navbar-nav .nav-link.btn {
	color: #fff;
	text-decoration: none;
}

button.navbar-toggler {
	border: 1px solid #000;
	padding: 5px;
	margin-right: 10px;
}

.navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,0,0, 0.75)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

@media (max-width: 767px) {
	.navbar-collapse {
		margin-top: 15px;
	}
}


/******************** header video ********************/

.video-banner-container {
	z-index: -5;
    position: relative;
    overflow: hidden;
    background-image: url('/images/election-victory-2018.png');
    background-repeat: no-repeat;
    background-size: cover;
}

/* *** this needs to be taken through the responsive steps */
.video-banner-container .video-banner-content {
    padding: 300px 0;
    background: rgba(0, 0, 0, 0.25);
    width: 100%;
    height: auto;
    min-height: 850px;
    display: flex;
    align-items: center;
    color: #fff;
    overflow: hidden;
}

.video-banner-container video {
    position: absolute;
    top: -10%;
    left: 50%;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
    overflow: hidden;
}

.video-banner-container > iframe {
    position: absolute;
    overflow: hidden;
    top: -10%;
    left: 50%;
    bottom: 0;
    min-width: 100%;
    min-height: 120%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
}

@media (min-width: 1025px) {
	.video-banner-container > iframe {
		min-width: 150%;
	}
}

@media (min-width: 768px) {
	.video-banner-container > iframe {
		min-width: 200%;
	}
}

@media (min-width: 1840px) {
	.video-banner-container > iframe {
		min-width: 400%;
	}
	
	.video-banner-container .video-banner-content {
		min-height: 1250px;
	}
}


/******************** header cta ********************/

header .form-container {
    margin-top: -103px;
    margin-bottom: 3px;
    height: 100px;
    z-index: 55;
}

header .header-cta-container {
	/* this is the cta without the form */
	background-color: #fff;
	height: 100px;
	padding: 32px 30px 42px;
    z-index: 56;
}

header .header-cta-input {
    border: 1px solid #e1e3e4;
    margin: 0 0 30px 0;
    padding: 37px 30px;
    width: 100%;
    font-size: 18px;
    z-index: 57;
}

header .header-cta-input:focus {
    outline: 0;
}

header .header-cta-input[type=email] {

}

header .header-cta-input[type=text] {
    position: absolute;
    right: 182px;
    top: 0px;
    width: 260px;
}

header .header-cta-submit {
    padding: 37px 56px 37px 53px;
    font-size: 18px;
    letter-spacing: 1px;
    position: absolute;
    right: 15px;
    top: 0;
    border-radius: 0;
    z-index: 58;
}

header .header-cta-volunteer {
    padding: 36px 56px 37px 53px;
    font-size: 18px;
    letter-spacing: 1px;
    position: absolute;
    right: 210px;
    top: 0;
    border-radius: 0;
    z-index: 58;
}

header .header-cta-contribute {
    padding: 37px 56px 37px 53px;
    font-size: 18px;
    letter-spacing: 1px;
    position: absolute;
    right: 0px;
    top: 0;
    border-radius: 0;
    z-index: 58;
}

/******************** subpage header ********************/

.subpage-header {
	
}

.subpage-header .subpage-header-image img {
	width: 100%;
	height: 100%;
}

.subpage-header .subpage-header-text {
	
}

.subpage-header .subpage-header-text .meta {
	font-size: .85rem;
}

.subpage-header .subpage-header-text .share-buttons {
	margin-top: 38px;
	line-height: 38px;
}

.subpage-header .subpage-header-text .share-buttons p {
	margin-right: 5px;
	text-transform: uppercase;
	font-size: .85rem;
}

.subpage-header .subpage-header-text .share-buttons p,
.subpage-header .subpage-header-text .share-buttons a {
	display: inline-block;
	margin-bottom: 0;
	line-height: 38px;
	text-align: center;
}

.subpage-header .subpage-header-text .share-buttons a {
	display: inline-block;
	margin: 0 2px;
	width: 38px;
}

.subpage-header .subpage-header-text .share-buttons a:hover {
	background-color: #fff;
	color: red;
	text-decoration: none;
}

/******************** homepage petition area ********************/

.petition-area {
	margin-top: 25px;
	margin-bottom: 25px;
}

.petition-area .petition-cta {
	text-align: center;
	padding: 8% 25px;
}

.petition-area .petition-cta p {
	padding-left: 25px;
	padding-right: 25px;
}


/******************** social media feed area ********************/

.social-feed {
	margin-top: 3em;
	margin-bottom: 3em;
}

.social-feed .social-icons a {
    margin-left: 10px;
    margin-right: 10px;
}

.social-feed .social-icons .fa-facebook {
    color: #3b5998;
}

.social-feed .social-icons .fa-twitter {
    color: #55acee;
}

.social-feed .social-icons .fa-instagram {
    color: #fb3958;
}

.social-feed .social-icons .fa-youtube {
    color: #bb0000;
}


/******************** homepage masonry posts ********************/

.masonry {
	width:100%;
	margin: 3em 0;
	padding:0;
	background-color: #fff;
}

.iconBoxSimple {
    overflow: hidden;
    border: 1px solid #e8e8e8;
    padding: 60px 40px;
    margin-bottom: -1px;
}

.iconBoxSimple .boxIcon {
	display: none;
	position: absolute;
	width: 60px;
	height: 60px;
	top: 0;
	right: 0;
	background-color: #333;
	text-align:center;
}

.iconBoxSimple .boxIcon span,
.iconBoxSimple .boxIcon i {
	font-size: 1.5rem;
	text-align: center;
	line-height: 60px;
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	color: rgba(255, 255, 255, 1);
}

.masonry .image-block, .masonry .image-block > div {
	display: block;
	height: 100%;
	min-height: 320px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.imageBoxes > div > a:hover {
	cursor: pointer;
}

.imageBoxes a,
.imageBoxes a:after,
.imageBoxes a > div:first-child {
	height: 100%;
	width: 100%;
	z-index: 6;
}

.imageBoxes a > div:first-child {
    min-height: 320px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    z-index: 5;
}

.imageBoxes a:hover small {
	text-decoration: underline;
}

.imageBoxes a,
.imageBoxes a:after {
    display: block;
}


.imageBoxes a .imageBoxDesc {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 2.5rem;
	width: 100%;
	height: 100%;
	z-index: 50;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
}

.imageBoxDesc .imageBoxTitle {
    -webkit-transform: translate3d(0, 125px, 0);
    transform: translate3d(0, 125px, 0);
}

.imageBoxDesc p.imageBoxMore {
	position: absolute;
	right: 5%;
	bottom: 3%;
}

.imageBoxDesc .imageBoxTitle {
    -webkit-transition: -webkit-transform .35s;
    transition: transform .35s;
}


/******************** content section ********************/

section.single {
	padding: 3em 0;
}

section a {
	text-decoration: none;
    color: inherit;
    border-bottom: .05rem solid #f4dd46;
    /*box-shadow: inset 0 -0.6875rem 0 #f4dd46;*/
    box-shadow: inset 0 -0.5rem 0 #f4dd46;
    transition: background-color .2s cubic-bezier(.33,.66,.66,1);
}

section a:hover, section a:focus {
	background-color: #f4dd46;
	color: inherit;
	text-decoration: none;
}


/******************** subpage styles ********************/

.headline-row {
	margin-bottom: 35px;
}


/******************** list page ********************/

ul.post-grid, ul.post-grid li {
	list-style: none;
}

.post-grid .post {
    padding: 60px 50px;
}

.post-grid .meta {
	font-size: .85rem;
}

.post-grid .post-title {
	font-size: 1rem;
	text-transform: uppercase;
}

.post-grid .post-title a {
	color: #333;
}


.post-grid li {
	position: relative;
	padding: 0;
	border: 1px solid rgba(42, 43, 47, .1);
}


/******************** footer signup widget ********************/

.footer-signup-widget {
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-bottom: 3px solid rgba(0, 0, 0, 0.2);
	padding: 20px;
	margin: 45px auto 25px;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	background-color: #fff;
}

.footer-signup-widget.active,
.footer-signup-widget:hover {
	border-bottom-color: #d72e3d;
}

.footer-signup-widget-title {
	text-align: center;
	display: block;
}

.footer-signup-widget .footer-signup-widget-title i {
	font-size: 3em;
	color: rgba(0,0,0,0.25);
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;	
}

.footer-signup-widget.active .footer-signup-widget-title i,
.footer-signup-widget:hover .footer-signup-widget-title i {
	color: #d72e3d;
}

.footer-signup-widget .footer-signup-widget-title h3 {
	margin-bottom: 25px;
}

.footer-signup-widget-form {
	position: relative;
	background-color: #fff;
	height: 80px;
	margin-bottom: 15px;
	padding: 32px 30px 42px;
}

.footer-signup-widget-form input {
	border: 1px solid #e1e3e4;
	margin: 0 0 30px 0;
	padding: 30px 30px;
	font-size: 18px;
	color: #333;
}

.hero-signup-widget-form input:focus, .footer-signup-widget-form input:focus {
	outline: 0;
}

.footer-signup-name {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 27%;
}

.footer-signup-email {
	position: absolute;
	right: 36.15%;
	left: auto;
	top: 0px;
	width: 37%;
}

.footer-signup-zip {
	position: absolute;
	right: 17.6%;
	left: auto;
	top: 0px;
	width: 18.7%;
}

.footer-signup-submit {
	padding: 30px 56px 31px 53px;
	font-size: 18px;
	letter-spacing: 1px;
	position: absolute;
	right: 0px;
	top: 0;
	border-radius: 0;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}


/******************** footer ********************/

footer {
	border-top: 0px solid #d72e3d;
	background-color: #333;
	background-image: url('/images/flag-footer.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	margin-top: 3%;
	padding-top: 4%;
	padding-bottom: 6%;
	color: #fff;
	font-size: 12px;
}

footer a, footer a:active, footer a:focus {
	color: #fff;
	text-decoration: underline;
}

footer a:hover {
	color: #fff;
	text-decoration: none;
}

footer .footer-logo {
	padding-bottom: 3%;
}

footer .footer-logo img {
	height: 100px;
	max-width: 250px;
}



/******************** more generic styles ********************/

.red-background {
	background-color: #d72e3d;
	color: #fff;
}

.red-background a {
	color: #fff;
}

.black-background {
	background-color: #333;
	color: #fff;
}

.black-background a {
	color: #fff;
}

.btn, input, textarea, .form-control, .form-group > select, #donation_amount_other, #pledge_amount_other {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
}

.btn-danger {
    background-color: #e52124;
}

a[class^="fa"],
a[class*=" fa"],
a[class^="fa"]:hover,
a[class*=" fa"]:hover {
	text-decoration: none;
}



/** embed responsively **/

.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.embed-container iframe, .embed-container object, .embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}





/** borders after the h1, h2, h3 tag in a section **/

section h1, section h2, section h3 {
	text-align: center;
}

section h1::after, section h2::after, section h3::after {
	display: block;
	content: " ";
    height: 2px;
    background-color: #e52124;
    width: 45%;
    margin: 15px auto 25px;
}

blockquote {
	padding: 15px;
}
