/************************************************ Background ************************************************/
body {
	background:#fff;
}

input[type='submit']
{
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none; 
}

/************************************************ Format ************************************************/

body, select, input, textarea {
	font-size:62.5%;
	font-family:Arial, Helvetica, sans-serif;
	color:#5a5a5a;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.tk-europa,body,button,input,select,textarea { font-family: "europa",sans-serif; }

h1,h2,h3,h4,h5 {
	line-height:1.3em;	
}

h1 {
	font-size:42px;
	margin:0 0 30px;
	font-weight:bold;
	color:#0092d8;	
}

h1.grey {
	color:#5a5a5a;
	margin:0 0 10px;
}

h1.nopadd {
	font-size:42px;
	margin:0;
	font-weight:bold;	
}

h1.smaller {
	font-size:36px;	
}

h2 {
	font-size:24px;
	margin:0 0 20px;
}

h3 {
	font-size:18px;
}

h4 {
	font-size:24px;
}

h5 {
	font-size:12px;
}

h6 {
	font-size:10px;
}

p {
	font-size:18px;
	line-height:1.5em;
	padding:0 0 25px;
}

a {
	color:#09509e;
	text-decoration:none;
	transition: all 0.3s ease-out;
}

a:hover {
	color:#21282f;
	text-decoration:none;
}

img, object, embed, video {
	max-width: 100%;
}

img {
	height:auto;	
}

strong {
	font-weight:bold;	
}

em {
	font-style:italic;	
}

.clearfix:after {
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;	
}

a.btn {
	background:#0092d8;
	color:#fff;
	font-size:16px;
	padding:20px 35px;
	font-weight:bold;
	display:inline-block;
	vertical-align:top;
	border-radius: 50px;
	margin:10px 0 0;
}

a.btn:hover {
	background:#21282f;
	text-decoration:none;
	color:#fff;
}

a.btn.stroke {
	border:2px solid #0092d8;
	color:#0092d8;
	background:none;
}

a.btn.stroke:hover {
	background:#0092d8;
	color:#fff;
}

#res_logo,
a.callus,
a.menu_button {
	display:none;	
}

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 4;
    top: 0;
    left: 0;
	padding:60px 0 0;
    background-color: #0192d8;
    transition: 0.5s;
	overflow:scroll;
	box-sizing:border-box;
}

img.mobpic {
	display:none;	
}

.quotes,
.announcementline,
.quotesformob {
	display:none;	
}

.split {
	margin-left:20px;	
}

p.sizes i {
	margin-right:10px;	
}

p.sizes {
	margin:-10px 0 0;	
}

img.teamlong {
	width:100%;	
}


/************************************************ Layout ************************************************/

.row {
	width:100%;
	float:left;
	padding:120px 5%;
	background:url(../images/whitebg-lines.png) no-repeat top left #fff;
	background-size:60%;
	position:relative;
	box-sizing: border-box;
}

.row.bgright {
	background:url(../images/whitebg-lines.png) no-repeat top right #fff;
	background-size:60%;
}

.row.van {
	background:url(../images/vanbg.png) no-repeat bottom right #fff;
	background-size:70%;
}

.row.nobg {
	background:#fff;
}

.row.large {
	padding:160px 5%;
}

.row.nopadd {
	padding:100px 0 0;
}

.row.grey {
	background:#f1f5f8;
}

.row.grey2 {
	background:#ebf7fd;
}

.row.grey.nopadd {
	background:#f1f5f8;
	padding:60px 5%;	
}

.row.grey.nopadd2 {
	background:#f1f5f8;
	padding:100px 5% 0;	
}

.row_inner {
	max-width: 1300px;
	min-width: 900px;
	margin:0 auto;
}

#wrapper {
	width:100%;
	float:left;
	box-sizing: border-box;
}

#container {
	max-width: 1140px;
	min-width: 960px;
	margin:0 auto;
}

header {
	width:100%;
	float:left;
	background: #fff;
	border-bottom:1px solid #ebebeb;
	box-sizing: border-box;
	padding:15px 5% 20px;
}

#logo {
	width:437px;
	float:left;
	transition: all 0.3s ease-out;
	margin: 20px 0 0;
}

#logo img {
	width:100%;
}

#logo:hover {
	opacity:0.8;
}

.header_right {
	float:right;
	text-align:right;
	width:50%;
}

.header_top p strong a {
	color:#fff;	
}

.header_top {
	width:100%;
	float:right;	
}

.header_top p {
	font-size:18px;
	color:#0092d8;
	padding:0;
	width:auto;
	display:inline-block;
	vertical-align:top;
}

.header_top p strong {
	font-size:26px;
	font-weight:bold;
	margin-left:10px;	
}

ul.social {
	float:right;
	margin:5px 0 0 20px;	
}

ul.social li {
	float:left;
	margin-left:3px;
}

ul.social li a {
	background:#09509e;
	padding:5px 10px;
	font-size:14px;
	color:#fff;	
}

ul.social li a:hover {
	background:#21282f;
}

nav {
	width:100%;
	float:right;
	margin:20px 0 0;
}

nav ul {
	
}

