body, html{
	margin:0;
	padding:0;
	position:relative;
	overflow-x:hidden;
	font-family:'Roboto', sans-serif, Arial, Helvetica;
	font-size:14px;
	font-weight:300;
	line-height:1.6em;
	color:#5D5E60;
	}
body{background:#FFFFFF;}
body img{border:none;}
.wrap{
	margin:0 auto 0 auto;
	position:relative;
	width:90%;
	max-width:1200px;
	}
#page_bg{
	padding:30% 0 0 0;
	position:relative;
	background-color:#E3E8EA;
	background-position:center center;
	background-size:cover;
	}
#page_bg .wrap{background:#E3E8EA; background:rgba(255,255,255,0.7);}
.no-rgba #page_bg .wrap{background:url(images/white70.png);}
.grey_bg{background:#E3E8EA;}
@media screen and (max-width: 1150px){
	#page_bg:before{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:10px;
		content:'';
		background:rgba(5,104,57,0.88);
		}
	}
	
/*---------------FONT STYLES--------------*/
h1, h2, h3, h4, p, a, ol, ul, li{margin:0; padding:0;}
h1, h2, h3{
	position:relative;
	font-family:'Raleway', sans-serif;
	font-size:15px;
	font-weight:900;
	text-transform:uppercase;
	}
h1:after, h2:after{
	margin:0 0 0 -30px;
	display:block;
	position:absolute;
	bottom:0;
	left:50%;
	width:60px;
	height:5px;
	content:'';
	background:#FFFFFF;
	}
h2:after{background:#056839;}
h1{padding:0 0 22px 0; color:#FFFFFF;}
h2{margin:0 0 30px 0; padding:0 0 20px 0; color:#056839;}
h3{margin:0 0 10px 0; color:#056839;}
p{margin:0 0 25px 0;}
a{
	text-decoration:none;
	color:#056839;
	-webkit-transition:color 300ms ease;
	-moz-transition:color 300ms ease;
	-o-transition:color 300ms ease;
	transition:color 300ms ease;
	}
a:hover{color:#39B54A;}
a:focus{outline:none;}
strong{font-weight:700;}
ul li{list-style:none;}
table{margin:0 0 25px 0; border-collapse:collapse;}
@media screen and (max-width: 960px){
	h2{margin:0 0 16px 0; padding:0 0 14px 0; font-size:13px;}
	h2:after{margin:0 0 0 -25px; width:50px; height:4px;}
	h3{font-size:13px;}
	}
@media screen and (max-width: 480px){
	h2{margin:0 0 13px 0; padding:0 0 11px 0;}
	h2:after{margin:0 0 0 -20px; width:40px; height:3px;}
	}
	
/*---------------TOP--------------*/
#top{height:110px;}
#logo{
	display:block;
	position:absolute;
	top:15px;
	right:4%;
	width:105px;
	}
#top .tagline{
	position:absolute;
	top:55px;
	left:4%;
	font-family:'Raleway', sans-serif;
	font-size:15px;
	font-weight:900;
	text-transform:uppercase;
	line-height:1.5em;
	color:#056839;
	}
#nav_toggle{
	padding:0 5px 0 40px;
	display:none;
	position:absolute;
	bottom:5px;
	left:-5px;
	height:36px;
	float:left;
	z-index:1000;
	cursor:pointer;
	-webkit-user-select:none;
	-khtml-user-select:none;
	-moz-user-select:none;
	-o-user-select:none;
	user-select:none;
	}
#nav_toggle .text{
	padding:6px 0 0 0;
	display:block;
	font-size:18px;
	color:#056839;
	}
#nav_toggle .bar{
	display:block;
	position:absolute;
	left:5px;
	width:26px;
	height:3px;
	background:#056839;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
#nav_toggle .bar1{top:6px;}
#nav_toggle .bar2{top:16px;}
#nav_toggle .bar3{top:16px;}
#nav_toggle .bar4{top:26px;}
.csstransforms .show_nav #nav_toggle .bar1{top:16px; left:18px; width:0;}
.csstransforms .show_nav #nav_toggle .bar4{top:16px; left:18px; width:0;}
.csstransforms .show_nav #nav_toggle .bar2{
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	-o-transform:rotate(45deg);
	transform:rotate(45deg);
	}
.csstransforms .show_nav #nav_toggle .bar3{
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	transform:rotate(-45deg);
	}
@media screen and (max-width: 1150px){
	#logo{right:0;}
	#top .tagline{top:20px; left:0;}
	#nav_toggle{display:block;}
	}
@media screen and (max-width: 680px){
	#logo{width:110px;}
	#top .tagline{top:9px; width:220px;}
	}
@media screen and (max-width: 360px){
	#top .tagline{top:10px; width:180px;font-size:14px;}
	}
	
