/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: normal;
    color: #333;
    font-size: .95em;
    line-height: 1.4;
	box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

::-moz-selection {
    background: #84d2d5;
    text-shadow: none;
}

::selection {
    background: #84d2d5;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {vertical-align: middle;}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {resize: vertical;}

.flex {
	display: flex;
	flex-flow: wrap;
}

.justify-content {
	justify-content: space-between;
}

/* ==========================================================================
   Global Base
   ========================================================================== */

/* Flear full width containers */   
.col-100p,
.col-3 {
	clear: both;
	overflow: hidden;
	position: relative;
}

/* Float modular containers */
.col-75p,
.col-66p,
.col-50p,
.col-33p,
.col-25p,
.col-2,
.col-1 {
	float: left;
	overflow: hidden;
	position: relative;
}

/* Set individual columns widths and behaviour */
.col-3 {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 4px 40px;
}

.col-2 {
	width: 49%;
}

	/* Set float on every second column in a row of two*/
	.col-2:nth-child(2) {
		float: right;
	}

.col-1 {
	width: 32%;
}

	/* Set margin on every middle column in a row of three*/
	.col-1:nth-child(3n+2) {
		margin-left: 2%;
		margin-right: 2%;
	}

/* Flat percentage columns */
.col-100p{
	width: 100%;
}

.col-75p {
	width: 75%;
}

.col-66p {
	width: 66.66%;
}

.col-50p {
	width: 48%;
}

.col-33p {
	width: 33.33%;
}

.col-25p {
	width: 25%;
}

/* ==========================================================================
   Base Styles
   ========================================================================== */
   
a {
	color: #00999f;
	text-decoration: none;
}

	a:hover {
		text-decoration: underline;
	}
	
p {
	font-size: 1.2em;
	line-height: 135%;
	font-weight: normal;
	margin: 0 0 20px 0;
}

h1 {
	font-weight: 700;
	line-height: 140%;
	font-size: 1.8em;
	color: #00999f;
	margin: 0 0 20px 0;
}

h2 {
	font-weight: 700;
	line-height: 140%;
	font-size: 1.6em;
	color: #00999f;
	margin: 0 0 20px 0;
}

h3 {
	font-weight: 700;
	line-height: 140%;
	font-size: 1.45em;
	color: #00999f;
	margin: 0 0 20px 0;
}

h4 {
	font-weight: normal;
	line-height: 140%;
	font-size: 1.2em;
	color: #00999f;
	margin: 0 0 10px 0;
}

.fa, .fab, .fal, .far, .fas {
	vertical-align: middle;
}

/* Reset lists */
ul, ol {
	list-style: none;
	margin:0;
	padding:0;
}

	li {
	font-size: 1.1em;
	}
	

.content ul li {
	list-style:  circle;
	list-style-position: outside;
	margin-left: 25px;
}

blockquote,
.blockquote {
	width: 100%;
	border-left: solid 4px #00999f;
	padding: 0 0 0 30px;
	margin: 10px 0 30px 0;
	clear: both;
	overflow: hidden;
	color: #00999f;
	font-size: 1.2em;
}

small {
	font-size: 90%;
}

img {
	backface-visibility: hidden;
}

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

	blockquote p {
		font-weight: bold;
		font-style: italic;
		font-size: .95em !important;
	}
	
.align-center {
	text-align: center;
	display: inline-block;
	width: 100%;
}

.section table {
	width: 70%;
	margin:0 auto 20px auto;
	font-size: 1.2em;
	border-bottom:solid 1px #eae7de;
	border-right:solid 1px #eae7de;
}

	.section table td,
	.section table th {
		border:solid 1px #eae7de;
		border-bottom: 0;
		border-right: 0;
		padding:10px;
	}
	
	.section tr:nth-child(even) {
		background: #fefefe;
	}

	.table-wrap {
		overflow-x: auto;
	}

/* ==========================================================================
   Global Theme
   ========================================================================== */
 
 a,
 button,
 .header-cont,
 .main-logo,
 .home-strap h2,
 .home-strap p {
	transition: all 0.5s cubic-bezier(.25,.8,.25,1);
	backface-visibility: hidden;
} 

.cta,
button[type=submit] {
	padding:13px 60px;
	margin: 30px auto;
	background: #00999f;
	border: solid 2px #00999f;
	text-transform: uppercase;
	text-align: center;
	color: #fff;
	font-size: 1.2em;
	font-weight: 700;
	position: relative;
	clear: both;	
	display: block;	
	width: 100%;
	cursor: pointer;
	max-width: 750px;
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
}

	.cta:hover {
		text-decoration: none;
		background: #030a2f;
		border: solid 2px #030a2f;
	}

	.cta:after {
		font-family: "Font Awesome 5 Pro";	 
		content: ' \f105';
		font-weight: normal;
		vertical-align: top;
		margin:0 5px 0 4px;
		transition: ease-in all .15s;
	}	
	
		.cta:hover:after {
			margin:0 0 0 9px;
		}	
		
.hubspot-cta {
	margin: 0 0 20px 0;
}
		
		
.col-66p .cta {margin-left:0;}	
	/*	
.cta-circle {
	background: #fff;
	border-radius: 100%;
	width: 55px;
	height: 55px;
	text-align: center;
	display: block;
	margin: 20px auto;
	color: #023d57 !important;
	vertical-align: middle
}

.cta-circle:hover {
	color: #fff !important;
	background: #023d57;
}

	.cta-circle i {	
		vertical-align: middle;
	    line-height: 190%;
	    font-size: 28px;
	}
	
*/


/*background gradient classes*/   
.bg-grey {
	background: #f1f1f1 !important;
}

.bg-white {
	
}   
   /* Header */  
.header-cont {
	padding:40px;
	position: fixed;
	top:0; left:0;
	background: rgba(0,0,0,.20);
	z-index: 5;
} 

.fixedBody .header-cont,
#menu-cont,
.header-cont.bg-grad {
	background: #03052b;
	background: -moz-linear-gradient(45deg, #03052b 0%, #02304d 30%, #024b62 54%, #015e71 73%, #00999f 100%);
	background: -webkit-linear-gradient(45deg, #03052b 0%,#02304d 30%,#024b62 54%,#015e71 73%,#00999f 100%);
	background: linear-gradient(45deg, #03052b 0%,#02304d 30%,#024b62 54%,#015e71 73%,#00999f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#03052b', endColorstr='#00999f',GradientType=1);   
}

.bg-grad {
	background: #fbfbfb;
	/*background: #03052b;
	background: -moz-linear-gradient(45deg, #03052b 0%, #02304d 30%, #024b62 54%, #015e71 73%, #00999f 100%);
	background: -webkit-linear-gradient(45deg, #03052b 0%,#02304d 30%,#024b62 54%,#015e71 73%,#00999f 100%);
	background: linear-gradient(45deg, #03052b 0%,#02304d 30%,#024b62 54%,#015e71 73%,#00999f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#03052b', endColorstr='#00999f',GradientType=1);   
	*/
}

/* ==========================================================================
   Global Items
   ========================================================================== */
 

	.head-nav {
		float: left;
	}
	
		.head-nav li {
			float: left;
			margin-right: 10px;
		}
		
			.head-nav a {
				float: left;
				background: #fff;
				padding:13px 15px;
				color: #04072f;
				transition: all 0.3s cubic-bezier(.25,.8,.25,1);
				box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
			}
			
	.menu-toggle,
	.mob-contact {
		float: right;
		outline:0; border:0;
		background: #fff ;
		padding:13px 15px;
		margin-left:10px;
		color: #00999f;
		cursor: pointer;
		
		transition: all 0.3s cubic-bezier(.25,.8,.25,1);
		box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
	}
	
	.mob-contact {
		display: none;
	}
		
	.menu-toggle {
		font-size: 1.2em;
	}
	
		.head-nav a:hover,
		.menu-toggle:hover,
		.mob-contact:hover {
			background: #031235;
			color: #fff;
			text-decoration: none;
		}
	
	.main-logo {
		width: 100%;
		max-width: 200px;
		display: block;
		position: absolute;
		top:36px; left: 50%;
		transform: translateX(-50%);	
	}
	
/* Footer */
.footer-cont {
	padding:30px;
	text-align: center;
}

	.footer-cont a {
		color: #fff;
	}

.offices {
	position: relative;
	margin:0 auto 30px auto;
	display: block;
	width: 350px;
	text-align: center;
	clear: both;
}

	.office-select {
		border: solid 2px #fff;
		padding:15px 60px;
		width: 100%;
		float: left;
	}
	
	.contact-select {
		width: 95%;
		float: left;
		margin-left:3px;
	}
	
	.contact-select .office-select {
		border-color: #00999f;
	}
	
		.office-select:hover {
			text-decoration: none;
		}
	
	.office-select i {
		float: right;
		margin-top:2px;
		transition: ease-in-out all .1s;
	}
	
	.listing-category.open i,
	.office-select.open i {
		-webkit-transform: rotate(180deg);
	    -moz-transform: rotate(180deg);
	    -o-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	    transform: rotate(180deg);
	}
	
	.offices div {
		width: 100%;
		background: #fff;
		clear: both;
		overflow-y: auto;
		position: absolute;
		top: 52px;
		height: 0px;
		opacity: 0;
		transition: all 0.3s cubic-bezier(.25,.8,.25,1);
		box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);	
	}
	
	.offices div.open {
		opacity: 1;
		height: 250px;
	}
	
		.offices ul {
			padding:20px;
			width: 100%;
			margin:0;
		}
	
		.offices ul li {
			list-style: none none;
			margin:0;
		}
	
		.offices li a {
			color: #333;
			padding:2px;
			width: 100%;
			display: block;
		}

address {
	font-style: normal;
	clear: both;
}

	address a {
		font-weight: bold;
	}
	
	address strong {
		text-transform: uppercase;
	}
	
.addresses > .office-address:not(:first-child) {
	display: none;
}
	
/*Sign off*/
.signoff-cont {
	padding:30px;
	text-align: center;
	font-size: .8em;
}

	.signoff-cont a {
		color: #333;
	}
	
	.signoff-cont ul {
		width: 100%;
		margin:0;
		text-align: center;
	}

		.signoff-cont ul li {
			display: inline-block;
		}

		.signoff-cont ul li a {
			display: block;
			font-size: 30px;
			color: #00999f;
			margin: 10px;
		}

			.signoff-cont ul li a:hover {
	
			}

/* Sticky Header */	
.fixedBody {
}
	
	.fixedBody .header-cont {
		top:0; left: 0;
		padding-top:20px;
		padding-bottom:20px;
				box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
		
	}
	
		.fixedBody .main-logo {
			width: 140px;
			top: 25px;
		}
		
		
/* Breadcrumbs */
.crumbs {
	width: 100%;
	clear: both;
	margin: 0 0 30px 0;
}
	.crumbs li {
		display: inline-block;
	}	
	
/* 
   Share Block =============================================================
*/  

.share {
	color: #fff;
	position: absolute;
	top:0;
	right:0;
	overflow: hidden;
	z-index: 0;
	margin: 3px;
}

	.share a.share-toggle {
		display: block;
		padding:7px 11px 8px 11px;
		color: #fff;
		float: right;
		background: #00999f;
		font-size: 16px;
		z-index: 10;
		position: relative;
		transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	}
	
	.share ul {
		display: block;
		float: right;
		overflow: hidden;
		background: #00999f;
		margin: 0 -100% 0 0;
		position: relative;
		z-index: 0;
		opacity: 0;
		transition: ease-in all .1s;
	}

	.share ul.share-open {
		margin: 0;
		opacity: 1;
	}

		.share ul li {
			display: inline-block;
			float: left;
		}

		.share ul li a {
			display: block;
			float: left;
			padding: 7px 10px 8px 10px;
			color: #fff;
			font-size: 16px;
		}
	

/* Sections */
.section {
	padding: 55px 0 45px 0;
}

.page-header {
	padding: 40px 50px;
}

	.section-head {
		margin: 0 auto;
		text-align: center;
		position: relative;
	}
	
		.section-head h1,
		.section-head h2 {
			padding:15px 10%;
			margin: 0;
			border: solid 2px #00999f;
			display: inline-block;
			text-transform: uppercase;
			position: relative;
		}

	.section-intro {
		position: relative;
		text-align: center;
		width: 70%;
		margin: 0 auto;
		padding:30px 0 10px 0;
		font-size: 1.25em;
	}
	
		.section-intro img,
		.section-intro figure {
			display: inline-block;
			margin:10px 5px;
			width: auto;
		}
		
		.bg-grad figcaption {
			color: #03052b;
			font-style: italic;
		}
	
.line-vert {
	margin-bottom: 50px;
	overflow: visible;
}
	
.line-vert:after {
	content: '';
	width: 2px;
	height: 50px;
	border-left: solid 2px #00999f;
	position: absolute;
	bottom: -50px;
	left: 50%;
}

h1.reg-heading {
	border:0;
	padding:0;
	margin: 0;
	text-transform: none;
	font-weight: normal;
	width: 100%;
	font-size: 2.4em;
}

.section iframe {
	margin:30px 0 50px 0;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
}

	.side-col iframe {
		width: 90%;
		float: right;
		margin: 0 0 30px 0;
	}

/*Banner only section*/
.section-banner {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;	
}

/*Tabbed Content Section */

.section-tabbed {
	background: #ebebeb
}

ul.tabs {
	width: 100%;
	clear: both;
	overflow: hidden;
	display: flex;
	border-bottom: solid 2px #00999f;
}

	ul.tabs li {
		display: inline-block;
		float: left;
		display: flex;
		justify-content: center;
		align-content: center;
		flex-grow: 1;
	    flex-basis: 0;
	}
	
		ul.tabs li a {
			display: block;
			float: left;
			padding:20px;
			background: #fff;
			text-align: center;
			color: #00999f;
			font-size: 1.2em;
			font-weight: bold;
			border-right: solid 2px #f7f7f7;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
		}
		
		ul.tabs a.active,
		ul.tabs a:hover {
			background: #00999f;
			color: #fff;
		}
		
		ul.tabs li:last-child a {
			border-right: 0;
		}
		
.tab {
	background: #ebebeb;
	padding:40px 0;
}
	
/* Invert colours for green background */
.bg-grad h1,
.bg-grad h2,
.bg-grad h3,
.bg-grad p,
.bg-grad li,
.bg-grad blockquote {
	color: #03052b;
}

#content .bg-grad a {
	font-weight: bold;
}

.bg-grad .section-head h1,
.bg-grad .section-head h2,
.bg-grad .line-vert:after {
	border-color: #03052b;
}

.bg-grey p {
	color: #00999f;
}

/* Inner heading as a gradient BG so set styles differently */
.internal {
	padding-top: 125px;
}

.internal .head-nav a {
	color: #04072f;
}

	.internal .head-nav a:hover {
		background: #00999f;
		color: #fff;
	}



/* ==========================================================================
   Menu's
   ========================================================================== */
      
   #menu-cont {
	   position: fixed;
	   z-index: 999;
	   top:0;
	   right:-400px;
	   width: 400px;
	   padding:40px 40px 30px 40px;
	   height: 100vh;
	   transition: ease-in-out all .03s;
   }
   
	#menu-cont.open {
		/*-webkit-animation: animation 865ms linear both;
		animation: animation 865ms linear both;*/
		right:0;
		overflow-y: auto;
	}
   
   .menu-toggle-opened {
	   position: absolute;
	   top:40px;
	   right:40px;
	   font-size: 35px;
	   color: #fff;
   }
   
   ul.main-nav {
	   width: 100%;
	   overflow: hidden;
	   padding: 30px 0;
	   float: left;
   }
   
	   ul.main-nav li {
		   padding: 0;
		   overflow: hidden;
		   width: 100%;
		   display: block;
		   float: left;
	   }
   
		   ul.main-nav li a {
				color: #fff;
				display: block;
				width: 100%;
				float: left;
				padding:8px;
				margin: 0 0 3px 0;
				transition: ease-in-out .15s all;
		   }
   
			   ul.main-nav li a:hover {
				   background: rgba(255, 255, 255, .1);
			   }
   
   ul.main-nav li.active > a {
	   font-weight: bold;
	   text-decoration: underline;
	   background-color: rgba(255, 255, 255, .1);
	}
   
   /*Nested list*/   
   ul.main-nav ul {
		padding: 0 0 0 20px;
		float: left;
		width: 100%;
   }   
      
   /*Animate nested*/
   .hideSub {
	   display: none;
   }
   
   .main-nav > li.has-children > a {
	   width: 87%;
   }	   
	   
   .main-nav > li.has-children > span {
		display: block;
		width: 13%;
		padding:12px 10px;
		position: relative;
		text-align: center;
		float: right;
		font-size: 12px;
		cursor: pointer;
		background-color: rgba(255, 255, 255, .05);
		transition: ease-in-out .15s all;
   }
   
		.main-nav > li.has-children > span:hover {
			background-color: rgba(255, 255, 255, .1);
		}
	   
   .main-nav > li > span i {
		transition: ease-in-out .15s all;
   }
   
	   .main-nav > li.subOpened > span i {
	   	   transform: rotate(180deg);
	   }
   
   .searchbox {
	   width: 70%;
	   float: left;
	   border: solid 1px #eae7de;
	   border-radius: 2px
   }
   
	   	.searchbox input.txtbox {
		   	width: 80%;
		   	float:left;
		   	border: 0;
		   	clear: none;
		   	color: #333;
		   	padding: 15px;
	   	}
	   	
	   	.searchbox input.submit {
		   	width: 20%;
		   	float:right;
		   	clear: none;
		   	text-align: center;
		   	border: 0;
		   	padding:15px 9px;
		   	color: #031235;
		   	font-family: "Font Awesome 5 Pro"
	   	}
	   	
	   	.main-nav-social {
		   	text-align: center;
	   	}
	   		   	
		   	#menu-cont .main-nav-social li {
			   	display: inline-block;
			   	padding:13px;
		   	}
		   		   	
			   	#menu-cont .main-nav-social li a {
				   	color: #fff;
				   	font-size: 33px;
			   	}
			   	
		#menu-cont .cta {
			background: 0;
			border-color: #fff;
			padding:10px;
			font-weight: normal;
		    font-size: 1.05em;
		    margin: 10px 0;
		}
	   		   	
	   	
