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

body, html {
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
}

body {
    font-family: "Roboto", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:14px;
    font-weight:300;
    color:#222222;
}

h1,
h2,
h3,
h4 {
    font-family: "Roboto", Helvetica, Arial, "Lucida Grande", sans-serif;
}

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

h1 {
}

h2 {
    font-size:22px;
    line-height:60px;
}

h3 {
    font-size:18px;
    margin-bottom:14px;
}

h4 {
    font-weight:700;
    line-height:22px;
}

p {
	line-height:18px;
	margin-bottom:20px;
}

p a {
    color:#0071BC;
}

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

body {
    background-color: #222222;
}

.container,
.content {
	position:relative;
	display:block;
    min-width:960px;
}

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

.container {
    background-color:#ffffff;
	width:100%;
}

.content {
    margin:0 auto;
	width:960px;
    padding:35px 10px 100px;
}

/* LAYOUT OPTIONS */

.divide {
    float:left;
}

.divide.forty {
    width:40%;
}

.divide.sixty {
    width:60%;
}

.divide.onefour {
    width:25%;
}

.divide.threefour {
    width:75%;
    padding-left:30px;
}

.divide.two {
    width:50%;
    padding-right:30px;
}

.divide.two:nth-child(2n) {
    padding-left:30px;
    padding-right:0;
}

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

#header {
    position:fixed;
    top:0;
    left:0;
    height:100px;
    background: rgba(255,255,255,0.7) url(../images/bg-header-texture.png) center top;
    z-index:100;
    -webkit-box-shadow: 0px 0px 15px 0 rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 15px 0 rgba(0,0,0,0.75);
    box-shadow: 0px 0px 15px 0 rgba(0,0,0,0.75);
}

#header .content {
    padding:25px 10px 20px;   
}

#header a#logo {
    display:block;
    float:left;
    font-size:21px;
    font-weight:700;
    color:#222222;
    line-height:30px;
}

#header a#logo span {
    display:block;
    font-size:16px;
    font-weight:300;
    line-height:24px;
}

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

/* HEADER MAIN NAVIGATION */

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

ul#header-navigation {
    margin-top:25px;
    float:right;
}

ul#header-navigation li {
    float:left;
    margin-left:20px;
}

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

ul#header-navigation li a {
    position:relative;
    font-size:19px;
    font-weight:300;
    line-height:30px;
    color:#222222;
    overflow:hidden;
}

ul#header-navigation li a:before {
    content: "";
    display:block;
    position:absolute;
    bottom:0;
    left:-100%;
    width:100%;
    height:1px;
    background-color:#4d4d4d;
    -webkit-transition: left 200ms ease;
	-moz-transition: left 200ms ease;
	transition: left 200ms ease;
}

ul#header-navigation li.active a:before,
ul#header-navigation li a:hover:before {
    left:0;
}

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

.divider {
    width:100%;
    height:6px;
    background:url(../images/bg-dot.png) repeat-x center left;
    margin-bottom:20px;
}

.bordered {
    border:1px solid #999999;
}

/* HEADINGS */

.heading-lead {
    display:block;
    margin:25px 0 30px;
}

.heading-lead h2 {
    display:inline-block;
    line-height:22px;
    padding-right:21px;
    margin-right:20px;
    border-right:3px solid #DDB031;
}

.heading-lead span {
    display:inline-block;
    font-size:14px;
    line-height:22px;
    vertical-align:top;
}

/* LINKS AND BUTTONS */

a.btn {
    display:inline-block;
    height:30px;
    line-height:30px;
    padding:0 20px;
    background: #222222;
    color:#ffffff;
    -webkit-transition: all 200ms;
	-moz-transition: all 200ms;
	transition: all 200ms;
}

a.btn.active,
a.btn:hover {
    background-color:#DDB031;
}

