body, html{
	margin:0;
	padding:0;
	position:relative;
	overflow-x:hidden;
	font-family:'Titillium Web', sans-serif, Arial, Helvetica;
	font-size:14px;
	font-weight:400;
	line-height:2em;
	color:#645963;
	}
body{
	background:#FFFFFF;
	}
body img{
	border:none;
	}
.green_bg{
	color:#FFFFFF;
	background:#8DC63F;
	}
.blue_bg{
	color:#FFFFFF;
	background:#0E76BC;
	}
.grey_bg{
	color:#6E646D;
	background:#D6DDE4;
	}
.light_bg{
	background:#F5F7F9;
	}
.wrap{
	margin:0 auto 0 auto;
	position:relative;
	width:92%;
	max-width:1200px;
	}
	
/*---------------FONT STYLES--------------*/
h1, h2, h3, h4, p, a, ul, ol, li{margin:0; padding:0;}
h1{
	margin:0 0 25px 0;
	font-size:30px;
	font-weight:700;
	line-height:1.2em;
	}
h2{
	margin:0 0 15px 0;
	padding:0 0 10px 0;
	font-size:18px;
	font-weight:700;
	text-transform:uppercase;
	line-height:1.5em;
	color:#0E76BC;
	border-bottom:2px dotted #0E76BC;
	}
.blue_bg h2{
	color:#FFFFFF;
	border-color:#FFFFFF;
	}
.green_bg h2{
	color:#FFFFFF;
	border-color:#FFFFFF;
	}
h3{
	font-size:18px;
	font-weight:400;
	font-style:italic;
	line-height:1.5em;
	color:#0E76BC;
	}
.blue_bg h3{
	color:#FFFFFF;
	border-color:#FFFFFF;
	}
h4{
	font-size:18px;
	font-weight:400;
	line-height:1.5em;
	color:#0E76BC;
	}
.blue_bg h4{
	color:#FFFFFF;
	}
p{
	margin:0 0 25px 0;
	}
a{
	text-decoration:none;
	color:#0E76BC;
	}
a:hover{
	color:#8DC63F;
	}
.blue_bg a{
	color:#8DC63F;
	}
.blue_bg a:hover{
	color:#FFFFFF;
	}
a:focus{
	outline:none;
	}
ul li{
	list-style:none;
	}
ol li{
	margin:0 0 0 20px;
	list-style:decimal;
	}
strong{
	font-weight:700;
	}
table{
	margin:0 0 25px 0;
	width:100%;
	line-height:1.2em;
	border-spacing:15px;
	background:#F5F7F9;
	}
th{
	text-align:left;
	}
	
/*---------------TOP--------------*/
#top{
	height:130px;
	-webkit-user-select:none;
	-khtml-user-select:none;
	-moz-user-select:none;
	-o-user-select:none;
	user-select:none;
	}
#logo{
	position:absolute;
	top:32px;
	}
#nav_toggle{
	display:none;
	position:absolute;
	top:30px;
	right:-5px;
	width:40px;
	height:40px;
	cursor:pointer;
	}
#nav_toggle span{
	display:block;
	position:absolute;
	left:5px;
	width:30px;
	height:3px;
	background:#0E76BC;
	-webkit-transition:all 300ms ease;
	-moz-transition:all 300ms ease;
	-o-transition:all 300ms ease;
	transition:all 300ms ease;
	}
#nav_toggle .bar2{top:19px; opacity:1}
#nav_toggle .bar1{top:10px;}
#nav_toggle .bar3{top:28px;}
.csstransforms .show_nav #nav_toggle .bar2{opacity:0;}
.csstransforms .show_nav #nav_toggle .bar1{
	top:19px;
	-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{
	top:19px;
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	transform:rotate(-45deg);
	}
@media screen and (max-width: 850px){
	#top{
		padding:100px 0 0 0;
		height:auto;
		}
	#logo{
		top:22px;
		}
	#nav_toggle{
		display:block;
		}
	}
	
/*---------------NAV--------------*/
#nav{
	position:absolute;
	top:24px;
	right:0;
	width:600px;
	-webkit-transition:max-height 300ms ease;
	-moz-transition:max-height 300ms ease;
	-o-transition:max-height 300ms ease;
	transition:max-height 300ms ease;
	}
.csscolumns #nav ul{
	-webkit-column-count:3;
	-moz-column-count:3;
	column-count:3;
	}
#nav li{
	width:200px;
	float:left;
	}
