html{
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	/* smooth scrolling */
	scroll-behavior: smooth;
	height: 100%;
}

*, *:before, *:after{
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

body {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 21px;
	margin: 0;
	padding: 110px 0 0 0;
	color: #000;
	position: relative;
}

/* fonts weight / sizes */
p {
	min-height: 1em;
	
}

#case-histories-text .body-copy {
	padding-bottom: 2em;
}

.leading-articles-text h3 {
	padding-bottom: 0em;
}

h1, h2, h3, h4, h5, h6 {
	padding-bottom: 0.5em;
}

strong,
h1, h2, h3, h4, h5, h6,
.cycle-overlay,
.flip-text .stat-trail-text,
.flip-text .stat,
#footer-inner .nav li,
.diagram-stage-number a,
.nav li.active a {
	font-weight: 700;
}

/* 2 = 32 */
h1 {
	font-size: 2em;
	line-height: 1.1em;
}

/* flip text group */
/* 1.3 = 21 */
.flip-text,
.section-title,
#objectives #diagram-tabs,
#case-histories-hero .body-copy,
.team-quote .text-inner-center {
	font-size: 1.3em;
	line-height: 1.2em;
}

/* 1.3 + 1.15 = 24 */
.flip-text .stat-trail-text {
	font-size: 1.15em;
	line-height: 1.2em;
}

/* 1.3 + 4.8 = 100 */
.flip-text .stat {
	font-size: 4.2em;
	line-height: 1em;
	padding-top: 0.2em;
}
/* flip text group */

#case-histories-text {
	font-size: 1.3em;
	line-height: 1.2em;
}

.team-info h2,
#case-histories-text h2 {
	font-size: 1.15em;
	line-height: 1.2em;
}

/* 0.88 = 14 */
#footer {
	font-size: 0.88em;
	line-height: 1.2em;
}

/* 0.88 + 1.14 = base 16 */
#footer #lower-footer .body-copy {
	font-size: 1.14em;
	line-height: 1.2em;
}




/* colors */
.white,
.flip-text .stat,
.leading-articles-item,
.footer-text-col h4,
#footer-inner .nav li a,
#lower-footer,
.diagram-stage-number a,
#objectives #diagram-tabs,
#objectives h2,
.case-histories-hero-text,
.team-quote {
	color: #FFF;
}
.dark-green,
.nav li a:hover,
.nav li.active,
#text-solution,
.flip-text,
#vision-mission {
	color: #005423;
}
.dark-alt-green,
.bg-light-green {
	color: #275B4E;
}
.mid-green,
.nav li a,
#footer-inner .nav li a:hover,
.footer-text-col .body-copy {
	color: #25B24B;
}
.light-green {
	color: #AAD69C;
}
.ultra-light-green {
	color: #D3E9CA;
}
.dark-sage-green,
.diagram-stage-number.active a {
	color: #709470;
}
.sage-green {
	color: #B8C9B8;
}
.light-sage-green,
#lower-footer .body-copy {
	color: #C4E49B;
}
.lime-green {
	color: #8DC63F;
}

/* bg colors */
.bg-white,
.diagram-stage-number.active a {
	background-color: #FFF;
}
.bg-dark-green,
#case-histories-hero {
	background-color: #005423;
}
.bg-dark-alt-green,
#footer-inner,
.tab-menu li:nth-child(1) a .overlay,
.tab-content:nth-child(1) .team-quote,
.close-tabs:hover .line {
	background-color: #275B4E;
}
.bg-mid-green,
.hamburger .line,
.leading-articles-item:nth-child(odd),
.tab-menu li:nth-child(2) a .overlay,
.tab-content:nth-child(2) .team-quote {
	background-color: #25B24B;
}
.bg-light-green,
.leading-articles-item:nth-child(even),
.flip-img-group:nth-child(even) .flip-text {
	background-color: #AAD69C;
}
.bg-ultra-light-green,
#vision-mission {
	background-color: #D3E9CA;
}
.bg-dark-sage-green,
#objectives,
.diagram-stage-number a,
.tab-menu li:nth-child(3) a .overlay,
.tab-content:nth-child(3) .team-quote,
.close-tabs .line {
	background-color: #709470;
}
.bg-sage-green,
.flip-img-group:nth-child(odd) .flip-text {
	background-color: #B8C9B8;
}
.bg-light-lime-green {
	background-color: #C4E49B;
}
.bg-lime-green,
.tab-menu li:nth-child(4) a .overlay,
.tab-content:nth-child(4) .team-quote {
	background-color: #8DC63F;
}

