/* Wraps
-------------------------------------------------- */

.wrap {
	width: 100%;
	position: relative;
	background: #fff;
	padding-top: 70px;
}
	.wrap.form.padBottom {
		margin-top: 70px;
		padding-bottom: 70px;
	}
.navSwitchHeader.wrap {
	padding: 16px 0;
	z-index: 2001;
	background: #fff;
	border-bottom: 1px solid #fff;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.wrap.header {
	position: absolute;
	padding: 0;
	z-index: 100;
	background: none;
	transition: background 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	box-sizing: border-box;
	display: flex;
}
.mapHolder {
	padding: 0;
}
.wrap.content {
	z-index: 2;
}
.wrap.promo,
.wrap.signup {
	margin-top: 70px;
}
.wrap.signup {
	padding: 2rem 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #f3f3f3
}
.wrap.promo {
	background: #013B51;
	padding: 4rem 0 3rem;
}
.wrap.footer {
	padding: 3rem 0 2.5em;
	background: #222;
	z-index: 1;
}
#luxy {
	position: relative;
	z-index: 2;
	pointer-events: none;
}
#luxy * {
	pointer-events: all;
}
.mainImg {
	min-height: 70vh;
	background: #111;
	background-size: cover !important;
	background-position: center !important;
	box-sizing: border-box;
	position: relative;
	margin: 0;
}
	.mainImg.title {
		height: 60vh;
	}
.mainImg .overlay {
	background: rgba(0,104,56,0.3);
	mix-blend-mode: multiply;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: 3;
}
.mainImg .vBg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: 2;
}

.mainImg .container {
	z-index: 3;
	height: 100%;
}
.mainImg .columns {
	position: relative;
    bottom: 0;
	box-sizing: border-box
}
.mainImg :not(.button) {
	color: #fff;
}
.mainImg h1,
.mainImg p {
	text-transform: uppercase;
	/*text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.6);*/
	transition: opacity 1s cubic-bezier(0.190, 1.000, 0.220, 1.000), transform 2s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.mainImg h1 {
	font-size: 3.6em;
	line-height: 1;
	display: inline-block;
	position: relative;
}
.mainImg p {
	font-size: 1.3em;
}

.bgGrey {
	background: #f1f2f2;
}
	.invert a p.icon::after,	
	.invert p.icon a::after,
	.invert p.icon.left a::before {
		filter: brightness(5);
	}

.invert *:not(input) {
	color: #fff !important;
}

/* Header
-------------------------------------------------- */
#navSwitchLogo a {
	position: relative;
	display: block;
	background: url('../images/sprite.png') no-repeat 0 0;
	background-size: 500px 500px;
	width: 270px;
	height: 60px;
	text-decoration: none;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

#logo {
	flex: 1;
	padding-left: 2em;
	position: relative;
	z-index: 5;
}
	#logo a {
		display: block;
		width: 180px;
		float: left;
		border-bottom: none;
		background: none;
		padding: 20px;
		transition: height 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000), width 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		background: #fff;
		border-radius: 0 0 3px 3px;
	}
#logo .logo {
	display: block;
    float: left;
	width: auto;
	height: 100%;
}


/* Map
-------------------------------------------------- */
		
#gMapHolder {
	margin-bottom: 20px;
	background: #000;
	padding: 0 !important;
}

#gMap {
	max-width: 100%;
	height: 70vH;
	background: #000;
}
		
		
/* Content
-------------------------------------------------- */

.mouse {
	max-width: 3rem;
	width: 100%;
	height: auto;
	border-radius: 0 15px;
}

.scroll-link {
	display: block;
	position: absolute;
	bottom: 5vH;
	left: 50%;
	transform: translateX(-50%);
	z-index: 7;
	background: none !important;
	transition: opacity 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000), bottom 0.3s cubic-bezier(0.190, 1.000, 0.220, 1.000)
}
.scroll-link:hover {
	bottom: 9.5vH;
}
	.scroll-link .box,
	.scroll-link .scroll {
		transition: fill 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000)
	}
	.scroll-link .box {
		fill: #80C242;
	}
	.scroll-link:hover .box {
		fill: #37B34A;
	}
	.scroll-link:hover .scroll {
		fill: #fff;
	}
	.scroll-link.fade {
		opacity: 0;
	}