.csscolumns #nav li{
	width:100%;
	float:none;
	}
#nav li a{
	padding:2px 0 2px 0;
	display:block;
	text-transform:uppercase;
	line-height:1.5em;
	color:#645963;
	}
#nav li a:hover{
	color:#0E76BC;
	}
#nav li.current a{
	font-weight:700;
	color:#8DC63F;
	}
@media screen and (max-width: 960px){
	#nav{
		width:500px;
		}
	}
@media screen and (max-width: 850px){
	#nav{
		position:static;
		max-height:0;
		overflow:hidden;
		}
	.show_nav #nav{
		max-height:400px;
		}
	#nav ul{
		padding:10px 0 10px 0;
		}
	.csscolumns #nav ul{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
		}
	#nav li{
		width:100%;
		float:none;
		}
	}
	
/*---------------HEADER--------------*/
#header{
	position:relative;
	}
#banner_bg{
	position:absolute;
	width:100%;
	height:280px;
	top:0;
	left:0;
	z-index:5;
	}
#banner{
	position:relative;
	height:500px;
	z-index:10;
	overflow:hidden;
	background:#FFFFFF;
	-webkit-border-bottom-right-radius:45px;
	-moz-border-bottom-right-radius:45px;
	border-bottom-right-radius:45px;
	}
#banner p{
	padding:0 50px 10px 0;
	position:absolute;
	top:35%;
	right:80px;
	z-index:15;
	font-size:70px;
	font-weight:700;
	line-height:1.5em;
	color:#FFFFFF;
	background:url(../images/corner_green.jpg) right bottom no-repeat;
	}
#banner .strip{
	position:absolute;
	top:280px;
	left:0;
	width:100%;
	height:115px;
	background:rgba(255,255,255,0.5);
	}
.slider{
	margin:0 auto 0 auto;
	padding:0;
	position:relative;
	width:100%;
	height:100%;
	overflow:hidden;
	list-style:none;
	}
.slider li{
	display:none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-position:center center;
	background-size:cover;
	-webkit-backface-visibility:hidden;
	-webkit-border-bottom-right-radius:45px;
	-moz-border-bottom-right-radius:45px;
	border-bottom-right-radius:45px;
	}
.slider li:first-child{
	display:block;
	position:relative;
	float:left;
	}
@media screen and (max-width: 960px){
	#banner_bg{
		height:220px;
		}
	#banner{
		height:417px;
		}
	#banner p{
		right:50px;
		font-size:50px;
		background-size:65px 65px;
		}
	#banner .strip{
		top:220px;
		height:90px;
		}
	}
@media screen and (max-width: 720px){
	#banner_bg{
		height:160px;
		}
	#banner{
		height:292px;
		}
	#banner p{
		padding:0 40px 10px 0;
		right:30px;
		font-size:40px;
		background-size:50px 50px;
		}
	#banner .strip{
		top:160px;
		height:50px;
		}
	}
@media screen and (max-width: 480px){
	#banner_bg{
		height:105px;
		}
	#banner{
		height:188px;
		}
	#banner p{
		padding:0 30px 5px 0;
		right:10px;
		font-size:30px;
		background-size:40px 40px;
		}
	#banner .strip{
		top:105px;
		height:25px;
		}
	}
	
/*---------------CONTENT--------------*/
.header_content{
	padding:50px 0 25px 0;
	}
.content{
	padding:40px 0 15px 0;
	}
.content ul{
	margin:0 0 25px 0;
	}
.content p + ul{
	margin:-15px 0 25px 0;
	}
.content li{
	padding:0 0 0 12px;
	overflow:auto;
	-webkit-column-break-inside:avoid;
	page-break-inside:avoid;
	break-inside:avoid-column;
	background:url(../images/bullet.png) 1px 12px no-repeat;
	}
.content table ul{
	margin:0;
	}
.content table li{
	background-position:1px 7px;
	}
.cols{
	overflow:hidden;
	}
.cols .left{
	width:48.33%;
	float:left;
	}
.cols .left_lrg{
	margin:0 0 25px 0;
	padding:0 50px 0 0;
	width:70%;
	float:left;
	overflow:auto;
	background:url(../images/corner_green.jpg) right bottom no-repeat;
	}
.cols .right{
	width:48.33%;
	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;
	}
.heading{
	margin:0 0 15px 0;
	padding:0 0 10px 0;
	border-bottom:2px dotted #0E76BC;
	}
.blue_bg .heading{
	border-color:#FFFFFF;
	}
