body, html{
	margin: 0;
	padding: 0;
	position: relative;
	overflow-x: hidden;
	font-family: 'Merriweather', serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4em;
	color: #243443;
}
body{background: #fff;}
body img{border: none;}
.dark_bg{color: #fff; background: #4f5d69;}
.wrap{ 
	margin: 0 auto 0 auto;
	position: relative;
	width: 90%;
	max-width: 1200px;
}
.wrap1600{width: 100%; max-width: 1600px;}
	
/*---------------FONT STYLES--------------*/
h1, h2, h3, h4, p, a, ol, ul, li{margin: 0; padding: 0;}
h1{
	margin: -5px 0 30px 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 35px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.3em;
}
h1:last-child{margin-bottom: 20px;}
h2{
	margin: 0 0 25px 0;
	padding: 10px 0 0 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.3em;
}
h2:first-child, h1 + h2{padding: 0;}
h3{
	margin: 0 0 15px 0;
	padding: 10px 0 0 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.3em;
}
h3:first-child, h2 + h3{padding: 0;}
h4{margin: 0 0 10px 0; font-size: 16px; font-weight: 700;}
p{margin: 0 0 20px 0;}
a{
	text-decoration: none;
	color: #13588e;
	-webkit-transition: color 300ms ease;
	-moz-transition: color 300ms ease;
	-o-transition: color 300ms ease;
	transition: color 300ms ease;
}
a:hover{color: #243443;}
a:focus{outline: none;}
ul li{list-style: none;}
table{margin: 0 0 20px 0; border-collapse: collapse;}
@media screen and (max-width: 960px){
	h1{font-size: 30px;}
	h2{font-size: 22px;}
	h3{font-size: 19px;}
}
@media screen and (max-width: 720px){
	h1{font-size: 25px;}
	h2{font-size: 20px;}
	h3{font-size: 18px;}
}
	
/*---------------TOP--------------*/
#top{
	padding-top: 60px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
#top > .bar{top: 0; width: 100%; background: #fff;}
#top.fixed > .bar, #top.fixed2 > .bar{background: rgba(255,255,255,0.85);}
.no-rgba #top.fixed > .bar, .no-rgba #top.fixed2 > .bar{background: url(images/white85.png) repeat;}
#top.fixed > .bar{position: fixed;}
#top .wrap{height: 100px;}
#logo{
	display: block;
	position: absolute;
	top: -3px;
	right: 0;
	width: 250px;
}
#top.fixed #logo{top: 3px; width: 220px;}
#social{position: absolute; top: -60px; left: 0;}
#social a{
	margin: 0 10px 0 0;
	float: left;
	background: #000;
	-webkit-transition: background 300ms ease;
	-moz-transition: background 300ms ease;
	-o-transition: background 300ms ease;
	transition: background 300ms ease;
}
#social a:hover{background: #13588e;}
#social img{display: block; width: 38px;}
#nav_toggle{
	padding: 10px 10px 0 44px;
	display: none;
	position: absolute;
	top: 30px;
	left: -10px;
	height: 29px;
	float: left;
	z-index: 1000;
	cursor: pointer;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.3em;
	color: #243443;
	-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: 24px;
	height: 3px;
	background: #243443;
}
#nav_toggle .bar1{top: 10px;}
#nav_toggle .bar2{top: 18px;}
#nav_toggle .bar3{top: 18px;}
#nav_toggle .bar4{top: 26px;}
.csstransforms .show_nav #nav_toggle .bar1{top: 27px; opacity: 0;}
.csstransforms .show_nav #nav_toggle .bar4{top: 8px; 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);
}
#top > .bar, #top .wrap, #logo, #nav_toggle, #nav_toggle .bar{
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}
@media screen and (max-width: 1200px){
	#top.fixed .wrap{height: 80px;}
	#top.fixed #logo{width: 180px;}
	#nav_toggle{display: block;}
	#top.fixed #nav_toggle{top: 20px;}
}
@media screen and (max-width: 960px){
	#top .wrap{height: 88px;}
	#logo{width: 220px;}
	#nav_toggle{top: 24px;}
}
@media screen and (max-width: 480px){
	#top{padding-top: 50px;}
	#top.fixed2 > .bar{position: fixed;}
	#top .wrap{height: 72px;}
	#top.fixed2 .wrap{height: 68px;}
	#logo{width: 180px;}
	#top.fixed2 #logo{width: 150px;}
	#social{top: -50px;}
	#nav_toggle{top: 16px;}
	#top.fixed2 #nav_toggle{top: 14px;}
}
@media screen and (max-width: 355px){
	#logo{width: 150px;}
	#top .wrap{height: 59px;}
	#nav_toggle{top: 10px;}
}
	
