/* Fonts
----------------------------------------------------------------------------------------------------*/

body {
    font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:16px;
    font-weight:400;
    color:#333333;
    line-height:20px;
}

h1,
h2 {
	font-size:40px;
}

h1,
h2,
h3 {
	font-weight:700;
}

h1 {
	display:inline-block;
	color:#ffffff;
	line-height:140%;
}

h1 span {
	display:inline-block;
	line-height:140%;
	background:rgba(26,26,26,0.9);
	padding:0 20px;
	margin-bottom:5px;
}

h2 {
	color:#4FB2B2;
	line-height:70px;
	margin-bottom:30px;
}

h2:after {
	content: "";
	display:block;
	width:100px;
	height:1px;
	background-color:#ED1C24;
	margin:0 auto 0;
}

h3 {
	font-size:24px;
	color:#000000;
	line-height:40px;
}

p {
	margin-bottom:25px;
}

p a,
span a {
	color:#29ABE2;
}

/* MAIN LAYOUT
----------------------------------------------------------------------------------------------------*/

body {
	padding-top:110px;
}

.container,
.content {
	position:relative;
	display:block;
	width:100%;
}

.container:after,
.content:after {
	display:block;
	content: " ";
	clear: both;
	height:0;
	width:100%;
	*zoom: 1;
}

.container {
    background-color:#ffffff;
	z-index:10;
	/* FIX FLICKERING ON MOBILE DEVICES */
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
}

.content {
    margin:0 auto;
    padding:40px 10px 100px;
    max-width:1130px;
}

/* LAYOUT OPTIONS */

[class*="divide-"] {
    float:left;
}

.divide-two {
	width:50%;
}

.divide-three {
	width:33.3333333%;
}

.text-center {
	text-align:center;
}

/* HEADER
----------------------------------------------------------------------------------------------------*/

#header {
    position:fixed;
    top:0;
    left:0;
	background:#ffffff;
    height:110px;
    z-index:101;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}

#header .content {
    padding-top:10px;
    padding-bottom:10px;
}

#header a#logo {
    display:block;
    width:66px;
    height:90px;
	float:left;
}

#header a#logo img {
	width:auto;
	height:100%;
}

/* HEADER NAVIGATION */

ul#header-navigation,
ul#header-navigation li a {
    display:block;
}

ul#header-navigation {
	float:right;
	margin:25px 0;
    height:40px;
    overflow:hidden;
}

ul#header-navigation li a {
	font-family: "Montserrat", sans-serif;
	font-size:16px;
	font-weight:500;
	color:#333333;
	-webkit-transition: all 200ms;
	-moz-transition: all 200ms;
	transition: all 200ms;
}

ul#header-navigation > li {
	position:relative;
	float:left;
}

ul#header-navigation > li:first-child {
    margin-left:0;
}

ul#header-navigation > li > a {
	padding:0 10px;
    height:40px;
    line-height:40px;
}

ul#header-navigation li a.current,
ul#header-navigation li a.active,
ul#header-navigation li a:hover {
    color:#4FB2B2;
}

/* HEADER FANCYBOX FIX */

@media only screen and (min-width: 941px) {
    
    #header.fancybox-margin {
        margin-left:-8px !important;
    }
    
    #header.compact.fancybox-margin {
        margin-left:0 !important;
    }
}

@media only screen and (max-width: 940px) {

#header.fancybox-margin {
    margin-left:0 !important;
}
    
}

/* CONTENT - GENERAL
----------------------------------------------------------------------------------------------------*/

/* SECTIONS - ABOUT US */

#about-us p {
	padding:0 40px;
}

/* SECTIONS - OUR POLICIES */

#policies {
	background:#F2F2F2;
}

/* SECTIONS - WHAT WE DO */

#what-we-do {
	background:#4FB2B2;
}

#what-we-do h2 {
	color:#ffffff;
}

#what-we-do ul.bullet-list li {
	color:#ffffff;
}

#what-we-do .divide-two:first-of-type ul.bullet-list {
	padding-right:5%;
}
#what-we-do .divide-two:last-of-type ul.bullet-list {
	padding-left:5%;
}

