@charset "utf-8";
/* CSS Document */

/*Layout Declarations*/
html {
	height:100%;
}
body {
	background: none repeat scroll 0 0;
	color: #404040;
	font-family: "soleil", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height:1.75;
	margin: 0;
}
img {
    max-width: 100%;
    height:auto;
}
p {
	margin-top:0px;
	margin-bottom:24px;
}
a {
	outline:none;
	position:relative;
}
a, a:visited	{
	color:#2b79a1;
	font-weight:600;
    text-decoration:underline;
}
a:hover	{
	color:#000000;
    text-decoration:underline;
}
.contentWrapper {
	width:1200px;
	margin:0px auto;
	max-width:90%;
	position:relative;
}
.innerPadding {
	padding:0px 6%;
}
h1, h2, h3, h4, h5 {
	line-height: 1.2;
	margin: 0 0 10px;
	font-weight: 600;
	color: #404040;
}
h1 {
	font-size: 32px;
}
h1:after {
	content:"";
	display:block;
	width:90px;
	margin-top:20px;
	margin-bottom:25px;
	border-bottom:4px solid #84a73e;
}
.p_index h1 {
	font-size: 28px;
}
h2 {
	font-size: 26px;
	color: #2b79a1;
}
h3 {
	font-size: 22px;
}
h4 {
	font-size: 18px;
	color: #2b79a1;
	text-transform: uppercase;
	margin-bottom:5px;
}
h5 {
 	font-size: 16px;
}
.press {
	font-size: 15px;
	font-weight:300;
}
.press h4 a {
	text-decoration:none;
}
.presslinks a, .presslinks a:visited {
	color: inherit;
	font-weight: inherit;
	text-decoration:none;
}
.press .readmore {
	font-size: 16px;		
	font-weight: 600;
	color: #2b79a1;	
	letter-spacing: .4px;
	text-transform: uppercase;	
	text-align: right;
}
.press .item {
	margin-bottom:20px;
}
.press .newsdate {
	font-weight:600;
	font-size: 14px;
	text-transform: uppercase;	
	letter-spacing: .4px;	
}
.highlight {
	color:#38b549;
}
.fromcms {
	padding-top:20px;
	padding-right:14%;
}
.template3 .fromcms {
	padding-right:0;
}
#header .innerPadding {
	padding:0;
}
#header .contentWrapper {
	background:rgba(255,255,255,0.90);
	padding-top:15px;
	padding-bottom:10px;
}
#header .logo {
	float:left;
}
#header .logo img {
}
.headerRight {
	float:right;
	padding-top:10px;
	width:calc(100% - 240px);
}
.sitesearch {
	position:relative;
}
.sitesearch .field {
  	font-family: Helvetica, Arial, sans-serif;
	font-size:14px;
	font-weight:300;
	height:38px;
	width:90%;
	padding:0px 10px;
	border:1px solid #eeeeee;
}
.sitesearch .btn {
	position:absolute;
	right:0px;
	top:0px;
	border-radius:0;
}
input.blur,textarea.blur {
	color:#999;
}
input, select, textarea {
	font: 12px "soleil", sans-serif;
}
.sitesearch input.blur {
	font-style:italic;
}
.checkboxes {
	display:flex;
	flex-wrap:wrap;
}
.checkboxes .checkbox {
	width:30%;
	margin-right:3%;
}
.checkboxes label {
	float:none;
	width:auto;
	white-space:nowrap;
}
.leftImage {
	width:49%;
	margin-right:4%;
	display:inline-block;
	position:relative;
	vertical-align:top;
	margin-left:-7%;
}
.p_index .editIconImage {
	margin-left:0 !important;
}
.p_index .fromcms {
	display:inline-block;
	width:54%;
	padding:0;
}
.team.hidden {
	display:none;
}
.filter-wrapper {
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.filter-wrapper .left-side {
	min-width:220px;
}
.p_our-team .bodymid {
	padding-right:0;
}
.heading .filters {
	float:right;
}
.filters .button {
	display:inline-block;
	margin-right:10px;
	font-size:14px;
	background:none;
	font-weight:normal;
	border:1px solid #ccc;
	color:#ccc;
	margin-bottom: 10px;
}
.filters .button a {
	display:block;
	color:inherit;
	padding:3px 10px;
}
.filters .button:hover {
	background:#eeeeee;
}
.filters .button.active {
	background-color:#2b79a1;
	color:#ffffff;
}

#footer {
}
.footerTop {
	background:#0c304a;
	padding:25px 0px;
	color:#ffffff;
	font-size: 18px;
	margin-bottom:5px;
}
.footerTop ul {
	list-style:none;
	margin:0;
	padding-left:0px;
}
.footerTop li {
	text-transform:uppercase;
	display:inline-block;
}
.footerTop li > div:after {
	content:"/";
	display:inline-block;
	padding:0px 5px 0px 10px;
}
.footerTop li:last-child > div:after {
	display:none;
}
.footerTop a, .footerTop a:visited {
	color:inherit;
	text-decoration:none;
}
.footerBottom {
	font-weight:300;
	font-size:14px;
	padding:20px 0px;
	background:#ebebeb;
}
.footerBottom a, .footerBottom a:visited {
	font-weight:inherit;
}
.footerShare {
	float:left;
	vertical-align:top;
	padding-left:6%;
}
#content_footer {
/*	width:65%;
	float:left;
*/
}
.footerlink {
	padding:0px 1px;
}
.footerlink a {
	text-decoration:none;
	color:inherit;
}
#footer .addthis_toolbox a {
	padding-right:7px;
}
.footerLinksRight {
	float:right;
}
.button {
	background: #2b79a1;
	font-size: 20px;
	font-weight: 600;
	color: #ffffff;
	letter-spacing: .6px;
	text-transform: uppercase;
	border:none;
	border-radius:0px;
	cursor:pointer;
	display:inline-block;
}
a.button, a.button:visited {
	color:#fff;
	text-decoration:none;
}
.button a{
	display:inline-block;
	color:#fff;
	text-decoration:none;
	padding:5px 20px;
}
input.button {
	padding:5px 20px;
}
form label {
	display:inline-block;
	width:110px;
	text-align:right;
	padding-right:5px;
}
form label.wider {
	width:auto;
}