nav ul li {
	display:inline-block;
	vertical-align:top;
	margin:0 5% 0 0;
	font-size:17px;
	position:relative;
}

nav ul li:last-child {
	margin:0;
}

nav ul li a {
	color:#5a5a5a;
	font-weight:bold;
	padding:0 0 6px;
	transition:none;
	letter-spacing:1px;
}

nav ul li a:hover,
nav ul li a.active,
#products nav ul li a.products {
	color:#5a5a5a;
	text-decoration:none;
	border-bottom:2px solid #5a5a5a;
}

nav ul li a.services:hover {
	border-bottom:2px solid transparent;
	padding:0 0 15px;
}

/* Dropdown nav */
nav ul li ul.dropdown_nav {
    display: none;
    position: absolute;
    background-color: #fff;
    min-width: 250px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 3;
	margin:20px 0 0;
	text-align:left;
}

nav ul li ul.dropdown_nav:before {
    content:"";
    position: absolute;
	left:20px;
	margin:0;
    top: -10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #fff transparent;
    z-index:9999;
}

nav ul li ul.dropdown_nav li {
    margin:0;
	width:100%;
	float:left;
	line-height:1.3em;
	text-transform:none;
}
nav ul li ul.dropdown_nav li a {
    color: #807f7f;
    padding: 12px 16px;
	box-sizing:border-box;
	width:100%;
	float:left;
    text-decoration: none;
    display: block;
	font-size:14px;
	border-bottom:1px solid #f4f4f4;
}

nav ul li ul.dropdown_nav li:last-child a {
	border-bottom:none;	
}

nav ul li ul.dropdown_nav li a:hover {
   border-bottom:1px solid #f4f4f4;
   background-color: #f6f9fc;
}

nav ul li ul.dropdown_nav li.selected a {
	background:#5e7f98;
	color:#fff;
}

nav ul li ul.dropdown_nav li:last-child a:hover {
   border-bottom:none;
}

nav ul li:hover .dropdown_nav {
    display: block;
}


/************************************************ Homepage ************************************************/

#hp_slider {
	height:700px;
	width:100%;
	float:left;
	background:#1b1b1b;
}

#hp_slider .slide {
	height:700px;
	width:100%;
	float:left;
	position:relative;
	background-size:cover!important;
}

#hp_slider img {
	opacity:0.9;
}

.slide_text {
	position:absolute;
	left:auto;
	right:auto;
	width:100%;
	top:160px;
	color:#fff;
	text-align:center;
	z-index:1;
}

.slide_text h4 {
	font-size:18px;
	text-transform:uppercase;
	padding:0 0 20px;
	font-weight:bold;
}

.slide_text h4:before {
	position:absolute;
	content:'';
	width:40px;
	height:2px;
	background:#fff;
	transition: all 0.3s ease-out;
	top:-20px;
	left:0;
}

.slide_text h2 {
	font-size:90px;
	margin:0 0 30px;
	color:#fff;
	font-weight:bold;
	letter-spacing:1px;
}

.slide_text a.btn {
	font-size:20px;
}

/*.slide_text h2 span {
	background:#fff;
	padding:10px 40px 15px 40px;
	line-height:1.5em;
	font-weight:bold;
}*/

.announcement_bar {
	width:100%;
	float:left;
	background:#0092d8;
	padding:20px 5%;
	box-sizing:border-box;
	text-align:center;
	color:#fff;
	font-size:24px;
	font-weight:bold;
	line-height:1.5em;	
}

.announcement_bar i {
	margin-right:15px;
}


/*Stats*/

.stats_column {
	width:55%;
	margin:40px 0;
	float:left;
}

.stats_column h2 {
	font-size:35px;
	font-weight:bold;
	margin:0;
	text-align:center;
}

.stats_column h3 {
	font-size:18px;
	text-align:center;
	margin:0 0 70px;
}

.stat_surround {
	width:100%;
	float:left;
	margin:0 0 50px;
	color:#807f7f;	
}

.stat_surround.morepadd {
	margin:0 0 25px;	
}

.stat_surround.last {
	margin:0;	
}

.figure {
	width:30%;
	float:left;	
}

.figure p.large {
	font-size:80px;
	padding:0;
	font-weight:bold;
	line-height:60px;
}

.figure p.small {
    font-size: 30px;
    float: left;
    width: 100%;
	margin:-20px 0 0;
}

.figure p.smaller {
    font-size: 30px;
    float: left;
    width: 100%;
}

.figure p span {
    font-size: 30px;
    float: left;
    width: 100%;
}

.stat {
	width:68%;
	float:right;
}

.bar-con{
  background-color:#fff;
  height:20px;
  border-radius:30px;
  margin-bottom:1em;
  border:3px solid #f2f2f2;
}
.bar{
  float:left;
  height:100%;
  width:0%;
  border-radius:30px;
}
.bar-one .bar{
  background-color:#7db9fc;
  transition:ease-in;
  transition-duration:1s;
}
.bar-two .bar{
  background-color:#1a7ce9;
  transition:ease-in-out;
  transition-duration:2s;
}
.bar-three .bar{
  background-color:#09509e;
  /*transition:cubic-bezier(.72,.45,.9,.12);*/
  transition-duration:3s;
}