/* width */
#menu-cont.open::-webkit-scrollbar {width: 12px;}

/* Track */
#menu-cont.open::-webkit-scrollbar-track {background: #024059;}

/* Handle */
#menu-cont.open::-webkit-scrollbar-thumb {background: #00999f;border-radius: 3px;}

/* Handle on hover */
#menu-cont.open::-webkit-scrollbar-thumb:hover {background: #03183a;}
   

/* ==========================================================================
   Homepage 
   ========================================================================== */
   
.banner-cont {
	background-color: #000;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	min-height: 750px;
}
   
video.home-video {
	position: absolute;
	left: 0;
	top: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: 0;
	opacity: .6;
}

.down-arrow {
	display: block;
	position: absolute;
	text-align: center;
	left:50%;
	bottom:48px;
	margin:0 0 0 -15px
}

	.down-arrow a {
		display: block;
		width: 30px;
		color: #fff;
		font-size: 35px;
	}

	.down-arrow a:hover {
		color: #00999f;
	}

.home-strap {
	z-index: 1;
	position: relative;
	margin: 0 auto;
	width: 50%;
	text-align: center;
	margin-top:20vh;
}

	.home-strap h2 {
		color: #95d4d7;
		font-size: 3.5em;
		opacity: 0;
		margin:0;
		margin-bottom: 70px;
		position: relative;
		text-shadow: 0px 1px 1px rgba(0, 0, 0, .7);
	}
	
	.home-strap h2:after {
		content:'';
		position: absolute;
		top:100%;
		left:50%;
		margin-left:-2px;
		width: 2px;
		height: 0;
		background: #fff;
		transition: all ease-in .5s;
	}
	
	.home-strap h2.fade-in:after {
		height: 70px;
	}
	
	.home-strap > div {
		opacity: 0;
		width: 100%;
		padding:20px;
		background: rgba(3, 6, 44, .4);
		margin: 30px auto 0 auto;
		border: solid 2px #e5e5e5;
		height: 0px;
		text-shadow: 0px 1px 1px rgba(0, 0, 0, .7);
		transition: all ease-in .5s;
	}
	
		.home-strap > div.fade-in {
			height:auto;
		}
	
	.home-strap p {
		color: #fff;
		font-size: 1.5em;
		padding:0;
	}
	
	.home-strap div p:last-child {
		margin-bottom: 0;
	}
	
	.home-strap p.fade-in {
		height:auto;
	}
	
