/* ------ FONT IMPORTS ------ */
@import url(https://fonts.googleapis.com/css?family=Open Sans:200,400,500,700,900);
@import url(https://fonts.googleapis.com/css?family=Lato:200,400,500,700,900);

/* ------ GLOBAL PAGE STYLES (tags) ------ */
html{width:100%; height:100%;}
body{width:100%; height:100%;margin: 0; padding: 0;font-family: 'Lato', serif;}
p { padding: 0px; line-height: 1.5; font-size: 16px; color: #333; font-family: Lato; text-align: justify;}
img{border-width: 0px; max-width: 100%;}
h1{color: #333; font-size: 40px; margin: 20px 0px; font-family: 'Open Sans', sans-serif; font-weight: normal; line-height:100%;}
h2{color: #333; font-size: 30px; margin: 10px 0px; font-family: 'Open Sans', sans-serif; font-weight: normal; line-height:100%;}
h3{color: #333; font-size: 24px; margin: 10px 0px; font-family: 'Open Sans', sans-serif; font-weight: normal; line-height:150%;}
h4{color: #333; font-size: 20px; font-weight: bold; font-family: 'Open Sans', sans-serif; margin: 0 0 10px 0; line-height:100%;}
h5{color: #333; font-size: 16px; font-weight: bold; font-family: 'Open Sans', sans-serif; margin: 0 0 10px 0; line-height:100%;}
a, a img{
	color: inherit;
	text-decoration: none;
	-o-transition: .3s;
	-ms-transition: .3s;
	-moz-transition: .3s;
	-webkit-transition: .3s;
	transition: .3s;
	cursor: pointer;
}
*{-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}


/* ------ SITE COLOURS ------ */
.red{color: #c03308 !important;}
.redbg{background-color: #c03308 !important;}
.white { color: #fff !important;}
.salmon{color: #fbb6a1 !important;}
.salmon{background-color: #fbb6a1 !important;}
.lightgraybg { background-color: #eee !important;}


/* ------ GLOBAL PAGE STYLES (classes) ------ */
#outer {	width: 100%; height: 100%; margin: 0; padding: 0; border: 0px; overflow: hidden;}
#content {width: 100%;overflow: hidden;}
.container {	
	width: 94%;
	max-width: 1400px;
	margin: 0px auto;
	overflow: hidden;
	height: auto;
	background-color: transparent;
}
.newsection { padding: 60px 0px; }
.hideme { display: none; }
.showme_md { display: none; }
.showme_xs { display: none; }


/* ------ FORMS/INPUTS/MESSAGES ------ */
input[type="text"]{font-size: 14px; font-family: 'Lato', serif; color: #000; border: 1px solid #333; padding: 10px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
input[type="text"]:focus{border-color: #000;}
select{font-size: 14px; font-family: 'Lato', serif; color: #000; border: 1px solid #000; padding: 10px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
select:focus{border-color: #fff;}
textarea{font-size: 14px; font-family: 'Lato', serif; color: #000; border: 1px solid #333; padding: 10px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
textarea:focus{border-color: #000;}
div.success{width: 100%; display: block; margin: 10px 0px; background-color: #6fb500; border: 1px solid #62a000; color: #fff; font-weight: bold; text-align: left;}
div.msg{padding: 5px 10px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
div.error{width: 100%; display: block; margin: 10px 0px; background-color: #FFC4C4; border: 1px solid #F00; color: #333; font-weight: bold; text-align: left;}
input.error{background-color: #FFC4C4; border: 1px solid #F00;}
textarea.error{background-color: #FFC4C4; border: 1px solid #F00;}
select.error{background-color: #FFC4C4; border: 1px solid #F00;}
.isRequired {background-color: #FFC4C4; border: 1px solid #F00;}
#tokenbox{margin: 8px 0px; padding: 5px; background-color: #eee; border: 2px solid #eee; border-radius: 3px; text-align: right;}


/* ------ GRIDS ----- */
.row { width: 100%; vertical-align: top; height: auto; overflow: hidden;}
.row > div {
	float: left;
	background-color: transparent;
	display: inline-block;
	padding: 0px 10px;
	vertical-align: top; 
	min-height: 1px;
}
.row .grid100 { width: 100%; }
.row .grid90 {width: 90%;}
.row .grid80 {width: 80%;}
.row .grid75 {width: 75%;}
.row .grid70 {width: 70%;}
.row .grid60 {width: 60%;}
.row .grid50 {width: 50%;}
.row .grid40 {width: 40%;}
.row .grid33 {width: 33%;}
.row .grid30 {width: 30%;}
.row .grid25 {width: 25%;}
.row .grid20 {width: 20%;}
.row .grid10 {width: 10%;}


/* ----- ALIGNMENT CLASSES ----- */
.alignLeft { text-align: left; }
.alignCenter{ text-align: center; }
.alignRight{ text-align: right; }
.tablerow { display: table-row;}
.table { display: table; width: 100%; }
.table .tablerow > div { display: table-cell; }


/* ----- TEXT CLASSES ----- */
.largetext_p {
    font-size: 17px;
    line-height: 1.5;
    text-align: justify;
}
.large{font-size: 150% !important;}

.sectionHeader {
	text-align: center;
	margin-bottom: 40px;
	font-size: 40px;
	font-weight: 600;
}


/* ----- LIST CLASSES ----- */
.clean_list {padding: 0px;}
.clean_list li {
	list-style-type: none;
	font-size: 17px;
    line-height: 35px;
    text-align: justify;
}


/* ----- BANNER CLASSES ----- */
.banner {
	width: 100%;
	height: 600px;
	position: relative;
}


/* ------ TOPBAR ------ */
#topbar {
	width: 100%;
	min-height: 8px;
	background-color: #c03308;
	position: relative;
	z-index: 3;
	overflow: hidden;
	padding: 6px 0px;
}
#topbar .clientLinks a {
	color: #fff; 
	display: inline-block;
	font-size: 13px;
}
#topbar .clientLinks a:hover {color: #fbb6a1;}
#topbar #logmein {
	width: auto;
	padding: 0px;
	margin: 0px;
	text-align: right;
	color: #fff;
	display: inline-block;
	font-size: 13px;
}
#topbar #logmein a { 
	margin: 0px;
	line-height: 23px;
	padding: 0px 7px;
	background-color: rgb(255, 255, 255);
	border-radius: 1px;
	color: #c03308;
	border: 1px solid #801e00;
}
#topbar #logmein a:hover { color: #000; }
#topbar #logmein input[type='text']{
	width: 80px;
	height: 25px;
	padding: 0px;
	font-size: 13px;
	line-height: 1;
	padding-left: 3px;
	border-radius: 1px;
	border-color: #801e00;
}

/* ------ NAVBAR ------ */
#navbar, #navbar-sticky {
	width: 100%;
	height: auto;
	text-align: right;
	padding: 25px 0px 25px;
	position: relative;
	display: block;
}
#navbar .container, #navbar-sticky .container { background-color: transparent !important; overflow: visible;}
#navbar .logo, #navbar-sticky .logo {
    float: left;
    width: auto;
    vertical-align: top;
    text-align: center;
    overflow: hidden;
	z-index: 2;
	padding: 0px;
	display: inline-block;
	width: 100%;
	max-width: 270px;
	margin-bottom: 20px;
}
#navbar .logo img, #navbar-sticky .logo img{width: 100%;}
#navMenu {
	display: inline-block;
	float: right;
	text-align: right;
}
#navMenu > .request_quote { padding-top: 30px;}
#navMenu > .request_quote a{
	padding: 10px;
    background-color: #da0003;
    color: #fff !important;
}
#navbar .phone, #navbar-sticky .phone {
	display: block;
	font-size: 26px;
	vertical-align: top;
	font-weight: 700;
	line-height: 30px;
	color: #c03308;
}
#navbar .phone span, #navbar-sticky .phone span{font-size: 18px; color: #333; margin-right: 5px;}
#navMenu ul { 
	margin: 0px; 
	padding: 0px;
	width: auto;
	display: block;
	margin-top: 22px;
}
#navMenu li {
	display: inline-block;
	line-height: 22px;
	position: relative;
}
#navMenu li a {font-size: 18px; color: #555; padding: 0px 30px; font-weight: 400;}
#navMenu li a:hover { color: #c03308; }
#navMenu li:last-child a { padding-right: 0px; }
#navMenu li > div {
	position: absolute;
	z-index: 2;
	left: -10px;
	top: 45px;
	background-color: transparent;
	padding: 0px;
	text-align: center;
	border: 1px solid #ccc;
	display: none;
}
#navMenu li > div a { width: 100%; padding: 5px 20px; display: block; background-color: #fff;}
#navMenu li > div a:hover { color: inherit; background-color: #f5f5f5;}
#navMenu li:hover > div { display: block; }
#responsiveMenu_icon {
	height: 40px;
	width: 100%;
	border: 1px solid #c03308;
	margin: 4px auto 0px;
	border-radius: 10px;
	background-color: #c03308;
	cursor: pointer;
	display: none;
	text-align: center;
}
#responsiveMenu_icon div {width: 50px; display: inline-block; }
#responsiveMenu_icon div > div {
	margin: 8px auto 0px;
	display: block;
	background-color: #fff;
	height: 2px;
	border-radius: 5px;
	width: 50%;
}
#responsiveMenu_icon:hover div > div { background-color: #fbb6a1; }
#responsiveMenu_icon h1 {
margin: 8px auto 0px;
padding: 0px;
display: inline-block;
font-size: 20px;
vertical-align: top;
margin-top: 8px;
color: #fff;
}


/* sticky navbar */
#navbar-sticky { position: fixed; top: 0px; background-color: rgba(255,255,255,0.9); box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.3); z-index: 5; padding: 10px 0px;}
#navbar-sticky #responsiveMenu_icon { display: none; position: relative; z-index: 10;}
#navbar-sticky .logo { margin-bottom: 0px; max-width: 200px; }
#navbar-sticky .phone { font-size: 20px; }
#navbar-sticky #navMenu ul { margin-top: 10px; }

/* ------ FOOTER ------ */
#footer {
    width: 100%;
	z-index: 1;
	position: relative;
    color: #fff;
    text-align: center;
    padding: 35px 0px 35px;
	vertical-align: bottom;
	font-size: 16px;
	background-color: #333;
}
#footer .social_icons { margin-bottom: 15px; }
#footer .social_icons h1 { vertical-align: top; font-size: 25px; display: inline-block; margin: 0px; margin-top: 8px; color: #fff;}
#footer .social_icons img {height: 40px; margin: 0px 15px; cursor: pointer;}
#footer .expertsystems a {color: #fff;}
#footer .expertsystems a:hover {color: #000;}
#backtotop {
	position: fixed;
	z-index: 10;
	bottom: 20px;
	right: 20px;
	padding: 10px 10px;
	font-size: 22px;
	background-color: rgba(0,0,0,0.5);
	cursor: pointer;
	color: #eee;
}




#contactForm_msg { width: 100%; padding: 7px 0px; text-align: center; display: none; color: #000; font-weight: 600;}



/* ----- CUSTOM CLASSES ----- */
.features { 
	padding: 18px 0px; 
	box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.2) inset; 
	width: 104%; 
	margin-left: -2%; 
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#eeeeee+0,cccccc+100 */
	background: #eeeeee; /* Old browsers */
	background: -moz-linear-gradient(top, #fff 0%, #ddd 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #fff 0%,#ddd 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #fff 0%,#ddd 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#ddd',GradientType=0 ); /* IE6-9 */
}
.features .feature {padding: 20px;text-align: center;}
.features .feature .fa { font-size: 90px; margin-bottom: 25px; color: #c03308; }
.features .feature h1 { margin: 0px 0px 10px; color: #333; font-size: 20px; font-weight: 500; line-height: 1.2 }
.features .feature p { color: #333; }

#bannerMain { background-image: url('img/bannerMain.jpg'); background-size: cover;}

#contactform_outer {
	text-align: right;
}
#contactform_outer form { border: 1px solid #eee; }
#contactform_outer input[type="text"]{ height: 42px; line-height: 1;  padding-left: 5px;}
#contactform_outer input[type="file"] { height: 42px; line-height: 1;}
#contactform_outer select { height: 42px; line-height: 1;  padding-left: 5px; width: 100%;}
#contactform_outer .row:nth-child(even) {
	background-color: #eee;
}
#contactform_outer textarea { width: 100%; overflow-y: auto; height: 150px; }

#contactform_outer .row { margin-bottom: 0px; text-align: left; padding: 10px 0px;}
#contactform_outer h3 {text-align: left; font-weight: 400;}
#tokenbox { text-align: right; margin-top: 20px;}

.contact_details .fa { margin-right: 10px; }

.standout {width: 100%;text-align: center; margin-bottom: 30px;}
.standout h1 {
	text-align: center;
	margin: 0px;
	margin-bottom: 5px;
	font-weight: 600;
	font-size: 40px;
}
.standout h2 {
	text-align: center;
	margin: 0px;
	font-weight: 600;
	font-size: 30px;
}

.buttonLinks { width: 100%; padding: 15px 0px; margin-top: 30px;}
.buttonLinks .button {
	width: 95%;
	padding: 15px 0px;
	line-height: 1;
	font-size: 22px;
	text-align: center;
	font-weight: 500;
	border: 3px solid #333;
	display: block;
}
.buttonLinks .button:hover {
	color: #c03308;
	border-color: #c03308;
}
.buttonLinks .button .fa {margin-right: 5px;}

.band.inset {
	background-color: #eee;
	width: 100%;
}

#products {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#c03308+1,931707+100 */
	background: #c03308; /* Old browsers */
	background: -moz-linear-gradient(top, #c03308 1%, #931707 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #c03308 1%,#931707 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #c03308 1%,#931707 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c03308', endColorstr='#931707',GradientType=0 ); /* IE6-9 */
}
#products ul li {
	padding: 5px 0px;
	font-size: 17px;
	color: #fff;
}

.contact_details h4 {font-weight: 400; }
.contact_details .fa { width: 20px; }