a {
	color: #25B24B;
	text-decoration: none;
}

a:hover{
	color: #005423;
}

.body-copy a {
	font-weight: 700;
	text-decoration: underline;
}

img {
	width: 100%;
	height: auto;
	display: block;
}

.body-copy img {
	width: 100% !important;
	height: auto !important;
	margin-bottom: 1.5em;
}

/* clear floats */
.container-columns:after {
	content: ".";
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

.container-columns .leading-articles-item {
	position: relative;
}

/* table cells option 
.group-col-container {
	display: table;
	width: 100%;
}

.group-col-container .leading-articles-item {
	display: table-cell;
	position: relative;
}

#homepage-leading-articles .group-col-container {
	margin-bottom: 0;
}
*/

/* master spacing */
.spacing-all {
	padding: 5%;
}

.spacing-horizontal {
	padding-right: 5%;
	padding-left: 5%;
}

.flip-text .spacing-horizontal {
	padding-right: 7%;
	padding-left: 10%;
}

.flip-text .stat {
	padding-top: 0.2em; 
}

.spacing-right {
	padding-right: 5%;
}

.spacing-left {
	padding-left: 5%;
}

.spacing-vertical {
	padding-top: 5%;
	padding-bottom: 5%;
}

/* logo */
.logo {
	width: 255px;
	height: 70px;
}

.logo a {
	display: block;
}

/* Mobile Hamburger */
.hamburger {
	display: none;
	position: fixed;
	z-index: 1000;
	top: 12px;
	right: 15px;
}

.hamburger .line,
.close-tabs .line {
    width: 30px;
    height: 4px;
    display: block;
    margin: 6px auto;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.hamburger:hover,
.close-tabs:hover {
    cursor: pointer;
}

#hamburger-1.is-active .line:nth-child(2) {
    opacity: 0;
}

#hamburger-1.is-active .line:nth-child(1) {
    -webkit-transform: translateY(10px) rotate(45deg);
    -ms-transform: translateY(10px) rotate(45deg);
    -o-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
}

#hamburger-1.is-active .line:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(-45deg);
    -ms-transform: translateY(-10px) rotate(-45deg);
    -o-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg);
}

.close-tabs .line:nth-child(1) {
    -webkit-transform: translateY(5px) rotate(45deg);
    -ms-transform: translateY(5px) rotate(45deg);
    -o-transform: translateY(5px) rotate(45deg);
    transform: translateY(5px) rotate(45deg);
}

.close-tabs .line:nth-child(2) {
    -webkit-transform: translateY(-5px) rotate(-45deg);
    -ms-transform: translateY(-5px) rotate(-45deg);
    -o-transform: translateY(-5px) rotate(-45deg);
    transform: translateY(-5px) rotate(-45deg);
}

/* Nav bar */
#nav-bar {
	position: fixed;
	z-index: 1000;
	top: 0;
	right: 0;
	left: 0;
	padding: 0;
	height: 110px;
	background-color: #FFFFFF;
}

#nav-bar .nav {
	position: absolute;
	top: 40px;
	right: 0;
}

#nav-bar .nav li {
	display: inline-block;
	margin-left: 10px;
	/*font-size: 18px;*/
	line-height: 30px;
	cursor: pointer;
}

#footer-inner .nav li {
	display: block;
	margin-bottom: 0.5em;
}

.nav li.active a {
	pointer-events: none;
	-webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none; /* Standard syntax */
}

#nav-bar .content-wrap {
	padding-top: 20px;
}

.content-wrap {
	position: relative;
	padding: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 1280px;
}

/* HOMEPAGE */
.cycle-slideshow .slide-img img {
	width: 100%;
	height: auto;
}