/*	
.goal {
	padding: 20px 0;
}

	.goal h3 {
		font-weight: bold;
		font-size: 3em;
	}
	
	.goal-mid {
		position: relative;
		overflow: hidden;
		padding:0 20px;
	}
	
		.goal-mid img {
			width: 100%;
			height: auto;
			position: relative;
			z-index: 10;
			margin:0;
		}
	
		.goal-mid:before {
			content: '';
			width: 2px;
			height: 500px;
			background: #fff;
			left:50%;
			top:0;
			margin-left:-1px;
			position: absolute;
			z-index: 1;
		}

		.goal-mid:after {
			content: '';
			width: 50%;
			height: 2px;
			background: #fff;
			left:50%;
			top:50%;
			margin:-1px 0 0 -25%;
			position: absolute;
			z-index: 1;
		}
*/		
.home-pwr {
	text-align: center;
	display: flex;
	flex-flow: wrap;
}

		
.home-pwr h2 {
	margin: 0;
	padding:20px 20px 0 20px;
	width: 100%;
}

.home-pwr ul {
	width: 100%;
	padding:20px;
	font-weight: 700;
}

.home-pwr-img {
	width: 100%;
	clear: both;
	border-top: solid 1px #e5e5e5;
	padding: 20px 20px 0 20px;
	align-self: flex-end;
}

	.home-pwr-img img{
		width: 90%;
		height: auto;
	}
	
	.home-pwr:nth-child(1) img {
		-ms-transform: scale(.4, .4);
	    -webkit-transform: scale(.4, .4);
	    transform: scale(.4, .4);
	}

	.home-pwr:nth-child(2) img {
		-ms-transform: scale(.6, .6);
	    -webkit-transform: scale(.6, .6);
	    transform: scale(.6, .6);
	}
	
	.home-pwr:nth-child(3) img {
		-ms-transform: scale(.9, .9);
	    -webkit-transform: scale(.9, .9);
	    transform: scale(.9, .9);
	}
	

.hexagons {
	padding-top:40px;
}
.hexGrid {
  display: flex;
  flex-wrap: wrap;
  width: 60%;
  margin: 0 auto;
  overflow: hidden;
  list-style-type: none;
  box-sizing: content-box
}

.hex {
  position: relative;
  visibility:hidden;
  outline:1px solid transparent; /* fix for jagged edges in FF on hover transition */
}
.hex::after{
  content:'';
  display:block;
  padding-bottom: 86.602%;  /* =  100 / tan(60) * 1.5 */
}
.hexIn{
  position: absolute;
  width:96%;
  padding-bottom: 110.851%; /* =  width / sin(60) */
  margin:0 2%;
  overflow: hidden;
  visibility: hidden;
  outline:1px solid transparent; /* fix for jagged edges in FF on hover transition */
  -webkit-transform: rotate3d(0,0,1,-60deg) skewY(30deg);
      -ms-transform: rotate3d(0,0,1,-60deg) skewY(30deg);
          transform: rotate3d(0,0,1,-60deg) skewY(30deg);
}

