/*
Theme Name: iLIFE 2023
Version: 1.0
Author: Jan Leeks Digital
Author URI: https://janleeks.copm
Description: Bespoke theme
*/

/**
  theme requirements as per 
  http://codex.wordpress.org/CSS
*/
.aligncenter,
div.aligncenter {
   display: block;
   margin-left: auto;
   margin-right: auto;
}

.alignleft {
   float: left;
}

.alignright {
   float: right;
}

@font-face{
        font-family:"Helvetica Neue LT W05_67 Md Cn";
        src:url("Fonts/1a559dd9-e51e-45d5-86eb-f343223bacef.woff2") format("woff2"),url("Fonts/581fae27-b5f4-44ab-b5b1-92f11d4f9838.woff") format("woff");
    }
    @font-face{
        font-family:"Helvetica Neue LT W05_45 Light";
        src:url("Fonts/f9c5199e-a996-4c08-9042-1eb845bb7495.woff2") format("woff2"),url("Fonts/2a34f1f8-d701-4949-b12d-133c1c2636eb.woff") format("woff");
}
		
  @font-face{font-family:"Helvetica Neue LT W05_65 Medium";
        src:url("Fonts/240c57a0-fdce-440d-9ce3-85e0cb56f470.woff2") format("woff2"),url("Fonts/7802e576-2ffa-4f22-a409-534355fbea79.woff") format("woff");
}




html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html, body{
	height: 100%;
	width: 100%;
	font-family:"Helvetica Neue LT W05_45 Light";
	font-style: normal;
	color: #333;
}


a, a p{
   outline: 0; text-decoration: none;
    transition:  .10s ease-in-out;
   -moz-transition:  .10s ease-in-out;
   -webkit-transition:  .10s ease-in-out;
}

a:hover,  a p:hover {
   text-decoration: none;
   transition:  .10s ease-in-out;
   -moz-transition:  .10s ease-in-out;
   -webkit-transition:  .10s ease-in-out;
}

.mobilenav, .mobile_accordian {display: none;}

.underMnav{display: none;}

header {
	width:100%;	
	z-index:1001;
	position:fixed;
	height: auto;
	text-align: center;
}

.topgap{
	height: 207px;
}


.nav-shrunk .topgap{
	height: 119px;
}


.desktopnav {
padding: 20px 0 0 0; 
background: #666; 
text-align:center;
-webkit-transition: all 300ms linear;
-ms-transition: all 300ms linear;
transition: all 300ms linear;
-webkit-box-shadow: 0px 5px 5px -2px rgba(0,0,0,0.02);
-moz-box-shadow: 0px 5px 5px -2px rgba(0,0,0,0.02);
box-shadow: 0px 5px 5px -2px rgba(0,0,0,0.02);}




.desktopnav .desklogo {
	width: 287px;
	height: auto;
	text-align: center;
	margin: 0 auto 20px auto;
}



.desktopnav .desklogo img{
	display: inline-block;

}

.desktopnav .desklogo .emblem{height: 73px; width: auto; margin: 0 0 16px 0;transition: all 150ms linear;}
.desktopnav .desklogo .emblem img{width:auto; height: 73px; display: block; margin: 0 auto;}
.desktopnav .desklogo .typemarque{height: 19px; width: auto; margin: 0;}
.desktopnav .desklogo .typemarque img{height: 19px; width: auto; display: block; margin: 0 auto;}


.nav-shrunk .desktopnav .desklogo .emblem{opacity: 0; transition: all 150ms linear; height: 0;}


.desktopnav .linewrap{
	border-top: 1px solid #777;
	
}

header .headersocials{
	text-align: right;
}
	

.desktopnav .news-cta{position: absolute; top: 0; right: 0;}

.desktopnav .news-cta p{font-family:"Helvetica Neue LT W05_65 Medium";}

.desktopnav .news-cta p a{padding: 10px 20px; display: block;text-transform: uppercase;
  color: #CCC;
  text-decoration: none;
  font-size: 13px;background-color: #555;
letter-spacing: 3px;
	line-height: 13px;
}

.desktopnav .news-cta p a:hover{
  color: #FFF;
	background-color: #555;
}

 .desktopnav ul{
 list-style: none;
    line-height:15px;
    font-family:"Helvetica Neue LT W05_65 Medium";
    height: auto;
    padding:0px;
    margin: 0;
    text-align:center;
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;

}

.desktopnav ul.desknav > li {
    display: flex;
    align-items: stretch;
}