/* SECTIONS - PRODUCTS & SERVICES */

#products-services .content {
	padding-bottom:100px;
}


#products-services .divide-three ul.bullet-list {
	padding-right:5%;
}
#products-services .divide-three:last-of-type ul.bullet-list {
	padding-right:0;
}

/* SECTIONS - CONTACT US */

#contact-us h2 {
	text-align:center;
}

#contact-us h3 {
	margin-bottom:5px;
}

#contact-us p {
	line-height:25px;
}

#contact-us .divide-two:first-of-type > div {
	width:350px;
}

/* LINKS AND BUTTONS */

#back-top {
    display:inline-block;
    width:60px;
    height:60px;
    position:fixed;
    bottom:100px;
    right:2%;
    background:#333333 url(../images/icon-back-top.png) no-repeat center center;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
    border-radius: 30px;
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    -webkit-transition: all 200ms;
	-moz-transition: all 200ms;
	transition: all 200ms;
	z-index:100;
}

#back-top.active {
    opacity:1;
    visibility:visible;
}

#back-top:hover {
    background-color:#ED1C24;
}

/* LIST STYLE - BULLET LIST */

ul.bullet-list li {
    position:relative;
    padding-left:18px;
    margin-bottom:10px;
    line-height:20px;
    text-align:left;
    font-weight:400;
}

ul.bullet-list li:before {
    content: "\2022";
    position:absolute;
    top:0;
    left:0;
    font-size:45px;
    line-height:12px;
}
	
/* LIST STYLE - SPLIT FOUR */

ul.split-four li,
ul.split-four li a {
	display:inline-block;
}

ul.split-four li {
	padding:0 4%;
	width:21%;
	vertical-align:top;
	margin-bottom:30px;
}

ul.split-four li a {
	width:100%;
	min-width:150px;
	color:#333333;
	text-decoration:underline;
}

ul.split-four li img {
	width:100%;
	height:auto;
	border:5px solid #cccccc;
	-webkit-transition: border-color 200ms;
	-moz-transition: border-color 200ms;
	transition: border-color 200ms;
}

ul.split-four li a:hover img {
	border-color:#ED1C24;
}

ul.split-four li span {
	display:block;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:16px;
    font-weight:300;
    padding:10px;
}

/* LIST STYLE - CLEAR LIST */

ul li.clear-list {
	clear:both !important;
	float:none !important;
	width:100% !important;
	height:auto !important;
	padding:0 !important;
	margin:0 !important;
	border:none !important;
	background:none !important;
}

ul li.clear-list:before,
ul li.clear-list:after {
	display:none !important
}

/* TABLE - PROJECTS TABLE */

table.projects-table {
	width:100%;
	margin-bottom:70px;
}

table.projects-table td {
	text-align:center;
	padding:12px 30px 12px 0;
	border-bottom:1px solid #cccccc;
}

table.projects-table tbody tr:last-child td {
	border:none;
}

table.projects-table thead td {
	font-weight:bold;
}

table.projects-table thead tr:nth-child(2) td {
	border-width:2px;
}

table.projects-table tbody td:nth-child(4n) {
	padding-right:0;
}

/* CONTENT - GENERAL OWN CAROUSEL / SLIDER CSS OVERRIDE
----------------------------------------------------------------------------------------------------*/

.owl-carousel .owl-item img {
    height:auto;
    object-fit: cover;
}

.owl-theme .owl-nav {
    margin-top: 0;
}

/* CONTENT - MAIN SLIDER
----------------------------------------------------------------------------------------------------*/

/* MAIN SLIDER CSS OVERRIDE BY ID */

#main-slider {
	position:fixed;
	top:110px;
	left:0;
	overflow:hidden;
	z-index:0;
	background:#ffffff;
}

#main-slider .item,
#main-slider .owl-carousel .owl-item,
#main-slider .owl-carousel .owl-item img {
    min-height:300px;
}

/* HOME BXSLIDER CUSTOM ELEMENTS - MAIN SLIDER */