.hexIn * {
  position: absolute;
  visibility: visible;
  outline:1px solid transparent; /* fix for jagged edges in FF on hover transition */
}
.hexLink {
    display:block;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    overflow: hidden;
    -webkit-transform: skewY(-30deg) rotate3d(0,0,1,60deg);
        -ms-transform: skewY(-30deg) rotate3d(0,0,1,60deg);
            transform: skewY(-30deg) rotate3d(0,0,1,60deg);
}

/*** HEX CONTENT **********************************************************************/
.hex img {
  left: -100%;
  right: -100%;
  width: auto;
  height: 100%;
  margin: 0 auto;
  -webkit-transform: rotate3d(0,0,0,0deg);
      -ms-transform: rotate3d(0,0,0,0deg);
          transform: rotate3d(0,0,0,0deg);
}

.hex h3{
  width: 100%;
  padding: 5%;
  box-sizing:border-box;
  background-color: rgba(0, 153, 159, 0.9);
  font-weight: normal;
  font-size: 1.3em;
  -webkit-transition:  -webkit-transform .2s ease-out, opacity .3s ease-out;
          transition:          transform .2s ease-out, opacity .3s ease-out;
}

.hex h3 {
	margin:0;
	z-index: 1;
	height: 100%;
	align-items: center;
	justify-content: center;
	display: flex;  
	-webkit-transform:translate3d(0,-100%,0);
		-ms-transform:translate3d(0,-100%,0);
			transform:translate3d(0,-100%,0);
}

.hex p {
  width: 100%;
  box-sizing:border-box;
  font-weight: normal;
  -webkit-transition:  -webkit-transform .2s ease-out, opacity .3s ease-out;
          transition:          transform .2s ease-out, opacity .3s ease-out;
}

.hex p {
  top: 80%;
  padding-bottom:25%;
  z-index: 2;
  -webkit-transform:translate3d(0,100%,0);
      -ms-transform:translate3d(0,100%,0);
          transform:translate3d(0,100%,0);
}

.hex i {
	display: inline-block;
	margin-left:-10px;
}


/*** HOVER EFFECT  **********************************************************************/
.hexLink:hover h3, .hexLink:focus h3,
.hexLink:hover p, .hexLink:focus p{
  -webkit-transform:translate3d(0,0,0);
      -ms-transform:translate3d(0,0,0);
          transform:translate3d(0,0,0);
}

/*** HEXAGON SIZING AND EVEN ROW INDENTATION *****************************************************************/
  .hexGrid{
    padding-bottom: 10%
  }
  .hex {
    width: 33%; /* = 100 / 2 */
  }
	
/* ==========================================================================
   Standard Page 
   ========================================================================== */
   
.page-banners {
	padding:0;
}   
   
	.page-banners img,
	.page-banner,
	.banner-strip {
		width: 100%;
		height: auto;
	}   	
	
	.page-banner {
		margin-bottom: 40px;
	}
	
.text-section {
	padding-top:40px;
	padding-bottom:30px;
}

	.text-section:last-child {
		padding-bottom:0;
	}

	.text-section p,
	.text-section li,	
	.content p,
	.content li {
		font-size: 1.2em;
	}
	
	.text-section ul {
		margin: 0 0 20px 40px;
	}

	.text-section ul li {
		list-style-position: inside;
		list-style-type: disc;
		list-style-position: outside
	}

/*Engineering Scope Table */
.scope-cont {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	padding-left:60px;
	padding-right:60px;
}

	.scope-cont:before {
		content: '';
		position: absolute;
		left:50%;
		margin-left:-1px;
		width: 2px;
		background: #00999f;
		height: 78.5%;
	}
	
	.scope-cont:after {
	    content: '';
	    position: absolute;
	    left: 50%;
	    top: 77.4%;
	    margin-left: -10px;
	    width: 20px;
	    height: 20px;
	    border-radius: 100%;
	    background: #00999f;
	}
	
.scope-item {   
  position: relative;
  flex-basis: 50%;
  text-align: center;
  margin: 20px 0;  
  z-index: 0;
}

	.scope-item:before {
		content: '';
		width: 100%;
		height: 2px;
		position: absolute;
		background: #00999f;
		top:40px;
		right:0;
		z-index: 0;
	}

	.scope-item-inner {
		width: 70%;
		float: left;
		border: solid 2px #00999f;
		position: relative;
		z-index: 1;
		background: rgba(0, 0, 0, .02)
	}

		.scope-item header {
			width: 100%;
			padding:20px; 
			background: #00999f;
		}
		
			.scope-item header p {
				margin: 0 0 5px 0;
				text-transform: uppercase;
				color: #fff;
			}
			
			.scope-item header h3{
				margin:0;
				color: #fff;
			}
		
		.scope-item section {
			width: 100%;
			padding:20px; 
		}
		
			.scope-item section li {
				padding: 5px;
				font-size: 1.2em;
			}

.scope-item:nth-child(even) {
	margin-left: auto;
	margin-top: 100px;
}

	.scope-item:nth-child(even) .scope-item-inner {
		float: right;
	}

.scope-item:nth-child(3) {
	margin-top: -100px;
}

/* Tapeout */
.scope-red .scope-item-inner {
	border-color: #9e0b0f;
}

	.scope-red header,
	.scope-red:before {
		background: #9e0b0f;
	}

/*Final white box */
.scope-final {
}

.scope-final:before {
	background: #fff;
}

.scope-final .scope-item-inner {
	border-color: #fff;
}

	.scope-final header {
		background: #fff;
		color: #02324e;
	}

	.scope-final header p,
	.scope-final header h3 { 
		color: #02324e;
	} 
	

/* Scope on white background*/	
.bg-white .scope-final:before {
	background: #02324e;
}
	
.bg-white .scope-final .scope-item-inner {
	border-color: #02324e;
}
	
	.bg-white .scope-final header {
		background: #02324e;
		color: #fff;
	}
	
	.bg-white .scope-final header p,
	.bg-white .scope-final header h3 { 
		color: #fff;
	} 
	

/*Partner Carousel */
.partner-carousel {
	text-align: center;
}	

	.partner-carousel img {
		margin:2%;
		display: inline-block;
		width: 12%;
	}

		
	
/* Related Items */
.related h2 {
	text-align: center;
	font-weight: normal;
	margin: 0 0 40px 0;
}

.related-item {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	min-height: 350px;
	position: relative;
	text-align: center;
	
	display: flex;
	justify-content: center;
	align-content: center;
}

	.related-item p:first-child {
		text-transform: uppercase;
		font-weight: 700;
	}

	.related-item a {
		display: block;
		width: 100%;
		
		display: flex;
		align-content: center;
		justify-content: center;
		flex-direction: column;
		background: rgba(3, 18, 49, .8);
		transition: all ease-in .1s;
	}	
	
	.related-item span {
		display: block;
		padding:20px;
		width: 100%;
	}
	
		.related-item p {
			color: #fff;
			margin:5px;
			font-size: 1.3em;
		}
		
	.related-item:nth-child(2n+1) a {
		background: rgba(0,153,159, .8);
	}
	
	.related-item:nth-child(2n+1) a:hover {
		background: rgba(0,153,159, .9);
	}
		
		.related-item a:hover {
			text-decoration: none;
			background: rgba(3, 18, 49, .9);
		}

		.related-item i {
			margin-top: 10px;
			margin-bottom: 15px;
			transition: all ease-in-out .1s;
		}

		.related-item a:hover i {
			margin-top: 25px;
			margin-bottom: 0;
		}
	
	
		
.goals h3 {
	font-weight: bold;
	font-size: 2.1em;
	line-height: 110%;
	color: #fff;
}

		.goals p {
			font-size: 1.5em;
		}
		