.person {
    width: 40%;
    float: right;
    position: relative;
    bottom: -2px;
    right: 0;
}

.person.paddtop {
	margin-top:70px;
	bottom: -2px;	
}

.person img {
	width:100%;	
}

ul.products_list {
	width:100%;
	float:left;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:30px 0 120px;	
}

ul.products_list.nopadd {
	margin:30px 0 0;	
}

ul.products_list li {
	width:31.5%;
	vertical-align:top;
	background:#fff;
	margin-bottom:3em;
	border-radius:5px;
	overflow:hidden;
}

ul.products_list li img {
	width:100%;
	transition: all 0.3s ease-out;
}

ul.products_list li a:hover img {
	opacity:0.7;
}

ul.products_list li .content {
	width:100%;
	padding:30px;
	box-sizing:border-box;
	float:left;
}

ul.products_list li.bluebg {
	background:#0192d8;
	color:#fff;	
	text-align:center;
}

ul.products_list li.bluebg a.btn {
	background:#0192d8;
	color:#fff;
	border:2px solid #fff;
}

ul.products_list li.bluebg a.btn:hover {
	background:#fff;
	color:#0192d8;	
}

ul.products_list li p {
	font-size:28px;
	font-weight:bold;
	line-height:1.5em;
	padding:0;
}

ul.products_list li p.small {
	font-size:16px;
	font-weight:normal;
	margin:0;
	padding:0 0 15px;
}

ul.products_list li a.btn {
    padding: 13px 30px;
}


/************************************************ Main Content ************************************************/

.main_banner {
	width:100%;
	float:left;
	position:relative;
	height:300px;
	background-size:cover!important;
}

.main_banner.small {
	height:150px;
}

.main_banner .gradient {
	width:100%;
	height:300px;
	position:absolute;
	bottom:0;
	left:0;
	z-index:1;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );	
}

.mb_text {
	position:absolute;
	left:0;
	right:0;
	margin:auto;
	width:50%;
	top:50%;
	transform: translateY(-50%); 
	color:#fff;
	z-index:2;
}

.mb_text.grey {
	color:#5a5a5a;
}

.main_banner h2 {
	text-align:center;
	font-weight:bold;
	font-size:45px;
	margin:0;	
}

.breadcrumbs {
	width:100%;
	float:left;
	padding:20px 5%;
	box-sizing:border-box;	
}

.breadcrumbs ul li {
	font-size:13px;
	font-weight:bold;
	display:inline-block;
	vertical-align:top;
	color:#5a5a5a;
}

.breadcrumbs ul li a {
	color:#0092d8;
}

.breadcrumbs ul li a:hover {
	color:#0092d8;
	text-decoration:underline;
}

.breadcrumbs ul li i {
	margin-left:10px;
	margin-right:10px;
}

.column_left {
	width:45%;
	float:left;	
}

.column_left.small {
	width:30%;
	float:left;	
}

.column_left.small h1 {
	margin:0 0 10px;
}

.column_left.small h2 {
	margin:0 0 30px;
}

.column_left h3 {
	font-weight:bold;
	font-size:20px;
}

.column_left ul {
	width:100%;
	float:left;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	margin:-15px 0 25px;
	justify-content:center;
}

.column_left ul li {
	width:50%;
	float:left;
	font-size:15px;
	line-height:1.5em;
	box-sizing:border-box;
	border-bottom:1px solid #e4e8eb;
	padding:0 0 10px;
	font-weight:bold;
	margin:0 0 10px;
	vertical-align:top;
}

.column_left ul li i {
	margin-right:10px;
	color:#0092d8;
}

.column_right {
	width:42%;
	float:right;	
}

.product_fade {
	width:100%;
	float:left;
	border-radius:5px;
	overflow:hidden;
}

.product_fade.mobile {
	display:none;
	margin:0 0 20px;
}

.product_fade .quotes,
.product_fade .quotesformob {
	width:100%;
	float:left;
}

.product_fade .quotes img,
.product_fade .quotesformob img {
	width:100%;
	float:left;
}

.product_fade .quotes .text,
.product_fade .quotesformob .text {
	width:100%;
	float:left;
	padding:20px;
	box-sizing:border-box;
	font-size:14px;
	line-height:1.5em;
	background:#fff;
}

.column_right.small {
	width:35%;
	float:right;	
}

.column_right img {
	width:100%;	
}

.column_center {
	margin:0 auto;
	width:80%;
}

.c_left {
	width:45%;
	float:left;	
}

.c_right {
	width:48%;
	float:right;	
}

.team_bottom {
	width:65%;
	float:right;
	position:relative;
	margin-bottom:-162px;
	right:0;
	text-align:right;	
}

.team_bottom img {
	width:100%;	
}

.block_services {
	width:100%;
	float:left;	
}

.service_box {
    float: left;
    width: 33.28%;
    position: relative;
    background: #000;
    transition: all 0.3s ease-out;
    box-sizing: border-box;
    margin: 0 0.08% 0 0;
}

.service_box.last {
	margin:0;
}

.service_box img {
	float:left;
	position:relative;
}