.desktopnav ul.desknav > li > a {
    width: 100%;
    min-height: 58px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

 .desktopnav  ul li{
	
	padding:0px;
	margin: 0px;
	width: 40%;
	 position: relative;
	
	}
 .desktopnav  ul li a{
	text-transform: uppercase;
	color:#CCC;
	text-decoration: none;
	display:block;
	font-size:13px;
	letter-spacing:3px;
	margin: 0px 0px;
	transition: opacity .25s ease-in-out;
   -moz-transition: opacity .25s ease-in-out;
   -webkit-transition: opacity .25s ease-in-out;
   opacity:1;
	z-index: 100;
	 position: relative;
	 padding: 14px 0;
	}
	
 .desktopnav  ul li a:hover{
	color:#FFF!important;
	}


.desknav li a:before, .desknav li a:before {
   content: "";
    position: absolute;
    bottom: 0px;
    opacity: 0;
    background-color: #666;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    z-index:100;
	left: calc(50% - 10px);
	 transition:  .25s ease-in-out;
   -moz-transition:  .25s ease-in-out;
   -webkit-transition:  .25s ease-in-out;
}
.desknav  li a:hover:before, .desknav  li a.active:before {
	content: "";
    position: absolute;
    bottom: -10px;
    opacity: 1;
    background-color: #666;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    z-index:100;
	left: calc(50% - 10px);
	 transition:  .25s ease-in-out;
   -moz-transition:  .25s ease-in-out;
   -webkit-transition:  .25s ease-in-out;
  
}


		.desknav   li.current_page_item a:before{
            	content: "";
    position: absolute;
    bottom: -10px;
    opacity: 1;
    background-color: #666;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    z-index:100;
	left: calc(50% - 10px);
	 transition:  .25s ease-in-out;
   -moz-transition:  .25s ease-in-out;
   -webkit-transition:  .25s ease-in-out;
		}
		
.desknav  li.current_page_ancestor a:before, .desknav  li.current_page_parent a:before{
                        	content: "";
    position: absolute;
    bottom: -10px;
    opacity: 1;
    background-color: #666;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    z-index:100;
	left: calc(50% - 10px);
	 transition:  .25s ease-in-out;
   -moz-transition:  .25s ease-in-out;
   -webkit-transition:  .25s ease-in-out;
		}


.desknav ul li a:before{display: none;}



 .desktopnav  ul li.current_page_item a,
.desktopnav  ul li.current_page_parent a{
			color:#FFF!important;
	 font-family:"Helvetica Neue LT W05_65 Medium";
		}
		
ul.desknav li ul {
  	visibility: hidden;
	opacity: 0;
	text-align:left;
	min-width: 200px;
	margin: 0px;
    display: block;
	-webkit-box-shadow: 0px 5px 5px -2px rgba(0,0,0,0.1);
-moz-box-shadow: 0px 5px 5px -2px rgba(0,0,0,0.1);
box-shadow: 0px 5px 5px -2px rgba(0,0,0,0.1);
	width: 100%;
}



ul.desknav li:hover > ul {
	visibility: visible;
	opacity: 1;
	margin-top: 0px;
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	
}

/*  stuff dropped in to */

ul.desknav:after {
	content: "";
	clear: both;
	display: block;
}

ul.desknav li li{
	display:block!important;
	margin: 0px!important;
}
	
ul.desknav ul {
	padding: 0px;
	position: absolute;
	top: 100%;
	z-index: 50;	
}
ul.desknav ul li {
	float: none; 
	width: auto;
	border: none!important;
	}
ul.desknav ul li a {
	text-transform: uppercase;
	color:#CCC;
	text-decoration: none;
	letter-spacing:3px;
	font-size: 12px!important;
	display: block!important;
	margin:0px!important;
	padding:  15px 30px!important;
	height: auto!important;
	line-height: 100%!important;
    text-align: center;
	
}

ul.desknav ul li:first-child a {
    padding-top: 25px!important;
}

ul.desknav ul li a:hover{
background-color: #EEE!important;
color: #666!important;
transition: all 0.4s ease-in-out;
}






ul.desknav ul li.current_page_item a {
	color:#CCC;
}

ul.desknav ul li.current_page_ancestor a {
	color:#CCC;
}

ul.desknav ul li.current_page_item  li a {
	color:#CCC;
}


ul.children li a {
	background-color: #555!important;
}

ul.children li.current_page_item a{
	background-color: #777!important;
}





.over-banner-text {
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  top: 0;
  left: 0;
  text-align: center;
	z-index: 100;
}
.over-banner-text h1 {
  color: #FFF;
  font-size: 18px;
  margin: 0;
  padding: 10px 0;
  font-family: trajan-pro-3, sans-serif;
  font-weight: 300;
  font-style: normal;
	letter-spacing: 0.08em;
}
.under-banner-text {
  position: absolute;
  width: 100%;
background: rgb(0,0,0);
background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.75) 100%);
  bottom: 0;
  left: 0;
  text-align: center;
	z-index: 100;
}
.under-banner-text.white{
 
background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.75) 100%);

}

.under-banner-text h2{
  color: #FFF;
  font-size: 16px!important;
  margin: 0!important;
  padding: 10px 0!important;
  font-family: trajan-pro-3, sans-serif;
  font-weight: 300;
  font-style: normal;
	letter-spacing: 0.08em;
}

.under-banner-text.white h2{
  color: #333;
  font-size: 24px!important;
  padding: 15px 0!important;
}

.under-carousel {
  position: absolute;
  width: 100%;
background-color: rgba(0, 0, 0, 0.4);
  bottom: 0;
  left: 0;
  text-align: center;
  z-index: 100;
}
.under-carousel p{
	font-size: 14px;
  margin: 0!important;
	padding: 5px 0!important;
  line-height: 100%;
  font-style: normal;
  letter-spacing: 0.2em;
	color: #FFF;
	font-family: "Helvetica Neue LT W05_65 Medium";
	text-transform: uppercase;
}




.banner .desktop{display: block;}
.banner .mobile{display: none;}

