/* ------ FONT IMPORTS ------ */
@import url(https://fonts.googleapis.com/css?family=Open Sans:400);
@import url(https://fonts.googleapis.com/css?family=Lato:400);

/* ------ 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 ------ */
.blue{color: #00296c !important;}
.bluebg{background-color: #00296c !important;}
.grey { color: #555 !important; }
.greybg {background-color: #555 !important;}
.white { color: #fff !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 !important;}
.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 !important; border: 1px solid #F00 !important;}
#tokenbox{margin: 8px 0px; padding: 5px; background-color: #eee; border: 2px solid #eee; border-radius: 3px; text-align: right;}
#contactFormMessage { width: 100%; padding: 7px 0px; text-align: center; display: none; color: #000; font-weight: 600;}


/* ------ 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 .grid16 {width: 16.66%;}
.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: 500px;
	position: relative;
}


/* ------ TOPBAR ------ */
#topbar {
	display: none;
	width: 100%;
	min-height: 8px;
	background-color: #c03308;
	position: relative;
	z-index: 3;
	overflow: hidden;
	padding: 6px 0px;
}
#topbar .clientLinks a {
	color: #fff; 
	margin-left: 15px;
	display: inline-block;
	font-size: 13px;
}
#topbar .clientLinks a:hover {color: #fbb6a1;}


/* ------ NAVBAR ------ */
#navbar, #navbar-sticky {
	width: 100%;
	height: auto;
	text-align: right;
	position: absolute;
	top: 0px;
	z-index: 2;
	display: block;
	background-color: rgba(255,255,255,0.2);
	padding: 12px 0px 0px;
}
#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: #b0c8f0;
	text-shadow: 1px 1px #000;
}
#navbar .phone span, #navbar-sticky .phone span{font-size: 18px; color: #eee; 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: #fff; padding: 30px 30px; font-weight: 600;}
#navMenu li a:hover { color: #b0c8f0; }
#navMenu li:last-child a { padding-right: 0px; }
#navMenu li > a {text-shadow: 1px 1px rgba(0,0,0,0.5);}
#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: 15px 20px; display: block; background-color: #fff; color: #000;}
#navMenu li > div a:hover { color: inherit; background-color: #b0c8f0;}
#navMenu li:last-child >div a { padding: 15px 20px; }
#navMenu li:hover > div { display: block; }
#responsiveMenu_icon {
	height: 40px;
	width: 100%;
	border: 1px solid #00296c;
	margin: 4px auto 0px;
	border-radius: 10px;
	background-color: #00296c;
	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: #f5f5f5; }
#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: 15; 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 a{ font-size: 20px; color: #00296c !important; text-shadow: none;}
#navbar-sticky .phone span { color: #444;}
#navbar-sticky #navMenu ul { margin-top: 10px; }
#navbar-sticky #navMenu a { color: #333; }
#navbar-sticky #navMenu li > a { padding-bottom: 10px; padding-top: 10px; text-shadow: none;}
#navbar-sticky #navMenu li:hover > div { display: block; }
#navbar-sticky #navMenu li > div {
	position: absolute;
	z-index: 2;
	left: -10px;
	top: 32px;
	background-color: transparent;
	padding: 0px;
	text-align: center;
	border: 1px solid #ccc;
	display: none;
}
#navbar-sticky #navMenu li > div a { padding: 10px auto; }



/* ------ 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: #b0c8f0;}
#footer .expertsystems a:hover {color: #fff;}
#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;
}



/* ----- CUSTOM CLASSES ----- */
.features { 
	padding: 20px 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/#1c3a6b+0,000b54+100 */
	background: #1c3a6b; /* Old browsers */
	background: -moz-linear-gradient(top, #1c3a6b 0%, #000b54 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #1c3a6b 0%,#000b54 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #1c3a6b 0%,#000b54 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1c3a6b', endColorstr='#000b54',GradientType=0 ); /* IE6-9 */
}
.features .feature {padding: 20px;text-align: center;}
.features .feature i { font-size: 90px; margin-bottom: 25px; color: #fff; }
.features .feature h1 { margin: 0px 0px 10px; color: #9dbae9; font-size: 22px; font-weight: 600; line-height: 1.2; }
.features .feature p { color: #555; }

.main_banner { height: 600px; background-color: #f5f5f5; background-image: url('img/banner_main.jpg');}

#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 i { margin-right: 10px; }
.contact_details h4 { font-size: 18px; font-weight: 400; }

.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;
}


/* PAGE HEADER */
.page_header {
	width: 100%;
	padding: 50px 0px;
	background-color: #eee;
	font-size: 45px;
	font-weight: bold;
	color: #00296c;
}


/* MAIN SLIDER */
.slider {width: 100%; height: auto; position: relative; overflow: hidden;}
.slider .slide { width: 100%; height: auto; position: absolute; top: 0px; left: 100%; background-size: cover;}
.slider .slide:first-child { width: 100%; height: auto; display: inline-block; left: 0%;}

.slider .slideIcons {position: absolute; z-index: 5;}
.slider .slideIcons > div {
	width: 20px;
	height: 20px;
	background-color: #bbb;
	border-radius: 50%;
	border: 3px solid #eee;
	margin: 0px 3px;
	display: inline-block;
	cursor: pointer;
}
.slider .slideIcons > div.active {
	background-color: #00296c;
}

.slider .slide .banner {
	width: 100%;
	padding: 25px 0px;
	background-color: rgba(0,0,0,0.5);
	position: relative;
	top: 100%;
	height: auto;
}	
.slider .slide .banner h2 {
	color: #fff;
	font-size: 32px;
	margin: 0px;
	text-align: right;
	font-weight: 700;
	text-shadow: 0px 0px 0 #00173d, -2px -2px 0 #00173d, 2px -2px 0 #00173d, -2px 2px 0 #00173d, 2px 2px 0 #00173d;
	line-height: 38px;
}
.slider .slide .banner h1 {
	color: #00296c;
	font-size: 45px;
	margin: 0px;
	text-align: right;
	font-weight: 700;
	margin-top: 5px;
	text-shadow: 0px 0px 0 #4d6a98, -2px -2px 0 #4d6a98, 2px -2px 0 #4d6a98, -2px 2px 0 #4d6a98, 2px 2px 0 #4d6a98;
	line-height: 60px;
}

#slider_main .slide1 { background-image: url('img/slider_main/1.jpg'); background-position: top;}
#slider_main .slide2 { background-image: url('img/slider_main/2.jpg'); background-position: bottom;}
#slider_main .slide3 { background-image: url('img/slider_main/3.jpg'); background-position: center;}
#slider_main .slide4 { background-image: url('img/slider_main/4.jpg'); background-position: top;}

.insuranceCompanies { width: 100%; padding: 30px 0px;  text-align: center; background-color: #e5e5e5;}
.insuranceCompanies img { width: 100%; height: auto; max-width: 200px; }
.insuranceCompanies h2{font-weight: 600;margin-bottom: 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;
	margin: 0 auto;
}
.buttonLinks .button:hover {
	color: #00296c;
	border-color: #00296c;
}
.buttonLinks .button i {margin-right: 5px;}

#services { background-image: url("../img/banner_services.jpg"); background-size: cover; }
#services .service {
	padding: 15px;
	background-color: rgba(255,255,255,0.7);
	margin-bottom: 15px;
}
#services .service h3 { font-size: 25px; font-weight: 600; margin: 0px 0px 10px 0px; color:#00296c; }
#services .service p { padding: 0px; margin: 0px; color: #333;}