.service_box .text {
	width:100%;
	position:absolute;
	bottom:0;
	left:0;
	padding:30px 35px 35px;
	z-index:2;
	box-sizing:border-box;
	transition: all 0.3s ease-out;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 35%, rgba(0,0,0,0.65) 36%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 35%,rgba(0,0,0,0.65) 36%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 35%,rgba(0,0,0,0.65) 36%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );}

.service_box .text a {
	color:#fff;
}

.service_box .text p {
	text-transform:uppercase;
	padding:0 0 10px;
	color:#fff;
	font-size:20px;
	font-weight:bold;
	position:relative;
}

.service_box .text p:before {
	position:absolute;
	content:'';
	width:40px;
	height:2px;
	background:#fff;
	transition: all 0.3s ease-out;
	top:-20px;
	left:0;
}

.service_box:hover .text p:before {
	width:20px;
}

.service_box .text span {
	padding:0 0 2px;
	color:#fff;
	font-size:16px;
	border-bottom:1px solid #fff;
	display:none;
}

.service_box .text span i {
	margin:2px 0 0;
	display:inline-block;
	vertical-align:top;
}

.service_box:hover .text {
	padding-bottom:60px;
}

.service_box:hover span {
	display:inline-block;
}

.service_box:hover img {
	opacity:0.8;
}

.title_center {
	width:100%;
	float:left;
	text-align:center;
	margin:0 0 80px;	
}

.title_center.nopadd {
	margin:0;	
}

.title_center h1 {
	margin:0 0 20px;
}

.title_center h3 {
	font-size:60px;
	margin:0;
	font-weight:bold;
}

.title_center p {
	font-size:20px;
	margin:0;
	padding:0;
}

.full_team {
	width:100%;
	float:left;
	text-align:center;
	padding: 0 3%;
	box-sizing: border-box;
}

.job_table {
	width:100%;
	float:left;
	margin:70px 0 0;	
}

table {
	width:100%;
	float:left;
	font-size:18px;
	table-layout:fixed;
	text-align:left;
	margin:10px 0 0;
}

table tr.heading {
	width:100%;
	background:#515360;
	box-sizing:border-box;
	color:#fff;
}

table tr.heading th {
	padding:20px;
}

table tr:nth-child(even) {
    background:#fff;
}

table tr td {
    padding: 20px;
    line-height: 1.5em;
}

img.badge {
	width:70%;
	margin:20px 0 0;	
}

.quote_box {
	width:100%;
	float:left;
	background:#fff;
	margin:-50px 0 0;
	box-shadow:1px 1px 10px #e1e1e1;
}

.quote_box_title {
	width:100%;
	float:left;
	background:#50535f;
	padding:30px;
	box-sizing:border-box;
	color:#fff;
}

.quote_box_title h4 {
	font-size:12px;
	margin:0;
}

.quote_box_title h4 strong {
	font-size:24px;
}

.quote_box_content {
	width:100%;
	float:left;
	background:#fff;
	padding:30px;
	box-sizing:border-box;
}

.whyus {
	width:55%;
	float:left;
	text-align:center;
}

.whyus h2 {
	font-size:35px;
	font-weight:bold;
	margin:0;
}

.whyus h3 {
	font-size:18px;
}

ul.whybox {
	width:100%;
	float:left;
	display:inline-flex;
	flex-wrap: wrap;
	margin:40px 0 0;
}

ul.whybox li {
	width:49.6%;
	display:flex;
	background:#f4f4f4;
	margin:0 0.8% 5px 0;
	padding:10px 20px;
	font-size:17px;
	box-sizing:border-box;
}

ul.whybox li:nth-child(2n) {
	margin:0 0 5px 0;
}

ul.whybox li i {
	width:20%;
	float:left;
	font-size:60px;
	margin-right:10%;
}

ul.whybox li span {
	width:70%;
	float:left;
	line-height:1.5em;
	vertical-align:middle;
	text-align:left;
	display:flex;
	justify-content: center;
  	flex-direction: column;
}

ul.whybox li.large {
	width:100%;
	display:inline-block;
	background:#0064ae;
	margin:0;
	padding:15px 20px;
	font-size:17px;
	color:#fff;
	box-sizing:border-box;
	text-align:center;
	text-transform:uppercase;
}

ul.whybox li.large i {
	font-size:30px;
	width:auto;
	float:none;
	margin:0 0 0 10px;
}

ul.whybox li.large a {
	color:#fff;
	display:block;
}

ul.whybox li.large a:hover {
	opacity:0.5;
	text-decoration:none;
}

