/*  ==========================================================================
	Styles for Climate Optimism
	Author: Alchemy Digital
	========================================================================== */


/*  ==========================================================================
	prevent FOUT
	========================================================================== */

	.siteheader,
	.siteheaderpadder,
	.main,
	.sitefooter{
		opacity: 0;
		transform: translate(0,-20px);
		transform: translate(0,-20px);
		transform: translate(0,-20px);
		-webkit-transition: opacity 500ms ease-out 0ms, -webkit-transform 500ms ease-out 0ms;
		   -moz-transition: opacity 500ms ease-out 0ms,    -moz-transform 500ms ease-out 0ms;
				transition: opacity 500ms ease-out 0ms, 		transform 500ms ease-out 0ms;
	}

	.siteheader{ transition-delay: 250ms }
	.sitefooter{ transition-delay: 500ms; }

	.wf-active .siteheader,
	.wf-active .siteheaderpadder,
	.wf-active .main,
	.wf-active .sitefooter,
	.no-fontface .siteheader,
	.no-fontface .siteheaderpadder,
	.no-fontface .main,
	.no-fontface .sitefooter{
	-webkit-transform: translate(0,0em);
		   -moz-transform: translate(0,0em);
				transform: translate(0,0em);
		opacity: 1;
	}

/*  ==========================================================================
	END prevent FOUT
	========================================================================== */



body{
	font-family: "proxima-nova", Helvetica, Arial, sans-serif;
	font-style: normal;
	font-weight: 400;
	margin: 0;
	padding: 0;
	color: #442b84;
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	max-width: 100%;
}

/*  ==========================================================================
	Base typography
	========================================================================== */

h1, h2, h3, h4, h5, h6 {
	margin: 1.5em 0 .25em;
	line-height: 1.2;
	font-weight: 700;
}

h1, .h1 { margin: 0; }
h2, .h2 { font-weight: normal; }

.fontsize--mega { font-size: 60px; }
h1, .fontsize--huge{ font-size: 42px; line-height: 1; font-family: "cubano", Helvetica, Arial, sans-serif; font-weight: 400; }
h2, .fontsize--large{ font-size: 32px; line-height: 1; font-family: "cubano", Helvetica, Arial, sans-serif; font-weight: 400;  }
/* h3, .fontsize--med{ font-size: 25px; line-height: 1; font-family: "cubano", Helvetica, Arial, sans-serif; font-weight: 400;  } */
h3, .fontsize--med{ font-size: 18px; line-height: 1; font-family: "cubano", Helvetica, Arial, sans-serif; font-weight: 400;  }
body, h4, .fontsize--reg{ font-size: 15px; }
h5, .fontsize--sml{ font-size: 14px; }
h6, .fontsize--tiny{ font-size: 12px; }


@media only screen and (min-width:550px){
	.fontsize--mega { font-size: 80px; }
	h1, .fontsize--huge{ font-size: 46px; }
	h2, .fontsize--large{ font-size: 36px; }
	/* h3, .fontsize--med{ font-size: 28px; } */
	h3, .fontsize--med{ font-size: 20px; }
	body, h4, .fontsize--reg{ font-size: 15px; }
	h5, .fontsize--sml{ font-size: 14px; }
	h6, .fontsize--tiny{ font-size: 12px; }
}

@media only screen and (min-width:700px){
	.fontsize--mega { font-size: 100px; }
	h1, .fontsize--huge{ font-size: 52px; }
	h2, .fontsize--large{ font-size: 42px; }
	/* h3, .fontsize--med{ font-size: 32px; } */
	h3, .fontsize--med{ font-size: 22px; }
	body, h4, .fontsize--reg{ font-size: 16px; }
	h5, .fontsize--sml{ font-size: 14px; }
	h6, .fontsize--tiny{ font-size: 12px; }
}

@media only screen and (min-width:800px){
	.fontsize--mega { font-size: 120px; }
	h1, .fontsize--huge{ font-size: 56px; }
	h2, .fontsize--large{ font-size: 46px; }
	/* h3, .fontsize--med{ font-size: 36px; } */
	h3, .fontsize--med{ font-size: 24px; }
}

@media only screen and (min-width:1000px){
	.fontsize--mega { font-size: 140px; }
	h1, .fontsize--huge{ font-size: 52px; }
	h2, .fontsize--large{ font-size: 42px; }
	/* h3, .fontsize--med{ font-size: 32px; } */
	h3, .fontsize--med{ font-size: 22px; }
}

@media only screen and (min-width:1200px){
	.fontsize--mega { font-size: 180px; }
	h1, .fontsize--huge{ font-size: 68px; }
	h2, .fontsize--large{ font-size: 46px; }
	/* h3, .fontsize--med{ font-size: 36px; } */
	h3, .fontsize--med{ font-size: 24px; }
	body, h4, .fontsize--reg{ font-size: 17px; }
	h5, .fontsize--sml{ font-size: 14px; }
	h6, .fontsize--tiny{ font-size: 12px; }
}

@media only screen and (min-width:1400px){
	.fontsize--mega { font-size: 220px; }
	h1, .fontsize--huge{ font-size: 75px; }
	h2, .fontsize--large{ font-size: 48px; }
	/* h3, .fontsize--med{ font-size: 40px; } */
	h3, .fontsize--med{ font-size: 28px; }
	body, h4, .fontsize--reg{ font-size: 18px; }
	h5, .fontsize--sml{ font-size: 15px; }
	h6, .fontsize--tiny{ font-size: 13px; }
}

@media only screen and (min-width:1600px){
	.fontsize--mega { font-size: 250px; }
	h1, .fontsize--huge{ font-size: 82px; }
	h2, .fontsize--large{ font-size: 52px; }
	/* h3, .fontsize--med{ font-size: 42px; } */
	h3, .fontsize--med{ font-size: 31px; }
	body, h4, .fontsize--reg{ font-size: 19px; }
	h5, .fontsize--sml{ font-size: 15px; }
	h6, .fontsize--tiny{ font-size: 13px; }
}

strong, b,
.font--bold{ font-weight: 700; }
.font--reg{ font-weight: 400; }

.font--cubano{ font-family: "cubano", Helvetica, Arial, sans-serif; font-weight: 400; }
.font--prox{ font-family: "proxima-nova", Helvetica, Arial, sans-serif; }

.case--lower{ text-transform: lowercase; }
.case--upper{ text-transform: uppercase; }

.text-align--center{ text-align: center; }
.text-align--left{ text-align: left; }
.text-align--right{ text-align: right; }


ul,
ol{ margin: 0 0 1em; padding: 0; }

p{ margin: 0 0 1em; }

/*  ==========================================================================
	base links, buttons, interaction colors
	========================================================================== */