/* ==========================================================================
   Contact Page 
   ========================================================================== */

.sales-channel {
	list-style-type: none !important;
	margin:0 0 30px 0;
	padding:0 10px 0 0;
}

.sales-channel:nth-child(2n) {
	padding:0 0 0 10px;
}

	.content .sales-channel li {
		list-style: none;
		margin: 0 0 6px 0;
	}
	
	.content .sales-channel i {
		font-size: 15px;
	}
	
.sales-channel img {
	width: 130px;
	height: auto;
	margin: 0 0 10px 0;
}

.cta-directions {
	margin:30px 0 0 0;
}


	
/* ==========================================================================
   Form 
   ========================================================================== */
   
p.form-element,
.hs-form fieldset {width: 100%; padding: 1% 0; clear: both; margin:0; max-width: none !important;}

p.form-element label,
.hs-form fieldset label {width: 100%; float: left; padding: 0 0 10px 0; font-size: 19px;}

p.form-element input.txtbox,
p.form-element textarea,
.hs-form fieldset select.hs-input,
.hs-form fieldset input.hs-input,
.hs-form fieldset textarea.hs-input {width: 100%; padding: 2.2% 2%; border: solid 1px #f8f8f8; color: #ccc; font-size:14px; transition: all 0.3s cubic-bezier(.25,.8,.25,1);
			box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
}

.hs-form fieldset select.hs-input {
	 height:40px; color: #333;
	 padding:0;
}