.heading h2{
	margin:0;
	padding:0;
	border:none;
	}
.align_right{
	text-align:right;
	}
.btn{
	margin:0 0 25px 0;
	padding:5px 10px 5px 10px;
	display:inline-block;
	min-width:206px;
	font-size:18px;
	text-align:center;
	color:#FFFFFF;
	-webkit-border-bottom-right-radius:10px;
	-moz-border-bottom-right-radius:10px;
	border-bottom-right-radius:10px;
	background:#0E76BC;
	}
.btn:hover{
	color:#FFFFFF;
	background:#8DC63F;
	}
.green_bg .btn:hover{
	color:#0E76BC;
	background:#FFFFFF;
	}
p > .btn{
	margin:0;
	}
.gallery2{
	margin:0 -3.33% -3.33% 0;
	padding:0 0 25px 0;
	width:51.67%;
	float:left;
	overflow:auto;
	}
.gallery2 img{
	margin:0 6.45% 6.45% 0;
	display:block;
	width:43.55%;
	float:left;
	}
.engineer_preview{
	margin:0 0 25px 0;
	overflow:auto;
	-webkit-column-break-inside:avoid;
	page-break-inside:avoid;
	break-inside:avoid-column;
	}
.engineer_preview img{
	display:block;
	float:left;
	}
.engineer_preview .heading{
	margin:0 0 10px 180px;
	}
#map{
	position:relative;
	}
#map img{
	margin:0 0 0 -800px;
	display:block;
	position:relative;
	left:50%;
	}
#map .overlay{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	}
#map .wrap{
	height:100%;
	}
#map .btn{
	position:absolute;
	bottom:5px;
	left:0;
	color:#FFFFFF;
	}
.contact{
	margin:0 0 25px 0;
	overflow:auto;
	-webkit-column-break-inside:avoid;
	page-break-inside:avoid;
	break-inside:avoid-column;
	}
.contact_top{
	margin:0 0 25px 0;
	}
.contact_top p{
	margin:0;
	}
.contact_top .fax{
	padding:0 0 0 15px;
	}
.contact p{
	margin:0;
	}
.contact .bold, .contact_top .bold{
	padding:0 5px 0 0;
	font-weight:700;
	}
@media screen and (max-width: 960px){
	.cols .left, .cols .right{
		width:100%;
		float:none;
		}
	.cols2{
		margin:0;
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
		}
	.gallery2_wrap{
		margin:0 auto 0 auto;
		max-width:558px;
		}
	.gallery2{
		width:103.33%;
		float:none;
		}
	.gallery2 img{
		margin:0 3.22% 3.22% 0;
		width:46.78%;
		}
	#map img{
		margin:0 0 0 -600px;
		width:1200px;
		}
	}
@media screen and (max-width: 720px){
	.header_content{
		padding:40px 0 15px 0;
		}
	.cols .left_lrg{
		width:auto;
		float:none;
		}
	}
@media screen and (max-width: 480px){
	.header_content, .content{
		padding:30px 0 5px 0;
		}
	}
	
/*---------------ENGINEERS--------------*/
.engineers{
	margin:0 -3.3% -3.3% 0;
	padding:0 0 25px 0;
	width:103.3%;
	overflow:auto;
	}
.engineer{
	margin:0 3.19% 3.19% 0;
	padding:0 0 10px 0;
	width:13.47%;
	width:11.09%;
	float:left;
	background:#D6DDE4;
	}
.engineer img{
	margin:0 0 10px 0;
	display:block;
	width:100%;
	}
.engineer h2{
	margin:0;
	padding:0 8% 0 8%;
	font-size:14px;
	color:#645963;
	border:none;
	}
.engineer h3{
	padding:0 8% 0 8%;
	height:63px;
	font-size:14px;
	color:#645963;
	}
@media screen and (max-width: 1300px){
	.engineer h2{
		height:42px;
		}
	.engineer h3{
		height:63px;
		}
	}
@media screen and (max-width: 960px){
	.engineer{
		width:16.81%;
		}
	}
@media screen and (max-width: 820px){
	.engineer{
		width:21.81%;
		}
	}
@media screen and (max-width: 550px){
	.engineer{
		width:30.14%;
		}
	}
@media screen and (max-width: 380px){
	.engineer{
		width:46.81%;
		}
	}
	
/*---------------PROJEDCTS--------------*/
.projects{
	margin:0 -3.33% -3.33% 0;
	padding:0 0 25px 0;
	width:103.33%;
	overflow:auto;
	}