.slider-content {
    position:absolute;
    top:0;
    left:0;
    display:table;
    width:100%;
	height:100%;
    padding:0 calc((100% - 1130px) / 2);
    -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	vertical-align:middle;
}

.slider-content div {
	display:table-cell;
	vertical-align:middle;
	padding:0 10px;
	text-align:center;
}

/* HOME BXSLIDER CUSTOM ELEMENTS - CAROUSEL */

.carousel .item {
	border-right:1px solid #ffffff;
}

.carousel li img {
	width:100%;
	height:auto;
	border-right:1px solid #ffffff;
}

/* FANCYBOX CSS RESOURCE RELINK OVERRIDE
----------------------------------------------------------------------------------------------------*/

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('../images/fancybox/fancybox_sprite.png');
}

#fancybox-loading div {
	background: url('../images/fancybox/fancybox_loading.gif') center center no-repeat;
}

.fancybox-nav {
	background: transparent url('../images/fancybox/blank.gif'); /* helps IE */
}

.fancybox-overlay {
	background: url('../images/fancybox/fancybox_overlay.png');
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	   only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5){

	#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
		background-image: url('../images/fancybox/fancybox_sprite@2x.png');
	}

	#fancybox-loading div {
		background-image: url('../images/fancybox/fancybox_loading@2x.gif');
	}
}

.fancybox-opened .fancybox-skin {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

/* FANCYBOX CSS OVERRIDE */

.fancybox-overlay {
	background: rgba(0,0,0,0.9);
}

/* CONTENT - FORMS
----------------------------------------------------------------------------------------------------*/

#enquiryform-container{
    width:100%;
}

#enquiryform,
#enquiryform-success-message,
#enquiryform-container .form-status {
    -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}

#enquiryform-success-message {
	display:none;
}

.form {
	position:relative;
	display:block;
	padding:0;
}

.form .container {
	position:relative;
	text-align:left;
	min-width:inherit;
	background:none;
	padding:0 0 10px;
}

.form .container.captcha {
	padding:0 0 8px;
}

.form .container:last-of-type {
    padding:0;   
}

.form span.required {
	color:#F00;	
}

.form input,
.form textarea {
    display:block;
	width:100%;
	border:1px solid #e6e6e6;
	background-color:#ffffff;
    font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:15px;
    font-weight:400;
	line-height:40px;
    color:#4d4d4d;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	outline:none;
}

.form input:focus,
.form textarea:focus {
	border-color:#29ABE2;
}

.form input {
	height:40px;
	padding:0 15px;
}

.form textarea {
	padding:5px 15px;
	height:160px;
	line-height:20px;
	overflow-y:hidden;
}

/* IE Hide Select Arrow */
.form select::-ms-expand {
    display: none
}

.form div#spamtrap {
	visibility:hidden
}

.form .container-error-all {
	position:relative;
	display:block;
	height:auto !Important;
	margin-bottom:10px
}

.form .container-error-all span {
	height:auto !important	
}

.form .error {
	position:relative;
	display:block;
	margin:0;
	z-index:2;
	float:none;
	clear:both;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box
}

.form #enquiryform_server_errors {
	position:relative;
	background:none;
	white-space: nowrap;
	width: auto;
	margin-bottom:10px;
	color:#f00 !important;
	visibility:visible !important;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box
}

.form .error div {
	display:block;
    width:80%;
    min-width:400px;
	clear:both;
	font-size:12px;
    font-weight:400;
	line-height:20px;
	padding:0 15px;
	margin:0;
    color:#f00;
    -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box
}

.form .error, .form .error-all {
	font-size: 11px;
	color: #f00;
}

.form .error-all {
    font-weight:400;
	padding:0;
	line-height:15px;
	margin:0
}

.form fieldset#antispam {
	padding:2px;
	border-top:1px solid #EEE;
	border-left:0;
	border-right:0;
	border-bottom:0;
	width:350px;
}

.form fieldset#antispam legend {
	font-size: 0.8em;
	font-weight:bold;
	color:#333;
}