p.form-element input.txtbox:focus,
p.form-element textarea:focus,
.hs-form input.hs-input:focus,
.hs-form select.hs-input:focus,
.hs-form textarea.hs-input:focus {border: solid 1px #00999f; color: #333; outline:0;}

p.form-element input.submit,
.hs-form input.hs-button {background: #00999f; color: #fff; border:0; outline: 0; width: 100%; padding: 20px 30px; font-size:16px; cursor: pointer; margin-bottom:30px; text-transform: uppercase; font-weight: bold;
	-webkit-transition: background-color 100ms linear;
    -moz-transition: background-color 100ms linear;
    -o-transition: background-color 100ms linear;
    -ms-transition: background-color 100ms linear;
}

p.form-element input.submit:hover,
.hs-form input.hs-button:hover {background: #030a2f;}

p.form-element label em,
.hs-form span.hs-form-required {color: #009fa7; padding-left: 5px;}

p.form-element span.error {background:red; width: 100%; color: white; display:block; float: left; clear: both; padding:.5% 2%; font-size: 12px;}

p.form-element input.field-error,
p.form-element textarea.field-error,
.hs-form fieldset input.error,
.hs-form fieldset textarea.error {border: solid 1px red;}   
   
 .input {margin:0 !important; padding:3px;}  
.hs-input {width: 100% !important;}
.hs-form fieldset {margin: 0 0 10px 0 !important}
.hs-form textarea.hs-input {height: 200px;}

ul.hs-error-msgs {width: 100%; margin:0;padding: 0;}
ul.hs-error-msgs li {width: 100%; list-style-type: none; list-style-position: outside; color: red; margin:0;padding: 10px 0 0 0;}
  
/* ==========================================================================
   Listing Elements
   ========================================================================== */

/* Pagination */  
.pagination {
	clear: both;
	width: 100%;
	padding:60px 20px 10px 20px;
	text-align: center;
}   
   
	.pagination a,
	.pagination span {
		display: inline-block;
		border: solid 1px #00999f;
		padding:7px 15px;
		margin: 0 5px 5px 0;
	}   
	   
	.pagination span {
		border-color: #03052b;
		color: #03052b;
	}  

/* Category Selector */	
.listing-category {
	position: relative;
	margin:30px auto;
	display: block;
	width: 478px;
	text-align: center;
	clear: both;
	z-index: 1;
}

	.category-select {
		border: solid 2px #00999f;
		padding:15px 60px;
		width: 100%;
		float: left;
		font-size: 1.3em;
		margin-bottom: 20px;
	}
	
		.category-select:hover {
			text-decoration: none;
		}
	
	.category-select i {
		float: right;
		margin-top:5px;
		transition: ease-in-out all .1s;
	}
	
	.category-select.open i {
		-webkit-transform: rotate(180deg);
	    -moz-transform: rotate(180deg);
	    -o-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	    transform: rotate(180deg);
	}
	
	.listing-category div {
		width: 100%;
		background: #fff;
		clear: both;
		position: absolute;
		top: 63px;
		height: 0px;
		overflow: hidden;
		opacity: 0;
		transition: all 0.3s cubic-bezier(.25,.8,.25,1);
		box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);	
	}
	
	.listing-category div.open {
		height: auto;
		opacity: 1;
	}
	
		.listing-category ul {
			padding:20px;
			width: 100%;
			margin:0;
		}
	
		.listing-category li a {
			color: #00999f;
			padding:2px;
			width: 100%;
			display: block;
		}
 
		.listing-category li.selected-cat a {
			font-weight: bold;
		}
 
/* Next/Prev Nav*/   
.listing-nav {
	padding:40px;
	background: #00999f;
	text-align: center;
	color: #fff;
	margin: 3px 0;
}

	.listing-nav p {
		color: #fff;
		font-weight: normal;
		font-size: 1.3em;
		font-weight: 700;
		text-align: center;
	}
	
	.listing-nav a {
		color: #fff;
		font-weight: 700;
	}
	
	.listing-nav ul {
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
		text-align: center;
	}
	
		.listing-nav li {
			display: inline-block;
			margin:4px;
		}

		.listing-nav li a {
			width: 100%;
			display: inline-block;
			text-align: center;
			padding:20px;
			background: #fff;
			text-transform: uppercase;
			color: #00999f;
			font-size: 1.2em;
			box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
		}

		.listing-nav li i{
			vertical-align: middle;
			margin: 0 4px;
		}
		
.listing-cta {
	background: #031235;
	text-align: center;
	font-size: 1.4em;
	padding-top:20px;
	padding-bottom:20px;
}

	.listing-cta a {
		display: inline-block;
		text-align: center;
		color: #fff;
		font-weight: bold;
		border: solid 2px #fff;
		padding:20px 30px;
	}
   
	.listing-cta a:hover {
		text-decoration: none;
		background: #fff;
		color: #031235;
	}
   

/* ==========================================================================
   Listing :- Case Studies
   ========================================================================== */
   
.case-studies {
}
   .event,
   .blog,
   .case-study {
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;
	}	
	   
	.event a,   
	.blog a,   
    .case-study a {
	    display: block;
	    width: 100%;
	    overflow: hidden;
   }   
   
   .event a:hover h3,   
	.blog a:hover h3,   
    .case-study a:hover h3{
	   text-decoration: underline;
   }
   
		.event a:before,
		.blog a:before,
		.case-study a:before {
		    content:'';
		    float:left;
		    padding-top:100%;
		}
     
    .event h3,
    .blog h3,
   	.case-study h3 {
	   	display: block;
	   	width: 100%;
	   	min-height: 132px;
	   	padding:18px 20px;
	   	text-align: center;
	   	position: absolute;
	   	bottom:0;
	   	left:0;
   		font-weight: normal;
   		color: #fff;
   		margin:0;
		background: rgba(3, 18, 49, .95);
		transition: all ease-in .1s;
		
		display: flex;
	    flex-direction: column;
	    justify-content: center;   	
	    }   
   	
   	.case-study h3 span {
	   	width: 100%;
	   	clear: both;
	   	font-size: .8em;
	   	display: block;
	   	font-weight: bold;
   	}	
   	
   	.blog:nth-child(2n+1) h3,		
   	.event:nth-child(2n+1) h3,		
	.case-studies .case-study:nth-child(2n+1) h3 {
		background: rgba(0,153,159, .95);
	}
		
	.blog a:hover h3,
	.event a:hover h3,
	.case-study a:hover h3 {
		padding: 11px 20px 25px 20px;
	}
	
/* Case Study Page */	
.cs-head {
	background: #00999f;
	padding: 40px 30px;
	text-align: center;
}	

	.cs-head h1 {
		color: #fff;
		margin:0;
		font-weight: normal;
	}	
	
	.cs-row {
		display: flex;
		flex-flow: wrap;
	}
	
		.cs-column {
			background-repeat: no-repeat;
			background-size: cover;
			background-position: center center;
			padding: 40px;
			min-height: 350px;
			width: 50%;
		}
		
		.cs-column:nth-child(even) {
			padding-right: 0;
		}
		
		.cs-column:nth-child(odd) {
			padding-left: 0;
		}
		
 /* Events */
.event h3{
	font-size: 1.7em;
}   	
	
 /* Blog */
.event h3{
	font-size: 1.4em;
}   	
	
	
/* ==========================================================================
   Listing :- Jobs
   ========================================================================== */

.job {
	display: flex;
	flex-flow: wrap;
	padding: 20px 0 0 0;
	margin-bottom: 20px;
	background: #fcfcfc;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
}

	.job h3 {
		padding: 0 20px 30px 20px;
		margin: 0;
		width: 100%;
	}

	.job p {
		padding: 0 20px 20px 20px;
		margin:0;
	}
	
	.job-location {
		font-weight: 700;
		text-transform: uppercase;
	}

	.job .cta {
		margin:0;
		width: 100%;
		text-align: left;
		padding:13px 20px;
		align-self: flex-end;
	}
	
/* ==========================================================================
   News / Blog Entry
   ========================================================================== */

p.date {
	font-weight: bold;
	margin-bottom: 0;
}

.side-col {
	padding-left:35px;
}

/* ==========================================================================
   Company Culture
   ========================================================================== */

.culture-container {
	padding:0 0 40px 0;
}

.culture-box {
	width: 33.33%;
	height: 300px;
	float: left;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	position: relative;
	text-align: center;
	
	display: flex;
	justify-content: center;
	align-content: center;
}

	.culture-box p:first-child {
		text-transform: uppercase;
		font-weight: 700;
	}
	
	.culture-box a {
		display: block;
		width: 100%;
		
		display: flex;
		align-content: center;
		justify-content: center;
		flex-direction: column;
		background: rgba(3, 18, 49, .6);
		transition: all ease-in .1s;
	}	
	
   .culture-box:nth-child(2n+1) a {
	   background: rgba(0, 153, 159, .6);
   }
	
	.culture-box:hover a {
		opacity: 1;
		text-decoration: none;
	}
	
	.culture-box i {
		transition: all ease-in .1s;
	}
	
	.culture-box:hover i {
		margin-top:15px;
	}
	
	.culture-box span {
		display: block;
		padding:20px;
		width: 100%;
	}
	
		.culture-box p {
			color: #fff;
			margin:5px;
			font-size: 1.4em;
		}

.culture-box:nth-child(1) ,
.culture-box:nth-child(7) ,
.culture-box:nth-child(13) {
	width: 66.66%;
	height: 600px;
}

.slide-in-cont{
	position: fixed;
    width: 70%;
	height: 100vh;
	top:-120%;
	left:50%;
	opacity: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	margin-left:-35%;
	background: rgba(255, 255, 255, .98);
	min-height: 40vh;
	z-index: 99;
	padding:40px;
	text-align: center;
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
}

	.slide-open {
		opacity: 1;
		top:0;
	}
	.culture-gal {
		width: 100%;
		overflow: hidden;
	}

		.culture-gal img {
			width: 25%;
			height: auto;
			float: none;
			display: inline-block;
			margin:4px;
			box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.1);	
		}

	.culture-close {
		position: absolute;
		top:30px;
		right:30px;
		font-size: 38px;
		width: auto !important;
	}
	
	.culture-close:hover {
		color: #031235;
	}
	
/* ==========================================================================
  Side Widgets
========================================================================== */
   
   
   
.side-widget {
	width: 100%;
	clear: both;
	overflow: hidden;
	margin: 0 0 40px 0;
}

	.side-widget img {
		width: 100%;
		height: auto;
	}
	
	figure {
		width: 100%;
		height: auto;
		margin:0;
	}	
	
.blockquote blockquote {
	margin: 0;
	padding:0;
	border: 0;
}
	
	.blockquote h3 {
		color: #000;
		text-transform: uppercase;
	}
	
	.bg-grad .blockquote h3,
	.bg-grad .blockquote figcaption {
		color: #03052b;
	}

	.blockquote figcaption {
		font-style: normal;
		font-weight: bold;
		color: #323232;
		font-size: 1em;
	}
	
	.blockquote figcaption img {
		width: 70px; height: auto;
		float: left;
		margin: 0 10px 0 0;
	}
	
	.blockquote .cta {
		float: left;
		padding:13px;
		 margin:20px 0 0 0;
	}
	
	.quote-has-image {
		float: left;
		width: 60%;
	}
	
	.quote-image {
		float: right;
		width: 35%;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;
	}
	
.side-cta-block {
	
}

	.side-cta-block span {
		display: block;
		padding: 25px 30px;
		background: #00999f;
		font-size: 1.2em;
		font-weight: normal;
		color: #fff;
		text-align: center;
		transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	}

	.side-cta-block a span {
		font-weight: bold;
	}
	
	.side-cta-block a span:after {
		font-family: "Font Awesome 5 Pro";	 
		content: ' \f105';
		font-weight: normal;
		vertical-align: middle;
		margin:0 5px 0 4px;
		transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	}	

	.side-cta-block a:hover {
		text-decoration: none;
	}

	.side-cta-block a:hover span {
		background: #030a2f;
	}
	
	
		.side-cta-block a:hover span:after {
			margin:0 0 0 9px;
		}	
	
	


		
	.side-cta-block a {
		color: #fff;
	}
	
.side-content-block {
	background: #031231;
	padding:30px;
	color: #fff;
}

	.side-content-block h4 {
		color: #fff;
		font-size: 1.7em;
		font-weight: bold;
	}

	.side-content-block a.cta {
		margin:0;
		padding-left:20px;
		padding-right:20px;
	}

	
	

/* ==========================================================================
   Helper classes
   ========================================================================== */
   
.section-intro > :last-child,
.text-section > :last-child {
	margin-bottom: 0;
}

   
.h-100 {height: 100%; height: 100vh;}   
.h-75 {height: 75%; height: 75vh;}   
.h-50 {height: 50%; height: 50vh;}   

.shdw {box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);}

.right {float: right;}

.left {float: left;}

.clear {clear: both;}

.hidden {display: none;}

.my-50 {
	margin-top: 50px;
	margin-bottom: 50px;
}

.mb-50 {
	margin-bottom: 50px;
}

.mt-50 {
	margin-top: 50px;
}

.mb-0 {
	margin-bottom: 0;
}

.mt-0 {
	margin-top: 0;
}

.py-0 {
	padding-top:0;
	padding-bottom: 0;
}

.px-0 {
	padding-right:0;
	padding-left: 0;
}

.pt-0 {
	padding-top: 0;
}

.pb-0 {
	padding-bottom: 0;
}

.py-30 {
	padding-top:30px;	
	padding-bottom:30px;	
}


/*History Timeline*/
.cbp_tmtimeline {
	margin: 0;
	padding: 2px 0 0 0;
	list-style: none;
	position: relative;
} 

/* The line */
.cbp_tmtimeline:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #00999f;
	left: 15%;
	margin-left: -10px;
}

.cbp_tmtimeline > li {
	position: relative;
}

/* The date/time */
.cbp_tmtimeline > li .cbp_tmtime {
	display: block;
	width: 25%;
	padding-right: 100px;
	position: absolute;
	font-size: 1.2em;
	color: #000;
}