a.btn.email {
    background: #222222 url(../images/icon-email.png) no-repeat center right;
    padding-right:50px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

a.btn.email:hover {
    background: #DDB031 url(../images/icon-email.png) no-repeat center right;
}

/* LIST STYLE - IMAGE LIST */

ul.image-list,
ul.image-list li a,
ul.image-list li span {
    display:block;
}

ul.image-list {
    width:100%;
}

ul.image-list li {
    display:inline-block;
    margin:20px 20px 0 0;
    float:left;
    vertical-align:top;
    -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}

ul.image-list li span {
    display:table-cell;
    width:140px;
    height:40px;
    font-weight:100;
    color:#ffffff;
    text-align:center;
    vertical-align:middle;
}

/* IMAGE LIST - SIX PACK */

ul.image-list.six-pack li,
ul.image-list.six-pack li a {
    width:140px;
}

ul.image-list.six-pack li:not(.clear-list):nth-child(6n) {
    margin-right:0;   
}

/* IMAGE LIST - PRODUCT FEATURES */

ul.image-list.features li {
    padding:10px 0;
    border:2px solid #ffffff;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 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
}

/* CONTENT - HOME
----------------------------------------------------------------------------------------------------*/

#error-page {
    display:none;
    max-width:420px;
}

/* CONTENT - HOME SLIDER */

#main-slider {
    height:540px;
    min-height:540px;
    overflow:hidden;
}

/* BXSLIDER CSS OVERRIDE - RESOURCE RELINK */

.bx-wrapper {
    margin: 0 auto 0;
    border:none;
}

.bx-wrapper .bx-loading {
	background: url(../images/bxslider/bx_loader.gif) center center no-repeat #fff;
}

.bx-wrapper .bx-prev {
	background: url(../images/bxslider/controls.png) no-repeat 0 -32px;
}

.bx-wrapper .bx-next {
	background: url(../images/bxslider/controls.png) no-repeat -43px -32px;
}

.bx-wrapper .bx-controls-auto .bx-start {
	background: url(../images/bxslider/controls.png) -86px -11px no-repeat;
}

.bx-wrapper .bx-controls-auto .bx-stop {
	background: url(../images/bxslider/controls.png) -86px -44px no-repeat;
}

/* HOME BXSLIDER CSS OVERRIDE */

.bx-wrapper img {
    width:100%;
    height:auto;
}

.bx-wrapper .bx-viewport {
    -moz-box-shadow:none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background: none;
    left: 0;
}

.bx-wrapper .bx-pager {
    padding-top:0;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    background: #ffffff !important;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    border:none;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #DDB031 !important;
}

/* HOME BXSLIDER - MAIN SLIDER */

ul#home-slider li {
    min-width:960px;
    min-height:540px;
}

#main-slider .bx-wrapper,
#main-slider .bx-wrapper .bx-viewport{
    max-height:540px;
}

#main-slider .bx-wrapper img {
    position:absolute;
    top:0;
    left:0;
    min-width:960px;
    min-height:540px;
    object-fit: cover;
    z-index:101;
}

#main-slider .bx-wrapper .bx-pager,
#main-slider .bx-wrapper .bx-controls-auto {
    bottom: 35px;
}

/* FANCYBOX CSS 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 {
    background:#ffffff;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

/* CONTENT - ABOUT US
----------------------------------------------------------------------------------------------------*/

#about-us {
    -webkit-box-shadow: 0px 0px 15px 0 rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 15px 0 rgba(0,0,0,0.75);
    box-shadow: 0px 0px 15px 0 rgba(0,0,0,0.75);
}

#about-us .about-us-content {
    position:relative;
    overflow:hidden;
    padding-top:25px;
}

#about-us .about-us-content h2 {
    line-height:22px;
    margin-bottom:20px;
}

#about-us .about-us-content p:last-child {
    margin-bottom:0;   
}

/* VERTICAL BULLET DIVIDER
#about-us .about-us-content:before {
    content: "";
    display:block;
    position:absolute;
    top:0;
    left:49.5%;
    height:400px;
    width:6px;
    background:url(../images/bg-dot.png) repeat-y center top;
}

#about-us .about-us-content p:last-child {
    margin-bottom:0;   
}
*/