/*.addthis_toolbox {
	min-width: 200px;
}*/
.innerPadding > .table {
	margin-bottom:35px;
	width:100%;
}
.bodymid, .bodyright {
	display:table-cell;
	vertical-align:top;
}
.bodymid {
	padding-right:20px;
}
.bodyright {
	width:33%;
	padding-left:5%;
}
.bodyright .wrapper {
	background:#ebebeb;
	padding:30px;
}
.service-page .bodyright .wrapper {
	background:#fff;
}
.sidebar-projects .item {
	position:relative;
    background-color: rgba(235,235,235,1);
	margin-bottom:40px;
    -webkit-font-smoothing: antialiased;
}
.sidebar-projects .item > a{
	position:absolute;
	top:0;bottom:0;left:0;right:0;
	width:100%;
	height:100%;
	z-index:5;
}
.sidebar-projects .photo {
	position:relative;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.sidebar-projects .photo::after{
	content:'';
	width:100%;
	display:block;
	padding-top:69%;
}
.sidebar-projects .details {
	padding:14px 19px 20px 19px;
}
.sidebar-projects .title {
    color: rgba(64,64,64,1);
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.2px;
    line-height: 1;
	margin-bottom:10px;
}
.sidebar-projects .read-more {
	margin-top:5px;
    color: rgba(43,121,161,1);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 16px;
}
.sidebar-projects .read-more a {
	text-decoration:none;
}
.fromcms ul {
	margin:0;
	padding:0;
	margin-bottom: 1.625rem;
}
.fromcms li {
  margin-left: 18px;
}
.contactform input {
	width:90%;
	height:40px;
	margin-bottom:10px;
}
.contactform textarea {
	width:90%;
	height:90px;
	border:1px solid #ccc;
}
.contactform input.button {
	width:auto;
}
.twocol > input {
	width:43%;
	margin-right:15px;
}
.alert {
	color:#990000;
	font-weight:bold;
}
img.circle {
	border-radius:50%;
	border:4px solid #ffffff;
	box-shadow: 0 0 5px #888;
	width:80%;
	height:auto;
}
img.circle:hover {
	border-color:#38b549;
}
table td {
	vertical-align:top;
}
.p_our-leadership .fromcms table {
	table-layout:fixed;
	width:100%;
}
.p_our-leadership .fromcms td {
	width:22%;
	max-width:22%;
	padding-left:0;
	padding-right:3%;
	font-size:80%;
}
.fancybox-image {
	height:auto !important;
}
.search li {
	margin-bottom:10px;
}
.sharefloat .addthis_toolbox {
  position: fixed;
  margin-top: 30%;
  z-index: 2500;
  margin: 70px 0 0 0;
  padding: 0;
  list-style: none;
}
.sharefloat .addthis_toolbox a {
	display:block;
	float:none;
  	margin: 0;
	margin-bottom:2px;
}
.sharefloat .addthis_toolbox a img {
	display:block;
}
.btcheck {
	display:none;
}
/* ---------------------------------------------------------------- */
/* HOVER MENU */
/* ---------------------------------------------------------------- */
ul.nav {
    margin:0;
    padding:0px;
	width:100%;
	text-align:right;
}
ul.nav li {
    font-style: normal;
    font-weight: 600;
    font-size: 1.13vw;
    line-height: 1;
    letter-spacing: .5px;
    text-transform: uppercase;
    display: inline-block;
	text-align:center;
	border-bottom:4px solid transparent;
}
ul.nav a {
    text-decoration:none;
    display: block;
	color:inherit;
}
ul.nav > li a {
    padding:11px 9px;
}
ul.nav > li:hover, ul.nav li.on {
	border-color:#84a73e;
}
ul.nav > li {
    margin:0;
    padding:0;
    position:relative;
}
ul.nav .sub {
    position:absolute;
    top:100%;
    left:-9999px;
    width:auto;
	min-width:100%;
    list-style:none;
    padding:0;
    margin:0;
	margin-top:3px;
	background-color: #163851;
	color:#ffffff;
    z-index:1200;
	opacity: 0;
	-webkit-transition: opacity .4s ease-in;
	-moz-transition: opacity .4s ease-in;
	-ms-transition: opacity .4s ease-in;
	-o-transition: opacity .4s ease-in;
	transition: opacity .4s ease-in;
}
ul.nav .sub .sub {
	top:0px;
	left:-9990px;
}
ul.nav li:last-child:hover .sub {
	left:auto;
	right:0px;
}
ul.nav .sub li {
	display:block;
	position:relative;
}
ul.nav .sub li a{
	font-size: 14px;
	display:block;
	border-top: none;
	padding:20px;
}
ul.nav .sub li:hover > a {
    background:#2a769e;
}
ul.nav > li:hover > .sub {
    display:block;
	opacity: 1;
	left:0px;
}
ul.nav .sub li:hover > .sub  {
    display:block;
	opacity: 1;
	left:100%;
	top:0px;
}
.contactform input#captcha_code, input#ct_captcha_employment {
	width:105px;
}