/*---------------NAV--------------*/
nav{
	position: absolute;
	top: 15px;
	left: -10px;
	-webkit-transition: padding 300ms ease, max-height 300ms ease;
	-moz-transition: padding 300ms ease, max-height 300ms ease;
	-o-transition: padding 300ms ease, max-height 300ms ease;
	transition: padding 300ms ease, max-height 300ms ease;
}
nav ul{width: 220px; float: left;}
nav li a{
	padding: 4px 10px 4px 10px;
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.1em;
	color: #243443;
}
nav li.current a{color: #adbece;}
nav li a:hover{color: #13588e;}
@media screen and (max-width: 1200px){
	nav{
		padding: 0;
		top: 100%;
		left: -15px;
		width: 220px;
		max-height: 0;
		overflow: hidden;
		background: #4f5d69;
	}
	.show_nav nav{padding: 10px 0 10px 0; max-height: 300px;}
	nav ul{width: auto;}
	nav li a{padding: 6px 15px 6px 15px; color: #fff;}
	nav li.current a, nav li a:hover{color: #adbece;}
}
	
/*---------------HEADER--------------*/
#header{
	padding-top: 160px;
	background-position: center center;
	background-repeat: repeat;
	background-color: #d4d6d9;
	background-size: cover;
}
#header .wrap{padding: 80px 0 60px 0;}
#header.home .wrap{padding: 100px 0 100px 0;}
#header .box{
	padding-left: 6.25%;
	padding-right: 5.5%;
	width: 88.25%;
	max-width: 500px;
	color: #fff;
	background: #243443;
	background: rgba(36,52,67,0.8);
}
.no-rgba #header .box{background: url(images/dark80.png) repeat;}
@media screen and (max-width: 1200px){
	#header .wrap{padding: 70px 0 50px 0;}
	#header.home .wrap{padding: 80px 0 80px 0;}
}
@media screen and (max-width: 960px){
	#header{padding-top: 148px;}
}
@media screen and (max-width: 720px){
	#header .wrap{padding: 60px 0 40px 0;}
	#header.home .wrap{padding: 60px 0 60px 0;}
}
@media screen and (max-width: 480px){
	#header{padding-top: 122px;}
	#header .wrap{padding: 40px 0 20px 0;}
	#header.home .wrap{padding: 40px 0 40px 0;}
}
@media screen and (max-width: 355px){
	#header{padding-top: 109px;}
}
	
/*---------------CONTENT--------------*/
main{display: block;}
main ul, main ol{margin: 0 0 20px 0;}
main p + ul{margin-top: -10px;}
main ul li{padding: 0 0 0 15px; background: url(images/bullet.png) 8px 9px no-repeat;}
.generatedcontent main ul li{position: relative; background: none;}
.generatedcontent main ul li:before{
	position: absolute;
	top: 9px;
	left: 8px;
	width: 2px;
	height: 2px;
	content: '';
	background: #243443;
}
main ol li{margin: 0 0 0 25px; padding: 0 0 0 2px;}
.content{padding-top: 70px; padding-bottom: 50px;}
.content + .content{padding-top: 0;}
.center{text-align: center;}
.cols{overflow: auto;}
.cols .left{width: 48.334%; float: left;}
.cols .left_small{width: 41.667%; float: left;}
.cols .right{width: 48.334%; float: right;}
.cols2{
	margin-bottom: 20px;
	-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{
	padding: 5px 12px 3px 12px;
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	background: #243443;
	-webkit-transition: background 300ms ease;
	-moz-transition: background 300ms ease;
	-o-transition: background 300ms ease;
	transition: background 300ms ease;
}
.btn:hover{color: #fff; background: #13588e;}
.projects{
	margin: 0 0 -1% 0;
	padding: 1% 0 0 0;
	max-width: 1600px;
	overflow: auto;
}
.project{
	margin: 0 0 1% 1%;
	padding: 32% 0 0 0;
	position: relative;
	width: 32%;
	float: left;
	overflow: hidden;
	text-align: center;
	color: #fff;
	background-image: url(images/projects/no_image.png);
	background-color: #4f5d69;
}
.project:hover{color: #fff;}
.project .img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 5;
	opacity: 1;
	visibility: visible;
}
.project, .project .img{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.project:hover .img{opacity: 0;}
.project .box{
	position: absolute;
	top: 10%;
	bottom: 10%;
	left: 10%;
	right: 10%;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	background: #243443;
	background: rgba(36,52,67,0.8);
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}
.project:hover .box{
	opacity: 1;
	visibility: visible;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}
.no-rgba .project .box{background: url(images/dark80.png) repeat;}
.project .inner{
	position: absolute;
	top: 10%;
	left: 5%;
	width: 90%;
}
.csstransforms .project .inner{
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}
.project h2{margin: 0 0 10px 0;}
.home .project h2{margin: 0 0 20px 0;}
.project h2:after{margin: 5px 0 0 0; display: block; content: '\2013';}
.home .project h2:after{display: none;}
.project .featured{display: block; font-size: 14px; line-height: 1.3em;}
.project .dash{margin: 8px 0 8px 0; display: block;}
.project p{margin: 0;}
.project_types_bg .wrap{z-index: 10;}
.project_types_bg .wrap:after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 240px;
	right: -5.555%;
	right: calc(50% - 50vw);
	content: '';
	z-index: -1;
	background: url(images/project_types_bg.jpg) center center repeat;
	background-size: cover;
}
.project_types{
	margin: 0 0 50px 0;
	position: relative;
	z-index: 20;
	overflow: auto;
	color: #243443;
	background: #fff;
}
.project .img, .project .box{
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.project_type{margin: 20px 0 20px 5%; width: 26.667%; float: left;}
.project_type:nth-child(3n+1){clear: both;}
.project_full{margin: 1% 0 0 0;}
.project_full .wrap{overflow: hidden;}
.project_full .left{width: 30%; /*max-width: 220px;*/ float: left;}
.project_full h2{margin: 0 0 40px 0;}
.project_full .info{margin: 0 0 30px 0; padding: 40px 0 0 0; position: relative;}
.project_full .info:after{
	position: absolute;
	top: -2px;
	left: 0;
	width: 68px;
	height: 4px;
	content: '';
	background: #243443;
}
.project_full h3{
	margin: 0 0 5px 0;
	font-family: 'Merriweather', serif;
	font-size: 16px;
	font-weight: 700;
	text-transform: none;
}
.project_full .info p{margin: 0 0 5px 0;}
.project_full .images{
	position: relative;
	width: 66.667%;
	float: right;
	overflow: hidden;
	background: #d4d6d9;
}
.project_full img{
	display: block;
	width: 100%;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
}
.project_full .images li{position: static;}
.project_full .images li:before{display: none;}
.return_to{padding-top: 10px;}
.staff h3, .staff h4{margin: 0;}
.awards .logo1{max-width: 60%;}
.qualifications{max-width: 554px; overflow: auto;}
.qualifications img{margin-left: 9.0245%; float: left;}
.qualifications img:first-child{margin-left: 0;}
.qualifications .logo1{width: 14.621%;}
.qualifications .logo2{width: 31.589%;}
.qualifications .logo3{width: 35.741%;}
.form_wrap{margin: 0 auto 0 auto; max-width: 600px;}
#thankyou .thanks{display: none;}
#thankyou:target .thanks{display: block;}
#thankyou:target form{display: none;}
form h3{margin: 0 0 5px 0; padding-top: 5px;}
form .g-recaptcha{padding-top: 5px;}
.input{margin-bottom: 10px;}
label{display: block;}
input, textarea, select{
	padding: 2px 5px 2px 5px;
	width: 100%;
	box-sizing: border-box;
	font-family: sans-serif;
	font-size: 14px;
	line-height: 1.3em;
	border: 1px solid #243443;
}
input.btn{width: auto; border: none;}
.label{margin: 0; font-size: 14px;}
.value{display: inline-block;}
.value input{display: inline-block; width: auto;}
.value label{display: inline-block;}
.uniform{overflow: auto;}
.uniform .cols{width: 100%; width: calc(100% - 170px); float: right;}
.uniform .cols .left, .uniform .cols .right{width: 100%; float: none;}
.uniform img{display: block; float: left;}
.video{margin-bottom: 20px; padding-top: 56.25%; position: relative;}
.video iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 1200px){
	.project h2{font-size: 20px;}
	.project .dash{margin: 5px 0 5px 0;}
}
@media screen and (max-width: 1024px){
	.project .box{
		opacity: 1;
		visibility: visible;
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
		transform: scale(1);
	}
}
@media screen and (max-width: 960px){
	.content{padding-top: 50px; padding-bottom: 30px;}
	.project h2{margin: 0 0 5px 0; font-size: 18px;}
	.project h2:after{margin: 2px 0 0 0;}
	.project .dash{margin: 0;}
	.project p{font-size: 14px;}
	.project_type{margin: 15px 0 15px 5%;}
	.project_full h2{margin: 0 0 30px 0;}
	.project_full .info{margin-bottom: 20px; padding: 30px 0 0 0;}
}
@media screen and (max-width: 720px){
	.content{padding-top: 30px; padding-bottom: 10px;}
	.cols .left, .cols .left_small, .cols .right{width: auto; float: none;}
	.cols2{
		margin: 0;
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}
	.project{padding-top: 48.5%; width: 48.5%;}
	.home .project{padding-top: 32%; width: 32%;}
	.project h2{margin: 0; font-size: 16px;}
	.project h2:after{margin: -2px 0 0 0;}
	.home .project h2{margin: 0;}
	.home .project .featured, .home .project .dash{display: none;}
	.home .project p{display: none;}
	.project_types_bg .wrap:after{display: none;}
	.project_types{margin: 0 0 40px 0;}
	.project_type{margin: 10px 0 10px 5%; width: 42.5%;}
	.project_type:nth-child(3n+1){clear: none;}
	.project_type:nth-child(2n+1){clear: both;}
	.project_full .left{width: auto; max-width: none; float: none;}
	.project_full h2{margin: 0 0 20px 0;}
	.project_full .info{padding: 20px 0 0 0;}
	.project_full .images{width: 100%; float: none;}
	.return_to{padding: 0; text-align: left;}
}
@media screen and (max-width: 480px){
	.project .box{top: 8%; bottom: 8%; left: 8%; right: 8%;}
	.project h2{font-size: 14px;}
	.project p{font-size: 12px;}
	.project_types{margin: 0 0 30px 0;}
	.project_type{margin: 5px 0 5px 5%; width: 90%;}
	.uniform img{float: none;}
	.uniform .cols{width: auto; float: none;}
}
@media screen and (max-width: 410px){
	.projects.home{margin: 0 auto 0 auto; max-width: 220px;}
	.home .project{padding-top: 98%; width: 98%;}
	.project h2:after{display: none;}
	.project p{display: none;}
}
@media screen and (max-width: 355px){
	.project h2{font-size: 12px;}
}
	
/*---------------FOOTER--------------*/
footer{
	padding: 50px 0 50px 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	line-height: 1.3em;
	color: #4f5d69;
}
footer a{color: #4f5d69;}
footer a:hover{color: #243443;}
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: 5px; opacity: 0.5;}
#backtotop.visible:hover{opacity: 1;}
@media screen and (max-width: 720px){
	footer{padding: 40px 0 40px 0;}
}
@media screen and (max-width: 480px){
	footer{padding: 30px 0 30px 0;}
}