/* CONTENT - PRODUCTS
----------------------------------------------------------------------------------------------------*/

#products {
    background-color:#222222;
}

#products .heading-lead {
    color:#ffffff;   
}

#products .product-category {
    width:100%;
    height:300px;
    margin-bottom:20px;
}

#products .product-category .category-info {
    width:270px;
    height:300px;
    padding:30px 20px;
    float:left;
    color:#ffffff;
}

#products .product-category .category-info p {
    font-weight:100;
}

#products .product-category.first .category-info {
    background:url(../images/bg-category-texture-1.jpg) no-repeat center top;
}

#products .product-category.second .category-info {
    background:url(../images/bg-category-texture-2.jpg) no-repeat center top;
}

#products .product-category.third .category-info {
    background:url(../images/bg-category-texture-3.jpg) no-repeat center top;
}

#products .product-category.fourth .category-info {
    background:url(../images/bg-category-texture-4.jpg) no-repeat center top;
}

#products .product-category:last-of-type {
    margin-bottom:0;
}

#products .product-category:nth-child(even) .category-info {
    float:right;
}

/* CONTENT - PROJECT GALLERY
----------------------------------------------------------------------------------------------------*/

#project-gallery {
    background:url(../images/bg-texture.jpg) top left;   
}

#project-gallery .heading-lead {
    color:#222222;   
}

#project-gallery #gallery-filter {
    height:30px;
    text-align:center;
    margin-bottom:10px;
}

#project-gallery #gallery-filter .btn {
    margin:0 10px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

#project-gallery #gallery-images {
    width:100%;
}

#project-gallery #gallery-images a {
    display:block;
    width:140px;
    height:140px;
    margin-top:20px;
    background:#ffffff url(../images/ajax-loader.gif) no-repeat center center;
}

#project-gallery #gallery-images a img {
    min-width:140px;
    min-height:140px;
    -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
    border:2px solid #222222;
}

/* CONTENT - CONTACT US
----------------------------------------------------------------------------------------------------*/

#contact .content {
    padding:0;
    height:0;
}

#contact #contact-info {
    position:absolute;
    top:0;
    left:10px;
    width:300px;
    height:700px;
    padding:40px 30px 70px;
    background: rgba(255,255,255,0.95);
    z-index:11;
}

#contact #contact-info p span {
    display:inline-block;
    width:40px;
}

#contact #contact-info a.btn {
    position:absolute;
    bottom:70px;
}

#contact #map-canvas {
    height:700px;
    overflow:hidden
}

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

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

#enquiryform-container {
    padding:10px 10px 40px;
    width:450px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

#enquiryform-container h2 {
    margin-bottom:10px;
}

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

#enquiryform {
    background-color:#ffffff;
}

.form,
.form p {
	position:relative;
	display:block;
}

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

.form .captcha {
    padding-bottom:20px;   
}

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

.form input,
.form textarea {
    display:block;
	border:1px solid #f4f4f4;
	background-color:#F4F4F4;
    font-family: "Roboto", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:14px;
    font-weight:300;
	line-height:30px;
    width:100%;
    color:#222222;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	outline:none;
}

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

.form #message {
    height:80px;
}

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

.form textarea {
	padding:5px 10px;
	line-height:20px;
	resize:none;
	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 0;
	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 .submit-btn {
	position:relative;
    height:30px;
    line-height:30px;
    padding:0 50px 0 20px;
    background: #222222 url(../images/icon-email.png) no-repeat center right;
    color:#ffffff;
    font-size:16px;
    border:none;
    width:auto;
    min-width:inherit;
    display:inline-block;
	cursor:pointer;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
	-webkit-transition: all 200ms;
	-moz-transition: all 200ms;
	transition: all 200ms;
}

.form .submit-btn:hover {
    background-color:#DDB031;
}

/* 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],
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 {
    background:#cccccc url(../images/icon-email-disabled.png) no-repeat center right; !important;
}

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


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

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

#footer .content {
    padding:45px 0 30px;
}

/* Footer COPYRIGHT */

#footer p {
	margin:0;
}

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