.intro {
	margin: 2em 0 3em;
}
#mainContent {
	box-sizing: border-box;
}
#mainContent.alpha {
	padding-right: 60px;
}
#mainContent.omega {
	padding-left: 60px;
}

	
/* video embed */

.embedVideo {
	position: relative;
	padding-bottom: 56.25%; /* 16/9 ratio */
	padding-top: 0; /* IE6 workaround*/
	height: 0;
	overflow: hidden;
	/*max-width: 100%;*/
	height: auto;
}

.embedVideo iframe,
.embedVideo object,
.embedVideo embed,
.embedVideo video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

	
/* feature */

/*.flexrow {
	display: flex;
	flex-wrap: wrap;
	margin-left: 0.5em;
	margin-right: 0.5em;
	gap: 1rem;
	justify-content: space-between;
	align-items: center;
}
.flexrow * {
	margin: 0;
}
.flexrow.half {
	overflow: hidden;
	justify-content: space-between;
}
.columns .flexrow {
	margin-left: 0;
	margin-right: 0;
}
.flexitem {
	display: flex;
	flex: 0 1 calc(50% - 2em);
	transition: transform 1s cubic-bezier(0.190, 1.000, 0.220, 1.000), background 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	position: relative;
	box-sizing: border-box;
}
.flexitem .col,
.flexitem .text {
	padding: 1.5em;
	display: flex;
	flex-direction: column;
	flex: 1;
	align-self: center;
}
.flexitem .col {
	padding: 0 1.5em;
	align-self: flex-start;
}
.flexitem.bgImage,
.flexitem.image {
	background-size: cover !important;
}
.half .flexitem .text {
	padding: 0;
}
	.flexitem .date {
		padding: 0;
		border: none;
		margin-bottom: 0.8em;
		filter: grayscale(1) brightness(0.8)
	}
	.flexitem p.icon,
	.flexitem p:last-child,
	.flexitem table {
		margin-bottom: 0;
	}
.flexitem.image figure {
	padding-bottom: 56.25%;
}
.flexitem img {
	z-index: 1;
	margin-bottom: 0;
	transition: filter 1s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 1s cubic-bezier(0.190, 1.000, 0.220, 1.000)
}
.flexitem .col img {
	align-self: center;
}*/

/* split image text panels */

.flexrow {
	display: flex;
	flex-wrap: wrap;
	margin: 0 10px;
	justify-content: center;
}

article section.flexrow,
.columns .flexrow {
	margin-left: 0;
	margin-right: 0;
}

.flexitem {
	display: flex;
	flex: 0 1 50%;
	transition: transform 1s cubic-bezier(0.190, 1.000, 0.220, 1.000), background 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	position: relative;
	box-sizing: border-box;
}

	.flexitem .text {
		padding: 3em 5em 3em 3em;
		display: flex;
		flex-direction: column;
		flex: 1;
		align-self: center;
	}

	.flexitem.image {
		background-size: cover !important;
	}

.flexitem p.icon {
	margin-bottom: 0;
}

.flexitem figure {
	background: #ddd;
}

.flexitem.image figure {
	padding-bottom: 56.25%;
}

.flexitem img {
	z-index: 1;
	margin-bottom: 0;
}

/* split box */
.flexrow.reverse {
	flex-direction: row-reverse;
}
	.flexrow.reverse.half .flexitem .text {
		padding: 3em 5em 3em 3em;
	}

.half .flexitem .text:not(.textDark) {
	padding: 4em 4em 4em 5em;
}
.flexrow.reverse.half .flexitem .text {
	padding: 4em 5em 4em 4em;
}
.half .flexitem .text:not(.textDark) * {
	color: #fff;
}
.half .flexitem .text.textDark p.icon {
	filter: brightness(0);
}

/* split box */
.flexrow.reverse {
	flex-direction: row-reverse;
}

.spacer {
	display: block;
	clear: both;
	height: 70px;
}

/* testimonials grid */

.testimonials {
	width: 100%;
	margin-top: 30px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	grid-gap: 40px;
	gap: 40px;
	justify-content: center;
	justify-items: center;
	grid-auto-rows: auto;
}
.testimonials blockquote {
	margin: 0 0 15px;
	display: grid;
	grid-template-rows: 1fr auto;
	break-inside: avoid;
}

/* logo scroller */