/* Right content */
.cbp_tmtimeline > li .cbp_tmlabel {
	margin: 0 0 15px 20%;
	background: #efefef;
	color: #fff;
	padding: 2em;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.4;
	position: relative;
	border-radius: 1px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.cbp_tmtimeline > li .cbp_tmlabel p:last-child,
.text-section >p:last-child {
	margin-bottom: 0;
}

.cbp_tmtimeline > li .cbp_tmlabel img {
	width: 100% !important;
	height: auto !important;
}

.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel {
	background: #00999f;
}

.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel h2 ,
.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel p {
	color: #fff;
}

.cbp_tmtimeline > li .cbp_tmlabel h2 { 
	margin-top: 0px;
}

.cbp_tmtimeline > li .cbp_tmlabel p { 
	color: #000;
}

/* The triangle */
.cbp_tmtimeline > li .cbp_tmlabel:after {
	right: 100%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-right-color: #efefef;
	border-width: 10px;
	top: 10px;
}

.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel:after {
	border-right-color: #00999f;
}

/* The icons */
.cbp_tmtimeline > li .cbp_tmicon {
	width: 40px;
	height: 40px;
	font-size: 1.4em;
	line-height: 40px;
	-webkit-font-smoothing: antialiased;
	position: absolute;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 2px #00999f;
	text-align: center;
	left: 15%;
	top: 0;
	margin: 0 0 0 -29px;
}





/* ==========================================================================
   Form's
   ========================================================================== */

.form-element {
	width: 100%;
	clear: both;
	padding: 5px 0;
	float: left;
	display: flex;
}

input,
textarea {
	width: 100%;
	clear: both;
	float: left;
	padding:15px 20px;
	outline:0;
	border: solid 1px #fff;
	border-bottom-width: 3px;
	font-weight: 100;
	transition: ease-in all .1s;
	color: #333;
}

input:focus,
textarea:focus {
	border-bottom-color: #00999f;
}

select {
    height:48px;
    background: #fff;
	font-weight: 100;
	width: 100%;
}

.submit{
	width: 100%;
	clear: both;
	padding:20px;
	outline:0;
	cursor: pointer;
	border: 0;
	float: left;
	font-weight: 100;
}

/*Freeform composer forms*/
.form-cont {
	width: 80%;
	display: block;
	margin: 0 auto;
	background: #031235;
	padding:25px;
}

.form-cont-wide {
	width: 100%;
}

.freeform-pages {
    padding: 0;
    margin: 0 0 10px;
    list-style: none
}

.freeform-pages:after {
    content: "";
    display: table;
    clear: both
}

.freeform-pages li {
    float: left;
    margin: 0 10px 0 0
}

.freeform-row {
    display: block;
    margin: 0;
    padding: 0 2px;
}

.freeform-row:after {
    content: "";
    display: table;
    clear: both
}

.freeform-row .freeform-column {
    display: block;
    padding: 10px 15px;
    float: left;
    box-sizing: border-box
}

.freeform-row > .freeform-column:first-child {
   padding-left:0;
}

.freeform-row > .freeform-column:last-child {
   padding-right:0;
}

.freeform-row .freeform-column:after {
    content: "";
    display: table;
    clear: both
}

.freeform-row .freeform-column label,
.freeform-row .freeform-column div {
    display: block;    
	width:100%;
	float:left; 
	color: #fff;
	padding: 10px 0;
	font-size: 19px;
}

.freeform-row .freeform-column .freeform-label.freeform-required:after,
label[for="form-input-howHearOther"]:after {
    content: "*";
    margin-left: 5px;
    color: red
}

.freeform-row h1,
.freeform-row h2,
.freeform-row h3 {color:#fff;margin: 0 0 0 0;}

.freeform-row .freeform-column .freeform-input[type=checkbox],
.freeform-row .freeform-column .freeform-input[type=radio] {
    width: auto;
    display: inline;
    margin-right: 5px
}

.freeform-row .freeform-column .freeform-input[type=file] {
	padding:10px;
	border: 0;
	background: #fefefe;
	
}

.freeform-row .freeform-column .freeform-input-only-label {
    font-weight: normal;
    display: block !important;
    margin:0; padding:0;
    font-size: .9em;
}

.freeform-row .freeform-column .freeform-input-only-label>.freeform-input {
    display: inline-block;
    width: auto;
    margin-right: 5px
}

.freeform-row .freeform-column .freeform-errors,
#content .two-col .freeform-row .freeform-column .freeform-errors {
    list-style: none;
    padding: 0;
    margin: 0;
    clear: both;
}

.freeform-row .freeform-column .freeform-errors>li,
#content .two-col .freeform-row .freeform-column .freeform-errors>li {
    color: red;
    list-style-position: inside;
    list-style-type: none;
    padding: 7px 0;
}

.freeform-row .freeform-column .freeform-instructions {
    margin: 0 0 5px;
    font-size: 13px;
    color: #ABA7A7
}

.freeform-row .freeform-column.freeform-column-content-align-left {
    text-align: left
}

.freeform-row .freeform-column.freeform-column-content-align-left button:not(:first-of-type) {
    margin-left: 5px
}

.freeform-row .freeform-column.freeform-column-content-align-center {
    text-align: center
}

.freeform-row .freeform-column.freeform-column-content-align-center button:not(:first-of-type) {
    margin-left: 5px
}

.freeform-row .freeform-column.freeform-column-content-align-right {
    text-align: right
}

.freeform-row .freeform-column.freeform-column-content-align-right button:not(:first-of-type) {
    margin-left: 5px
}

.freeform-row .freeform-column.freeform-column-content-align-spread button:first-child {
    float: left
}

.freeform-row .freeform-column.freeform-column-content-align-spread button:last-child {
    float: right
}

.freeform-row .freeform-column-1 {
    width: 8.33333%
}

.freeform-row .freeform-column-2 {
    width: 16.66667%
}

.freeform-row .freeform-column-3 {
    width: 25%
}

.freeform-row .freeform-column-4 {
    width: 33.33333%
}

.freeform-row .freeform-column-5 {
    width: 41.66667%
}

.freeform-row .freeform-column-6 {
    width: 50%
}

.freeform-row .freeform-column-7 {
    width: 58.33333%
}

.freeform-row .freeform-column-8 {
    width: 66.66667%
}

.freeform-row .freeform-column-9 {
    width: 75%
}

.freeform-row .freeform-column-10 {
    width: 83.33333%
}

.freeform-row .freeform-column-11 {
    width: 91.66667%
}

.freeform-row .freeform-column-12 {
    width: 100%;
    padding-right:0;
    padding-left:0;
}

.freeform-form-has-errors p{
    color: red;
    margin:0;
}

@media only screen and (min-width:0px) and (max-width:480px) {	
	.freeform-row .freeform-column-1, 
	.freeform-row .freeform-column-2, 
	.freeform-row .freeform-column-3, 
	.freeform-row .freeform-column-4, 
	.freeform-row .freeform-column-5, 
	.freeform-row .freeform-column-6, 
	.freeform-row .freeform-column-7, 
	.freeform-row .freeform-column-8, 
	.freeform-row .freeform-column-9, 
	.freeform-row .freeform-column-10, 
	.freeform-row .freeform-column-11, 
	.freeform-row .freeform-column-12 {
	    width: 100%
	}	
}


/*Cookie message*/
.cookie-message {
	position:fixed;
	bottom:0;left:0;right:0;
	padding:10px 15px;
	background:#00999f;
	color: #fff;
	z-index: 99;
	font-size: 12px;
	text-align: center;
	width: 100%;
}

.cookie-message p, .cookie-message a {
	color:#fff;
	margin:0;
}

.cookie-message a {
	color: #fff;
	text-decoration: underline;
}


@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { 
	
	.col-3 {
		max-width: 1286px;
	}

}