.quote_section {
	width:100%;
	float:left;
	background: rgb(1,25,147);
	background: -moz-linear-gradient(left, rgba(1,25,147,1) 0%, rgba(0,101,174,1) 25%, rgba(1,25,147,1) 60%, rgba(0,101,174,1) 100%);
	background: -webkit-linear-gradient(left, rgba(1,25,147,1) 0%,rgba(0,101,174,1) 25%,rgba(1,25,147,1) 60%,rgba(0,101,174,1) 100%);
	background: linear-gradient(to right, rgba(1,25,147,1) 0%,rgba(0,101,174,1) 25%,rgba(1,25,147,1) 60%,rgba(0,101,174,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#011993', endColorstr='#0065ae',GradientType=1 );
	padding:100px 5%;
	box-sizing:border-box;
	text-align:center;
	color:#fff;	
}

.quote_section span {
	border-radius:50%;
	width:75px;
	height:75px;
	background:#fff;
	text-align:center;
	font-size:30px;
	padding:20px 0 0;
	box-sizing:border-box;
	display:block;
	vertical-align:top;
	margin:0 auto 30px;
	color:#0064ae;
}

.quote_section p {
	font-size:24px;
	font-weight:bold;
	width:70%;
	display:inline-block;
	vertical-align:top;
	padding:0 0 20px;
}

.quote_section p.small {
	font-size:15px;
	font-weight:normal;
	padding:0;
}


/************************************************ Form Elements ************************************************/

.contact_details {
	width:100%;
	float:left;
}

.contact_details p {
	font-size:24px;
	padding:0 0 25px;
}

.contact_details .left_details {
	width:30%;
	float:left;
}

.contact_details .right_details {
	width:68%;
	float:right;
}

.contact_details .detail_left {
	width:100%;
	float:left;
	margin:0 0 10px;
}

.contact_details .detail_left .icon {
	float:left;
	font-size:30px;
	margin-right:3%;
}

.contact_details .detail_left .text {
	float:left;
	font-size:22px;
	line-height:1.5em;
	word-wrap:break-word;
	width:auto;
}

.contact_details .detail_left .icon.padd {
	padding:0 5px;
}

.contact_col1 {
	width:48%;
	float:left;	
}

.contact_col2 {
	width:48%;
	float:right;	
}

.form_item {
    display: inline-block;
    margin:0;
    vertical-align: top;
    width: 100%;
}

.form_item label,
.form_item_message label{
   display:block;
   font-size:18px;
   margin:10px 0 5px;
}

.quote_box .form_item label,
.quote_box .form_item_message label{
   display:none;
}

.quote_box .form_item {
	margin:0 0 8px;	
}

.form_item input {
    border:1px solid #e1e1e1;
	box-sizing: border-box;
    float: left;
    font-size: 16px;
    height: 45px;
    margin: 0 0 5px;
    padding: 12px 0 10px 10px;
    width: 100%;
}

.form_item textarea {
	font-size: 16px;
	border:1px solid #e1e1e1;
	height:120px;
	width:100%;
	padding: 12px 0 10px 10px;
	box-sizing: border-box;
	margin:0 0 20px;
}

.contact_col1 .form_item input {
	height: 60px;
	margin:0 0 10px;
}

.contact_col2 .form_item textarea {
	height:217px;
}

.form_item.select {
	width:100%;
	position:relative;
}

.form_item.select select {
	-webkit-appearance: none; 
	-moz-appearance: none;
	appearance: none;/* remove default arrow */
	width:100%;
	height:60px;
	border:2px solid #eaf0f2;
	border-radius:3px;
	box-sizing:border-box;
	font-size:16px;
	padding:8px 15px 8px 15px;
	position:relative;
	box-shadow:none;
	background:url(../images/downarrow.png) no-repeat center right #fff;
	background-size:30px;
}

/* Customize the label (the container) */
.form_item .labelcontainer {
  display: inline-block;
  position: relative;
  margin-left: -22px;
  margin-bottom: 10px;
  cursor: pointer;
  font-size: 22px;
  padding-bottom:0;
  margin:0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.form_item .labelcontainer label.error {
    margin: 5px 0 0 36px;
}

/* Hide the browser's default checkbox */
.labelcontainer input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: auto;
    padding: 0;
    margin: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 5px;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #4b6d50;
  border:none;
  border-radius:3px;
}

/* On mouse-over, add a grey background color */
.labelcontainer:hover input ~ .checkmark {
  background-color: #4b6d50;
}

/* When the checkbox is checked, add a blue background */
.labelcontainer input:checked ~ .checkmark {
  background-color: #f6e2a3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.labelcontainer input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.labelcontainer .checkmark:after {
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #464e78;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
} 

.form_item input:focus,
.form_item textarea:focus {
	border:1px solid #7bcef2!important;
}

.form_item label.warning,
.form_item_message label.warning {
	color:#F00;	
}

.submit_surround {
	width:100%;
	float:left;
}

.submit {
	background:#0092d8;
	color:#fff;
	font-size:16px;
	padding:20px 55px;
	font-weight:bold;
	display:inline-block;
	vertical-align:top;
	border-radius: 50px;
	margin:10px 0 0;
	cursor:pointer;
	border:none;
	transition: all 0.3s ease-out;
}

.submit:hover {
	background:#21282f;
	text-decoration:none;
	color:#fff;
}

.form_submit {
	float:left;
	width:100%;
}

#mapholder {
	width:100%;
	float:left;
	height:500px;
}

#mapholder img, #mapholder object, #mapholder embed, #mapholder video {
	max-width:none;
	width:auto;
}

#mapholder img {
	height:auto;	
}

#mapholder p {
	color:#000;	
	font-size:14px;
	padding:0;
}