.color--white{ color: #fff; }
.color--red{ color: #fc4400; }
.color--blue{ color: #00a3e5; }
.color--paleblue{ color: #bcd6fc; }
.color--green{ color: #16a847; }
.color--peach{ color: #f9baa8; }
.color--pink{ color: #f79ed3; }
.color--darkgreen{ color: #196051; }
.color--purple{ color: #442b84; }
.color--camel{ color: #877f59; }
.color--yellow{ color: #ffe500; }

.bg--white{ background-color: #fff; }
.bg--red{ background-color: #fc4400; }
.bg--blue{ background-color: #00a3e5; }
.bg--paleblue{ background-color: #bcd6fc; }
.bg--green{ background-color: #16a847; }
.bg--peach{ background-color: #f9baa8; }
.bg--pink{ background-color: #f79ed3; }
.bg--darkgreen{ background-color: #196051; }
.bg--purple{ background-color: #442b84; }
.bg--camel{ background-color: #877f59; }
.bg--yellow{ background-color: #ffe500; }

.border--white{ border-color: #fff; }
.border--red{ border-color: #fc4400; }
.border--blue{ border-color: #00a3e5; }
.border--green{ border-color: #16a847; }
.border--peach{ border-color: #f9baa8; }
.border--pink{ border-color: #f79ed3; }
.border--darkgreen{ border-color: #196051; }
.border--purple{ border-color: #442b84; }
.border--camel{ border-color: #877f59; }
.border--yellow{ border-color: #ffe500; }

.border--bottom { border-bottom-style: solid; border-bottom-width: 1px; padding-bottom: 0.5em; }

a{
    color: inherit;
	text-decoration: none;
}
a:hover{ color: inherit; }

.linkline{ border-bottom: solid 1px rgba(0,212,255, 0.33); }
a:hover .linkline{ border-color: #00d4ff;  }

a .fa{ padding: 0 0 0 .66em; }
a .fa--left{ padding: 0 .66em 0 0; }
a .fa--nopad{ padding: 0; }

.btn{
	background-color: #16a847;
	color: #fff;
	border-radius: 2px;
	display: inline-block;
	margin: 0 .5em .5em 0;
	padding: .5em 1em;
	border: none;
	font-family: "cubano", Helvetica, Arial, sans-serif; font-weight: 400;
	font-size: 1.5em;
	outline: none;
}

.btn--yellow{
	color: #16a847;
	background-color: #ffe500;
}

.btn--pinkshadow{
	box-shadow: -.25em .25em 0px #f79ed3;
	-webkit-transition: box-shadow 150ms ease-out 0ms;
	   -moz-transition: box-shadow 150ms ease-out 0ms;
			transition: box-shadow 150ms ease-out 0ms;
}

.btn--pinkshadow:hover{
	box-shadow: -.33em .33em 0px #f79ed3;
}

.btn--icon{
	padding: .5em;
	font-size: 1.75em;
}

.btn--icon .btnicon{
	display: inline-block;
	width: 1em;
	height: 1em;
	background: url(icon.optin.png) no-repeat center center;
	background-size: contain;
	margin: 0 .25em -.1em 0;
}

.btn .linkline{ border: none; }

.btn:hover{
	color: #fff;
	background-color: #333;
	-webkit-animation: bg-noyellow-hover 2s infinite steps(1);
       -moz-animation: bg-noyellow-hover 2s infinite steps(1);
            animation: bg-noyellow-hover 2s infinite steps(1);
}

.btn--grey{ background: #eee; color: #333; }

.btn--grey:hover{ background: #00d4ff; color: #fff; }

.btn--pink{
	background: #f79ed3;
}

.btn--disabled{
	background: #877f59;
}


a.noanimation,
.noanimation a,
.noanimation a .linkline,
.noanimation a:hover,
.noanimation a:hover .linkline{
    -webkit-animation: none !important;
       -moz-animation: none !important;
            animation: none !important;
}

a:hover .hover--color-noyellow,
a.hover--color-noyellow:hover,
.hover--color-noyellow a:hover{
	-webkit-animation: color-noyellow-hover 2s infinite steps(1);
       -moz-animation: color-noyellow-hover 2s infinite steps(1);
            animation: color-noyellow-hover 2s infinite steps(1);
}

a:hover .hover--bg-noyellow,
a.hover--bg-noyellow:hover,
.hover--bg-noyellow a:hover{
	-webkit-animation: bg-noyellow-hover 2s infinite steps(1);
       -moz-animation: bg-noyellow-hover 2s infinite steps(1);
            animation: bg-noyellow-hover 2s infinite steps(1);
}


@media only screen and (min-width:1000px){
	.btn--icon{ font-size: 2em; padding: .33em; }
}

@-webkit-keyframes color-noyellow-hover {
    0%   { color: #fc4400; }
    25%  { color: #00a3e5; }
	50%  { color: #16a847; }
	75%  { color: #f79ed3; }
    100% { color: #fc4400; }
}
@-moz-keyframes color-noyellow-hover {
	0%   { color: #fc4400; }
    25%  { color: #00a3e5; }
	50%  { color: #16a847; }
	75%  { color: #f79ed3; }
    100% { color: #fc4400; }
}
@keyframes color-noyellow-hover {
	0%   { color: #fc4400; }
    25%  { color: #00a3e5; }
	50%  { color: #16a847; }
	75%  { color: #f79ed3; }
    100% { color: #fc4400; }
}

@-webkit-keyframes bg-noyellow-hover {
    0%   { background-color: #fc4400; }
    25%  { background-color: #00a3e5; }
	50%  { background-color: #16a847; }
	75%  { background-color: #f79ed3; }
    100% { background-color: #fc4400; }
}
@-moz-keyframes bg-noyellow-hover {
	0%   { background-color: #fc4400; }
    25%  { background-color: #00a3e5; }
	50%  { background-color: #16a847; }
	75%  { background-color: #f79ed3; }
    100% { background-color: #fc4400; }
}
@keyframes bg-noyellow-hover {
	0%   { background-color: #fc4400; }
    25%  { background-color: #00a3e5; }
	50%  { background-color: #16a847; }
	75%  { background-color: #f79ed3; }
    100% { background-color: #fc4400; }
}


/*  ==========================================================================
	Basic layout classes
	========================================================================== */

.bd {
	margin: 0 7.14%;
	position: relative;
	min-height: 1px;
}

.bd:after {
	content: "";
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

.padding--top { padding-top: 12%; }
.padding--bottom { padding-bottom: 12%; }
.padding--top-half { padding-top: 7%; }
.padding--bottom-half { padding-bottom: 7%; }
.padding--top-em { padding-top: 1em; }
.padding--bottom-em { padding-bottom: 1em; }

.margin--top { margin-top: 12%; }
.margin--bottom { margin-bottom: 12%; }
.margin--top-half { margin-top: 7%; }
.margin--bottom-half { margin-bottom: 7%; }
.margin--top-em { margin-top: 1em; }
.margin--bottom-em { margin-bottom: 1em; }

.margin--none{ margin: 0; }

@media only screen and (min-width: 550px){
	.padding--top { padding-top: 8.3%; }
	.padding--bottom { padding-bottom: 8.3%; }
	.padding--top-half { padding-top: 5%; }
	.padding--bottom-half { padding-bottom: 5%; }

	.margin--top { margin-top: 8.3%; }
	.margin--bottom { margin-bottom: 8.3%; }
	.margin--top-half { margin-top: 5%; }
	.margin--bottom-half { margin-bottom: 5%; }
	.margin--top-em { margin-top: 1em; }
	.margin--bottom-em { margin-bottom: 1em; }
}

@media only screen and (min-width: 700px){
}

@media only screen and (min-width: 800px){
}

@media only screen and (min-width: 1000px){
	.padding--top { padding-top: 7.14%; }
	.padding--bottom { padding-bottom: 7.14%; }
	.padding--top-half { padding-top: 3.5%; }
	.padding--bottom-half { padding-bottom: 3.5%; }

	.margin--top { margin-top: 7.14%; }
	.margin--bottom { margin-bottom: 7.14%; }
	.margin--top-half { margin-top: 3.5%; }
	.margin--bottom-half { margin-bottom: 3.5%; }
	.margin--top-em { margin-top: 1em; }
	.margin--bottom-em { margin-bottom: 1em; }
}


/*  ==========================================================================
	base nav
	========================================================================== */

nav ul{ margin: 0; padding: 0; list-style: none; }

.inlinenavlist{
	margin: 0 -.75em;
}

.inlinenavlist li{
	display: inline-block;
	margin: 0;
	padding: 0;
}

.inlinenavlist a{
	display: block;
	padding: 0 .75em;
}


/*  ==========================================================================
	siteheader
	========================================================================== */

.siteheaderpadder{
	position: relative;
	font-size: 1.75em;
	line-height: 1;
	height: 1.66em;
}

.siteheader{
	background: none;
	position: fixed;
	z-index: 200;
	left: 0;
	right: 0;
	top: 0;
	font-size: 1.75em;
	line-height: 1;
	height: 1.66em;
	-webkit-transition: height 150ms ease-out 150ms;
	   -moz-transition: height 150ms ease-out 150ms;
			transition: height 150ms ease-out 150ms;

}

.sitelogo{
	display: block;
	margin: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: 1em;
	line-height: 1;
}

.sitelogolink{
	padding: .33em .75em .33em .5em;
	background: #16a847;
	display: block;
	color: #fff;
	width: 4.25em;
	-webkit-transition: width 150ms ease-out 150ms;
	   -moz-transition: width 150ms ease-out 150ms;
			transition: width 150ms ease-out 150ms;
}

.sitelogolink:hover{ color: #fff; }

.sitelogoicon{
	display: block;
	height: 1em;
	width: 1em;
	max-width: 999px;
	float: left
	-webkit-transition: height 150ms ease-out 150ms;
	   -moz-transition: height 150ms ease-out 150ms;
			transition: height 150ms ease-out 150ms;
}

.sitelogowords{
	position: absolute;
	top: .2em;
	left: 1.75em;
	display: block;
	height: 1em;
	color: #ffe500;
	-webkit-transition: opacity 150ms ease-out 250ms;
	   -moz-transition: opacity 150ms ease-out 250ms;
			transition: opacity 150ms ease-out 250ms;
}

.sitelogowords__inner{
	font-size: .6em;
}

.sitelogoimg__img{
	width: auto !important;
	max-width: 999px;
	height: 100%;
}

.optinwords{
	position: absolute;
	bottom: .35em;
	left: 1.75em;
	display: block;
	white-space: nowrap;
	opacity: 0;
	-webkit-transition: opacity 150ms ease-out 0ms;
	   -moz-transition: opacity 150ms ease-out 0ms;
			transition: opacity 150ms ease-out 0ms;
}

/* scrolled */

.hasscrolled .siteheader,
.sitenavopen .siteheader{
	height: 1.66em;
	-webkit-transition: height 150ms ease-out 0ms;
	   -moz-transition: height 150ms ease-out 0ms;
			transition: height 150ms ease-out 0ms;
}

.hasscrolled .sitelogolink,
.sitenavopen .sitelogolink{ width: 4.25em; }

.hasscrolled .sitelogoicon,
.sitenavopen .sitelogoicon{ height: 1em; width: 1em;  }

.hasscrolled .sitelogoicon img,
.sitenavopen .sitelogoicon img{ height: 1em; width: 1em;  }

.hasscrolled .sitelogowords,
.sitenavopen .sitelogowords{
	opacity: 0;
	-webkit-transition: opacity 150ms ease-out 0ms;
	   -moz-transition: opacity 150ms ease-out 0ms;
			transition: opacity 150ms ease-out 0ms;
}

.hasscrolled .optinwords,
.sitenavopen .optinwords{
	opacity: 1;
	transition: opacity 150ms ease-out 250ms;
	transition: opacity 150ms ease-out 250ms;
	transition: opacity 150ms ease-out 250ms;
}


/*
// eyebrow
*/

.eyebrow{
	background: #442b84;
	position: absolute;
	top: 0px;
	left: 0;
	width: 100%;
	height: 1.66em;
}

.eyebrowticker{
	overflow: hidden;
	padding: .33em;
}

.eyebrow ul{
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
	font-size: 1em;
	line-height: 1;
}

.eyebrow li{
	display: inline-block;
	padding: 0 .15em;
}

/*
// sitetools
*/

.sitetools{
	position: absolute;
	bottom: 0;
	right: 0;
}

.sitetools li{
	float: left;
	display: block;
}

.sitetools a{
	padding: .33em .33em .33em .33em;
	display: block;
	background: #16a847;
	width: 1em;
	text-align: center;
	color: #fff;
	line-height: 1em;
	box-shadow: -1px 0 0 rgba(255,255,255,.25);
	vertical-align: middle;
}

.sitetools a .fa{ font-size: .66em; vertical-align: middle; position: relative; top: -.15em; }

.sitetools .sitenav-toggle .fa-remove{ display: none; }
.sitenavopen .sitetools .sitenav-toggle .fa-remove{ display: inline; }
.sitenavopen .sitetools .sitenav-toggle .fa-bars{ display: none; }

.sitetools .search-toggle .fa-remove{ display: none; }
.headersearchopen .sitetools .search-toggle .fa-remove{ display: inline; }
.headersearchopen .sitetools .search-toggle .fa-search{ display: none; }

@media only screen and (min-width: 700px){
	.siteheaderpadder,
	.siteheader{ font-size: 1.75em; }
}

@media only screen and (min-width: 1000px){
	.siteheaderpadder,
	.siteheader{ font-size: 2em; }
}

/*  ==========================================================================
	sitenav
	========================================================================== */

.sitenav{
	background: #ffe500;
	position: fixed;
	bottom: 100%;
	left: 0%;
	height: 100%;
	width: 100%;
	z-index: 199;
	text-align: center;
	-webkit-transition: bottom 250ms ease-out 0ms;
	   -moz-transition: bottom 250ms ease-out 0ms;
			transition: bottom 250ms ease-out 0ms;
	line-height: 1.4;
}

.sitenav:after{
	content: ' ';
	display: block;
	-webkit-transform: rotate(0deg);
	   -moz-transform: rotate(0deg);
			transform: rotate(0deg);
	-webkit-transform-origin: right bottom;
	   -moz-transform-origin: right bottom;
			transform-origin: right bottom;
	-webkit-transition: -webkit-transform 150ms ease-out 0ms;
	   -moz-transition:    -moz-transform 150ms ease-out 0ms;
			transition: 		transform 150ms ease-out 0ms;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ffe500;
	z-index: 1;
}

.sitenavopen .sitenav:after{
	-webkit-transform: rotate(-30deg);
	   -moz-transform: rotate(-30deg);
			transform: rotate(-30deg);
}

.sitenav:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; /* Adjusts for spacing */
}

.sitenav__bd{
	margin: 0;
	display: inline-block;
  	vertical-align: middle;
	position: relative;
	z-index: 2;
}

.sitenav li{
	padding: .1em 0;
	opacity: 0;
	-webkit-transform: translate(0,-10px);
	   -moz-transform: translate(0,-10px);
			transform: translate(0,-10px);
	-webkit-transition: opacity 250ms ease-out 0ms, -webkit-transform 250ms ease-out 0ms;
	   -moz-transition: opacity 250ms ease-out 0ms,     moz-transform 250ms ease-out 0ms;
			transition: opacity 250ms ease-out 0ms, 		transform 250ms ease-out 0ms;
}

.sitenavlink{ line-height: 1.2em; }

.sitenavlink:hover{ color: #442b84; }
.sitenavlink__title{ display: none; }

.sitenavopen .sitenav li:nth-child(1){ -webkit-transition-delay: 150ms; -moz-transition-delay: 150ms; transition-delay: 150ms; }
.sitenavopen .sitenav li:nth-child(2){ -webkit-transition-delay: 250ms; -moz-transition-delay: 250ms; transition-delay: 250ms; }
.sitenavopen .sitenav li:nth-child(3){ -webkit-transition-delay: 350ms; -moz-transition-delay: 350ms; transition-delay: 350ms; }
.sitenavopen .sitenav li:nth-child(4){ -webkit-transition-delay: 450ms; -moz-transition-delay: 450ms; transition-delay: 450ms; }
.sitenavopen .sitenav li:nth-child(5){ -webkit-transition-delay: 550ms; -moz-transition-delay: 550ms; transition-delay: 550ms; }
.sitenavopen .sitenav li:nth-child(6){ -webkit-transition-delay: 650ms; -moz-transition-delay: 650ms; transition-delay: 650ms; }
.sitenavopen .sitenav li:nth-child(7){ -webkit-transition-delay: 750ms; -moz-transition-delay: 750ms; transition-delay: 750ms; }
.sitenavopen .sitenav li:nth-child(8){ -webkit-transition-delay: 850ms; -moz-transition-delay: 850ms; transition-delay: 850ms; }

.sitenavopen,
.sitenavopen body{
	overflow: hidden;
	height: 100%;
	width: 100%;
}

.sitenavopen .sitenav{
	bottom: 0;
}

.sitenavopen .sitenav li{
	opacity: 1;
	-webkit-transform: translate(0,0px);
	   -moz-transform: translate(0,0px);
			transform: translate(0,0px);
}



@media only screen and (min-width:1000px){
	.sitenavlink{ overflow: hidden; height: 1.2em; display: block; }
	.sitenavlink__name{ -webkit-transition: margin 100ms ease-out 0ms; -moz-transition: margin 100ms ease-out 0ms; transition: margin 100ms ease-out 0ms; }

	.sitenavlink:hover .sitenavlink__name{ margin-top: -1.2em; }
	.sitenavlink__title{ display: block; }
}


/*  ==========================================================================
    headersearch
    ========================================================================== */

.headersearch{
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	color: #fff;
	text-align: center;
	z-index: 99;
	height: 0px;
	overflow: hidden;
	background: #16a847;
	-webkit-transition: height 150ms ease-out 0ms;
	   -moz-transition: height 150ms ease-out 0ms;
			transition: height 150ms ease-out 0ms;
}

.headersearchopen .headersearch{ height: 1.66em; }

.headersearch__inner{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: #16a847;
	box-shadow: 0 1px 0 rgba(255,255,255,.15) inset;
}

.headersearchform{  }

.headersearch__label{ display: none; }
.headersearch__input { color: #fff; position: relative; }
.headersearch__input input{
	padding: 0 2em 0 .33em;
	font-size: 1em;
	background: none;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	border: none;
	color: #fff !important;
	position: relative;
	z-index: 1;
	height: 1.66em;
	line-height: 1.66em;
}

.headersearch ::-webkit-input-placeholder{ color: #fff; }
.headersearch ::-moz-placeholder{ color: #fff; }
.headersearch :-moz-placeholder{ color: #fff; }
.headersearch ::placeholder{ color: #fff; }

.headersearch__submit{
	padding: .33em .33em .33em .33em;
    display: block;
    width: 1em;
    text-align: center;
    color: #fff;
    position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
}

.headersearch__submit .fa{
	font-size: .66em;
    vertical-align: middle;
    position: relative;
    top: -.15em;
}

@media only screen and (min-width:600px){


	.headersearch{
		height: 1.66em;
		top: auto;
		bottom: 0;
		left: 8.5em;
		left: 5.5em;
		right: 3.3em;
		background: none;
		-webkit-transition: left 150ms ease-out 150ms;
	  	   -moz-transition: left 150ms ease-out 150ms;
				transition: left 150ms ease-out 150ms;
	}

	.hasscrolled .headersearch,
	.sitenavopen .headersearch{
		-webkit-transition: left 150ms ease-out 0ms;
	  	   -moz-transition: left 150ms ease-out 0ms;
				transition: left 150ms ease-out 0ms;
		left: 5.5em;
	}

	.headersearch__inner{
		width: 100%;
		top: 0;
		left: 100%;
		box-shadow: none;
		height: 100%;
		bottom: auto;
		-webkit-transition: left 150ms ease-out 0ms;
	  	   -moz-transition: left 150ms ease-out 0ms;
				transition: left 150ms ease-out 0ms;
	}

	.headersearchform{
		border-left: solid 1px rgba(255,255,255,.15);
		border-right: solid 1px rgba(255,255,255,.15);
	}

	.headersearchopen .headersearch__inner{
		left: 0;
		-webkit-transition: left 150ms ease-out 0ms;
	  	   -moz-transition: left 150ms ease-out 0ms;
				transition: left 150ms ease-out 0ms;
	}
}

/*  ==========================================================================
	sitefooter
	========================================================================== */

.main{
	position: relative;
	z-index: 2;
}

.sitefooter{
	position: relative;
	z-index: 1;
}

.sitefooter__bd{
	position: relative;
}

/*
// sitefooter__logo
*/

.sitefooterlogo{
	width: 12em;
}

.sitefooterlogo__link{
	display: block;
}

.sitefooterlogo__img{
	display: block;
	width: 100%;
}

/*
// sitefooter__nav
*/

.sitefooternav,
.sitefooterleader{
	padding-left: 4.5em;
}

/*
// sitefooter__nav
*/

.sitefootersocial ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.sitefootersocial li{
	display: inline-block;
}

.sitefootersocial a{
	padding: 0;
	width: 2em;
	height: 2em;
	line-height: 2em;
	text-align: center;
	border-radius: 50%;
	display: inline-block;
}

.sitefootersocial a:hover{
	background-color: #00a3e5;
}

/*
// sitefooterlegal
*/

.sitefooterlegal{
	border-top: solid 1px #dac01a;
	padding-top: 1em;
	position: relative;
}

.legallinks a{ padding-right: 0; }

@media only screen and (min-width: 360px){
	.sitefooter__nav ul li{
		width: 50%;
		float: left;
	}
	/*
	.sitefooterlegal{
		margin-left: 4.5em;
	}
	*/
}




@media only screen and (min-width: 1000px){
	.sitefooternav{
		padding-left: 0;
		padding-top: 1.5em;
	}

	.sitefooterleader{
		padding-left: 0;
		padding-top: 1.5em;
	}

	.sitefooterlegal__copyright{
		position: absolute;
		top: 1.33em;
		left: 55%;
		padding-left: 3em;
    }

}

@media only screen and (min-width: 1200px){
	.sitefooterlogo{ width: 15em; }
	.sitefooternav, .sitefooterleader{ padding-top: 1.8em; }
	/* .sitefooterlegal{ margin-left: 5.5em; } */

	.sitefooterlegal__copyright{
        left: 75%;
    }
}

/*  ==========================================================================
	Page
	========================================================================== */

.pageheader{
	text-align: center;
	position: relative;
}

.pageheader__bd{
	position: relative;
	z-index: 2;
}


.pageheader h1{
	margin-left: auto;
	margin-right: auto;
	margin-bottom: .33em;
	max-width: 10em;
}

.pageheader--left h1{
	margin-left: 0;
}

.pageheader .leader{
	margin: 0 auto;
	max-width: 30em;
}

/*
// pageheader--img
*/

.pageheader--img{
	background: #442b84;
	overflow: hidden;
}

.pageheader__img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
	opacity: 1;
}


/*
// pageheader--video
*/


.pageheader__video{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
	opacity: 0;
	-webkit-transition: opacity 2000ms ease-out 0ms;
	   -moz-transition: opacity 2000ms ease-out 0ms;
			transition: opacity 2000ms ease-out 0ms;
}


.has-videoheader--playing .pageheader__video{ opacity: 1; }
.no-touch .has-videoheader .pageheader__img{ display: none; }

/* postheader */

.postheaderimg{
	padding: 50% 0 0;
	position: relative;
	background: #eee;
	overflow: hidden;
}
.has-videoheader--playing .postheaderimg .pageheader__video{ opacity: 1; }
.pageheaderimg--loaded .postheaderimg .pageheader__img{ opacity: 1; }


/*  ==========================================================================
    share icons
    ========================================================================== */

.shareicons{
	color: #fff;
}

.shareiconslist{
}

.shareiconslist li{ margin: 0; display: inline-block; }

.sharelink{
	display: inline-block;
	height: 2em;
	background: #16a847;
	line-height: 2em;
	margin: 0;
	color: #fff;
    border-radius: 1em;
	font-size: 125%;
}

.sharelink:after { content: ""; height: 0; visibility: hidden; clear: both; display: block; }

/*
.sharelink--facebook{ background: #3b5998; }
.sharelink--twitter{ background: #00aced; }
.sharelink--linkedin{ background: #007bb6; } */

.shareicon{
	width: 2em;
	text-align: center;
	display: block;
	float: left;
	padding: 0;
	border: none;
}

.shareicon .fa{ display: inline-block; padding: 0; }
 a:hover .shareicon .fa{ display: inline-block; padding: 0; }

.sharetext{
	overflow: hidden;
	font-size: 12px;
	display: block;
	float: left;
	text-align: right;
	width: 0;
	-webkit-transition: all .15s ease-in-out 0s;
	   -moz-transition: all .15s ease-in-out 0s;
	        transition: all .15s ease-in-out 0s;
	text-align: left;
}

.sharelink:hover .sharetext{
	width: 6em;
}

/* reverse sharelink when image is present */
.pageheader--img .sharelink{ background: #fff; }
.pageheader--img .sharelink--facebook,
.pageheader--img .sharelink--facebook:hover{ color: #3b5998; }
.pageheader--img .sharelink--twitter,
.pageheader--img .sharelink--twitter:hover{ color: #00aced; }
.pageheader--img .sharelink--linkedin,
.pageheader--img .sharelink--linkedin:hover{ color: #007bb6; }

@media only screen and (min-width: 700px){
    .sharelink{ line-height: 3em; height: 3em; border-radius: 1.5em; }
    .shareicon{ width: 3em; }
}


/*  ==========================================================================
	content
	========================================================================== */


.content{
	margin: 0 auto;
	box-sizing: border-box;

}

@media only screen and (min-width:550px){
	.content{ width: 83.4%; padding: 0 .5em;  }
}

@media only screen and (min-width:700px){
	.content{ padding: 0 0.625em; }
}

@media only screen and (min-width:800px){
	.content{ width: 66.8%; }
}

@media only screen and (min-width:1000px){
	.content{ width: 60%; padding: 0 0.75em; }
}

@media only screen and (min-width:1200px){
	.content{ width: 50%; }
}

@media only screen and (min-width:1400px){

}

/*  ==========================================================================
	.posts
	========================================================================== */


.posts{
	margin-bottom: -3em;
}

.post{
	margin-bottom: 3em;
	position: relative;
	border-bottom: 1px solid #442b84;
	padding-bottom: 1.5em;
}

.post__categories{ margin-bottom: .5em; }
.post__heading{ margin: 0 0 .5em; line-height: 1.2; }
.post:hover .post__heading {
	-webkit-animation: color-noyellow-hover 2s infinite steps(1);
	-moz-animation: color-noyellow-hover 2s infinite steps(1);
	animation: color-noyellow-hover 2s infinite steps(1);
}

.post__tags{
	padding: 0 .66em .66em 0;
	position: absolute;
	top: 0;
	left: 0;
	background: #f4f4f4;
	z-index: 2;
	-webkit-transition: -webkit-box-shadow 150ms ease-out 0s;
	   -moz-transition:    -moz-box-shadow 150ms ease-out 0s;
			transition: 		box-shadow 150ms ease-out 0s;
}

.post__tags:hover{
	-webkit-box-shadow: 10px 10px 25px rgba(0,0,0,.25);
	   -moz-box-shadow: 10px 10px 25px rgba(0,0,0,.25);
			box-shadow: 10px 10px 25px rgba(0,0,0,.25);
}

.post__link{
	position: relative;
	z-index: 1;
}

.postimg{
	padding: 66.6% 0 0;
	position: relative;
	overflow: hidden;
	margin-bottom: 1em;
	-webkit-transition: -webkit-box-shadow 150ms ease-out 0s;
	   -moz-transition:    -moz-box-shadow 150ms ease-out 0s;
			transition: 		box-shadow 150ms ease-out 0s;
}

.postimg__img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #eee;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.relatedposts .post{
	padding-bottom: 0;
	border-bottom: none;
}

.post__postdate{ margin-bottom: .5em; }

@media only screen and (min-width:700px) and (max-width:1199px){
	.posts--related .gd-u:nth-child(4){
		display: none;
	}
}

.socialfeed {
	padding: 1em;
	margin-bottom: 2em;
}
.socialfeed h3 {
	margin-top: 0;
}


/*  ==========================================================================
	paging
	========================================================================== */

.paging{ position: relative; padding: 0; margin-bottom: 0; border-top: solid 1px #ddd; }

.paging__numbers{ display: none; }
.paging__numbers a,
.paging__numbers span{
	padding: 1.5em;
	border: none;
	border-right: solid 1px #ddd;
	display: block;
	float: left;
	min-width: 1.4em;
	text-align: center;
}

.paging__numbers .current{ color: #aaa; }

.paging__nextprev{
	text-align: center;
	padding: .5em;
}

.paging__nextprev{ text-align: center; }
.paging__nextprev .btn{ margin-bottom: 0; }

.paging__pager--older a:hover{ background: #afb472; }

.paging__nextprev--bothpresent .paging__pager--older{ border-left: solid 1px #e0e0d9; }

@media only screen and (min-width:800px){
	.paging{ border-bottom: solid 1px #ddd; }
	.paging__bd{ border-bottom: solid 1px #d4d4cb; border-top: solid 1px #d4d4cb; }
	.paging__numbers{ display: block; }
	.paging__nextprev{ position: absolute; padding: 0; right: 0; top: 50%; margin-top: -1.75em; }
	.paging__pager{
		display: inline-block;
		padding: .5em;
	}
}



/*  ==========================================================================
	Search results page
	========================================================================== */

.searchpageform{

}

.searchpagefield{
	position: relative;
}

.searchpagefield input{ background: none; padding-right: 4em; position: relative; z-index: 1; }

.searchpagesubmit{
	padding: 1em 1.25em;
	border: none;
	position: absolute;
	z-index: 2;
	top: 1px;
	right: 1px;
	background: none;
	text-align: center;
}

.searchpagesubmit:hover{
	background: #eee;
}


/*  ==========================================================================
	flex
	========================================================================== */

.flex{

}

.flex__heading{
	margin: 0 0 .33em;
}

.flex--fullwidth + .flex--fullwidth{
    margin-top: -12%;
}

@media only screen and (min-width: 1000px){
    .addwhitespace--left{
        margin-left: 7.14%;
    }
}

@media only screen and (min-width: 550px){
    .flex--fullwidth + .flex--fullwidth{
        margin-top: -8.3%;
    }
}

@media only screen and (min-width: 1000px){
    .flex--fullwidth + .flex--fullwidth{
        margin-top: -7.14%;
    }
}


/*  ==========================================================================
	flexline
	========================================================================== */

.flexline__line{
    border-top: solid 1px #ddd;
    height: 0;
}

/*  ==========================================================================
	flexcols
	========================================================================== */

.content--cols{
	margin-bottom: -2em;
	padding: 0;
}

.flex--contentcols .content:last-child{ padding-bottom: 0; }

.contentcol{
	margin-bottom: 2em;
}

@media only screen and (min-width:550px){
	.content--cols--2,
	.content--cols--3,
	.content--cols--4{ width: 100%; }
}

@media only screen and (min-width:800px){
	.content--cols--2,
	.content--cols--3,
	.content--cols--4{ width: 100%; }
}

@media only screen and (min-width:1000px){
	.content--cols--2{ width: 0 83.4%; }
	.content--cols--3,
	.content--cols--4{ width: 100%; }
}

@media only screen and (min-width:1200px){
	.content--cols--2{ width: 0 83.4%; }
	.content--cols--3,
	.content--cols--4{ width: 100%; }
}

@media only screen and (min-width:1400px){
	.content--cols--2{ width: 0 83.4%; }
	.content--cols--3{ width: 100%; }
	.content--cols--4{ width: 100%; }
}

.content--cols{
	margin-bottom: -2em;
}

/*  ==========================================================================
	flex--faqs
	========================================================================== */


.faqs{
	border-top: 1px solid #ddd;
    position: relative;
}

.faq{
	display: block;
	position: relative;
    border-bottom: 1px solid #ddd;
}

.faq__question{
	margin: 0;
	border-top: none;
	padding: 1em 0 1em 3em;
	position: relative;
	cursor: pointer;
}

.faq__question:hover{ color: #888; }

.faq__question .fa{
	position: absolute;
	top: 1em;
	left: 1em;
	display: block;
	line-height: 1.2;
	-webkit-transition: -webkit-transform 150ms ease-out 0s;
	   -moz-transition: -moz-transform 150ms ease-out 0s;
	transition: transform 150ms ease-out 0s;
}

.faq__answer .inner{
	margin: 0;
	padding: 0em 0em 1em 3em;
}

.faq__answer{
    height: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transform: translate(0, -1em);
       -moz-transform: translate(0, -1em);
            transform: translate(0, -1em);
    -webkit-transition: height 0ms linear 260ms, opacity 250ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
       -moz-transition: height 0ms linear 260ms, opacity 250ms ease-out 0ms,    -moz-transform 150ms ease-out 0ms;
            transition: height 0ms linear 260ms, opacity 250ms ease-out 0ms,         transform 150ms ease-out 0ms;
}

.faq--open .faq__answer{
    -webkit-transition: height 0ms linear 0ms, opacity 250ms ease-out 10ms, -webkit-transform 150ms ease-out 10ms;
       -moz-transition: height 0ms linear 0ms, opacity 250ms ease-out 10ms,    -moz-transform 150ms ease-out 10ms;
            transition: height 0ms linear 0ms, opacity 250ms ease-out 10ms,         transform 150ms ease-out 10ms;
    height: auto;
    opacity: 1;
    -webkit-transform: translate(0, 0em);
       -moz-transform: translate(0, 0em);
            transform: translate(0, 0em);
}

.faq--open .faq__question{ color: #6e6f71; }

.faq--open .faq__question .fa{
	-webkit-transform: rotate(-180deg);
	   -moz-transform: rotate(-180deg);
			transform: rotate(-180deg);
}

/*  ==========================================================================
	Flex slides
	========================================================================== */

.flexslides{
    max-width: 100%;
    overflow: hidden;
}

.flexslides .owl-controls{
    position: absolute;
    top: 0em;
    left: 0;
    right: 0;
    text-align: center;
}

.flexslide{
    position: relative;
	text-align: center;
}

.flexslideimg{
    padding: 50% 0 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}


.flexslide__content{
    background: #fff;
    padding: 2em 2em 0;
    margin: -3em 0 0;
    box-sizing: border-box;
    text-align: left;
}

.flexslide__heading{ margin-top: 0; }
/*
.flexslide__heading{
    margin: 0 0 .5em;
} */

.flexslides.owl-carousel .flexslide__content{
    opacity: 0;
    -webkti-transform: translate(0px, 20px);
       -moz-transform: translate(0px, 20px);
            transform: translate(0px, 20px);
    -webkit-transition: opacity 500ms ease-out 250ms, -webkit-transform 500ms ease-out 250ms;
       -moz-transition: opacity 500ms ease-out 250ms,    -moz-transform 500ms ease-out 250ms;
            transition: opacity 500ms ease-out 250ms,         transform 500ms ease-out 250ms;
}

.flexslides.owl-carousel .active .flexslide__content{
    opacity: 1;
    -webkti-transform: translate(0px, 0px);
       -moz-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
}

.flexslides .owl-dots{
    text-align: center;
    display: inline-block;

}
.flexslides .owl-dot{
    display: inline-block;
    margin: 0;
    color: #888;
}

.flexslides .owl-dot span{
    display: block;
    width: 2.5em;
    height: 2.5em;
    line-height: 2.5em;
    background: #fff;
	border: none;
	border-left: solid 1px #eee;
    line-height: 1em;
    position: relative;
	border-radius: 0;
	opacity: 1;
}

.flexslides .owl-dot:first-child span{ border-left: none; }

.flexslides .owl-dot span:before{
    font-size: 11px;
    line-height: 1em;
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -.5em;
    left: 0;
    right: 0;
    text-align: center;
}
.flexslides .owl-dot:nth-child(1) span:before{ content: '1'; }
.flexslides .owl-dot:nth-child(2) span:before{ content: '2'; }
.flexslides .owl-dot:nth-child(3) span:before{ content: '3'; }
.flexslides .owl-dot:nth-child(4) span:before{ content: '4'; }
.flexslides .owl-dot:nth-child(5) span:before{ content: '5'; }
.flexslides .owl-dot:nth-child(6) span:before{ content: '6'; }

.flexslides .owl-dot:hover{ color: #111; }
.flexslides .owl-dot.active{ color: #111; font-weight: 800; }

@media only screen and (min-width:550px){
    .flexslide__content{
        width: 90.6%;
        display: inline-block;
    }

	.flexslide--left .flexslide__content{ margin-left: auto; margin-right: auto; }
}

@media only screen and (min-width:700px){
	.flexslide--left{ text-align: left; }
	.flexslide--right{ text-align: right; }
	.flexslide--center{ text-align: center; }

	.flexslide--right .flexslide__content{ margin-right: 0em; }
	.flexslide--left .flexslide__content{ margin-left: 0em; }
    .flexslide__bd{
        padding-top: 12%;
        padding-bottom: 12%;
        position: relative;
        z-index: 2;
    }

    .flexslideimg{
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        padding:0;
        height: 100%;
        width: 100%;
    }

    .flexslide__content{ margin: 0; padding: 2.5em; width: 50% }
}


@media only screen and (min-width:1000px){
    .flexslide__content{ margin: 0; padding: 3em; width: 33.3% }
}

@media only screen and (min-width:1400px){
    .flexslide__content{ width: 28.5% }
    .flexslide__bd{
        padding-top: 10%;
        padding-bottom: 10%;
    }
}

/*  ==========================================================================
	flex--imgfeature
	========================================================================== */

.fleximgfeature{
}

.fleximgfeaturecontent__heading{
	margin: 0 0 .5em;
}

.fleximgfeature__imgcontainer--last{ display: none; }

.fleximgfeature__img{
	background-color: #000;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	padding: 66.6% 0 0;
}



@media only screen and (min-width: 1000px){
	.fleximgfeature + .fleximgfeature{ margin-top: -3.5%; }

	.fleximgfeature__imgcontainer{ margin-bototm: 0; }

	.fleximgfeature__img{ padding: 100% 0 0; }
	.fleximgfeature--right .fleximgfeature__imgcontainer--first{ display: none; }
	.fleximgfeature--right .fleximgfeature__imgcontainer--last{ display: inline-block; }
}

@media only screen and (min-width: 1200px){
	.fleximgfeaturecontent{ padding: 0 14.3%; }
}

@media only screen and (min-width: 1400px){
	.fleximgfeaturecontent{ padding: 0 20%; }
}



/*  ==========================================================================
	flex--iconlist
	========================================================================== */

.flexiconlist{
}

.iconlist{
	margin-bottom: -2em;
}

.gd-g .iconlistitem{
	text-align: center;
}

.iconlistitem{
	text-align: center;
	margin-bottom: 2em;
}

.iconlistitem__img{
	width: 3.5em;
	display: block;
	margin: 0 auto 1em;
}

.iconlistitem__heading{
	margin: 0 0 .5em;
}

@media only screen and (min-width:700px){
	.iconlist{ margin-bottom: -2.5em; }
	.iconlistitem{ margin-bottom: 2.5em; }

	.iconlist--rows-4{
		margin-left: -14%;
		margin-right: -14%;
	}
}

@media only screen and (min-width:1000px){
	.iconlist{ margin-bottom: -3em; }
	.iconlistitem{ margin-bottom: 3em; }
}

/*  ==========================================================================
	flex--images
	========================================================================== */

.galleryitem{ margin-bottom: 2em; }


.galleryitem__img{
	width: 100%;
	display: block;
}


.galleryitem__caption{
	margin-top: 1em;
	color: #888;
}

.galleryitem__caption:after{
	content: ' ';
	display: block;
	width: 1.5em;
	border-bottom: solid 1px #ddd;
	margin: 1em 0 0;
}


/*  ==========================================================================
	flex featuredposts
	========================================================================== */


.flex--featuredposts{
}


.flex--featuredposts .fpleader{
	text-align: center;
}

.flex--featuredposts .fpleader{ max-width: 35em; margin: 0 auto 2em; }
.flex--featuredposts .fpleader p{ margin: 0 0 .5em; }

@media only screen and (min-width:700px){
	.flexpostcount--1 .fpleader{ text-align: left; }
	.flexpostcount--1 .fpleader .leader{ margin-right: 10%; }
}

@media only screen and (min-width:800px){
	.flexpostcount--1 .fpleader{ text-align: left; }
	.flexpostcount--1 .fpleader .leader{ margin-right: 15%; }
}



/*  ==========================================================================
	flex--quote
	========================================================================== */

.flexquote{
	position: relative;
}

.flexquote__bd{
	position: relative;
	z-index: 2;
}

.flexquote__quote{
	margin: 0;
	padding: 0;
}

.flexquote__quote p{ margin: 0 0 0.5em; }

.flexquote__quotemark{
	line-height: 1;
	font-family: Georgia, Times New Roman, serif;
	height: .75em;
	font-weight: bold;
}


.flexquote__cite{
	margin-top: -.5em;
	text-align: right;
	font-style: normal;
	display: block;
}

/* flexquote--img */

.flexquote--withimg{
	color: #fff;
	background: #000;
	overflow: hidden;
}

.flexquote__img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	opacity: 1;
	-webkit-transform: scale(1,1);
	   -moz-transform: scale(1,1);
			transform: scale(1,1);
}

@media only screen and (min-width:550px){
}

@media only screen and (min-width:800px){
}

@media only screen and (min-width:1200px){
}


/*  ==========================================================================
	flex--video
	========================================================================== */

.flexvideo{
}

.flexvideo__videocode{
	padding: 56.6% 0 0;
	position: relative;
}

.flexvideo__videocode *{ display: none; }

.flexvideo__videocode iframe{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.flexvideo__caption{
	margin-top: 1em;
	color: #888;
}

.flexvideo__caption:after{
	content: ' ';
	display: block;
	width: 1.5em;
	border-bottom: solid 1px #ddd;
	margin: 1em 0 0;
}

/*  ==========================================================================
	flex cta
	========================================================================== */

.flexcta{
	text-align: center;
	position: relative;
}

.flexcta__bd{
	position: relative;
	z-index: 2;
}

.flexcta__leader{
	max-width: 30em;
	margin-left: auto;
	margin-right: auto;
}

.flexcta__cta a{ margin: 0 .5em .75em; display: inline-block; }

/* flexquote--img */

.flexcta--withimg{
	color: #fff;
	background: #000;
	overflow: hidden;
}

.flexcta__img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	opacity: 1;
}

/*  ==========================================================================
	Flex tiles
	========================================================================== */

.tiles{
}

.tiles.gd-g{
	margin-left: -.5em;
	margin-right: -.5em;
	margin-bottom: -1em;
}

.tiles .gd-u{
	padding-left: .5em;
	padding-right: .5em;
}

.tile{
	position: relative;
	overflow: hidden;
	display: block;
	margin-bottom: 1em;
    -webkit-transform: all .2s ease;
       -moz-transform: all .2s ease;
            transform: all .2s ease;
}

.tilecontent{
	padding: 1.5em;
	position: relative;
}
.tile:hover .color--white,
.tile:hover .color--red,
.tile:hover .color--blue,
.tile:hover .color--paleblue,
.tile:hover .color--green,
.tile:hover .color--peach,
.tile:hover .color--pink,
.tile:hover .color--darkgreen,
.tile:hover .color--purple,
.tile:hover .color--camel,
.tile:hover .color--yellow {
	color: #fff;
}
.tile--img .tilecontent { padding: 0; }

.tile__heading{
	margin: 0 0 .3em;
}

.tile__cta{
	text-decoration: underline;
	padding-right: 2em;
	display: inline;
	position: relative;
}

.tile__cta:after {
	content: ' ';
	display: block;
	width: 1.5em;
	height: 1em;
	opacity: 0;
	background: url(arrow.right.png) no-repeat 50% top;
	position: absolute;
	bottom: 0;
	right: 0;
	background-size: contain;
	transform-origin: center top;
	pointer-events: none;
	-webkit-animation: arrow-cta 500ms infinite;
	   -moz-animation: arrow-cta 500ms infinite;
			animation: arrow-cta 500ms infinite;
}
.tile:hover .tile__cta:after {
	opacity: 1;
}
@-webkit-keyframes arrow-cta {
	0%   { margin-right: 0; }
	50% { margin-right: -.3em; }
}
@-moz-keyframes arrow-cta {
	0%   { margin-right: 0; }
	50% { margin-right: -.3em; }
}
@keyframes arrow-cta {
	0%   { margin-right: 0; }
	50% { margin-right: -.3em; }
}

.tilecontent{ z-index: 2; }

.tilebgimg{
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}


@media only screen and (min-width:550px){


	.tile--sml{ padding: 100% 0 0; }
	.tile--sml .tilecontent{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}

	.tile--med{ padding: 74% 0 0; }
	.tile--med .tilecontent{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}

	.tile--img .tilecontent { position: relative; }
}

@media only screen and (min-width:550px) and (max-width:999px){
	.gd-u-tile--med{ width:57%; }
	.gd-u-tile--sml{ width:43%; }
}

@media only screen and (min-width:700px){
	.tile--large .tilecontent{ padding-right: 12em; }
	.tile--large .tile__leader{ padding-right: 12em; }
}

@media only screen and (min-width:1000px){

	.tile--large{ padding: 59% 0 0; }
	.tile--large .tilecontent{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}

	.tile--large .tilecontent{ padding-right: 1.5em; }
	.tile--large .tile__leader{ padding-right: 0; }


}

@media only screen and (min-width:1200px){
	.tilecontent{ padding: 2em; }
}

@media only screen and (min-width:1400px){
	.tilecontent{ padding: 2.5em; }
}

@media only screen and (min-width:1600px){
	.tilecontent{ padding: 3em; }
}


.tile--img{ padding: 0; }
.tile--img .tilecontent { position: relative; }

.tile__img{
    display: block;
    width: 100%;
}



/*  ==========================================================================
	Flex tiles
	========================================================================== */

.tiles--fullwidth.gd-g{
    margin-bottom: 0;
}

.tiles--fullwidth .gd-u{
    padding: 0;
}

.tiles--fullwidth .tile{ margin: 0; }

@media only screen and (min-width: 700px){
    .tiles--fullwidth .gd-u-gt700-1-2{ width: 50%; }
}


/*  ==========================================================================
	Flex pledge count
	========================================================================== */

.countnumber h2 { margin: 0; }


/*  ==========================================================================
	Team page
	========================================================================== */

.team {
    border: none;
    margin: 0;
}

.teamheader{
	border-bottom: solid 1px;
}

.teammember { position: relative; z-index: 1;}
.teammember.active { z-index: 5; }
.teammember:hover { cursor: pointer; }
.teammember__name { margin-top:0; text-align: center; position: relative; z-index: 2; }
.teammember__name:hover {
	-webkit-animation: color-noyellow-hover 2s infinite steps(1);
	   -moz-animation: color-noyellow-hover 2s infinite steps(1);
			animation: color-noyellow-hover 2s infinite steps(1);
}
.active .color--white-active { color: #fff; }
.active .color--red-active { color: #fc4400; }
.active .color--blue-active { color: #00a3e5; }
.active .color--paleblue-active { color: #bcd6fc; }
.active .color--green-active { color: #16a847; }
.active .color--peach-active { color: #f9baa8; }
.active .color--pink-active { color: #f79ed3; }
.active .color--darkgreen-active { color: #196051; }
.active .color--purple-active { color: #442b84; }
.active .color--camel-active { color: #877f59; }
.active .color--yellow-active { color: #ffe500; }

.teammember__popupwraper{
	position: relative;
	z-index: 1;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	-webkit-transition: opacity 200ms ease-in-out 0ms, max-height 200ms ease-in-out 0ms;
       -moz-transition: opacity 200ms ease-in-out 0ms, max-height 200ms ease-in-out 0ms;
            transition: opacity 200ms ease-in-out 0ms, max-height 200ms ease-in-out 0ms;
}

.active .teammember__popupwraper{
    opacity: 1;
    max-height: 999em;
    margin-bottom: 2em;
	margin-top: -1.66em;
}

.teammember__popup {
	text-align: left;
    position: relative;
}

.teammember__content {
	padding: 1.5em;
}

.teammemberheader{ margin: 0 0 1.5em; }
.teammember__becauseheading { margin: 0; text-align: center;}

.teammemberpic{
	width: 50%;
	margin: 0 auto 1em;
}

.teammemberpic__img {
    background-size: cover;
    background-position: 50% 50%;
    padding: 100% 0 0;
}

.teammember__cta{ margin-top: 1em; }

.popupwindow{
	display: none;
}

@media only screen and (min-width:550px){
	.teammember__becauseheading{ text-align: left; }
	.teammember__content { padding: 2em; }
	.teammemberheader{ margin: 0 0 2em; }
	.teammemberpic{
		width: 50%;
		padding-right: 2em;
		margin-bottom: 2em;
		float: left;
	}

}

@media only screen and (min-width:700px){
    .teammember__name { text-align: left; }
    .teammember__popup {
        -webkit-transition: opacity 200ms ease-in-out 0ms, max-height 0ms linear 0ms;
           -moz-transition: opacity 200ms ease-in-out 0ms, max-height 0ms linear 0ms;
                transition: opacity 200ms ease-in-out 0ms, max-height 0ms linear 0ms;
    }
    .active .teammember__popup{
        -webkit-transition: opacity 200ms ease-in-out 0ms, z-index 0ms linear 200ms, max-height 0ms linear 200ms;
           -moz-transition: opacity 200ms ease-in-out 0ms, z-index 0ms linear 200ms, max-height 0ms linear 200ms;
                transition: opacity 200ms ease-in-out 0ms, z-index 0ms linear 200ms, max-height 0ms linear 200ms;
    }
}

@media only screen and (min-width: 1000px){
	.teammember__popupwraper{ display: none; }
	.popupwindow{ display: inline-block; }
	.teammemberpic{ margin-left: -30%; width: 60%; }
	.teammemberpic__img{ margin-left: -2em; }

	.teammembers{
		position: relative;
		z-index: 1;
	}

	.popupwindow{
		position: relative;
		z-index: 2;
	}

	.teammember__name{
		position: relative;
	}

}

/*  ==========================================================================
	page: manifesto
	========================================================================== */

.page--manifesto .siteheaderpadder{ background: #f9baa8;}

.manifesto{
	position: relative;
}

.manifestoheader h1{
	width: 2em;
}

.manifestodots{
	border-bottom: dotted 3px #196051;
	margin: 7.14% 0;
}

.manifesto .sharelink{ background-color: #196051; }

.manifestoshare{ margin: 7.14% 0 0; }

@media only screen and (min-width: 550px){


	.manifesto:before{
		content: ' ';
		display: block;
		border-left: solid 1px #196051;
		position: absolute;
		top: 0;
		left: 4%;
		bottom: 0;
	}

	.manifesto__dot{
		position: absolute;
		left: -2%;
		top: 50%;
		width: 1em;
		height: 1em;
		border-radius: 50%;
		background: #196051;
		margin-top: -.5em;
	}

	.manifesto__dot--first{ top: 25%; }
	.manifesto__dot--middle{ top: 50%; }
	.manifesto__dot--last{ top: 75%; }
}

@media only screen and (min-width:800px){

	.manifesto:before{ left: 9%; }

	.manifesto__dot{ left: 0; }

	.manifestodots{ margin: 10% 0; }
	.manifestoshare{ margin: 10% 0 0; }
}

@media only screen and (min-width:1000px){
	.manifesto:before{ left: 13%; }
	.manifesto__dot{ left: 5%; width: 1.5em; height: 1.5em;  }
}

@media only screen and (min-width:1200px){
	.manifesto:before{ left: 20%; }
	.manifesto__dot{ left: 12%; }
}

/*  ==========================================================================
	page: goodnews
	========================================================================== */

.page--goodnews .siteheaderpadder{ background: #442b84; }

.goodnews{
	position: relative;
	z-index: 10;
}

.goodnews + .flex{
	position: relative;
	z-index: 1;
}

.pageheader--goodnews{
	text-align: left;
}
.pageheader--goodnews .pageheader__leader{
	max-width: 21em;
	margin: 0;
	line-height: 1.3;
}

.goodnews__header{
	position: relative;
	z-index: 3;
}

.goodnews__bd{
	position: relative;
	z-index: 2;
}

/*
// good news item
*/

.posts{
	margin-bottom: -3em;
}

.goodnewsitem{
	margin-bottom: 3em;
	position: relative;
}

.goodnewsitem__heading{ margin: 0 0 .5em; line-height: 1.2; }

.goodnewsitem:hover .goodnewsitem__heading {
	-webkit-animation: color-noyellow-hover 2s infinite steps(1);
	-moz-animation: color-noyellow-hover 2s infinite steps(1);
	animation: color-noyellow-hover 2s infinite steps(1);
}
.goodnewsitembody{
	position: relative;
}

.goodnewsitembody--open{
	background: #ffe500;
	display: none;
}

.goodnewsitembody__inner{
	padding: 1em;
}

.goodnewsitem__link{
	position: relative;
	z-index: 1;
}

.goodnewsitem__cta{

}

.goodnewsitem__cta span{
	display: inline-block;
	text-decoration: underline;
	cursor: pointer;
	margin: 0 1em 0 0;
}

.goodnewsitem__cta a{
	display: inline-block;
	text-decoration: underline;
	cursor: pointer;
	margin: 0 1em 0 0;
}

.goodnewsitemimg{
	padding: 65% 0 0;
	position: relative;
	border-bottom: solid 3px #ffe500;
	margin-bottom: 0;
	/* -webkit-transition: -webkit-box-shadow 150ms ease-out 0s;
	   -moz-transition:    -moz-box-shadow 150ms ease-out 0s;
			transition: 		box-shadow 150ms ease-out 0s; */
}

.goodnewsitemimg__img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #eee;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.goodnewsitemimg__videoplay{
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	text-align: center;
	margin-top: -.5em;
	line-height: 1em;
}

.goodnewsitem--first .goodnewsitemimg{
	margin: 0;
}

.firstitemleader{
	max-height: 9.4em;
	overflow: hidden;
	margin-bottom: 1em;
	-webkit-transition: max-height 150ms ease-out 0ms;
	   -moz-transition: max-height 150ms ease-out 0ms;
			transition: max-height 150ms ease-out 0ms;
}

.firstitembody{
	position: relative;
}

.firstitembody--full{ display: none; }

.opengoodnewsitem{ cursor: pointer; }

/* open */

.goodnewsitem--open .goodnewsitembody__inner{ display: none; }
.goodnewsitem--open .goodnewsitembody--open{ display: block; }
.goodnewsitem--open .goodnewsitembody--open .goodnewsitembody__inner{ display: block; }

.goodnews .gd-u{
	position: relative;
	z-index: 1;
}

.goodnews .gd-u--item--open{
	z-index: 2;
}

.goodnewsitem__postnumber{ display: none; }

.goodnewsitempostnumber__remove{ display: none; }

.goodnewsitempopup{
}

.goodnewsitempopup__iframe{
	position: relative;
	padding: 56.6% 0 0;
	width: 100%;
}

.goodnewsitempopup__iframe iframe{
	top: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 100%;
}

.goodnewsgif{
	margin-bottom: 3em;
}

.goodnewsgif__img{
	display: block;
	width: 100%;
	max-width: 450px;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (max-width:699px){
	.goodnewsitem--first.goodnewsitem--open .firstitemleader{
		max-height: 999em;
	}
}

@media only screen and (min-width:700px){
	.goodnewsitem--first{
		position: relative;
		background: #ffe500;
	}

	.goodnewsitem--first{
		padding-left: 50%;
	}

	.goodnewsitem--first .goodnewsitemimg{
		padding: 0;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 50%;
	}

	.firstitembody__bd{
		padding: 14.28%;
		margin: 0;
	}

	.firstitembody--full{
		position: absolute;
		top:0;
		left: 0;
		right:0;
		z-index: 2;
	}

	.goodnewsitem--first.goodnewsitem--open .firstitembody--full{
		display: block;
	}

	.firstitembody--full .firstitemleader{ max-height: 999em; }

}

@media only screen and (min-width:1000px){
	.goodnewsitem__postnumber--1,
	.goodnewsitem__postnumber--6{ color: #fc4400; }
	.goodnewsitem__postnumber--2,
	.goodnewsitem__postnumber--7{ color: #00a3e5; }
	.goodnewsitem__postnumber--3,
	.goodnewsitem__postnumber--8{ color: #16a847; }
	.goodnewsitem__postnumber--4,
	.goodnewsitem__postnumber--9{ color: #f9baa8; }
	.goodnewsitem__postnumber--5,
	.goodnewsitem__postnumber--10{ color: #f79ed3; }

	.goodnewsitem__postnumber{
		display: block;
		position: absolute;
		top: -.5em;
		right: .5em;
		z-index: 5;
	 }

	 .goodnewsitem:hover .goodnewsitempostnumber__number {
		-webkit-animation: color-noyellow-hover 2s infinite steps(1);
		-moz-animation: color-noyellow-hover 2s infinite steps(1);
		animation: color-noyellow-hover 2s infinite steps(1);
	 }

	 .goodnews .gd-u:nth-child(even) .goodnewsitem__postnumber{
		 right: auto;
		 left: .5em;
	 }

	.goodnewsitem--open .goodnewsitempostnumber__remove{ display: block; }
	.goodnewsitem--open .goodnewsitempostnumber__number{ display: none; }


	.gd-u--item-sml .goodnewsitem{
		padding: 10% 10% 0;
	}

	.gd-u--item-sml + .gd-u--item-sml .goodnewsitem{ padding-top: 0; }

	.goodnewsitem--first{ padding-left: 66.6%; }

	.goodnewsitem--first .goodnewsitemimg{ width: 66.6%; }

	.goodnewsitem--open .goodnewsitembody__inner{ display: block; }
	.goodnewsitembody--open{ position: absolute; top: 0; left: 0; }
	.goodnewsitem--open .goodnewsitembody--open .goodnewsitembody__inner{ display: block; }
}

/*  ==========================================================================
	page: resources
	========================================================================== */

.page--resources .siteheaderpadder{ background: #442b84; }

.pageheader--resources{
	text-align: left;
}
.pageheader--resources .pageheader__leader{
	margin: 0;
	line-height: 1.3;
}
.resources__header{
	position: relative;
	z-index: 3;
}

.resources__bd{
	position: relative;
	z-index: 2;
}
.resourcesitem{
	margin-bottom: 3em;
	position: relative;
}
.resourcesitem__heading{ margin: 0 0 .5em; line-height: 1.3; }
.resourcesitem:hover .resourcesitem__heading {
	-webkit-animation: color-noyellow-hover 2s infinite steps(1);
	-moz-animation: color-noyellow-hover 2s infinite steps(1);
	animation: color-noyellow-hover 2s infinite steps(1);
}

.resourcesitembody{
	position: relative;
}

.resourcesitembody--open{
	background: #ffe500;
	display: none;
}

.resourcesitembody__inner{
	padding: 1em;
}

.resourcesitem__link{
	position: relative;
	z-index: 1;
}

.resourcesitembody--open{
	background: #ffe500;
	display: none;
}

.goodnewsitembody__inner{
	padding: 1em;
}
.resourcesitem__link{
	position: relative;
	z-index: 1;
}


.resourcesitem__cta span{
	display: inline-block;
	text-decoration: underline;
	cursor: pointer;
	margin: 0 1em 0 0;
}

.resourcesitem__cta a{
	display: inline-block;
	text-decoration: underline;
	cursor: pointer;
	margin: 0 1em 0 0;
}

.resourcesitemimg{
	padding: 65% 0 0;
	position: relative;
	border-bottom: solid 3px #ffe500;
	margin-bottom: 0;
	/* -webkit-transition: -webkit-box-shadow 150ms ease-out 0s;
	   -moz-transition:    -moz-box-shadow 150ms ease-out 0s;
			transition: 		box-shadow 150ms ease-out 0s; */
}

.resourcesitemimg__img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #eee;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.resourcesitemimg .resourcesitemimg__videoplay{
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	text-align: center;
	margin-top: -.5em;
	line-height: 1em;
}

.resourcesitem--first .goodnewsitemimg{
	margin: 0;
}

.openresourcesitem{ cursor: pointer; }


.resourcesitem--open .resourcesitembody__inner{ display: none; }
.resourcesitem--open .resourcesitembody--open{ display: block; }
.resourcesitem--open .resourcesitembody--open .resourcesitembody__inner{ display: block; }

.resources .gd-u{
	position: relative;
	z-index: 1;
}

.resources .gd-u--item--open{
	z-index: 2;
}

.resourcesitem__postnumber{ display: none; }

.resourcesitempostnumber__remove{ display: none; }

.resourcesitempopup__iframe{
	position: relative;
	padding: 56.6% 0 0;
	width: 100%;
}

.resourcesitempopup__iframe iframe{
	top: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 100%;
}

@media only screen and (max-width:699px){
	.resourcesitem--first.resourcesitem--open .firstitemleader{
		max-height: 999em;
	}
}
@media only screen and (min-width:700px){
	.resourcesitem--first{
		position: relative;
		background: #ffe500;
	}

	.resourcesitem--first{
		padding-left: 50%;
	}

	.resourcesitem--first .resourcesitemimg{
		padding: 0;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 50%;
	}

	.resourcesitem--first.resourcesitem--open .firstitembody--full{
		display: block;
	}

}
@media only screen and (min-width:1000px){
	.resourcesitem--first{ padding-left: 66.6%; }

	.resourcesitem--first .resourcesitemimg{ width: 66.6%;  }

	.resourcecount--2,
	.resourcecount--5 {
		margin-right: 2.6666%;
	}
	.resourcesitem--open .resourcesitembody__inner{ display: block; }
	.resourcesitembody--open {  position: absolute; top: 0; left: 0; }
	.resourcesitem--open .resourcesitembody--open .resourcesitembody__inner{ display: block; }

}


/*  ==========================================================================
	sharetoolspopup
	========================================================================== */


.sharetoolspopup{
	padding: 1em;
	text-align: center;
	min-width: 280px;
}

.sharetoolspopup__heading{
	margin: 0 0 .55em;
}

.shareiconslist--sharetools{

}

.sharetool{
	text-align: center;
}

.sharetool__icon{
	width: 3em;
	line-height: 3em;
	text-align: center;
	color: #ffe500;
	background: #877f59;
	display: block;
	margin: 0 auto .5em;
	border-radius: 50%;
}

.sharetool__text{ display: none; }

.copylinkfield{
	margin-top: 1em;
	text-align: left;
}

.copylinkfield__label{
	margin: 0 0 .25em;
	cursor: pointer;
}

.copylinkfield__label:hover{
	text-decoration: underline;
}

.copylinkfield__input{
	border: solid 1px #877f59;
	padding: 1em;
	box-sizing: border-box;
	width: 100%;
	background: none;
}

@media only screen and (min-width:550px){
	.sharetool__text{ display: block; }
	.sharetoolspopup{ width: 23em; max-width: 23em; }
}

@media only screen and (min-width:700px){
	.sharetool__icon{ width: 4em; line-height: 4em; }
	.sharetoolspopup{ padding: 1.5em;  }

	.copylinkfield{
		margin-top: 1.5em;
	}

	.copylinkfield{
		padding: 0 0 0 6em;
		position: relative;
	}

	.copylinkfield__label{
		position: absolute;
		top: 1em;
		left: 0;
	}
}

/*  ==========================================================================
	page: home
	========================================================================== */

.pageheader--index { text-align: left;  }
.pageheader--index .post { margin-bottom: 0; }
.pageheader--index .postimg {   }
.pageheader--index h1 { max-width: none; border-bottom: 1px solid; padding-bottom: .75em; margin-bottom: 1em; }

.post--firstpost{
	padding: 0;
	margin: 0;
	border: none;
}

@media only screen and (min-width:800px){
	.pageheader--index .pageheader__heading { padding-left: 8.33%; margin-left: 0; margin-right: 0; }
}
@media only screen and (min-width:1000px){
	.posts .gd-u-gt1000-1-4:first-child,
	.posts .gd-u-gt1000-1-4:nth-of-type(6n+6),
	.posts .gd-u-gt1000-1-4:nth-of-type(6n+7) {
		width: 50%;
	}
	.posts .gd-u-gt1000-1-4:nth-of-type(6n+6) {
		margin-top: -16.7%;
	}
	.posts .gd-u--socialfeed:nth-of-type(6n+6) {
		margin-top: -10%;
	}
}
.socialfeed__header {
	position: relative;
}
.socialfeed__header .socialfeed__link {
	position: absolute;
	right: 1em;
	bottom: 0;
}



/*  ==========================================================================
	hpvid
	========================================================================== */


.hpvid{
	position: relative;
}

.hpvid:after{
	content: ' ';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 33.3%;
	background: #fff;
}

.hpvid__bd{
	position: relative;
	z-index: 2;
}

.hpvid__heading{
	position: relative;
	top: -.6em;
	margin: 0 0 0em;
	/* text-shadow: -.1em .1em 0 #ffe500; */
	color: #00a3e5;
	max-width: 10em;
}

.hpvid__video{
	padding: 56.25% 0 0;
	position: relative;
}

.hpvid__video iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

@media only screen and (min-width:1000px){
	.hpvid__bd{
		padding: 0 7.14%;
	}
}


/*  ==========================================================================
	hpnews
	========================================================================== */

.hpnews{
    max-width: 100%;
    overflow: hidden;
}

.hpnewsheader{
    position: relative;
    z-index: 2;
    margin: 0 0 -.75em;
}

.hpnewsheader__heading{
    margin: 0 0 .3em;
    max-width: 12em;
}

.hpnewsslider{
    position: relative;
    z-index: 1;
}

.gd-u--featurednews-lastimg{
    display: none;
}

.hpnewsheader__cta{
    text-decoration: underline;
}

/*
// post adjustments
*/

.gd-u--featurednews-lastimg .postimg{
    padding: 100% 0 0;
}

.hpnewsslider .post__heading{
    margin-bottom: .5em;
}

/*
// carousel
*/

.hpnewscarousel{
    overflow: visible;
    white-space: nowrap;
}

.hpfeaturedpost{
    display:inline-block;
    width: 100%;
    white-space: normal;
	padding-bottom: 0;
}

.hpnewscarousel.owl-carousel .owl-stage-outer{
    overflow: visible;
}

.hpnewscarousel.owl-carousel .hpfeaturedpost{
    display:block;
}

.hpnewscarousel .postimg{
	-webkit-transform: translate3d(0,0,0);
    /* -webkit-transition: -webkit-transform 200ms linear 0ms;
       -moz-transition:    -moz-transform 200ms linear 0ms;
            transition:         transform 200ms linear 0ms; */
}

.hpnewscarousel .owl-item{
    opacity: .5;
    -webkit-transition: opacity 300ms ease-out 0ms;
       -moz-transition: opacity 300ms ease-out 0ms;
            transition: opacity 300ms ease-out 0ms;
}

.hpnewscarousel .owl-item.active{ opacity: 1; }

.hpnewscarousel .post__cta{ text-decoration: underline; }

.hpnewscarousel .owl-prev,
.hpnewscarousel .owl-next{
	display: block;
	width: 8.3%;
	left: -8.3%;
	top: 0;
	bottom: 0;
	text-indent: 999em;
	overflow: hidden;
	position: absolute;
	z-index: 999;
}

.hpnewscarousel .owl-next{
	left: auto;
	right: -8.3%;
}

@media only screen and (max-width: 999px){
    .hpnewsslider{ padding-top: 0 ;}
}

@media only screen and (min-width:1000px){
    .hpnewsheader{ margin-bottom: -1.88em; }
    .hpnewsheader__bd{ padding-left: 7.14%; }

    .gd-u--featurednews-firstimg{ display: none; }
    .gd-u--featurednews-lastimg{ display: inline-block; }

	.hpfeaturedpost{ margin-bottom: 0; }
	.hpnewsslider__bd{ margin-bottom: -3px; }

    .hpfeaturedpost__content{
        padding: 0 9%;
    }

	.hpnewsslider{
		padding-bottom: 0;
	}

    .hpnewscarousel .owl-item .post__heading,
    .hpnewscarousel .owl-item .post__cta{
        opacity: 0;
        -webkit-transform: translate(20px, 0);
           -moz-transform: translate(20px, 0);
                transform: translate(20px, 0);
        -webkit-transition: -webkit-transform 300ms ease-out 200ms, opacity 300ms ease-out 200ms;
           -moz-transition:    -moz-transform 300ms ease-out 200ms, opacity 300ms ease-out 200ms;
                transition:         transform 300ms ease-out 200ms, opacity 300ms ease-out 200ms;
    }

    .hpnewscarousel .owl-item .post__cta{
        -webkit-transition-delay: 300ms;
           -moz-transition-delay: 300ms;
                transition-delay: 300ms;
    }

    .hpnewscarousel .owl-item.active .post__heading,
    .hpnewscarousel .owl-item.active .post__cta{
        opacity: 1;
        -webkit-transform: translate(0px, 0);
           -moz-transform: translate(0px, 0);
                transform: translate(0px, 0);
    }

    .hpnewscarousel .postimg{ margin-bottom: 0; overflow: visible; }

    .hpnewscarousel .postimg:after{
        content: ' ';
        height: 3px;
        width: 0px;
        position: relative;
        background: #16a847;
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -1px;
        -webkit-transition: width 300ms ease-out 500ms, left 300ms ease-out 500ms;
           -moz-transition: width 300ms ease-out 500ms, left 300ms ease-out 500ms;
                transition: width 300ms ease-out 500ms, left 300ms ease-out 500ms;
    }

    .hpnewscarousel .active .postimg:after{
        left: -2em;
        width: 4em;
    }

    .hpnewscarousel .owl-item.active + .owl-item .postimg{
        -webkit-transform: translate(-100%, 0);
           -moz-transform: translate(-100%, 0);
                transform: translate(-100%, 0);
	}
}

@media only screen and (min-width:1200px){

}

/*  ==========================================================================
	page: shop
	========================================================================== */


.pageheader--collapse{
	padding-top: 0;
	padding-bottom: 0;
	background: none;
}

.pageheader--collapse .pageheaderbody{
	padding-top: 0;
	padding-bottom: 0;
	margin-top: -2em;
}

.pageheader--collapse .pageheader__img{
	position: relative;
	padding: 33% 0 0;
}


.pageheader--shop{
    position: relative;
    z-index: 1;
}

.products{
    position: relative;
    z-index: 2;
}

.shopheader{  margin-top: -14%; }


.shopheading{
    margin-bottom: .3em;
    margin-top: -.6em;
}


/*
// products
*/

.productlist{
	margin: 0 0 -3em;
}

.product{
	margin: 0 0 3em;
}

.productimg{
	margin: 0 0 1em;
}

.productimg__img{
	display: block;
	width: 100%;
}

.product__name{
	margin: 0 0 .25em;
}


.product__cta{ margin-top: .25em; }

.product__buynow{
	text-decoration: underline;
}

@media only screen and (min-width:550px){
    .shopheader{  margin-top: -9.7%; }
}

@media only screen and (min-width:1000px){
	.gd-u--item-sml .product{
		padding: 10% 10% 0;
	}

	.gd-u--item-sml + .gd-u--item-sml .product{ padding-top: 0; }

	.shopheader .leader{ max-width: 15em; }

	.shopheader{  margin-top: -8.3%; }

	.productlist .gd-u:nth-child(3){ margin-top: -15%; }

}


.optin{
	position: relative;
}

.optin .btn--disabled{ color: #ffe500; }

.headinglines{
	box-shadow: 0 -1.5px 0 #877f59 inset;
}

.optinprogress{
	z-index: 10;
}

.optinprogress__step{
	display: inline-block;
	margin: 0 .33em 0 0;
}

.optin__heading{ margin: 0 0 .5em; }

.vh--100{
	height: 100vh;
}
.optinbody{

	text-align: center;
	position: relative;
	z-index: 1;
}

.optin input,
.optin .field__input--select{ background: #fff; border-color: #fff; }

.optin input:focus{ border-color: #442b84; }

.optinbody:before{
	content: ' ';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	margin-right: -0.25em;
}

.optinbody__bd{
	width: 85.72%;
	margin: 0;
	display: inline-block;
	vertical-align: middle;
}

.optin__whyoptin a{
	text-decoration: underline;
}

.optin__leader{
	max-width: 17em;
}

.optin__leader p{
	margin-bottom: .5em;
}

@media only screen and (min-width:1000px){
	.optinprogress{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
	}

	.optin__step1content{ padding-bottom: 0; }
}

/*
// step 2
*/

.optin_step2__heading{
	margin: 0;
}

.optinreasonscontainer{
	line-height: 1em;
	position: relative;
}
/*
Fade out at bottom
.optinreasonscontainer:after{
	content: ' ';
	height: 1em;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	background: -moz-linear-gradient(90deg, rgba(255,229,0,1) 0%, rgba(255,229,0,0) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255,229,0,0)), color-stop(100%, rgba(255,229,0,1)));
	background: -webkit-linear-gradient(90deg, rgba(255,229,0,1) 0%, rgba(255,229,0,0) 100%);
	background: -o-linear-gradient(90deg, rgba(255,229,0,1) 0%, rgba(255,229,0,0) 100%);
	background: -ms-linear-gradient(90deg, rgba(255,229,0,1) 0%, rgba(255,229,0,0) 100%);
	background: linear-gradient(0deg, rgba(255,229,0,1) 0%, rgba(255,229,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffe500', endColorstr='#ffe500',GradientType=0 );
}
*/

.optinreasons{
	list-style: none;
	margin: 0;
	padding: 0 0 0em;
	overflow-y: scroll;
	height: 6.8em;
	position: relative;
	z-index: 1;
}

.optinreasons li{
	box-shadow: 0 1px 0px #fff;
	padding: .25em 0;
	cursor: pointer;
	-webkit-transition: -webkit-transform 250ms ease-out 0ms, opacity 250ms ease-out 0ms;
	   -moz-transition:    -moz-transform 250ms ease-out 0ms, opacity 250ms ease-out 0ms;
			transition:      	transform 250ms ease-out 0ms, opacity 250ms ease-out 0ms;
	opacity: 0;
	-webkit-transform: translate(0, -20px);
	   -moz-transform: translate(0, -20px);
			transform: translate(0, -20px);
}

.effect--ready .optinreasons li{
	opacity: 1;
	-webkit-transform: translate(0, 0px);
	   -moz-transform: translate(0, 0px);
			transform: translate(0, 0px);
}

.optinreasons li:nth-child(1){ transition-delay: 100ms; }
.optinreasons li:nth-child(2){ transition-delay: 200ms; }
.optinreasons li:nth-child(3){ transition-delay: 300ms; }
.optinreasons li:nth-child(4){ transition-delay: 400ms; }
.optinreasons li:nth-child(5){ transition-delay: 500ms; }
.optinreasons li:nth-child(6){ transition-delay: 600ms; }
.optinreasons li:nth-child(7){ transition-delay: 700ms; }
.optinreasons li:nth-child(8){ transition-delay: 800ms; }
.optinreasons li:nth-child(9){ transition-delay: 900ms; }
.optinreasons li:nth-child(10){ transition-delay: 1000ms; }
.optinreasons li:nth-child(11){ transition-delay: 1100ms; }
.optinreasons li:nth-child(12){ transition-delay: 1200ms; }

.optinreasons li:last-child{
	margin-bottom: 1em;
	box-shadow: none;
}
.optinreasons li:hover{
	color: #16a847;
}

.optinreasons li.selected{
	color: #16a847;
	/* text-shadow: -.1em .1em 0px #f79ed3; */
}

.optinreasonscta{
	position: relative;
}

.optinreasonscta__skip{
	text-decoration: underline;
	display: inline-block;
}

@media only screen and (min-width:550px){
	.optinreasonscta__skip{ position: absolute; top: 50%; right: 0; margin-top: -.5em; }
}

/*
// step 3
*/


.step3cta{

}

.step3cta__share{
	padding: .5em;
	font-size: 1.75em;
	width: 1em;
	text-align: center;
	color: #fff;
	display: inline-block;
	background: #16a847;
	border-radius: 50%;
	line-height: 1em;
	margin: 0 .33em .33em 0;
	position: relative;
}


.step3cta__share:after{
	content: ' ';
	display: block;
	width: 2em;
	height: 3em;
	position: absolute;
	top: 100%;
	left: 0;
	opacity: 0;
	background: url(arrow.up.png) no-repeat 50% top;
	background-size: contain;
	transform-origin: center top;
	pointer-events: none;
	-webkit-animation: arrow-pulse 6000ms infinite;
	   -moz-animation: arrow-pulse 6000ms infinite;
			animation: arrow-pulse 6000ms infinite;
}

.step3cta__share:hover{ color: #fff; }

.step3cta__share:nth-child(1):after{ transform: rotate(-7deg); -webkit-animation-delay: 1500ms; -moz-animation-delay: 1500ms; animation-delay: 1500ms; }
.step3cta__share:nth-child(2):after{ transform: rotate(7deg); -webkit-animation-delay: 3000ms; -moz-animation-delay: 3000ms; animation-delay: 3000ms; }
.step3cta__share:nth-child(3):after{ transform: rotate(7deg); -webkit-animation-delay: 4500ms; -moz-animation-delay: 4500ms; animation-delay: 4500ms; }

@-webkit-keyframes arrow-pulse {
    0%   { background-position: 50% 0px; opacity: 1; }
	4%  { background-position: 50% 15px; opacity: 1; }
    8% { background-position: 50% 0px; opacity: 1; }
	12%  { background-position: 50% 15px; opacity: 1; }
    16% { background-position: 50% 0px; opacity: 1; }
	20%  { background-position: 50% 15px; opacity: 1; }
	24% { background-position: 50% 0px; opacity: 1; }
	25% { opacity: 0; }
}
@-moz-keyframes arrow-pulse {
    0%   { background-position: 50% 0px; opacity: 1; }
	4%  { background-position: 50% 15px; opacity: 1; }
    8% { background-position: 50% 0px; opacity: 1; }
	12%  { background-position: 50% 15px; opacity: 1; }
    16% { background-position: 50% 0px; opacity: 1; }
	20%  { background-position: 50% 15px; opacity: 1; }
	24% { background-position: 50% 0px; opacity: 1; }
	25% { opacity: 0; }
}
@keyframes arrow-pulse {
    0%   { background-position: 50% 0px; opacity: 1; }
	4%  { background-position: 50% 15px; opacity: 1; }
    8% { background-position: 50% 0px; opacity: 1; }
	12%  { background-position: 50% 15px; opacity: 1; }
    16% { background-position: 50% 0px; opacity: 1; }
	20%  { background-position: 50% 15px; opacity: 1; }
	24% { background-position: 50% 0px; opacity: 1; }
	25% { opacity: 0; }
}

.step3body--last .gd-u{
	text-align: center;
}

.step3body__reason{
	margin: .5em 0;
}

.optin_message_sent{
	padding: 1em;
	margin: 0 0 1em;
}

.step3reasonimgwrapper{
    margin: -8%;
}

.step3reasonimg{
    padding: 100% 0 0;
    background-size: contain;
    background-repeat: no-repeat;
}


@media only screen and (min-width:1000px){
	.step3cta{
		margin-top: 2em;
	}

	.step3body{
		width: 50%;
		float: left;
		height: 100vh;
		text-align: center;
	}

	.step3body:before{
		content: ' ';
		display: inline-block;
		height: 100%;
		vertical-align: middle;
		margin-right: -0.25em;
	}

	.step3body__bd{
		width: 71.44%;
		margin: 0;
		display: inline-block;
		vertical-align: middle;
	}
}

/*  ==========================================================================
	page: actions
	========================================================================== */

.actionitem {
	cursor: pointer;
	box-shadow: -.25em .25em 0px #f79ed3;
	-webkit-transition: all 150ms ease-out 0ms;
	   -moz-transition: all 150ms ease-out 0ms;
			transition: all 150ms ease-out 0ms;
	background-color: #16a847;
	color: #fff;
	border-radius: 2px;
	display: block;
	margin: 0 0em 1em 0;
	padding: 1em;
	border: none;
	font-weight: 400;
	text-align: center;
}

.actionitem:hover { box-shadow: -0.33em 0.33em 0px #f79ed3; }

.actionitem__desc{
	line-height: 1.5;
	display: block;
}

.action .gd-u:nth-child(6n+1) .actionitem{
	background-color: #16a847;
	box-shadow: -.25em .25em 0px #f79ed3;
}
.action .gd-u:nth-child(6n+1) .actionitem:hover { box-shadow: -0.125em 0.125em 0px #f79ed3; }

.action .gd-u:nth-child(6n+2) .actionitem {
	box-shadow: -.25em .25em 0px #ffe500;
	background-color: #877f59;
}
.action .gd-u:nth-child(6n+2) .actionitem:hover { box-shadow: -0.125em 0.125em 0px #ffe500; }

.action .gd-u:nth-child(6n+3) .actionitem {
	box-shadow: -.25em .25em 0px #fc4400;
	background-color: #f79ed3;
}
.action .gd-u:nth-child(6n+3) .actionitem:hover { box-shadow: -0.125em 0.125em 0px #fc4400; }

.action .gd-u:nth-child(6n+4) .actionitem {
	box-shadow: -.25em .25em 0px #bcd6fc;
	background-color: #fc4400;
}
.action .gd-u:nth-child(6n+4) .actionitem:hover { box-shadow: -0.125em 0.125em 0px #bcd6fc; }

.action .gd-u:nth-child(6n+5) .actionitem {
	box-shadow: -.25em .25em 0px #f9baa8;
	background-color: #442b84;
}
.action .gd-u:nth-child(6n+5) .actionitem:hover { box-shadow: -0.125em 0.125em 0px #f9baa8; }

.action .gd-u:nth-child(6n+6) .actionitem {
	box-shadow: -.25em .25em 0px #ffe500;
	background-color: #00a3e5;
}
.action .gd-u:nth-child(6n+6) .actionitem:hover { box-shadow: -0.125em 0.125em 0px #ffe500; }

.action .gd-u .actionitem:hover{
	-webkit-transform: translate(-0.125em, 0.125em);
	   -moz-transform: translate(-0.125em, 0.125em);
			transform: translate(-0.125em, 0.125em);
}

.action .gd-u .actionitem.selected,
.action .gd-u .actionitem.selected:hover{
	-webkit-transform: translate(-0.25em, 0.25em);
	   -moz-transform: translate(-0.25em, 0.25em);
			transform: translate(-0.25em, 0.25em);
	box-shadow: 0 0 0px #f79ed3;
}

.action__cta{ text-align: center; }
.action__cta .btn{ padding: .75em 2em; margin: 0; }

.actionresponses--storage{ display: none; }

.actionresponse{
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	color:#16a847;
	-webkit-transition: max-height 150ms ease-out 0ms;
	-moz-transition: max-height 150ms ease-out 0ms;
	transition: max-height 150ms ease-out 0ms;
	overflow: visible;
    display: none;
    max-width: 45em;
}

.actionresponses--show .actionresponse{
	max-height: 9999px;
	border-bottom: 1px solid #16a847;
}

.actionresponses--show .actionresponse:last-child{
	border-bottom: none;
}

.actionresponses--feedback .actionresponse{
    color: #888;
    display: none;
}

.btn--goagainbutton{
    display: none;
}

.actionresponse__cta a{ display: inline-block; margin: 0 .3em; }

.actionresponses--show .actionresponse:nth-child(6n+1) .actionresponse__message{ color:#16a847; }
.actionresponses--show .actionresponse:nth-child(6n+2) .actionresponse__message{ color:#877f59; }
.actionresponses--show .actionresponse:nth-child(6n+3) .actionresponse__message{ color:#f79ed3; }
.actionresponses--show .actionresponse:nth-child(6n+4) .actionresponse__message{ color:#fc4400; }
.actionresponses--show .actionresponse:nth-child(6n+5) .actionresponse__message{ color:#442b84; }
.actionresponses--show .actionresponse:nth-child(6n+6) .actionresponse__message{ color:#00a3e5; }