.banner {background-color: #FFF; width: 100%; height: auto; margin: 0;}
.banner .image-wrap{
	position: relative;
	width: 100%;
	margin: 0;
	height: calc(100vh - 250px);
	overflow: hidden;
	
}

.banner .image-wrap.slim{
	height: calc(50vh - 250px);
	min-height: 300px;
	
}

.banner .image-wrap.carousel{
	height: auto;
	min-height: 300px;
	
}


.banner img{
	display: block;
	width: 100%;
	height: 100%;
  object-fit: cover;
	object-position: 50% 50%;
}

.banner .video-wrap{
	position: relative;
	width: 100%;
	margin: 0;
/*	aspect-ratio: 120/48;*/
	 height: auto !important;
}

.banner .video-wrap2{
	position: relative;
	width: 100%;
	margin: 0;
	 height: auto !important;
}
.banner .video-wrap video {
  width: 100% !important;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
	height: calc(90vh - 222px);
	display: block;}

.banner .video-wrap2 video {
  width: 100% !important;
  object-fit: cover;
	object-position: 50% 50%;
	height: calc(50vh - 222px);
	display: block;
	min-height: 300px;
}


.banner .headline-hold{
	position: relative;
	height: 250px;
}

.banner .text-wrap{
	position: relative;
	margin: 0 0 0 20px;
}


.banner h2, .banner p.intro {
  font-size: 26px;
  line-height: 30px;
  margin: 0 0 30px 0;
	font-weight: normal;
}
.banner p {
  font-size: 16px;
  line-height: 26px;
  margin: 0 0 30px 0;
}


.banner .slick-item 
{
height: calc(100vh - 250px);
	background-color: #000;
}



.banner .slick-item img
{width: 100%;
  min-height: 100%;
  object-fit: cover;
/*aspect-ratio: 120/48;*/
	height: calc(100vh - 250px);
	display: block;
	object-position: 50% 50%;
	
	
}




.nobanner {
	background-color: #333;
	padding: 10px 0;
	text-align: center;
}

.nobanner h1{
	font-family: trajan-pro-3, sans-serif;
 color: #FFF;
  font-size: 18px;
  margin: 0;
  padding: 10px 0;
  font-weight: 300;
  font-style: normal;
	letter-spacing: 0.08em;}


.banner.map {background-color: #4A4A4A; width: 100%;
height: 350px;

}

section.down-header{text-align: center; height: 30px; width: 100%;}
section.down-header img{width: 30px; height: auto; display: block; margin: 0 auto;}

section.breadwrap { background-color:#FFF; padding:7px 0 7px 0;}
section.breadwrap .container{}

section.breadwrap ul#breadcrumbs {
    color: #333;
    font-size: 12px;
    list-style: outside none none;
    margin: 0;
    padding: 0;
	text-transform: uppercase;
	letter-spacing:0.05em;
font-weight: 500;}
section.breadwrap ul#breadcrumbs li {
    display: inline-block;
    margin: 0 5px 0 5px;
    padding: 0;
	background-image: none;}
section.breadwrap ul#breadcrumbs li.separator {color:#666;}
section.breadwrap ul#breadcrumbs li strong {font-weight: normal; color:#666;}
section.breadwrap ul#breadcrumbs li a{color:#333;text-decoration: none;}	
section.breadwrap ul#breadcrumbs  a{color:#333;text-decoration: none;}	
section.breadwrap ul#breadcrumbs  a:hover{color:#666;text-decoration: none;}	
section.breadwrap ul#breadcrumbs li a:hover{color:#666;text-decoration: none;}	
section.breadwrap .breadcrumbs { margin-bottom: 50px;}