@media only screen and (max-width: 850px) {
	
	/*  ========================================================================== 
	  Global Base 
	========================================================================== */
	
	
	.mob-contact {
	display: block;
	}
	
	.desktop-contact {
		display: none;
	}
	
	/* Set individual columns widths and behaviour */
	.col-3 {
		padding: 4px 20px;
	}
	
	.col-2,
	.col-2:nth-child(2),
	.col-50p,
	.section table {
		float: left;
		clear: both;
		width: 100%;
	}
	
	.col-50p .col-50p {
		width: 48%;
		clear: none;
	}
	
	.main-logo {
		max-width: 25%;
	}
	
	.header-cont,
	.section-head {
		padding-right:20px;
		padding-left:20px;
	}
	
	.page-header {
		padding:20px 0;
	}
	
	.section-intro {
		width: 90%;
	}
	
	.side-widget {
		margin-bottom: 15px;
	}
	
	.text-section {
		padding-top: 20px;
	}
	
	h1.reg-heading {
		margin-bottom: 0;
	}
	
	.share {
		right:20px;
	}	
	
	.cta {
		padding: 13px;
	}
	
	/* Home */
	.hexGrid {
		width: 90%;
	}
	
	.hexLink h3, .hexLink h3,
	.hexLink p, .hexLink p{
	  -webkit-transform:translate3d(0,0,0);
	      -ms-transform:translate3d(0,0,0);
	          transform:translate3d(0,0,0);
	}
	
	.hex h3 {
		font-size: 1.1em;
	}
	
	.home-strap {
		width: 95%;
	}
	
	/* Listing Pages*/	
	.event h3, .blog h3, .case-study h3 {
		min-height: 100%;
		font-size: 1.3em;
	}
	
	/* Scope */
	.scope-item-inner {
		width: 90%;
	}
	
	/*Careers and culture */	
	.culture-container {
		padding:0;
	}
	
	/*Tabbed Content */
	
	ul.tabs {
		display: block;
	}
	
	ul.tabs li {
		width: 100%;
	}
	
	ul.tabs li a {
		padding:10px 20px;
		position: relative;
	}
	
	ul.tabs li a:after {
		content: 'view';
		position: absolute;
		bottom:40%;
		right:20px;
		font-weight: 100;
		font-size: 12px;
	}
	
	.tab {
		padding:20px 0;
	}
	
	/* Case studies */
	.cs-row {

	}
	.cs-column {
		width: 50%;
		clear: none;
	}
	
	/* Forms */	
	.form-cont {
		width: 100%;
	}	
	
	.slide-in-cont {
		width: 100%;
		left:0;
		margin:0;
	}

	/*History*/
	.cbp_tmtimeline > li .cbp_tmicon,
	.cbp_tmtimeline:before {
		display: none;
	}	
	
	.cbp_tmtimeline > li .cbp_tmtime {
		width: 100%;
		position: relative;
		padding: 0 0 20px 0;
	}

	.cbp_tmtimeline > li .cbp_tmtime span {
		text-align: left;
	}

	.cbp_tmtimeline > li .cbp_tmlabel {
		margin: 0 0 30px 0;
		padding: 1em;
		font-weight: 400;
		font-size: 95%;
	}

	.cbp_tmtimeline > li .cbp_tmlabel:after {
		right: auto;
		left: 20px;
		border-right-color: transparent;
		border-bottom-color: #efefef;
		top: -18px;
	}

	.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel:after {
		border-right-color: transparent;
		border-bottom-color: #00999f;
	}

/* End media query*/
}

@media only screen and (max-width: 620px) {
	
	/*  ========================================================================== 
	  Global Base 
	========================================================================== */
	
	.flex {
		display: block;
	}	
	
	/* Float modular containers */
	.col-75p,
	.col-66p,
	.col-50p,
	.col-50p .col-50p,
	.col-33p,
	.col-25p,
	.col-2,
	.col-1 {
		width: 100%;
		clear: both;
		float: left;
	}
	
		/* Set margin on every middle column in a row of three*/
		.col-1:nth-child(3n+2) {
			margin-left: 0;
			margin-right: 0;
		}
		
	.home-strap {
		width: 95%;
		margin-top:110px;
	}
				
		.home-strap h2 {
			font-size: 3.3em;
			padding: 0 10px;
		}
			
		.home-strap p {
			width: 90%;
			font-size: 1.3em;
		}
		
	.side-col {
		padding:20px 0 0 0;
	}	
	
	.head-nav li {
		font-size: 15px;
	}
	
	.head-nav li a {
		padding:10px 12px;
	}
	
	.mob-contact,
	.menu-toggle {
		font-size: 15px;
		padding:10px 12px;
	}

	.menu-toggle {
		font-size: 18.5px;
	}
	
	.hex h3 {
		font-size: .75em;
	}
	
	.sales-channel:nth-child(2n) {
		padding:0;
	}
	
	.listing-category,
	.offices {
		width: 100%;
	}
	
	/* Case studies */
	.category-select,
	.office-select {
		padding:15px;
	}
	
	.case-study {
		margin: 0 0 15px 0;
	}	

	.cs-row {
		display: block;
	}
	.cs-column,
	.cs-column:nth-child(odd) {
		width: 100%;
		clear: both;
		padding:20px 0 0 0;
		margin-bottom: 1px;
		min-height: 150px;
	}
	
	.culture-box,
	.culture-box:nth-child(1), 
	.culture-box:nth-child(7), 
	.culture-box:nth-child(13) {
		width: 50%;
	}
	
	.quote-has-image {
		width: 100%;
	}
	
	.quote-image {
		float: left;
		width: 100px;
		height: 100px
	}
	
	/* Forms */
	.freeform-row .freeform-column {
		width: 100%;
		padding:0;
		margin: 0 0 15px 0;
	}



/* end media query*/
}


@media only screen and (max-width: 480px) {
	
	.mob-contact,
	.head-nav {
		display: none;
	}
	
	#menu-cont {
		width: 100%;
		right: -110%;
	}
	
	.header-cont {
		padding:20px;
	}
	
	.main-logo {
	    position: relative;
	    float: left;
	    max-width: 30%;
	    top: auto;
	    left: auto;
	    transform: none;
	}
	
	.fixedBody .main-logo {
		width: auto;
		top: auto;
	}
	
	/* Scope */
	
	.scope-cont {
		display: block;
	}
	
	.scope-item,
	.scope-item:nth-child(even),
	.scope-item:nth-child(3) {
		margin: 0 0 0 0;
		padding-top:20px;
		overflow: hidden;
	}
	
	.scope-item:before {
		width: 2px;
		right:50%;
		top:0;
		height: 20px;
		margin: 0 -1px 0 0;
	}
		
	.scope-item-inner {
		width: 100%;
	}
	
	.scope-cont:after,
	.scope-cont:before,
	.scope-cont:after {
		display: none;
	}
	
	.culture-box,
	.culture-box:nth-child(1), 
	.culture-box:nth-child(7), 
	.culture-box:nth-child(13) {
		width: 100%;
	}
	
	.hex {
		width: 100% !important;
		margin-bottom:30%;
	}

	
	
	
	
/* end media query*/
}

/*CMS Admin Bar*/
.admin-bar {
	width: 100%;
	position: fixed;
	bottom:0;
	left: 0;
	padding: 0;
	background: #333f4d;
	z-index: 999;
}

	.admin-bar ul {
		width: 100%;
		padding:0;
		max-width: 1400px;
		margin: 0 auto;
		font-size: .9em;
		text-align: center;
	}

		.admin-bar ul li {
			display: inline-block;
		}

		.admin-bar ul li a {
			color: #d7d9db;
			display: block;
			padding: 10px 20px;
		}
		
		.admin-bar ul li a:hover {
			background: rgba(255, 255, 255, 0.05);
			text-decoration: none;
			color: #fff;
		}
		
	.devmode {
		width: 100%;
	    height: 3px;
	    background: url('/cpresources/17f26c11/images/dev-mode.svg') repeat-x 15px 0;
	}
	
	.dev {
		padding: 10px 20px;
		color: #fdd50b
	}