/*---------------NAV--------------*/
nav{
	margin:0 auto -60px auto;
	position:relative;
	width:100%;
	height:60px;
	z-index:50;
	text-align:center;
	-webkit-transition:max-height 300ms ease;
	-moz-transition:max-height 300ms ease;
	-o-transition:max-height 300ms ease;
	transition:max-height 300ms ease;
	}
nav.fixed{position:fixed; top:10px;}
nav ul{
	margin:0 auto 0 auto;
	width:90%;
	max-width:1200px;
	height:60px;
	overflow:hidden;
	background:#056839;
	background:rgba(5,104,57,0.88);
	}
.no-rgba nav ul{background:url(images/green88.png) left top no-repeat;}
nav li{
	margin:0 10px 0 10px;
	display:inline-block;
	position:relative;
	height:55px;
	}
nav li:after{
	position:absolute;
	bottom:-5px;
	left:0;
	width:100%;
	height:5px;
	opacity:0;
	content:'';
	transform:translate(0,-10px) scaleX(0.8);
	background:#39B54A;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
nav li:hover:after{opacity:1; transform:none;}
nav li.current{border-bottom:5px solid #39B54A;}
nav li.current:after{display:none;}
nav li a{
	margin:0 -10px 0 -10px;
	padding:18px 10px 0 10px;
	display:block;
	height:42px;
	color:#FFFFFF;
	}
nav li a:hover{color:#FFFFFF;}
nav li.current a{font-weight:700;}
@media screen and (max-width: 1150px){
	nav{
		margin:0;
		position:absolute;
		left:5%;
		width:200px;
		height:auto;
		max-height:0;
		overflow:hidden;
		text-align:left;
		}
	nav.fixed{position:absolute; top:auto;}
	.show_nav nav{max-height:320px;}
	nav ul{padding:10px 0 5px 0; width:100%; height:auto;}
	nav li{margin:0; display:block; height:auto;}
	nav li.current{border:none;}
	nav li:after{display:none;}
	nav li a{margin:0; padding:5px 15px 5px 15px; height:auto;}
	}
	
/*---------------HEADER--------------*/
#header{
	padding:10px 0 0 0;
	position:relative;
	max-height:620px;
	text-align:center;
	background-color:#E3E8EA;
	background-position:center center;
	background-size:cover;
	}
#header .wrap{padding:47% 0 0 0; pointer-events:none;}
	
/*---------------CONTENT--------------*/
main ul{margin:0 0 25px 0;}
header{
	margin:0 0 5px 0;
	padding:25px 4% 0 4%;
	text-align:center;
	background:#056839;
	}
#text{margin:0 0 5px 0; padding:30px 4% 15px 4%; background:#FFFFFF;}
#text li:before{
	margin:0 5px 4px 0;
	display:inline-block;
	width:3px;
	height:3px;
	content:'';
	background:#056839;
	}
#text .no_bullets li:before{display:none;}
.content{padding:50px 0 25px 0; text-align:center;}
.content p + ul{margin:-8px 0 25px 0;}
.cols2{
	margin:0 0 25px 0;
	-webkit-column-count:2;
	-moz-column-count:2;
	column-count:2;
	-webkit-column-gap:40px;
	-moz-column-gap:40px;
	column-gap:40px;
	}
.cols2 li{
	-webkit-column-break-inside:avoid;
	page-break-inside:avoid;
	break-inside:avoid-column;
	}
.bold{font-weight:700;}
.square_text{position:relative; overflow:hidden; color:#FFFFFF;}
.square_text .inner{
	position:absolute;
	top:0;
	left:10%;
	width:80%;
	text-align:center;
	}
.csstransforms .square_text .inner{
	top:50%;
	-webkit-transform:translate(0,-50%);
	-moz-transform:translate(0,-50%);
	-ms-transform:translate(0,-50%);
	-o-transform:translate(0,-50%);
	transform:translate(0,-50%);
	}
.square_text h2{color:#FFFFFF;}
.square_text h2:after{background:#FFFFFF;}
.square_text p{margin:0;}
.square_text a{display:inline-block; text-decoration:underline; color:#FFFFFF;}
.gallery{
	margin:0 -1.45% -1.45% 0;
	padding:0 0 25px 0;
	width:101.45%;
	overflow:auto;
	}
.gallery img{
	margin:0 1.428% 1.428% 0;
	display:block;
	width:23.572%;
	float:left;
	}
.btn{
	padding:5px 10px 5px 10px;
	display:inline-block;
	color:#FFFFFF;
	background:#056839;
	}
ul li .btn{
	margin:0 0 5px 0;
	}
@media screen and (max-width: 960px){
	.content{padding:30px 0 5px 0;}
	.square_text .inner{font-size:12px; line-height:1.6em;}
	}
@media screen and (max-width: 680px){
	.gallery img{width:31.905%;}
	.cols2{
		margin:0;
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
		}
	}
	
/*---------------QUICKLINKS--------------*/
.quicklinks{overflow:hidden;}
.quicklink{
	padding:25% 0 0 0;
	position:relative;
	width:25%;
	height:0;
	float:left;
	}
.quicklink.square_text{background:url(images/quicklink_text_bg.png) center top no-repeat #39B54A;}
.quicklink.image{background-position:center center; background-size:cover;}
@media screen and (max-width: 850px){
	.quicklink.square_text .click{display:block;}
	.quicklink.square_text p{display:none;}
	}
@media screen and (max-width: 680px){
	.quicklink{padding:50% 0 0 0; width:50%;}
	.quicklink.square_text p{display:block;}
	}
@media screen and (max-width: 480px){
	.quicklink.square_text p{display:none;}
	}
	
/*---------------CLIENTS--------------*/
.clients_wrap{margin:0 auto 0 auto; max-width:900px;}
.clients{margin:-10px 0 25px 0; line-height:1em;}
.clients img{display:inline-block; width:25%;}
@media screen and (max-width: 680px){
	.clients img{width:33.333%;}
	}
@media screen and (max-width: 480px){
	.clients img{width:50%;}
	}
	
/*---------------PROJECTS--------------*/
.projects{overflow:auto;}
.project{
	margin:0 0 5px 0;
	position:relative;
	overflow:auto;
	background:#D5DCDF;
	}
.project:after{
	position:absolute;
	top:0;
	right:0;
	width:50%;
	height:100%;
	content:'';
	z-index:0;
	background:#FFFFFF;
	}
.project .left{width:50%; float:left; word-wrap:break-word;}
.project .square_text{
	padding:50% 0 0 0;
	width:50%;
	float:left;
	background:url(images/quicklink_text_bg.png) center top no-repeat #056839;
	}
.project .images{position:relative; width:50%; float:left;}
.project .images img{display:block; width:100%;}
.project .images .enlarge{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
	text-align:center;
	background:rgba(0,0,0,0.4);
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
.project .images:hover .enlarge{opacity:1;}
.no-rgba .project .images .enlarge{background:url(images/black40.png);}
.project .images .enlarge span{
	position:absolute;
	padding:0 0 20px 0;
	width:80%;
	top:38%;
	left:10%;
	font-family:'Raleway', sans-serif;
	font-size:15px;
	font-weight:900;
	text-transform:uppercase;
	color:#FFFFFF;
	}
.project .images .enlarge span:after{
	margin:0 0 0 -30px;
	display:block;
	position:absolute;
	bottom:0;
	left:50%;
	width:60px;
	height:5px;
	content:'';
	background:#FFFFFF;
	}
.project .right{
	padding:3% 4% 5px 4%;
	position:relative;
	width:42%;
	float:left;
	z-index:1;
	background:#FFFFFF;
	}
.project .right p, .project .right ul{margin:0 0 15px 0;}
.project li{padding:0 0 0 15px; background:url(images/bullet.png) 1px 11px no-repeat;}
@media screen and (max-width: 1150px){
	.content{padding:40px 0 15px 0;}
	.project .images .enlarge{line-height:1.6em;}
	.project .images .enlarge span{margin:0 0 16px 0; padding:0 0 14px 0; font-size:13px;}
	.project .images .enlarge span:after{height:4px;}
	}
@media screen and (max-width: 960px){
	.content{padding:30px 0 5px 0;}
	.project .images .enlarge{line-height:1.6em;}
	.project .images .enlarge span{margin:0 0 16px 0; padding:0 0 14px 0; font-size:13px;}
	.project .images .enlarge span:after{height:4px;}
	}
@media screen and (max-width: 680px){
	.project:after{width:66.666%;}
	.project .left{width:33.333%;}
	.project .square_text{padding:100% 0 0 0; width:100%;}
	.project .images{width:100%;}
	.project .right{width:56.666%;}
	}
@media screen and (max-width: 480px){
	.project:after{display:none;}
	.project .left{width:100%;}
	.project .square_text{padding:50% 0 0 0; width:50%;}
	.project .images{width:50%;}
	.project .right{width:92%;}
	}
	
/*---------------FOOTER--------------*/
footer{
	padding:50px 0 40px 0;
	font-family:Arial, Helvetica, sans-serif;
	font-size:10px;
	font-weight:400;
	text-align:center;
	line-height:1.3em;
	color:#3F4140;
	}
footer a{color:#3F4140;}
footer a:hover{color:#056839;}
footer img{margin:0 0 8px 0; width:30px;}
#backtotop{
	position:fixed;
	bottom:10%;
	right:-30px;
	width:30px;
	height:30px;
	opacity:0;
	z-index:200;
	background:#056839;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
#backtotop img{display:block; width:100%;}
#backtotop.visible{right:0; opacity:1;}
@media screen and (max-width: 680px){
	footer{padding:25px 0 25px 0;}
	}