.form .button {
	position:relative;
    height:40px;
    min-height:40px;
    line-height:40px;
    padding:0 20px;
    background: #333333;
    font-size:13px;
    font-weight:400;
    border:1px solid #333333;
    width:auto;
    min-width:inherit;
    display:inline-block;
    color:#ffffff;
	cursor:pointer;
	-moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-appearance: none;
    -moz-appearance: none;
	-webkit-transition: all 200ms;
	-moz-transition: all 200ms;
	transition: all 200ms;
}

.form .button:hover {
    background-color: #ED1C24;
    border-color:#ED1C24;
}

/* spam_trap: This input is hidden. This is here to trick the spam bots*/

.form .spmhidip {
	display:none;
	width:10px;
	height:3px
}
#fg_crdiv {
	font-size: 0.3em;
	opacity: .2;
	-moz-opacity: .2;
	filter: alpha(opacity=20);
}
#fg_crdiv p {
	display:none;
}

input[type=submit]:disabled,
button:disabled,
input[type=submit][disabled=disabled],
button[disabled=disabled],
input[type=text]:disabled,
input[type=text][disabled=disabled],
text:disabled,
text[disabled=disabled] {
	border:1px solid #cccccc;
    background:#cccccc !important;
}

input[type=submit]:disabled:focus,
button:disabled:focus,
input[type=submit][disabled=disabled]:focus,
button[disabled=disabled]:focus,
input[type=text]:disabled:focus,
input[type=text][disabled=disabled]:focus,
text:disabled:focus,
text[disabled=disabled]:focus,
input[type=submit]:disabled:hover,
button:disabled:hover,
input[type=submit][disabled=disabled]:hover,
button[disabled=disabled]:hover,
input[type=text]:disabled:hover,
input[type=text][disabled=disabled]:hover,
text:disabled:hover,
text[disabled=disabled]:hover {
	border:1px solid #cccccc;
}

input[type=submit]:disabled,
button:disabled,
input[type=submit][disabled=disabled],
button[disabled=disabled] {
	color:#666666 !important;
}

/* CONTENT - GOOGLE MAPS
----------------------------------------------------------------------------------------------------*/

#map-canvas {
    height:500px;
    overflow:hidden;
    background:#ffffff;
    z-index:10;
}


/* CONTENT - FOOTER
----------------------------------------------------------------------------------------------------*/

#footer {
    background-color:#ffffff;
    text-align: center;
}

#footer .content {
    padding:20px 10px;
}

/* Footer COPYRIGHT */

#footer img {
	margin-bottom:20px;
}

#footer p {
	font-size:14px;
	line-height:26px;
	margin:0;
}

#footer p span,
#footer p span a {
	color:#cccccc;
    text-decoration:none !important;
}

/* CONTENT - ERROR PAGE
----------------------------------------------------------------------------------------------------*/

#error-page {
    display:none;
    width:800px;
    max-width:800px;
    text-align:center;
}

/* RESPONSIVE CSS
----------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 960px) {

	/* FONTS */

	h1 {
		font-size:4vw;
	}

	/* LIST STYLE - SPLIT FOUR */

	ul.split-four li {
	    width: 29%;
	}

}