#mapholder p strong {
	font-weight:bold;
}

.honey {
	display:none;	
}

.g-recaptcha {
    margin: 0 0 20px;
}

.form_item label.warning {
	color:#F00;	
}

p.red_text {
	color:#e51b22;
	font-size:18px;	
}

.green strong,
p.green_text {
	color:#178b00;
	font-size:18px;
}

.full_team .slick-list {
	z-index:100;	
}


/************************************************ Footer ************************************************/

footer {
	width:100%;
	float:left;
	padding:80px 5% 20px;
	margin-top:1px;
	background:#21282f;
	box-sizing: border-box;
	color:#fff;
}

.footer_top {
	width:100%;
	float:left;
	border-bottom:1px solid #2f3943;
	padding:0 0 30px;
	margin:0 0 30px;	
}

.top_left {
	float:left;
	width:35%;
}

.top_left p {
	font-size:20px;
	padding:0;
	text-transform:uppercase;
	font-weight:bold;
}

.top_left p strong {
	font-size:40px;
	padding:0;
	text-transform:uppercase;	
}

.top_middle {
	float:left;
	width:40%;
	position:relative;
	margin:10px 0 0;
}

.top_middle i {
	position:absolute;
	top:-15px;
	left:-38px;
	font-size:30px;
}

.top_middle p {
	font-size:16px;
	padding:0;
}

.top_middle p strong {
	font-size:20px;
	padding:0;
	font-weight:bold;	
}

.top_right {
	float:right;
	margin:30px 0 0;
}

.top_right ul.social li a {
	background:none;
	font-size:20px;
	padding:5px 8px;
}

.top_right ul.social li a:hover {
	opacity:0.8;
}

.footer_bottom {
	width:100%;
	float:left;	
}

.footer_bottom {
	width:100%;
	float:left;	
}

.footer_bottom p {
	float:right;
	font-size:12px;
}

footer p a {
	color:#fff;	
}

.footer_bottom ul {
	float:left;
	white-space:nowrap;
	text-align:left;
	width:40%;
}

.footer_bottom ul li {
	display:inline-block;
	vertical-align:top;
	margin:0 3% 0 0;
	line-height:1.3em;
}

.footer_bottom ul li:last-child {
	margin:0;
}

.footer_bottom ul li a {
	color:#fff;
	font-size:16px;
}

.footer_bottom ul li a:hover {
	color:#fff;
	opacity:0.8;
}

.assured_logo {
	width:70px;
	margin:-20px 20px 0 0;
	float:left;	
}


/************************************************ Smaller screens ************************************************/

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

.row.nopadd {
    padding: 100px 5% 0;
}

.person {
    bottom: 0;
	position:absolute;
}

.person.paddtop {
    margin-top: 0;
    bottom: -2px;
}

}

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

#logo {
    width: 350px;
}

a.btn {
    padding: 20px 20px;
}

ul.products_list li a.btn {
    padding: 13px 20px;
}

nav ul li {
    display: inline-block;
    vertical-align: top;
    margin: 0 4% 0 0;
    font-size: 16px;
}

.team_bottom {
    width: 65%;
    float: right;
    position: absolute;
    margin-bottom: 0;
    right: 0;
    text-align: right;
    bottom: -2px;
}

.top_middle {
    width: 45%;
    margin: 10px 0 0 5%;
}

.header_right {
    width: 60%;
}

.figure p.large {
    font-size: 58px;
    padding: 0;
    font-weight: bold;
    line-height: 37px;
}

.contact_details .detail_left .text {
    float: left;
    font-size: 17px;
}

.whyus {
    width: 55%;
    float: left;
    text-align: center;
    margin: 0 0 80px;
}

ul.whybox li i {
    font-size: 36px;
}

ul.whybox li {
    font-size: 15px;
}

img.badge {
    width: 100%;
    margin: 20px 0 0;
}

.team_bottom {
    width: 60%;
}

.column_left.small {
    width: 35%;
    float: left;
}

.g-recaptcha {
    margin: 0 0 10px;
	transform:scale(0.80);
	transform-origin:0 0;
}

.top_right {
    float: right;
    margin: 30px 0 0;
    width: 100%;
}

}

@media only screen and (max-width: 1023px) {
	
.row {
    width: 100%;
    float: left;
    padding: 60px 5%;
}

.row.nopadd {
    padding: 60px 5% 0;
}

.figure p.large {
    font-size: 45px;
}
	
.header_right {
	display:none;	
}

.row.van {
    background:#fff;
}
	
.row_inner {
	min-width: 0;
	float:left;
	width:100%;
	margin:0;
}

.column_center {
    margin: 0 auto;
    width: 100%;
}

.slide_text {
    position: absolute;
}

.column_left.small {
    width: 50%;
    float: left;
}

.team_bottom {
    width: 50%;
}

.main_banner {
    height: 200px;
}

.main_banner .gradient {
    height: 150px;
}

.contact_details .left_details,
.contact_details .right_details {
    width: 100%;
    float: left;
}

.quote_box {
    margin: 0;
}

.footer_bottom ul {
    float: left;
    white-space: nowrap;
    text-align: left;
    width: 100%;
    margin: 0 0 20px;
}

.top_left {
    float: left;
    width: 50%;
    margin: 0 0 30px;
}

.top_right {
    float: left;
    margin: 30px 0 0;
    width: 100%;
}

ul.whybox li {
    width: 100%;
    display: flex;
    background: #f4f4f4;
    margin: 0 0 5px 0;
}

ul.social {
    float: left;
    margin: 5px 0 0 0;
}

.bgtexture {
	padding: 35px 3%;	
}

#logo {
    display:none;
}