.project{
	margin:0 3.22% 3.22% 0;
	padding:0 0 15px 0;
	width:21.78%;
	float:left;
	background:#D6DDE4;
	}
.project img{
	margin:0 0 15px 0;
	display:block;
	width:100%;
	}
.project h2{
	margin:0;
	padding:0 8% 0 8%;
	height:42px;
	font-size:14px;
	color:#645963;
	border:none;
	}
.project .more{
	margin:0;
	padding:0 8% 0 8%;
	font-size:14px;
	text-decoration:underline;
	color:#0E76BC;
	}
.gallery{
	margin:0 -3.33% -3.33% 0;
	padding:0 0 25px 0;
	width:103.33%;
	overflow:auto;
	}
.gallery img{
	margin:0 3.22% 3.22% 0;
	display:block;
	width:21.78%;
	float:left;
	}
@media screen and (max-width: 960px){
	.project, .gallery img{
		width:30.11%;
		}
	.project h2{
		height:63px;
		}
	}
@media screen and (max-width: 720px){
	.project h2{
		height:84px;
		}
	}
@media screen and (max-width: 480px){
	.project, .gallery img{
		width:46.78%;
		}
	}
	
/*---------------LOGOS--------------*/
.logo_grid{
	margin:0 -3.33% -3.33% 0;
	padding:0 0 25px 0;
	width:103.33%;
	overflow:auto;
	}
.logo{
	margin:0 3.22% 3.22% 0;
	padding:16.78% 0 0 0;
	position:relative;
	display:block;
	width:16.78%;
	float:left;
	overflow:hidden;
	}
.logo img{
	display:block;
	position:absolute;
	top:0;
	left:0;
	right:0;
	max-width:100%;
	max-height:100%;
	}
.csstransforms .logo img{
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	-moz-transform:translate(-50%,-50%);
	-ms-transform:translate(-50%,-50%);
	-o-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	}
@media screen and (max-width: 960px){
	.logo{
		width:21.78%;
		}
	}
@media screen and (max-width: 720px){
	.logo{
		width:30.11%;
		}
	}
@media screen and (max-width: 480px){
	.logo{
		width:46.78%;
		}
	}
	
/*---------------BOTTOM--------------*/
#bottom .nav{
	margin:0 0 10px 0;
	overflow:auto;
	}
#bottom .nav > ul{
	width:50%;
	float:left;
	}
#bottom .nav li{
	padding:0 10px 0 0;
	line-height:1.1em;
	background:none;
	}
#bottom .nav > ul > li{
	margin:0 0 15px 0;
	}
#bottom .nav li a{
	margin:0 0 3px 0;
	display:inline-block;
	color:#6E646D;
	}
#bottom .nav li a:hover{
	color:#0E76BC;
	}
#bottom .nav > ul > li > a{
	font-weight:700;
	}
#bottom .right{
	overflow:auto;
	}
#bottom .contact_details{
	float:right;
	font-size:18px;
	font-weight:700;
	color:#0E76BC;
	}
#bottom .contact_details p{
	margin:0;
	}
#bottom .contact_details .fax{
	padding:0 0 0 15px;
	}
#bottom .logos{
	padding:25px 0 0 0;
	}
#bottom .logos img{
	margin:0 25px 25px 0;
	display:inline-block;
	}
@media screen and (max-width: 960px){
	#bottom .contact_details{
		float:none;
		}
	}
	
/*---------------FOOTER--------------*/
#footer{
	padding:40px 0 50px 0;
	font-family:Arial, Helvetica, sans-serif;
	font-size:10px;
	line-height:1.2em;
	color:#A4A1A1;
	}
#footer p{
	margin:0;
	}
#footer a{
	color:#A4A1A1;
	}
#footer a:hover{
	color:#0E76BC;
	}
#footer .left{
	float:left;
	}
#footer .right{
	float:right;
	text-align:right;
	}
#footer img{
	margin:-5px 0 0 10px;
	width:30px;
	float:right;
	}
@media screen and (max-width: 1024px){
	#footer .right{
		margin:-7px 0 0 0;
		}
	}
@media screen and (max-width: 960px){
	#footer .left, #footer .right{
		margin:0;
		width:auto;
		float:none;
		text-align:left;
		}
	#footer img{
		margin:8px 10px 0 0;
		float:left;
		}
	}
	
/*---------------CLASSES--------------*/
.large{
	font-size:30px;
	line-height:1.2em;
	}