.text-block{background-color: #FFF; padding: 70px 0; color: #333; position: relative;}
.text-block.centred{text-align: center;}
.text-block.notop{padding: 0 0 50px 0; }
.text-block.none{padding: 0; }
.text-block.nobottom{padding: 50px 0 0 0; }
.text-block.grey{background-color: #EFEFEF; color: #333;}
.text-block.darkgrey{background-color: #D7D7D7; color: #333;}
.text-block .indent{margin: 0 20px 0 20px;}
.text-block .indent2{margin: 0 10px 0 10px;}

.text-block h1 {
  font-size: 36px;
  margin: 0 0 30px 0;
  line-height: 100%;
  font-family: trajan-pro-3, sans-serif;
  font-weight: 300;
  font-style: normal;
}
.text-block h2 {
  font-size: 24px;
  margin: 0 0 50px 0;
  font-family: trajan-pro-3, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 140%;
	display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.text-block h2:before {
	content: '';
    margin: 0 30px 0 0;
    flex: 1 0 30px;
	background-image: url("images/left-line.png");
	background-repeat: no-repeat;
	background-size: 80% 3px;
	background-position: right center;
	height: 3px;
	width: 100%;
	
}
.text-block h2:after {
	content: '';
    flex: 1 0 30px;
	margin: 0 0 0 30px;
	background-image: url("images/right-line.png");
	background-repeat: no-repeat;
	background-size: 80% 3px;
	background-position: left center;
	height: 3px;
	width: 100%;
}


.text-block h3 {
  font-size: 20px;
  margin: 0 0 20px 0;
  line-height: 100%;
  font-family: trajan-pro-3, sans-serif;
  ;
  font-weight: 300;
  font-style: normal;
letter-spacing: 0.1em;
}
.text-block h4 {
  font-size: 24px;
  margin: 0 0 30px 0;
  line-height: 100%;
  font-family: trajan-pro-3, sans-serif;
  font-weight: 300;
  font-style: normal;
}
.text-block p {
  font-size: 18px;
  margin: 0 0 25px 0;
  line-height: 150%;
  letter-spacing: 0px;
}

.text-block .cta-block p{font-size: 14px;}

.text-block p.intro {
  font-size: 24px;
  margin: 0 0 50px 0;
  font-family: trajan-pro-3, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 140%;
}

.text-block p a{text-decoration: underline;}
.text-block p a.button{text-decoration: none;}

.text-block p a:hover{color: #000;}
.text-block p a.button:hover{color: #FFF;}


section.text-block.emblem:before{
 position: absolute;
    content: "";
    width: 100%;
    height: 50px;
    left: 0%;
    bottom: 0px;
	z-index: 110;
		}




section.text-block.emblem:after{
            	content: "";
    position: absolute;
    bottom: -43px;
    opacity: 1;
    background-color: #000;
    width: 86px;
    height: 86px;
    border-radius: 100%;
    z-index:10;
	left: calc(50% - 43px);
	
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;
		}


section.text-block.emblem.white:after{
background: url(images/logo-emblem-white.png);
	background-size: 100% 100%;
		}

section.text-block.emblem.grey:after{
background: url(images/logo-emblem-grey.png); background-size: 100% 100%;           
		}



.text-block ul {
	font-size:16px; 
	list-style: none;
	position: relative;
	padding: 0;
	margin: 0 0 30px 0;
	overflow: hidden;
	}
.text-block ul li{
	padding-left: 20px;
	margin-bottom: 10px;
	}
.text-block ul li:before {
	position: absolute;
    content: "•";
    color: #333;
    left: 0;
	font-weight: 500;
	}


.text-block .buttonsmall{
	 font-family:"Helvetica Neue LT W05_67 Md Cn";
	font-size: 16px;
	margin:0;
	padding: 5px 10px;
	border: solid 1px #CCC;
	display: inline-block;
	text-transform: uppercase;
	color: #333;
	letter-spacing: 0.1em;
}

.text-block .buttonsmall:hover{
	color: #FFF!important;
	background-color: #333;
	border: solid 1px #333;
	
}

/*.text-block ol {
	font-size:20px;
	list-style: none;
    position: relative;
    padding: 0;
    margin: 0 0 30px 0;
	}
.text-block ol li{
	counter-increment: list;
	padding-left: 20px;
	margin-bottom: 0;
	}
.text-block ol li:before {
	position: absolute;
	content: counter(list) "";
    color: #00502F;
    left: 0;
	font-weight:500;
	}*/
.text-block ul li a{
	text-decoration: underline;
	}
.text-block ul li a:hover{
	color: #00502F;
	}


.text-block .equalh{padding-bottom: 10px;}
.text-block .equalh2{padding-bottom: 10px;}

.text-block .image-wrap{position: relative;}

.text-block.image img{width: 100%; height: auto; display: block; margin: 0 0 10px 0;}

.text-block.image .caption-wrap{width: auto; height: auto; display: in-lineblock; margin: 0;
padding: 2px 5px; position: absolute; bottom: 0; left: 0;}

.text-block.image .caption-wrap p{margin: 0; padding: 0; font-size: 14px;}

.text-block.image .caption-wrap.darkgrey {background-color: #999;}
.text-block.image .caption-wrap.white {background-color: #FFF;}
.text-block.image .caption-wrap.grey {background-color: #EEE;}



.text-block .flex{display: flex; flex-wrap: wrap;justify-content: center;}

.text-block .flex .cta-block{width: calc(33% - 20px); margin: 0 10px; flex-grow: 1;}

.text-block .flex .cta-block.projects{width: calc(33% - 42px); flex-grow: 0; margin: 0 10px 40px 10px; border: solid 1px #CCC; padding: 10px;}

.text-block .flex .cta-block.services{width: calc(50% - 42px); flex-grow: 0; margin: 0 10px 40px 10px; border: solid 1px #CCC; padding: 10px;}

.text-block .flex .cta-block img{width: 100%; height: auto; display: block; margin: 0 0 30px 0;}

.text-block .flex .cta-block.projects .over-image {
  position: absolute;
  width: 100%;
background-color: rgba(0, 0, 0, 0.4);
  bottom: 0;
  left: 0;
  text-align: center;
  z-index: 100;
}
.text-block .flex .cta-block.projects .over-image p{
	font-size: 12px;
  margin: 0;
	padding: 5px 0;
  line-height: 100%;
  font-style: normal;
  letter-spacing: 0.2em;
	color: #FFF;
	font-family: "Helvetica Neue LT W05_65 Medium";
	text-transform: uppercase;
}



.text-block .flex .cta-block:hover .button{background-color: #55A3DF; color: #FFF; transition:  .10s ease-in-out;
   -moz-transition:  .10s ease-in-out;
   -webkit-transition:  .10s ease-in-out;}


.text-block .flex .cta-block:hover .buttonsmall{
	color: #FFF;
	background-color: #333;
	border: 1px #333 solid;
	transition:  .10s ease-in-out;
   -moz-transition:  .10s ease-in-out;
   -webkit-transition:  .10s ease-in-out;}



.featherlight .caption{margin: 0;
  padding: 0;
  font-size: 14px; color: #FFF; font-weight: normal!important;}



section.text-block label {
  display: none;
}


section.text-block form p{
line-height: 100%;
margin:  5px 0 20px 0;
font-size: 19px;
    color: #FFF;
}

section.text-block form p.note{
line-height: 100%;
margin:  5px 0 5px 0;
font-size: 12px;
    color: #053135;
}

section.text-block form .wpcf7-file{line-height: 100%;
margin:  5px 0 5px 0;
font-size: 14px;
    color: #053135;

}
section.text-block input[type="text"], section.text-block input[type="password"], section.text-block input[type="email"], section.text-block input[type="tel"], section.text-block input.wpcf7-date{
    padding: 10px 10px 20px 10px!important;
    border: 2px solid #FFF;
    box-shadow: none;
    box-sizing: border-box;
	width: 100%;
    display: inline-block;
    vertical-align: top;
    color: #FFF;
	font-size: 16px;
    height: auto;
    margin: 0 0 10px 0!important;
    border-radius: 4px;
    background-color: transparent;
     transition:  .20s ease-in-out;
   -moz-transition:  .20s ease-in-out;
   -webkit-transition:  .20s ease-in-out;
}

section.text-block.white input[type="text"], section.text-block.white input[type="password"], section.text-block.white input[type="email"], section.text-block.white input[type="tel"],  section.text-block input.wpcf7-date,
section.text-block.grey input[type="text"], section.text-block.grey input[type="password"], section.text-block.grey input[type="email"], section.text-block.grey input[type="tel"]{

    border: 1px solid #053135;

    color: #053135;
}

section.text-block select{
    padding: 10px 10px 20px 10px!important;
    border: 1px solid #FFF;
    box-shadow: none;
    box-sizing: border-box;
	width: 100%;
    display: inline-block;
    vertical-align: top;
    color: #FFF;
font-size: 16px;
    height: auto;
    margin: 0 0 10px 0!important;
    border-radius: 0;
    background-color: transparent;
        transition:  .20s ease-in-out;
   -moz-transition:  .20s ease-in-out;
   -webkit-transition:  .20s ease-in-out;
}

section.text-block.white select{
    border: 1px solid #053135;

    color: #053135;
}


section.text-block textarea{
    padding: 10px 10px!important;
    border: 1px solid #FFF;
    box-shadow: none;
    box-sizing: border-box;
	width: 100%;
    display: inline-block;
    vertical-align: top;
    color: #FFF;
    font-size: 16px;
    height: 150px;
    margin: 0 0 10px 0!important;
    border-radius: 0;
    background-color: transparent;
    transition:  .20s ease-in-out;
   -moz-transition:  .20s ease-in-out;
   -webkit-transition:  .20s ease-in-out;
}

section.text-block.white textarea, 
section.text-block.grey textarea{
    border: 1px solid #053135;
    color: #053135;
}


section.map{width: 100%; height: 500px; background-color: #000;}

section.map .mapp-layout {
  border: 0px!important;
}


section.map .mapp-ib-wrapper {
display: none;
}


section.text-block input[type="text"]:focus,
section.text-block input[type="password"]:focus,
section.text-block input[type="email"]:focus,
section.text-block input[type="tel"]:focus,
section.text-block input.wpcf7-date:focus,
section.text-block textarea:focus{
    background-color: #FFF;
    font-size: 19px;
    padding: 10px 10px 10px 10px!important;
    transition:  .20s ease-in-out;
   -moz-transition:  .20s ease-in-out;
   -webkit-transition:  .20s ease-in-out;
    color: #053135;
    }

section.text-block div.wpcf7 .ajax-loader{
    display: none!important;
    }


section.text-block.subscribe-box{
    padding: 30px 0 30px 0;
text-align: left;
background-color:
#053135;
color:#FFF;
    border-bottom: 1px solid #FFF;
}


section.text-block span.wpcf7-list-item{margin: 0 0 20px 0!important;}


section.text-block span.wpcf7-list-item span{color: #053135; font-size: 16px; margin-right: 20px;}
/* Customize the label (the container) */
label.container-form {
  display: inline-block!important;
  position: relative;
  padding-left: 0px;
  cursor: pointer;
  user-select: none;
    text-align: left;
    font-weight: normal;
    font-size: 12px;
    
}

 label.container-form {

    color: #FFF;
    
}

  form p {margin: 0;}

/* Hide the browser's default checkbox */
.container-form input {
  display: none;
}

/* Create a custom checkbox */
.checkmark {
  position: relative;
  top: 0;
  left: 0;
  height: 17px;
  width: 17px;
  background-color: transparent; border: solid 1px #FFF;
    display: inline-block;
    margin-right: 10px;
}

.white .checkmark, .grey .checkmark { border: solid 1px #053135;
}



  .checkers{
font-size: 12px!important;
    text-transform: none!important;
    letter-spacing: 0!important;
    font-weight: 300!important;
    
}

.white   .checkers{
color: #053135;
    
}






/* Style the checkmark/indicator */
.container-form .checkmark.highlighted {
   border: solid 1px #FFF;
}



  .checkmark.highlighted {
   border: solid 1px #FFF;
}

.white  .checkmark.highlighted {
   border: solid 1px #053135;
}

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

/* Style the checkmark/indicator */
.container-form .checkmark.highlighted:after {
  left: 4px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #FFF;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.white .container-form .checkmark.highlighted:after {
  left: 4px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #053135;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}


.wpcf7-not-valid-tip {color: #FFF; font-weight: bold; font-size: 16px;}

.wpcf7 form.sent .wpcf7-response-output { border: none; color: #FFF; font-weight: bold; font-size: 16px;
}

section.text-block .flexslider{
	margin: 30px 0;
	
	position: relative;}



section.text-block .flexslider .testimonial-slide{ width: 50%; margin: 0 auto; text-align: center;
	
	
	
}

section.text-block .flexslider .testimonial-slide .testimonial{
	font-family: trajan-pro-3, sans-serif;
font-weight: 300;
font-style: normal;
	font-style: italic;
	font-size: 20px;
	margin: 0 0 20px 0;
	
}

section.text-block .flexslider .testimonial-slide .testimonee{
font-family:"Helvetica Neue LT W05_65 Medium";
	font-size: 14px;
	margin: 0 ;
	font-weight: normal;
	letter-spacing: 0.5em;
	
}






section.text-block .open-quote{position: absolute; top: 20px; left: 20px; color: #DDDDDD; font-size: 200px; line-height: 100%; margin: 0; padding: 0; 
        font-family:"Helvetica Neue LT W05_75 Bold";
    text-transform: uppercase;}
section.text-block .close-quote{position: absolute; top: 20px; right: 20px; color: #DDDDDD; font-size: 200px;line-height: 100%; margin: 0; padding: 0; 
        font-family:"Helvetica Neue LT W05_75 Bold";
    text-transform: uppercase;}






.text-block.faqs .col-wrap{margin: 0 0 80px 0;}


section.text-block  .gallery img{width: 100%; height: auto; display: block;}


section.text-block  .gallery.flex{display: flex; flex-wrap: wrap; margin-bottom: 0px;justify-content: center;
}


section.text-block  .gallery.flex .galleryindividual{width: calc(20% - 20px); margin: 0 20px 15px 0; flex-grow: 1;}




.video-overlay {width: 100%!important; height: 100%!important;  background: rgba(0, 0, 0, 0.95); position: fixed; top: 0; left: 0; overflow: hidden; z-index: 3000;}

.video-overlay .closer img{width: 30px; float: right; opacity: 0.75; position: absolute; top:10px; right: 10px; background-color: #666; height: 30px; z-index: 3001; padding: 5px;}

.video-overlay .closer img:hover{opacity: 1;}

.video-overlay .central-block{ width: 100%; position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);}


.vimeo-embed-container {position: relative;
    padding-bottom: 56.25%;
    padding-top: 35px;
    height: 0;
    overflow: hidden;}


.youtube-embed-container {position: relative;
    padding-bottom: 56.25%;
    padding-top: 35px;
    height: 0;
    overflow: hidden;}



.video-overlay iframe { position: absolute;
    top:10%;
    left: 10%;
    width: 80%;
    height: 80%; border: none;}


.fullimage .thumbwrap{ position: relative; margin-bottom:0px;}



.fullimage .thumbwrap .thumbover {
    bottom: 0;
    display: block;
    position: absolute;
    width: 100%;
	height:100%;
	z-index: 99;
	text-align: left;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(images/play-icon.svg);
	background-size:  60px 60px;transition:  .50s ease-in-out;
   -moz-transition:  .50s ease-in-out;
   -webkit-transition:  .50s ease-in-out;
}


.fullimage  a:hover .thumbover {
	 background: rgba(255, 255, 255, 0.5) none repeat scroll 0 0;background-image: url(images/play-icon.svg);
	

	background-position: center center;
	background-repeat: no-repeat;
	background-size:  60px 60px;transition:  .50s ease-in-out;
   -moz-transition:  .50s ease-in-out;
   -webkit-transition:  .50s ease-in-out;
    
    
    
}





footer{width: 100%; padding: 60px 0; color: #FFF; background-color: #666; text-align: left;}


footer p{font-size: 14px;  margin: 0;}

footer p strong{font-family:"Helvetica Neue LT W05_65 Medium";}

footer p a{color: #FFF;
}
footer p a:hover{color: #CCC;
}
footer .legals{margin-top: 40px;}




footer ul{margin: 0 0 0 -10px; padding: 0; list-style: none; font-size: 14px; line-height: 100%;}

footer ul li {display: inline; margin: 0 5px; padding: 0 5px; position: relative;}
footer ul li:after { content: ""; background-color: #A7A9AC; height: 15px; width: 1px;position: absolute; right: -10px; top: 2px;}


footer ul li:last-child:after { display: none;}

footer ul li a{color: #EEE; letter-spacing: 0px;}

footer ul li a:hover{font-weight: 500; color: #FFF;}







.mapp-menu-toggle, .gm-svpc {
    display: none;
}
@media only screen and (max-width: 1390px) {

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

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

}



@media only screen and (max-width: 1080px) {
	header {
  height: 60px;
}
	
.text-block .button-wrap button:focus{background-color: #666;}
header .button-wrap button:focus{background-color: #666;}	
	
.topgap{height: 60px;}
.nav-shrunk .topgap{
	height: 60px;
}

.desktopnav { display: none;}
	
	.breadwrap {display: none;}
	
.mobilenav {
  display: block;
  background-color: #666;
  border-bottom: 1px solid #CCCC;
  text-align: left;
  height: 59px;
  padding: 0;
  -webkit-box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.02);
  -moz-box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.02);
  box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.02);
}

		
	 .mobilenav .button-wrap {
    display: block;
    float: right;
    width: 60px;
		 height: 59px;
    text-align: center;
    margin-right: 0%;
}	
	.mobilenav .logowrap {
width: calc(80% - 20px);
margin: 10px 15px;
display: inline-block;
}			

	ul.children li a,
	ul.children li.current_page_item a{background-color: transparent!important;}	
	
	.mobilenav .logowrap .emblem{
		margin: 0 10px 0 0px;
		display: inline-block;
		vertical-align: middle;
}	
	
	.mobilenav .logowrap .typemarque{
		margin: 0px;
		display: inline-block;
		vertical-align: middle;
}
	
	.mobilenav .logowrap .emblem img{
		display: block;
		height: 40px;
		width: auto;
}
	

	.mobilenav .logowrap .typemarque img{
		display: block;
		height: 15px;
		width: auto;
}
	
	
    
		.underMnav {height: 59px; width: 100%; ;position: absolute; top: 60px; text-align: left; border-bottom: 1px #A7A8AC solid; background-color: #FFF; display: block;}
		
		.underMnav p{font-size: 13px; margin: 0; color: #6C6C6C; letter-spacing: 3px;}
		
		
		.underMnav .lefthalf{width: calc(50% - 20px); margin: 10px; display: inline-block; vertical-align: top;}
		
		.underMnav .righthalf{width: calc(50% - 20px); margin: 10px; display: inline-block;  vertical-align: top;}
		

		
	.underMnav .socials{margin: 0; padding: 0; text-align: right; width: auto;}

.underMnav .socials li{display: inline-block;}

.underMnav .socials li a{display: block; text-indent: -9999px; padding: 0!important; width: 30px; height: 30px; text-align: left; margin: 0 0 0 7px; background-repeat: no-repeat; background-position: center center;}

.underMnav .socials li a:hover{background-color: transparent!important; opacity: 0.75!important;}

/*.underMnav .socials li:before{display: none;}*/

.underMnav .socials li.facebook a{
	background-image: url("images/facbook.svg");  background-size: 9px 19px;}

.underMnav .socials li.instagram a{
	background-image: url("images/instagram.svg");background-size: 18px 18px;}

.underMnav .socials li.twitter a{
	background-image: url("images/twitter.svg");background-size: 17px 14px;}

.underMnav .socials li.pinterest a{
	background-image: url("images/pinterest.svg");background-size: 15px 19px;}	
		
		

.mobile_accordian{
	display: none;
	height: auto;
  overflow-y: scroll;
  overflow-x: hidden;
  position: absolute;
  left: 0;
  top: 60px;
  width: 50%;
  background-color: #333;
	text-align: left;
	
	}

/*.mobile_accordian .mobile_menu li.back a {
  padding: 20px 5px 20px 55px;
  background: url("/images/banner-back-dark.svg") no-repeat scroll 15px center / 12px auto;
}*/
.mobile_accordian .mobile_menu a {
  color: #FFF;
  display: block;
    font-size: 20px; 
  padding: 15px 20px;
  text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 2px;
    font-family: trajan-pro-3, serif;
font-weight: 400;
	 transition:  .0s ease-in-out;
   -moz-transition:  .0s ease-in-out;
   -webkit-transition:  .0s ease-in-out;
}

/*.mobile_accordian .mobile_menu li.page_item_has_children a{
	background-image: url("images/arrow-faq.svg");
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: center right 20px;}*/


.mobile_accordian .mobile_menu li.page_item_has_children a.sub_expander{
	background-image: url("images/arrow-faq.svg");
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: center center;
	position:absolute;
	
	right:10px;
	width:34px;
	z-index:1001;
	cursor:pointer;
	background-color: #efefef;
	height: 33px;
	
	   transition:  .0s ease-in-out;
   -moz-transition:  .0s ease-in-out;
   -webkit-transition:  .0s ease-in-out;
	}
	
.mobile_accordian .mobile_menu li.page_item_has_children a.sub_expander.open {
	-moz-transform: scaleY(-1);
	-o-transform: scaleY(-1);
	-webkit-transform: scaleY(-1);
	transform: scaleY(-1);
	filter: FlipV;
	-ms-filter: "FlipV";
		   transition:  .0s ease-in-out;
   -moz-transition:  .0s ease-in-out;
   -webkit-transition:  .0s ease-in-out;
	
}
.mobile_accordian .mobile_menu ul.children a.sub_expander{

	display:none;
}


.mobile_accordian .mobile_menu ul.children{
	
	
	top:0;
	margin: 0;
	padding: 0;
	 overflow-y: hidden;
	-webkit-transition: max-height .5s ease-in-out;
    -moz-transition: max-height .5s ease-in-out;
    -ms-transition: max-height .5s ease-in-out;
    -o-transition: max-height .5s ease-in-out;
    transition: max-height .5s ease-in-out;
	max-height: 0;
}

.mobile_accordian .mobile_menu ul.children.show{
	border-top: 1px solid #555;
	-webkit-transition: max-height .5s ease-in-out;
    -moz-transition: max-height .5s ease-in-out;
    -ms-transition: max-height .5s ease-in-out;
    -o-transition: max-height .5s ease-in-out;
    transition: max-height .5s ease-in-out;
	max-height: 1000px;
	background-color: transparent;
	
}

.mobile_accordian .mobile_menu ul.children li  {
	margin: 0;

}


.mobile_accordian .mobile_menu ul.children li a {
background-image: none;
}



.mobile_accordian .mobile_menu li .children li a{
font-size: 16px;
}

.mobile_accordian .mobile_menu li {
  list-style-type: none;
  border-bottom: 1px solid #555;

  color: #FFF;
    margin: 0 10px;
}

.mobile_accordian .mobile_menu li:last-child {
border-bottom: none;
}
		
 section.text-block  .gallery.flex .galleryindividual{width: calc(25% - 20px);} 
	
	.banner .video-wrap video{
height: calc(100vh - 90px);
}
	
.banner .video-wrap2 video{
height: calc(30vh - 90px);
}	
		
}




@media only screen and (max-width: 960px) {
  
.text-block{padding: 60px 0; }	
	
	
  .text-block h1 {
  font-size: 30px;
	 margin-bottom: 40px;
}  
.text-block h2{font-size: 20px;}

.text-block h3{font-size: 18px;}	
	
 .text-block p{font-size: 16px; }
	
.text-block p.intro{font-size: 20px; }	
	
.text-block ul, .text-block ol {
	font-size:16px; 
	}	


footer{padding: 30px 0;}
footer img{width: 150px;
	margin: 0 0 20px 0;}	
	
	
footer h3{font-size: 15px; }

footer p{font-size: 15px; }
	
footer ul{font-size: 14px;}	
	
 .banner .video-wrap video{
height: calc(70vh - 90px);
}
	section.down-header {
display: none;
}
}
    
    
    
    @media only screen and (max-width: 767px) {
		
.banner .desktop{display: none;}
.banner .mobile{display: block;}		

		
.banner .image-wrap2 {
  position: relative;
  width: calc(100% - 30px);
  margin: 0 0 30px 30px;
	top: -30px;
}		
		
		
		
.banner .video-wrap {
  position: relative;
  width: 100%;
	top: 0px;
}
		
.banner .video-wrap video{
height: calc(70vh - 90px);
}
		
.banner .video-wrap2 {
height: calc(30vh - 90px);
}		

.over-banner-text h1 {
  font-size: 14px;
  padding: 7px 10px;
}
		
.banner .text-wrap {
  position: relative;
  margin: 0px;
}		

		
.text-block .flex .cta-block{
	width: 100%;
	margin: 0px;}
		
.text-block .flex .cta-block.projects{
	width: 100%;
margin: 0 0 10px 0;}		
		
		
	.text-block .flex .logo-block{width: 100%;
margin: 0 0 20px 0;}
		
		.text-block .flex .product-block{width: 100%;
margin: 0 0 20px 0;}
		
		
	.text-block .buttonsmall{
	font-size: 16px;
	
}	
		
		
    }


  @media only screen and (max-width: 480px) {
	  
	  
	  
	  
	  
	  
  .text-block h1 {
  font-size: 26px;
} 
.text-block h2{font-size: 20px;}

.text-block h3{font-size: 18px;}	  
	  
	  
 .text-block p{font-size: 15px; } 
.text-block p.intro{font-size: 17px; line-height: 130%; margin: 0 0 10px 0;}		  
.text-block ul, .text-block ol {
	font-size:15px; 
	}


.text-block .flex .cta-block h3{font-size: 16px; margin-bottom: 10px}
	  
.text-block .indent {
  margin: 0 10px 0 10px;
}	  
.text-block .flex .cta-block.projects {

  margin: 0 10px 20px 10px;
}
	  
	  
.text-block .flex .cta-block.services{width: calc(100% - 42px); margin: 0 10px 40px 10px; padding: 10px;}	  
	  
 
footer h3{font-size: 13px; }

footer p{font-size: 13px; }
	
footer ul{font-size: 13px;}	
	  
.mobile_accordian{

  width: 100%;
	  
	  
    }
	  
.mobile_accordian .mobile_menu a {

  font-size: 16px;
}
	  
.mobile_accordian .mobile_menu li.page_item_has_children a.sub_expander {

  width: 26px;
	height: 26px;
	  
	  }
	  
.mobile_accordian .mobile_menu li .children li a {
  font-size: 14px;
}
	  
 section.text-block  .gallery.flex .galleryindividual{width: calc(50% - 20px);}  
	  
	  
section.text-block .flexslider .testimonial-slide{ width: 80%; 
	
}	  
	
section.text-block .open-quote{font-size: 100px; color: #E0E0E0;}
section.text-block .close-quote{font-size: 100px;color: #E0E0E0;}	  
	  
}




    
    