body .fancypromo.fancybox-wrap {
        background:url('/images/background_art.jpg') no-repeat;
        background-size:cover;
}
body .fancypromo .fancybox-skin {
        background:none;
 	box-shadow: none;
}
body .fancypromo .fancybox-inner {
        background:rgba(255,255,255,.8);
        padding:35px;
        position:relative;
}
.fancypromo {
        text-align:left;
 	font-size:14px;
}
.fancypromo p {
        margin-bottom:5px;
}
.fancypromo .button {
        margin-top:15px;
}
.fancypromo h2 {
 	text-transform:none;
}

/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */

/* ---------------------------------------------------------------- */
/* Slideshow */
/* ---------------------------------------------------------------- */
#homeBanner {
    box-sizing: border-box;
    position: relative;
    overflow:hidden;
	width:100%;
	margin-bottom:25px;
}
#slideshow {
    /*max-height:400px;*/
    top: 0;
    left: 0;
    margin:0px auto;
	position:relative;
    overflow:hidden;
}
#slideshow a {
    display: block;
    position: relative;
    z-index: 2;
    height:100%;
}
.slideshowPic {
    overflow:hidden;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center center;
    width:100%;
    height:100%;
	position:relative;
	z-index:3;
}
#slideshow .slideshowPic:before {
    content: "";
    display: block;
    padding-top: 33.3%;   /* initial ratio of 1200x810*/
}
.p_index #slideshow .slideshowPic:before {
    content: "";
    display: block;
    padding-top: 38.3%;   /* initial ratio of 1200x810*/
}
#slideshow .slideshowPic .ratio {
    position:  absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