.scroller-container {
  overflow: hidden;
}
.scroller {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 250vw;
  -webkit-animation: icon-scroller 120s linear 0s normal infinite;
          animation: icon-scroller 120s linear 0s normal infinite;
  will-change: transform;
}
.scroller-img {
  max-width: 160px;
  max-height: 80px;
}
@keyframes icon-scroller {
  100% {
    transform: translateX(calc(250vw * -0.5));
  }
}
		
/* Footer
-------------------------------------------------- */

.footer p {
	font-size: 0.9em;
}
.footer .columns * {
	color: #fff;
	margin-bottom: 0;
}
.footer p a {
	padding: 0;
	color: #fff;
	background: none;
}
.footer a:hover {
	color: #b59a6b !important;
	border-color: transparent;
}
.footer .columns div {
	flex: 1;
}
.footer .columns img {
	flex: 1;
	width: 10%;
	max-width: 80px;
	margin-right: 1.5em;
}

/* social buttons */

#social, #social li {
	list-style: none;
	margin: 0;
	padding: 0;
}
#social li {
	margin-bottom: 10px;
}
#social li a::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	margin-top: -4px;
	margin-right: 1.5em;
	width: 20px;
	height: 20px;
	background-size: 20px 20px !important;
}
	#social li a.fb::before {
		background: url(../images/icons/i-facebook.svg)
	}
	#social li a.in::before {
		background: url(../images/icons/i-instagram.svg)
	}
	#social li a.li::before {
		background: url(../images/icons/i-linkedin.svg)
	}
	#social li a.tw::before {
		background: url(../images/icons/i-twitter.svg)
	}

/* colour switches */

.color-blue .mainImg span {
	color: #00abe9;
}


/* #Media Queries
================================================== */
@media only screen and (max-width: 1600px) {
	body {
		font-size: 18px;
	}
	.flexitem.feature .text {
		padding: 30px 30px;
	}
}

/* Tablet Landscape size to wide monitor  */
@media only screen and (max-width: 1279px) {
	body {
		font-size: 17px;
	}
	.insetL,
	.insetR {
		max-width: calc(50% - 20px);
		height: auto;
		display: block;
	}

	.insetL {
		float: left;
		margin: 0 30px 20px 0;
	}
	.insetR {
		float: right;
		margin: 0 0 20px 30px;
	}
	.wrap {
		padding-top: 55px;
	}
		.wrap.form.padBottom {
			margin-top: 55px;
			padding-bottom: 55px;
		}
	.spacer {
		height: 55px;
	}
	#logo a {
		width: 150px;
	}
	#sideBar {
		margin-top: 17px
	}
	.half .flexitem .text {
		padding: 2em 0;
	}
	.half .flexitem .col {
		padding: 0;
	}
	.testimonials {
		grid-gap: 30px;
		gap: 30px;
		margin: 0;
	}
	.scroller {
	  width: 300vw;
	}
	@keyframes icon-scroller {
	  100% {
		transform: translateX(calc(300vw * -0.5));
	  }
	}
}

/* Tablet Landscape size to wide monitor  */
@media only screen and (min-width: 960px) and (max-width: 1279px) {
	
	.gridHolder .gridItem,
	.gridHolder .gridItem.two,
	.gridHolder .gridItem.three,
	.gridHolder .gridItem.four,
	.gridHolder .gridItem.six {
		grid-column: auto / span 6;
	}
	#mainContent.alpha {
		padding-right: 40px;
	}
	#mainContent.omega {
		padding-left: 40px;
	}
}
@media only screen and (max-width: 1100px) {

}
@media only screen and (max-width: 959px) {
	.infogrid img {
		width: 16px !important;
	}
	.flexitem {
		flex: 0 1 calc(50% - 1em);
	}
	.feature {
		flex: 1 1 auto;
		width: calc(50% - 1.25em);
	}
	.flexitem.feature .text {
		padding: 20px;
	}
	.testimonials {
		grid-template-columns: repeat(1,minmax(0,1fr));
		gap: 0;
	}
	.scroller {
	  width: 260vw;
	}
	.scroller-img {
	  max-width: 120px;
	  max-height: 60px;
	}
	@keyframes icon-scroller {
	  100% {
		transform: translateX(calc(260vw * -0.5));
	  }
	}
	.singlelineform .umbraco-forms-page {
		flex-direction: column;
	}
	.singlelineform *,
	.singlelineform .umbraco-forms-field {
		margin: 0;
	}
		.singlelineform .umbraco-forms-navigation input {
			width: 100%;
		}
}