.cycle-overlay {
	position: absolute;
	z-index: 500;
	top: 50%;
	/*left: 50%;*/
	left: 0;
	right: 0;
	transform: translate(0%, -50%);
	color: #FFF;
	/*text-transform: lowercase;*/
	text-align: center;
	opacity: 0.8;
}

.cycle-slide img,
.cycle-slide video {
	vertical-align: bottom;
	display: block;
}

.cycle-slide video {
	width: 100%;
	height: auto;
}

/* section */
.section {
	width: 100%;
	/*
	max-width: 1920px;
	margin: 0 auto;
	*/
}

.column-50, .column-33, .column-25, .column-20, .column-16,
.column-50-fixed, .column-33-fixed, .column-25-fixed, .column-20-fixed, .column-16-fixed {
	float: left;
}

.column-50,
.column-50-fixed {
	width: 50%;
}

.column-33,
.column-33-fixed {
	width: 33.333%;
}

.column-25,
.column-25-fixed {
	width: 25%;
}

.column-20,
.column-20-fixed {
	width: 20%;
}

.column-16,
.column-16-fixed {
	width: 16.666%;
}

#the-planet {
	position: relative;
}

.flip-img-group-icon {
	position: absolute;
	z-index: 100;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: url("../images/flip-img-group-icon.png");
	background-repeat: no-repeat;
	background-size: 100%;
	opacity: 0.3;
}

.flip-text,
.team-quote {
	position: relative;
	aspect-ratio: 1 / 1;
}

.text-inner-center {
	position: absolute;
	z-index: 500;
	top: 50%;
	left: 0;
	transform: translate(0%, -50%);
}

.flip-img-group:nth-child(odd) .column-50 {
	float: right;
}

.leading-articles-text {
	position: relative;
}

.leading-articles-text .body-copy {
	/*padding-bottom: 1em;*/
}

/*.leading-articles-text.has-cta*/
.leading-articles-item.has-cta {
	padding-bottom: 60px;
}

.leading-articles-item.cta-click:hover {
	cursor: pointer;
}

.leading-articles-img {
	position: relative;
}

.leading-articles-item .img-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #FFF;
	opacity: 0.2;
	-webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.leading-articles-item:hover .img-overlay {
	opacity: 0;
}

.article-cta {
	position: absolute;
	left: 5%;
	bottom: 15px;
	display: inline-block;
	padding: 5px 15px;
	line-height: 22px;
	color: #FFF;
	border: solid 2px #FFF;
	-webkit-border-radius: 100rem;
	-moz-border-radius: 100rem;
	border-radius: 100rem;
	background-color: rgba(255, 255, 255, 0);
	-webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.article-cta:hover {
	cursor: pointer;
	background-color: rgba(255, 255, 255, 1);
}

.cycle-flip {
    -webkit-perspective: 1000;
    -webkit-transform-style: preserve-3d;
    -moz-perspective: 1000;
    -moz-transform-style: preserve-3d;
    -o-perspective: 1000;
    -o-transform-style: preserve-3d;
    perspective: 1000;
    transform-style: preserve-3d;  
}

.diagram {
	margin-top: 3%;
	position: relative;
}

.diagram-icon {
	width: 25%;
}

.diagram-icon,
.diagram-stage-number {
	display: inline-block;
	vertical-align: middle;
}

.diagram-stage-number {
	position: relative;
	width: 15%;
	height: 100px;
}

.tab-menu li.diagram-stage-number a {
	position: absolute;
	z-index: 100;
	top:0;
	left:0;
	width: 100px;
	height: 100px;
	font-size: 80px;
	line-height: 1.18em;
	display: inline-block;
	text-align: center;
	border: solid #FFF 4px;
	-webkit-border-radius: 100rem;
	-moz-border-radius: 100rem;
	border-radius: 100rem;
}

.diagram-stage-number.active a {
}

.circle-img {
	display: none;
	width: 80%;
}

.circle-img.active {
	display: inline-block;
}

.circle-img img {
	width: 100%;
	height: auto;
	display: inline-block;
	border: solid #FFF 4px;
	-webkit-border-radius: 100rem;
	-moz-border-radius: 100rem;
	border-radius: 100rem;
}

.circle-line {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 20%;
	right: 10%;
	transform: translate(0%, -50%);
	height: 4px;
	background: #FFF;
}



#diagram-tabs {
	padding: 20px 5% 0 25%;
}