a.bannerLink {
    display:block;
    z-index:9;
}
#slideshow .slideshowPic:not(:first-child) {
    display:none; /* Initial load, so all slideshows text don't overlap */
}
#sliderNav {
    text-align:right;
    position:absolute;
	right:0px;
    height:29px;
    bottom:0px;
    z-index:9;
}
#nav, #sliderNav .spacer {
    float:right;
}
#sliderNav #nav {
	height:100%;
}
#sliderNav .spacer {
    width:20px;
    height:100%;
}
.prev, .next {
	top:0;
	position:absolute;
}
#nav .prev {
	left:-20px;
	height:100%;
}
#nav .next {
	right:-23px;
}
.prev img, .next img  {
    cursor:pointer;
    margin-top:7.6px;
    margin-right:10px;
    margin-left:5px;
}
#nav ul, #nav li {
	padding:0;
	margin:0;
	list-style:none;
}
#nav li {
	display:inline-block;
}
#nav {
    text-align:right;
	position:relative;
	bottom:20px;
}
#nav .rslides_tabs li {
	background-color:#2b79a1;
	border-radius:50%;
	width:15px;
	height:15px;
	margin-right:10px;
}
#nav .rslides_tabs li.rslides_here {
	background-color:#fff;
}
#nav .rslides_tabs li.rslides_here a {
	color:transparent;
}
#nav .rslides_tabs a { 
	display:block;
	height:100%;
    position:relative;
    padding: 0px 5px; 
    text-decoration: none;
    font-size:10px;
}
#nav .rslides_tabs a, #nav .rslides_tabs a:hover, #nav .rslides_tabs a:visited {
	color:transparent;
}
#nav a:hover { 
}

#navPhotos {
	float:left;
	width:35%;
}
#navPhotos img {
	display:block;
}
#navPhotos .item {
	float:left;
	width:46%;
	padding-right:4%;
}
#navPhotos .item:nth-child(odd) {
	clear:both;
}
#navPhotos a {
	color:#fff;
	text-decoration:none;
	text-transform:uppercase;
	font-weight:bold;
	font-size:18px;
}
#navPhotos .textContainer {
	background-color:#f5b802;
	text-align:center;
	padding:8px 0px;
	margin-bottom:16px;
}
#navPhotos .item:nth-child(2) .textContainer {
	background-color:#8cc740;
}
#navPhotos .item:nth-child(3) .textContainer {
	background-color:#38b54a;
	margin-bottom:0;
}
#navPhotos .item:nth-child(4) .textContainer {
	background-color:#d6de24;
	margin-bottom:0;
}
#slideshow .textboxWrapper {
	position:absolute;
	width:36%;
	height:100%;
	background:rgba(27, 109, 38, .7);
}
.p_index #slideshow .textboxWrapper {
	bottom:0px;
	width:100%;
	height:auto;
}
#slideshow .textbox {
	padding:15px 20px;
	font-size:120%; 
	font-weight:bold;
	color:#ffffff;
	text-align:center;
	text-transform:uppercase;
	text-align:left;
	width:65%;
}
#slideshow a {
	color:inherit;
	text-decoration:none;
}
@media (min-width : 1300px) {
	ul.nav li {
		font-size:17px;
	}
}