@media only screen and (max-width: 860px) {

	/* LAYOUT OPTIONS */

	.divide-three {
		width:50%;
	}

	a#expand-nav {
		display:inline-block;
		width:40px;
		height:40px;
		float:right;
		margin:25px 0 25px 0;
		cursor:pointer;
		background:#4FB2B2 url(../images/icon-expand.png) no-repeat center center;
		-moz-border-radius: 5px;
	    -webkit-border-radius: 5px;
	    border-radius: 5px;
	    -webkit-transition: all 200ms;
		-moz-transition: all 200ms;
		transition: all 200ms;
	}

	a#expand-nav.active,
	#header.mobile-nav-active a#expand-nav {
		background:#3161AD url(../images/icon-close.png) no-repeat center center;
		
	}

	/* HEADER NAVIGATION */

	ul#header-navigation {
		position:absolute;
		top:110px;
		right:0;
		padding:0 10px 0 30px;
		float:none;
		width:100%;
		height:100vh;
		margin:0;
		background:rgba(255,255,255,0);
		text-align:center;
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: all 200ms;
		-moz-transition: all 200ms;
		transition: all 200ms;
	}

	ul#header-navigation > li {
		display:block;
		clear:both;
		float:right;
	}

	ul#header-navigation > li {
		margin-top:20px;
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 200ms;
		-moz-transition: -moz-transform 200ms;
		transition: transform 200ms;
	}

	ul#header-navigation > li:nth-child(2) {
		transition-delay:0.05s;
	}

	ul#header-navigation > li:nth-child(3) {
		transition-delay:0.1s;
	}

	ul#header-navigation > li:nth-child(4) {
		transition-delay:0.15s;
	}

	ul#header-navigation > li:nth-child(5) {
		transition-delay:0.2s;
	}

	ul#header-navigation > li:nth-child(6) {
		transition-delay:0.25s;
	}

	ul#header-navigation > li a {
		background:#3161AD;
    	color:#ffffff;
    	padding:0 15px;
    	-moz-border-radius: 5px;
	    -webkit-border-radius: 5px;
	    border-radius: 5px;
		-webkit-transition: all 200ms;
		-moz-transition: -all 200ms;
		transition: all 200ms;
	}

	#header.mobile-nav-active ul#header-navigation {
		background:rgba(255,255,255,0.8);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		transform: translateX(0);
	}

	#header.mobile-nav-active ul#header-navigation > li {
	    -webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		transform: translateX(0);
	}

	ul#header-navigation li a.active,
	ul#header-navigation li a:hover {
		background-color:#ED1C24;
		color:#ffffff;
	}

	/* CONTENT - GENERAL*/

	a#back-top {
		display:none;
	}

	/* CONTENT - PRODUCTS & SERVICES*/
	
	#products-services .divide-three:nth-child(3n+1) {
		clear:both;
	}

}

@media only screen and (max-width: 770px) {

	/* FONTS */

	h2 {
		margin-bottom:40px;
	}

	/* HEADER */

	#header .content {
		padding-left: 10px;
    	padding-right: 10px;
	}

	/* CONTENT - WHAT WE DO*/

	#what-we-do .content {
		padding-left: 10px;
    	padding-right: 10px;
	}

	/* CONTENT - WHAT WE DO*/

	#products-services .content {
		padding-left: 10px;
    	padding-right: 10px;
	}

	/* CONTENT - CONTACT US */

	#contact-us .content {
		padding-left: 10px;
    	padding-right: 10px;
	}

	#contact-us .divide-two {
		width:100%;
	}

	#contact-us .divide-two:first-of-type {
		margin-bottom:30px;
	}

	#contact-us .divide-two:first-of-type > div {
		width:50%;
		float:left;
	}

	#contact-us .divide-two:first-of-type > div:last-child {
		padding-left:4%;
	}
}

@media only screen and (max-width: 680px) {

	/* FONTS */

	h1 span {
		font-size:4vw;
		padding:0 5px;
	}

	h2 {
		font-size:7vw;
	}

	/* LAYOUT OPTIONS */

	.divide-two,
	.divide-three {
		width:100%;
	}

	/* HEADER */

	#header {
	    height:80px;
	}

	#header a#logo {
	    height: 60px;
	}

	a#expand-nav {
		margin: 10px 0;

	}

	ul#header-navigation {
		top:80px;
	}

	/* LISTS - BULLET LIST */

	ul.bullet-list {
		padding:0 !important;
	}

	/* LIST STYLE - SPLIT FOUR */

	ul.split-four li {
	    width: 46%;
	}

	/* CONTENT - MAIN SLIDER */

	#main-slider {
		top:80px;
	}

}

@media only screen and (max-width: 480px) {

	/* LAYOUT OPTIONS */

	body {
	    padding-top: 80px;
	}

	/* FONTS */

	h1 span {
		font-size:20px
	}


	/* LIST STYLE - SPLIT FOUR */

	ul.split-four li {
	    width: 86%;
	}

	/* CONTENT - CONTACT US */

	#contact-us .divide-two:first-of-type > div {
		width:100%;
		float:none;
	}

	#contact-us .divide-two:first-of-type > div:last-child {
		padding-left:0;
	}

}