/* CASE HISTORIES */
#case-histories-hero {
	position: relative;
	max-height: 640px;
	background-size: cover;
	background-position: center;
}

.case-histories-hero-text {
	position: absolute;
	top: 0;
	left: 0;
	padding: 10% 5% 0 5%; 
	width: 50%;
}

.case-histories-hero-text h1,
.case-histories-hero-text .body-copy {
	text-shadow: 0px 0px 6px #000;
}

.case-histories-hero-map {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 90px;
	width: 18%;
}

.case-histories-hero-map img {
	width: 100%;
	height: auto;
}

#case-histories-img-group #slideshow {
	display: none;
}

#case-histories-img-group #stack {
	display: block;
}

.tab-content {
	display: none;
}

#diagram-tabs .tab-content {
	display: block;
}

/* WE ARE */
.tab-menu li a:hover {
	cursor: pointer;
}

.tab-menu li a {
	position: relative;
}

.tab-menu li a .overlay {
	position: absolute;
	z-index: 100;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0.6;
	transition: opacity .5s ease-out;
	-moz-transition: opacity .5s ease-out;
	-webkit-transition: opacity .5s ease-out;
	-o-transition: opacity .5s ease-out;
}

.tab-menu li a:hover .overlay {
	opacity: 0.3;
}

.tab-menu li.active a .overlay,
.tab-menu li.active a:hover .overlay {
	opacity: 0;
}

.team-quote .text-inner-center::before,
.team-quote .text-inner-center::after {
	content:"";
	background-image: url('../images/quote-mark-01.png');
	background-size: 100%;
	background-repeat: no-repeat;
	position: absolute;
	z-index: 1000;
	width: 50px;
	height: 35px;
}

.team-quote .text-inner-center::before {
	right: 5%;
	bottom: -50px;
}

.team-quote .text-inner-center::after {
	left: 5%;
	top: -50px;
}

.tab-content:nth-child(even) .team-quote .text-inner-center::before,
.tab-content:nth-child(even) .team-quote .text-inner-center::after {
	background-image: url('../images/quote-mark-02.png');
}

.tabs-group {
	position: relative;
}

.close-tabs {
	position: absolute;
	display: none;
	z-index: 2000;
	top: 20px;
	right: 10px;
	width: 30px;
	height: 30px;
}

.active .close-tabs {
	display: block;
}

.close-tabs .line {
	transition: all .2s ease-out;
	-moz-transition: all .2s ease-out;
	-webkit-transition: all .2s ease-out;
	-o-transition: all .2s ease-out;
}

#social-share-container {
	padding-bottom: 5%;
}

/* FOOTER */
.footer-icon {
	width: 100px;
	margin: 0 20px 20px 0;
}

.footer-menu-col .footer-icon,
.footer-menu-col .nav {
	float: left;
}

.footer-menu-col,
.footer-text-col {
	padding-right: 5%;
}

#lower-footer {
	padding: 0 5%;
}

#lower-footer .body-copy,
#lower-footer .copywrite {
	padding: 0 15% 3% 120px;
}

#cookie-bar {
	position: fixed;
	z-index: 900;
	left: 0;
	bottom: 0;
	right: 0;
	background-color: #000000;
	color: #FFFFFF;
	padding: 20px 130px 20px 30px;
	font-size: 14px;
	line-height: 1.1em;
}

#cookie-bar.accepted {
	display: none;
}

#cookie-bar a {
	color: #FFFFFF;
	text-decoration: underline;
}

#cookie-bar button {
	position: absolute;
	top: 20px;
	right: 30px;
	border: none;
	background: #EFEFEF;
	color: #000000;
	padding: 8px 10px;
	cursor: pointer;
	text-transform: uppercase;
}

#cookie-bar button {
	background: #FFFFFF;
}

/* Fallback (current, using padding hack) */
@supports not (aspect-ratio: 1 / 1) { 
  .ratio-1-1::before {
    float: left;
    padding-top: 100%;
    content: '';
  }
  
  .ratio-1-1::after {
    display: block;
    content: '';
    clear: both;
  }
}