/* Tablet + mobile */
@media (max-width : 1024px) {
	#nav .rslides_tabs a { 
		font-size:15px;
		top:0;
		display:block;
		height:100%;
		color:#fff;
	}
	#nav .rslides_here a { color:#25bebe }
	ul.nav > li a {
		padding-left:5px;
		padding-right:5px;
	}
}
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */

/* ---------------------------------------------------------------- */
/* Initial Responsive styles */
/* Call first on page to help loading (e.g hide elements until they've moved )*/
/* ---------------------------------------------------------------- */
body {
    max-width:100%;
}
iframe {
    max-width: 100%;
}
.video iframe {
    max-width: 90%;
}
.innerWrapper, #innerContent {
    max-width:100%;
    position:relative;
}
.menu-button {
    display:none;
}
.mobileonly {
    display:none;
}
.fromcms table {
	table-layout:fixed;
	width:100%;
}
.fancybox-wrap{
    max-width:90%;
}
.fancybox-inner {
	width:auto !important;
	height:auto !important;
/*    max-width:100%;*/
}	
.mobileshare {
	display:none;
}
.table {
	display:table;
	table-layout:fixed;
}
table td {
	vertical-align:top;
}
table td[valign=middle] {
	vertical-align:middle;
}
.button {
	-webkit-appearance:none;
}
/* Small Tablet + Mobile */
@media (max-width : 767px) {  
	.mobileonly {
		display:block !important;
	}
	span.mobileonly {
		display:inline-block !important;
	}
    .nomobile {
        display:none !important;
    }
	.contentWrapper {
		max-width:100%;
	}
    #navmenu.open ul.nav {
		display:block;
	}
	ul.nav {
		display:none;
		position:absolute;
		left:0;
		top:100px;
        float:none;
        padding:0;
        background-color:rgba(12,48,74, .95);
        box-shadow: none;
        z-index:2000;
    }
    ul.nav li.top {
        display:block;
    }
    ul.nav li a {
        padding:15px 10px;
 		font-weight:bold;
		color:#fff;
        font-size:20px;
        text-transform:uppercase;
        display:block;
		width: auto !important;
    }
	ul.nav .sub li a {
		border:none;
		font-size:20px;
	}
    ul.nav li:after {
        display:none;
    }
	ul.nav > li:hover, ul.nav li.on {
		border-color:transparent;
	}
	ul.nav .top.on {
		background:#2b79a1;
	}
	#header .logo {
		width:65%;
	}
	.p_index .fromcms {
		width:auto;
		padding-top:0;
	}
	.fromcms, .bodymid {
		padding-right:0;
	}
	.sharefloat {
		display:none;
	}
	body .latestProject .photos {
		float: none;
	    width: auto;
	    margin-left: 0;
		margin-bottom:15px;
	}
	.latestProject .photos .photo2 {
		display:none;
	}
	body .bodyright {
		padding-left:0;
	}
}


/* Stackable module */
.stacktable { width: 100%; }
.st-head-row { padding-top: 1em; }
.st-head-row.st-head-row-main { font-size: 1.5em; padding-top: 0; }
.st-key { width: 49%; text-align: right; padding-right: 1%; }
.st-val { width: 49%; padding-left: 1%; }
/* RESPONSIVE EXAMPLE */
.stacktable.large-only { display: table; }
.stacktable.small-only { display: none; }
@media (max-width: 767px) {
  .stacktable.large-only { display: none; }
  .stacktable.small-only { display: table; }
}
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