#res_logo {
    display: block;
    vertical-align: top;
    margin: 0 auto;
    width: 350px;
    position: absolute;
    left: 0;
    right: 0;
    top: 30px;
}

a.callus {
	font-size:32px;
	text-transform:uppercase;
	color:#0092d8;
	letter-spacing:1px;
	padding:15px;
	float:right;
	cursor:pointer;
	margin: 10px 0 0 10px;
	display:block;
}

a.menu_button {
	font-size:13px;
	text-transform:uppercase;
	color:#0092d8;
	letter-spacing:1px;
	padding:15px;
	float:left;
	cursor:pointer;
	margin: 10px 0 0;
	display:block;
}

a.menu_button:hover {
	color:#fff;
	background:#0092d8;
	text-decoration:none;
}

a.menu_button span {
	float:left;
	font-size:30px;
}

a.menu_button strong {
	font-weight:bold;
	padding:5px 0 0;
	float:left;
}

.overlay3 {
    height: 100%;
    width: 0%;
	opacity: 0;
    position: fixed;
    z-index: 3;
    top: 0;
    left: 0;
    background-color: rgba(20,20,20, 0.95);
    overflow-y: auto;
    overflow-x: hidden;
    text-align: center;
}

.side_logo {
	width:128px;
	margin:25px 0;
	padding:0 0 0 40px;
}

.side_logo a:hover {
	opacity:0.7;
}

.side_logo img {
	width:100%;
}

.sidenav ul {
	width:100%;
	float:left;
	padding:30px 30px 0;
	box-sizing:border-box;	
}

.sidenav ul.sub {
	background:#fdfdfe;
}

.sidenav ul li {
	float:left;
	width:100%;
	border-bottom:1px solid #eaeaec;
}

.sidenav ul li:first-child {
	border-top:1px solid #eaeaec;
}

.sidenav ul.sub li:first-child {
	border-top:none;
}

.sidenav ul li a {
	font-size:18px;
	padding:25px 0 25px;
	color:#fff;
	box-sizing:border-box;
	width:100%;
	float:left;
	font-weight:bold;
}

.sidenav ul.sub li a {
	background:#fdfdfe;
	color:#09509e;
}

.sidenav ul.sub li a span {
	margin-right:10px;
	height:15px;
	float:left;
}

.sidenav ul.sub li a:hover {
	background:#ededef;
	color:#09509e;
}

.sidenav ul li a:hover {
	background: #09509e;
	color:#fff;
	text-decoration:none;
}

.sidenav ul li.selected a:hover,
#products .sidenav ul li a.productsnav {
	color:#fff;
}

.sidenav .closebtn {
	position: absolute;
	top: 12px;
	left: 30px;
	font-size: 30px;
	margin-left: 0;
	color: #0192d8;
	cursor: pointer;
	padding: 15px 20px;
	background: #fff;
}

.sidenav .closebtn:hover {
   text-decoration:none;
}

.side_contact {
	width:100%;
	float:left;
	box-sizing:border-box;
	padding:25px 10px 20px 30px;
}

.side_address {
	float:left;	
}

.side_address p {
	font-size:12px;
	color:#fff;
	padding:0;
	font-weight:bold;
}

.side_address p span {
	margin-left:8px;
}

.side_address p strong {
	color:#fff;
}

.side_address a {
	color:#fff;
}

.side_address a:hover {
	color:#fff;
	text-decoration:none;
}

.side_social {
	float:left;
	width:100%;
	margin:0 0 20px;	
}

.side_social ul {
	padding:0;
	float:left;
	text-align:left;
	width:100%;	
}

.sidenav .side_social ul li {
	vertical-align:top;
	display:inline-block;
	font-size:16px;
	width:auto;
	margin-right:16px;
	border:none;
}

.side_social ul li a {
	color:#fff;
	padding:4px 0;
	float:left;
}

.side_social ul li a:hover {
	color:#fff;
	background:none;
}

.g-recaptcha {
    margin: 0 0 10px;
	transform:scale(0.57);
	transform-origin:0 0;
}

.quote_box_content,
.quote_box_title {
    padding: 30px 15px;
}

.column_left {
    width: 100%;
    float: left;
}

.column_right.desktop {
	display:none;
}

.product_fade.mobile {
	display:block;
	margin:20px 0 30px;
}

img.mobpic {
	width:100%;
	float:left;
	border: 10px solid #fff;
	border-radius:5px;
	margin:0 0 20px;
	display:block;
	box-sizing:border-box;	
}

ul.products_list li {
    width: 32%;
    vertical-align: top;
    background: #fff;
    margin-bottom: 3em;
    border-radius: 5px;
    overflow: hidden;
}

