body, html{
	margin:0;
	padding:0;
	position:relative;
	overflow-x:hidden;
	font-family:'Asap', sans-serif, Arial, Helvetica;
	font-size:14px;
	font-weight:400;
	line-height:1.4em;
	color:#444747;
	}
body{background:#fff;}
body img{border:none;}
.yellow_bg{background:#ecbc1e;}
.dark_bg{position:relative; color:#fff; background:#444747;}
.csstransforms .dark_bg:after{
	padding:7.7% 0 0 0;
	position:absolute;
	bottom:0;
	right:0;
	width:67%;
	content:'';
	opacity:0.2;
	z-index:5;
	background:url(images/header_overlay.png) right top no-repeat;
	background-size:auto 100%;
	-webkit-transform:scale(-1,-1);
	-moz-transform:scale(-1,-1);
	-ms-transform:scale(-1,-1);
	-o-transform:scale(-1,-1);
	transform:scale(-1,-1);
	}
.dark_bg .wrap{
	z-index:10;
	}
.wrap{
	margin:0 auto 0 auto;
	position:relative;
	width:94%;
	max-width:1200px;
	}
#page{position:relative; padding:20px;}
.add_gap{margin-bottom:20px;}
@media screen and (max-width: 960px){
	#page{padding:15px;}
	.add_gap{padding:15px;}
	}
@media screen and (max-width: 720px){
	#page{padding:10px;}
	.add_gap{padding:10px;}
	}
	
/*---------------FONT STYLES--------------*/
h1, h2, h3, h4, p, a, ol, ul, li{margin:0; padding:0;}
h1{
	margin:-5px 0 25px 0;
	font-size:36px;
	font-weight:700;
	line-height:1.2em;
	}
h2, .h2{
	margin:0 0 20px 0;
	padding:10px 0 0 0;
	font-size:20px;
	font-weight:700;
	line-height:1.2em;
	}
h2:first-child, h1 + h2{padding:0;}
h3{
	margin:0 0 10px 0;
	padding:5px 0 0 0;
	font-size:16px;
	font-weight:700;
	line-height:1.3em;
	}
h3:first-child, h2 + h3{padding:0;}
.dark_bg h3{color:#ecbc1e;}
h4{font-size:14px; font-weight:700;}
p{margin:0 0 20px 0;}
a{
	text-decoration:none;
	color:#987914;
	-webkit-transition:color 300ms ease;
	-moz-transition:color 300ms ease;
	-o-transition:color 300ms ease;
	transition:color 300ms ease;
	}
a:hover{color:#444747;}
.dark_bg a{color:#ecbc1e;}
.dark_bg a:hover{color:#fff;}
a:focus{outline:none;}
ul li{list-style:none;}
table{margin:0 0 25px 0; border-collapse:collapse;}
@media screen and (max-width: 960px){
	h1{font-size:32px;}
	h2{font-size:19px;}
	}
@media screen and (max-width: 720px){
	h1{font-size:28px;}
	h2{font-size:18px;}
	}
@media screen and (max-width: 480px){
	h1{font-size:24px;}
	}
	
/*---------------NAV--------------*/
#nav{
	padding:80px 0 0 0;
	position:absolute;
	top:0;
	left:0;
	width:55%;
	max-width:280px;
	z-index:100;
	overflow:hidden;
	background:#444747;
	background:rgba(68,71,71,0.9);
	-webkit-transition:width 300ms ease;
	-moz-transition:width 300ms ease;
	-o-transition:width 300ms ease;
	transition:width 300ms ease;
	}
.no-rgba #nav{background:url(images/grey90.png) left top repeat;}
nav{
	margin:0 auto 0 auto;
	width:200px;
	max-height:0;
	overflow:hidden;
	-webkit-transition:max-height 300ms ease;
	-moz-transition:max-height 300ms ease;
	-o-transition:max-height 300ms ease;
	transition:max-height 300ms ease;
	}
.show_nav nav{max-height:500px;}
nav ul{padding:0 0 25px 0;}
nav li a{
	padding:8px 15px 8px 15px;
	display:block;
	font-size:16px;
	color:#fff;
	}
nav li.current a{padding:6px 10px 6px 10px; border:5px solid #ecbc1e;}
nav li a:hover{color:#ecbc1e;}
#nav_toggle{
	padding:16px 10px 0 66px;
	display:block;
	position:absolute;
	top:14px;
	left:70px;
	height:36px;
	float:left;
	z-index:1000;
	cursor:pointer;
	font-size:16px;
	font-weight:700;
	text-transform:uppercase;
	color:#ecbc1e;
	-webkit-user-select:none;
	-khtml-user-select:none;
	-moz-user-select:none;
	-o-user-select:none;
	user-select:none;
	}
#nav_toggle .bar{
	display:block;
	position:absolute;
	left:10px;
	width:32px;
	height:3px;
	background:#ecbc1e;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
#nav_toggle .bar1{top:13px;}
#nav_toggle .bar2{top:24px;}
#nav_toggle .bar3{top:24px;}
#nav_toggle .bar4{top:35px;}
.csstransforms .show_nav #nav_toggle .bar1{top:38px; opacity:0;}
.csstransforms .show_nav #nav_toggle .bar4{top:12px; opacity:0;}
.csstransforms .show_nav #nav_toggle .bar2, .csstransforms .show_nav #nav_toggle .bar3{
	-webkit-transition-delay:150ms;
	-moz-transition-delay:150ms;
	-o-transition-delay:150ms;
	transition-delay:150ms;
	}
.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: 960px){
	#nav{padding:60px 0 0 0; max-width:250px;}
	.show_nav #nav{width:250px;}
	nav{margin:0 35px 0 35px; width:180px;}
	nav ul{padding:0 0 20px 0;}
	nav li a{font-size:14px;}
	#nav_toggle{top:4px; left:60px;}
	}
@media screen and (max-width: 480px){
	#nav{width:165px;}
	.show_nav #nav{width:250px;}
	#nav_toggle{left:20px;}
	}
	
/*---------------HEADER--------------*/
#header{
	position:relative;
	padding:80px 0 31% 0;
	background-position:center center;
	background-repeat:no-repeat;
	background-color:#444747;
	background-size:cover;
	}
#header:after{
	padding:7.7% 0 0 0;
	position:absolute;
	bottom:0;
	left:0;
	width:67%;
	content:'';
	background:url(images/header_overlay.png) right top no-repeat;
	background-size:auto 100%;
	}
#logo{
	position:absolute;
	top:0;
	right:0;
	min-width:230px;
	max-width:400px;
	width:35%;
	}
#logo .main{
	display:block;
	position:absolute;
	top:15px;
	right:20%;
	width:62.5%;
	max-width:250px;
	}
#logo .bg{display:block; max-width:100%;}
@media screen and (max-width: 960px){
	#header{margin:20px 0 0 0;}
	#logo .main{top:-15px; right:19%; width:;}
	#logo .bg{margin:-20px 0 0 0;}
	}
@media screen and (max-width: 720px){
	#header{margin:60px 0 0 0;}
	#logo{width:35%; min-width:none;}
	#logo .main{top:-58px; right:10%; width:150px;}
	#logo .bg{display:none;}
	}
@media screen and (max-width: 480px){
	#logo .main{top:-54px; right:5%; width:120px;}
	}
@media screen and (max-width: 350px){
	#logo .main{top:-52px; right:0; width:100px;}
	}
	
/*---------------CONTENT--------------*/
main{display:block;}
main img{margin:0 auto 0 auto; display:block; max-width:100%;}
main ul{margin:0 0 25px 0;}
main p + ul{margin:-10px 0 25px 0;}
main li{padding:0 0 0 15px; background:url(images/bullet.png) 8px 9px no-repeat;}
main .dark_bg li{background-image:url(images/bullet_white.png);}
.generatedcontent main li{position:relative; background:none;}
.generatedcontent main li:before{
	position:absolute;
	top:9px;
	left:8px;
	width:2px;
	height:2px;
	content:'';
	background:#444747;
	}
.generatedcontent main .dark_bg li:before{background:#fff;}
.content{padding:50px 0 30px 0;}
.cols{overflow:auto;}
.cols .left{width:48.334%; float:left;}
.cols .right{width:48.334%; float:right;}
.cols .left_large{width:60%; float:left;}
.cols .right_small{width:35%; float:right;}
.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{
	overflow:auto;
	-webkit-column-break-inside:avoid;
	page-break-inside:avoid;
	break-inside:avoid-column;
	}
.btn{
	margin:10px 0 10px 0;
	padding:6px 68px 6px 12px;
	display:inline-block;
	position:relative;
	font-size:16px;
	font-weight:700;
	color:#444747;
	border:4px solid #444747;
	}
.btn:after{
	position:absolute;
	top:0;
	right:0;
	width:36px;
	height:100%;
	content:'';
	z-index:-1;
	background:#ecbc1e;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
.btn:hover:after{width:100%;}
.video{margin:0 0 20px 0; border:5px solid #ecbc1e;}
.video h2{padding:15px 5% 18px 5%; color:#fff; background:#ecbc1e;}
.video a{
	margin:22px auto 20px auto;
	display:block;
	position:relative;
	width:90%;
	max-width:369px;
	}
.video a:after{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
	content:'';
	background:#444747;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
.video a:hover:after{opacity:0.3;}
.video img{display:block; max-width:100%;}
.quicklinks{
	margin:0 -2% -2% 0;
	padding:0 0 20px 0;
	width:102%;
	overflow:auto;
	}
.quicklinks li{
	margin:0 1.96% 1.960% 0;
	padding:23.04% 0 0 0;
	position:relative;
	width:23.04%;
	float:left;
	background:none;
	}
.quicklinks li:before{display:none;}
.quicklinks a{
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	overflow:hidden;
	font-size:26px;
	font-weight:700;
	text-align:center;
	line-height:1.3em;
	color:#fff;
	border:10px solid #fff;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	}
.quicklinks .box{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:1;
	cursor:pointer;
	background:#ecbc1e;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
.quicklinks a:hover .box{opacity:0;}
.quicklinks span{
	display:block;
	position:absolute;
	top:10%;
	left:5%;
	width:90%;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
.csstransforms .quicklinks span{
	top:50%;
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	-o-transform:translateY(-50%);
	transform:translateY(-50%);
	}
p + .project:first-of-type{margin-top:40px;}
.project{margin:0 0 30px 0; padding:22px 4% 1px 4%; border:5px solid #ecbc1e;}
.project + p img{margin-bottom:30px;}
.project h2, .project .h2{margin:0 0 10px 0; padding:0;}
.project .h2{margin-top:-10px;}
.gallery{
	margin:0 -2.083% -2.083% 0;
	padding:0 0 20px 0;
	width:102.083%;
	overflow:auto;
	}
.gallery img{margin:0 2.04% 2.04% 0; width:17.96%; float:left;}
.people{margin:0 -2% 0 0; width:102%; overflow:auto;}
.person{margin:0 1.961% 0 0; width:31.372%; float:left;}
.italic{font-style:italic;}
.elphinstone_logo{margin:0; width:250px; max-width:80%;}
@media screen and (max-width: 960px){
	.content{padding:40px 0 20px 0;}
	.quicklinks li a{font-size:20px; border-width:8px;}
	}
@media screen and (max-width: 720px){
	.content{padding:30px 0 10px 0;}
	.cols .left, .cols .right, .cols .left_large, .cols .right_small{width:auto; float:none;}
	.cols2{
		margin:0;
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
		}
	.quicklinks_wrap{max-width:400px;}
	.quicklinks li{padding:25% 0 20px 0; width:48.039%;}
	.quicklinks li a{font-size:22px;}
	p + .project:first-of-type{margin-top:30px;}
	.gallery img{width:22.96%;}
	.person{width:48.039%;}
	#map iframe{height:250px;}
	}
@media screen and (max-width: 480px){
	.quicklinks li a{font-size:18px; border-width:5px;}
	.project{margin:0 0 20px 0;}
	.project + p img{margin-bottom:20px;}
	.gallery img{width:31.293%;}
	}
	
/*---------------FOOTER--------------*/
footer{
	padding:45px 0 50px 0;
	font-family:Arial, Helvetica, sans-serif;
	font-size:10px;
	text-align:center;
	line-height:1.3em;
	color:#fff;
	background:url(images/footer_bg.jpg) center center no-repeat #444747;
	background-size:cover;
	}
footer a{color:#fff;}
footer a:hover{color:#ecbc1e;}
footer img{margin:0 0 8px 0; width:30px;}
#backtotop{
	position:fixed;
	bottom:10%;
	right:-36px;
	width:36px;
	height:36px;
	opacity:0;
	z-index:200;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
#backtotop img{width:100%; pointer-events:none;}
#backtotop.visible{right:0; opacity:1;}
@media screen and (max-width: 720px){
	footer{padding:35px 0 40px 0;}
	}