/* Tablet Portrait size to standard 960  */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	.no-mob-all{
		display: none;
	}
	.mob-only-all {
		display: block !important;
	}
	.no-tab {
		display: none !important;
	}
	.tab-only {
		display: block !important;
	}
	#slideText.eight.columns {
		width: 100%;
	}
	#mainContent.alpha {
		padding-right: 10px;
	}
	#mainContent.omega {
		padding-left: 10px;
	}
}

/* All Mobile Sizes  */
@media only screen and (max-width: 767px) {
	body {
		font-size: 16px;
	}
	.no-mob, .no-mob-all {
		display: none !important;
	}
	.mob-only, .mob-only-all {
		display: block !important;
	}
	h1, h2, h4.umbraco-forms-caption {
		font-size: 2em;
		margin-bottom: 1.2em;
	}
	h3 {
		font-size: 1.5em;
	}
	h4 {
		font-size: 1.3em;
	}
	h5 {
		font-size: 1.18em;
	}
	hr, hr.narrow {
		margin-right: 0;
		margin-left: 0;
	}
	hr.underTitle {
		margin-bottom: 20px;
	}
	label, legend, input:not([type="radio"]), input[type="text"], input[type="password"], input[type="email"], input[type="tel"], textarea, select, .radiobuttonlist {
		width: 100%;
		font-size: 1.1em;
	}
	.singlelineform label {
		margin-top: -5px;
		margin-bottom: 10px;
		padding: 0;
	}
	.radiobuttonlist label {
		width: auto;
	}
	.matchLabel {
		margin-left: 0;
	}
	.insetL,
	.insetR {
		max-width: 100%;
		margin: 0 0 25px;
	}
	.divider.mob-only {
		display: inline-block !important;
	}
	.wrap {
		padding-top: 40px;
	}
		.wrap.form.padBottom {
			margin-top: 40px;
			padding-bottom: 40px;
		}
	.spacer {
		height: 40px;
	}
	.wrap.promo {
		padding: 2rem 0;
	}
	.wrap.footer {
		padding-top: 2em;
		padding-bottom: 2em;
	}
	#logo {
		padding-left: 20px;
	}
	#logo a {
		width: 120px;
	}
	.mainImg {
		min-height: 500px;
	}
	.mainImg h1 {
		font-size: 2em;
	}
	#mainContent{
		padding: 0 !important;
	}
	#sideBar {
		margin-top: 0;
	}
	.flexrow {
		margin: 0 0 20px;
	}
	.flexrow.half,
	.flexrow.reverse,
	form.flexrow {
		flex-direction: column;
		flex-wrap: nowrap;
	}
	.flexrow.half .flexitem:first-child .col {
		margin-bottom: 3em;
	}
	.mouse {
		transform: rotate(180deg)
	}
}

/* Mobile Landscape Size to Tablet Portrait  */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	.scroller {
	  width: 420vw;
	}
	@keyframes icon-scroller {
	  100% {
		transform: translateX(calc(420vw * -0.5));
	  }
	}
}

/* Mobile Portrait Size to Mobile Landscape Size  */
@media only screen and (max-width: 479px) {
	body {
		color: #222;
	}
	.no-mob-p {
		display: none !important;
	}
	.mob-only-p {
		display: block !important;
	}
	td.mob-only-p {
		display: table-cell;
	}	
	.mainImg {
		height: 100vh;
		min-height: calc(100vh - 50px);
	}
	.mainImg .columns {
		left: 10px;
		width: calc(100% - 20px) !important;
	}
	.mainImg p {
		font-size: 1em;
	}
	.scroll-link {
		bottom: 5vH;
	}
	.scroll-link:hover {
		bottom: 5.5vH;
	}
	.intro {
		margin: 1em 0 2em;
	}
	.flexrow {
		flex-direction: column;
	}
	.flexrow.split {
		flex-direction: row;
	}
	.flexitem {
		width: 100%
	}
	.footer .columns p {
		margin-bottom: 0.9em;
	}
	.footer .columns img {
		margin: 0;
	}
	.scroller {
	  width: 600vw;
	}
	@keyframes icon-scroller {
	  100% {
		transform: translateX(calc(600vw * -0.5));
	  }
	}
	
}
	
html {
    opacity: 1;
}