.footer_bottom p {
    float: left;
    font-size: 12px;
}
	
}



/************************************************ Mobile ************************************************/

@media handheld, only screen and (max-width: 600px) {

header {
	padding:0;
}

.row.nopadd {
    padding: 60px 5% 0;
}

.row.large {
    padding: 60px 5% 0;
}

#logo {
	display:none;	
}

#res_logo {
	display:block;
	vertical-align:top;
	margin:0 auto;
	width:200px;
	position:absolute;
	left:0;
	right:0;
	top:15px;
}

a.menu_button {
	font-size:13px;
	text-transform:uppercase;
	color:#0092d8;
	letter-spacing:1px;
	padding:15px;
	float:left;
	cursor:pointer;
	margin:0;
}

a.callus {
    margin: 0;
	font-size:26px;
}

#hp_slider,
#hp_slider .slide {
    height: 350px;
}

.slide_text {
    position: absolute;
    left: 0;
    width: 100%;
	top:70px;
}

.slide_text h2 {
    font-size: 40px;
    margin: 0 0 30px;
}

.announcement_bar {
	font-size:18px;	
}

ul.products_list {
    margin: 30px 0 50px;
}

ul.products_list li {
    width: 100%;
    vertical-align: top;
    background: #fff;
    margin-bottom: 2em;
    border-radius: 5px;
    overflow: hidden;
}

ul.products_list li .content {
    padding: 20px;
}

ul.products_list li a.btn {
    padding: 13px 10px;
}

.column_center {
    margin: 0 auto;
    width: 100%;
}

.c_left {
    width: 100%;
    float: left;
	margin:0 0 50px;
}

.c_right {
    width: 100%;
    float: left;
}

.quote_section {
    padding: 50px 5%;
}

.quote_section p {
    font-size: 18px;
    width: 100%;
    padding: 0 0 20px;
}

.column_left {
    width: 100%;
    float: left;
	margin:0 0 30px;
}

.column_left.small {
    width: 100%;
    float: left;
}

.column_right {
    width: 100%;
    float: left;
	margin:0;
}

.column_right.small {
    width: 100%;
    float: right;
}

.main_banner {
    height: 150px;
}

.mb_text {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 90%;
}

h2 {
    font-size: 20px;
}

.main_banner h2 {
    text-align: center;
    font-weight: bold;
    font-size: 30px;
    margin: 0;
}

h1 {
    font-size: 32px;
    margin: 0 0 20px;
    font-weight: bold;
}

h1.smaller {
    font-size: 30px;
}

.service_box {
    float: left;
    width: 100%;
    margin: 0 0 1px;
}

.stats_column {
    width: 100%;
    margin: 0;
    float: left;
}

.figure {
    width: 100%;
    float: left;
}

.figure p.large {
    font-size: 80px;
    float: left;
	width:auto;
}

.figure p.smaller {
    font-size: 30px;
    float: left;
    width: auto;
    margin: 10px 0 0;
	padding:0;
}

.stat_surround {
	text-align:center;	
}

.stat {
    width: 100%;
    float: right;
	margin:25px 0 0;
}

.person {
    bottom: 0;
    position: relative;
    width: 100%;
}

.team_bottom {
    width: 100%;
    position: relative;
}

.title_center h3 {
    font-size: 36px;
}

.contact_col1,
.contact_col2 {
    width: 100%;
    float: left;
}

.contact_details .detail_left .text {
    float: left;
    font-size: 17px;
    width: 80%;
}

#mapholder {
    width: 100%;
    float: left;
    height: 300px;
}

.whyus {
    width: 100%;
    float: left;
    text-align: center;
    margin: 0 0 80px;
}

.whyus h2 {
    font-size: 35px;
    font-weight: bold;
    margin: 0 0 10px;
}

.job_table {
    width: 100%;
    float: left;
    margin: 70px 0 0;
    overflow-x: scroll;
}

table {
    width: 1000px;
    float: left;
    font-size: 18px;
    table-layout: fixed;
    text-align: left;
    margin: 10px 0 0;
}

.top_left {
    float: left;
    width: 100%;
    margin: 0 0 30px;
}

.top_left p {
    line-height: 2em;
}

.top_middle {
    width: 80%;
    margin: 10px 0 0 11%;
}

.full_team .slick-dots {
    position: absolute;
    top: -54px!important;
}

.g-recaptcha {
    margin: 0 0 10px;
	transform:scale(0.90);
	transform-origin:0 0;
}

.footer_bottom p {
    float: left;
    font-size: 12px;
}

.split {
    margin:10px 0 0;
	width:100%;
	float:left;
}

}

@media handheld, only screen and (max-width: 350px) {

.row {
    width: 100%;
    float: left;
    padding: 30px 5%;
}

ul.products_list li {
    width: 100%;
}

ul.products_list li a.btn {
    padding: 13px 30px;
}

a.btn {
    padding: 20px 30px;
}

}

/* ========================================== */
/* ! Provide higher res assets for iPhone 4   */
/* ========================================== */

@media only screen and (-webkit-min-device-pixel-ratio: 2) { 


}