/* Wraps
-------------------------------------------------- */

.wrap {
	width: 100%;
	position: relative;
	padding: 70px 0 68px;
	background: #fff;
}
	.wrap.header {
		padding: 30px 0 30px;
		z-index: 100;
		background: var(--col1);
		/*background: linear-gradient(90deg, rgba(0,40,64,1) 0%, rgba(0,40,64,1) 50%, rgba(0,121,190,1) 50%, rgba(0,121,190,1) 100%);*/
		box-sizing: border-box;
		display: flex;
		position: fixed;
	}

.breadcrumb {
	background: #f3f3f3;
	border-bottom: 1px solid #e5e5e5;
	padding: 10px 0;
	z-index: 2;
}
.mapHolder {
	padding: 0;
}
.wrap.content {
	z-index: 2;
}
.wrap.map {
	padding-top: 0;
}
.wrap.footer {
	margin-top: -1px;
	padding: calc(calc(100vw * 0.19791666666) * 0.5) 0 0;
	min-height: calc(100vw * 0.19791666666);
	background: url(../images/bg-footer.svg);
	background-size: cover;
	background-position: left top;
	background-repeat: repeat-x;
	box-sizing: border-box;
	z-index: 1;
}
#luxy {
	position: relative;
	z-index: 2;
	pointer-events: none;
}
#luxy * {
	pointer-events: all;
}

	.wrap.mainImg {
		padding: 0;
		background: #111;
	}
	.mainImg .overlay {
		/*background: rgba(0,40,64,0.2);*/
		/*background: linear-gradient(180deg, rgba(0,40,64,0.6) 0%, rgba(0,40,64,0.3) 50%, rgba(0,40,64,0) 100%);*/
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		z-index: 300;
	}
		/*.mainImg .overlay::before,
		.mainImg .overlay::after {
			content: '';
			display: block;
			width: 300px;
			height: 151px;
			position: absolute;
			left: calc(50% - 150px);
			bottom: -1px;
			border-style: solid;
			border-width: 0 150px 151px 150px;
			border-color: transparent transparent #fff transparent;
			box-sizing: border-box;
		}
		.mainImg .overlay::before {
			top: -1px;
			bottom: auto;
			border-width: 151px 150px 0 150px;
			border-color: #fff transparent transparent transparent;
		}*/
	.overlayBg {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 200;
		width: 40%;
		height: 100%;
		background: var(--col1Alpha);
		mix-blend-mode: multiply;
	}
	.mainImg .vBg {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		z-index: 2;
	}

	.mainImg .container {
		z-index: 3;
		height: 100%;
	}


		.devMainImg {
			min-height: 580px;
			background: #fff;
			background-size: cover !important;
			background-position: center !important;
			box-sizing: border-box;
			position: relative;
		}
			/*.mainImg.title {
				height: 60vh;
			}*/
			.devMainImg .overlay {
				background: rgba(0,40,64,0.2);
				/*background: linear-gradient(180deg, rgba(0,40,64,0.6) 0%, rgba(0,40,64,0.3) 50%, rgba(0,40,64,0) 100%);*/
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				z-index: 3;
			}

.devMainImg .vBg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: 2;
}

.devMainImg .container {
	z-index: 3;
	height: 100%;
}
#slideText {
	margin: 0 auto;
	width: 40%;
	box-sizing: border-box;
}
	#slideText.home {
		position: relative;
		z-index: 200;
		margin: 0;
		padding: 0 5vw;
		height: 100%;
	}

.mainImg h1, .devMainImg h1,
.mainImg p.boxed {
	font-family: "BW Gradual Extra Bold", Arial, sans-serif;
	color: var(--colWhite);
	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, .devMainImg h1 {
	font-size: 3.5em;
	text-transform: none;
	margin-bottom: 10px;
	text-shadow: 0px 0px 6px rgba(0,0,0,0.5);
}

	.mainImg h1.dark, .devMainImg h1.dark {
		color: var(--col1);
	}

.mainImg p.boxed {
	display: inline-block;
	padding: 0.35rem 0.8rem 0.2rem;
	font-family: "Helvetica LT W01 Bold";
	background: var(--col2);
	color: var(--colWhite)
}

.mainImg p {
	font-family: "Helvetica LT W01 Roman";
	font-size: 1.125rem;
	line-height: 1.4;
	margin-bottom: 1rem;
	color: #fff;
}
/* home */
.mainImg #slideText.home div {
	position: relative;
	z-index: 2;
	text-wrap: pretty;
}

.mainImg #slideText.home p.strapline {
	text-transform: uppercase;
	font-family: "BW Gradual Extra Bold", sans-serif;
	font-size: clamp(2rem, 6vw, 3.75rem);
	line-height: 1;
	margin-bottom: 0;
}

.mainImg #slideText.home p.boxed {
	text-transform: uppercase;
	margin: 1.5rem 0;
}

.mainImg #slideText.home p.subtitle {
	font-family: "BW Gradual Extra Bold", sans-serif;
	font-size: clamp(2rem, 6vw, 3.75rem);
	color: var(--col2);
	line-height: 1;
	text-transform: uppercase;
	margin-bottom: 0;
}

.mainImg #slideText.home p.desc {
	margin: 0;
}

.mainImg.video {
	min-height: 0;
	height: auto;
	padding: 0;
}
	
/* home */

.wrap.luxy-el.strip {
	min-height: auto;
	height: 180px;
	padding: 0;
	background: transparent;
	background-size: cover !important;
	background-position: center !important;
}
	.wrap.luxy-el.strip .container {
		height: 100%;
	}
	.wrap.luxy-el.strip a {
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		padding: 10px 15px;
		font-size: 1em;
		text-transform: uppercase;
		background: #ffffff;
	}
	.wrap.luxy-el.strip a:hover {
		color: #fff;
		background: #00361a;
	}

.invert a p.icon::after,	
.invert p.icon a::after,
.invert p.icon.left a::before {
	filter: brightness(5);
}

#instagram {
	position: relative;
    z-index: 10;
}


/* Header
-------------------------------------------------- */

#logo {
	flex: 1;
	padding-left: 2em;
	position: relative;
	z-index: 5;
}
#logo a {
	display: block;
	height: 60px;
	float: left;
    border-bottom: none;
	background: none;
	transition: height 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#logo .logo {
	display: block;
    float: left;
	width: auto;
	height: 100%;
}
/*.header.menuShowing #logo .st0 {
	fill: #fff;
}*/

#menu {
	display: flex;
	flex: 2 1 auto;
	justify-content: flex-end;
	align-items: center;
	align-self: end;
	margin-right: 2em;
	height: 44px;
	position: relative;
	z-index: 2;
}

.dev #menu {
	align-self: center;
}

#menuOverlay {
	height: 100%;
	width: 100%;
	position: fixed;
	left: -9999px;
	top: 0;
	background: rgba(0,25,32,0.9);
	z-index: 1;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	pointer-events: none;
	overflow-y: scroll;
}
#menuOverlay.showing {
	opacity: 1;
	left: 0;
	pointer-events: visible;
}

/* burger */

.hamburger {
	height: 28px;
	padding: 0;
	display: none;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
	opacity: 1;
}
.hamburger:active,
.hamburger:focus {
	outline: none;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: #fff;
}
.hamburger-box {
	width: 40px;
	height: 24px;
	display: inline-block;
	position: relative;
}

.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 40px;
	height: 4px;
	background-color: #fff;
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block;
}
.hamburger-inner::before {
	top: -10px;
}
.hamburger-inner::after {
	bottom: -10px;
}

.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin.is-active .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	background-color: #fff;
}
.hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.hamburger--spin.is-active .hamburger-inner::after {
	background-color: #fff;
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.header.wrap.menuShowing .hamburger-inner,
.header.wrap.menuShowing .hamburger-inner::before,
.header.wrap.menuShowing .hamburger-inner::after,
.header.wrap.menuShowing .hamburger--spin.is-active .hamburger-inner {
	background-color: #fff;
}

/* Breadcrumb
-------------------------------------------------- */

.breadcrumb ul, .breadcrumb li {
	list-style: none;
	padding: 0;
	margin: 0;
}

.breadcrumb li {
	font-size: 0.8em;
	float: left;
	margin: 0;
	color: #888;
}


/* Map
-------------------------------------------------- */

#gMap {
	max-width: 100%;
	height: 50vH;
	background: var(--greyLight);
	margin-bottom: 1.5em;
	box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.2);
}
		
		
/* Content
-------------------------------------------------- */

#preloader {
	padding: 2rem 0;
}

/*.mouse {
	max-width: 2.5em;
	width: 100%;
	height: auto;
}*/

.scroll-link {
	display: block;
	position: absolute;
	width: 80px;
	height: 64px;
	bottom: 60px;
	left: 50%;
	transform: translate(-50%,50%);
	z-index: 400;
	background: none !important;
	transition: opacity 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000)
}
	.scroll-link svg {
		position: absolute;
		top: 24px;
		left: 0;
		width: 100%;
		height: auto;
		transition: top 0.3s cubic-bezier(0.190, 1.000, 0.220, 1.000)
	}
	.scroll-link:hover svg {
		top: 32px;
	}
		.scroll-link:hover svg .arrowFill {
			fill: var(--col1)
		}
	/*.scroll-link .box,
	.scroll-link .scroll {
		transition: fill 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000)
	}
	.scroll-link:hover .box {
		fill: var(--col1);
	}
	.scroll-link:hover .scroll {
		fill: #fff;
	}*/
	.scroll-link.fade {
		opacity: 0;
	}

.angles {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 6;
}

.intro {
	margin-top: 2em;
	margin-bottom: 3em;
}
.intro h4 {
	margin-bottom: 20px;
}
#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: 2em 0.5em 3em;
	justify-content: center;
	transition: transform 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.flexrow.half {
	overflow: hidden;
	justify-content: space-between;
}
.columns .flexrow {
	margin-left: 0;
	margin-right: 0;
}
.flexitem {
	display: flex;
	flex: 0 1 calc(50% - 1.5em);
	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), opacity 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	min-height: 300px;
	position: relative;
	box-sizing: border-box;
}
.flexitem .col,
.flexitem .text {
	padding: 1.5em;
	display: flex;
	flex-direction: column;
	flex: 1;
	align-self: center;
	text-wrap: pretty;
}
.flexitem .col {
	padding: 0 1.5em;
	
	align-self: flex-start;
}
.flexitem.bgImage,
.flexitem.image {
	background-size: cover !important;
}
.half .flexitem .text {
	padding: 4em 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.plan {
	align-self: center;
	margin-bottom: 2em;
	mix-blend-mode: multiply;
}
.flexitem .col img.north {
	width: 30%;
	max-width: 150px;
	align-self: center;
}
.flexitem img.floors {
	margin-top: 2em;
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
	mix-blend-mode: multiply;
}

/* facts */

.facts {
	display: flex;
	margin: 2em 0 3.5em;
	padding: 0;
	justify-content: space-between;
	background: #fff;
}
.fact {
	font-family: "BW Gradual Extra Bold", Arial, sans-serif;
	font-size: 1.1em;
	line-height: 1.4;
	width: calc(25% - 2em);
	border-right: 3px solid #00bede;
}
.fact span.figure {
	font-size: 3em;
	color: #00bede;
	line-height: 1;
}

/* split box */
.flexrow.reverse {
	flex-direction: row-reverse;
}

/* team */

.staff {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2em;
}

.flexrow.team {
	display: flex;
	flex: 0 1 calc(50% - 1em);
	gap: 0 1.5em;
	margin: 1em 0 1em;
	justify-content: flex-start;
	padding-top: 1.5em;
	border-top: 1px solid var(--greyLight);
}
	.flexrow.team figure {
		max-width: 150px;
	}
	.flexrow.team .biog {
		flex: 1;
	}
		.flexrow.team .biog h3,
		.flexrow.team .biog p {
			margin-bottom: 5px;
		}
		.flexrow.team .biog p {
			font-size: 0.9em;
		}
			.flexrow.team .biog p.jobTitle {
				font-family: "Helvetica LT W01 Bold", Arial, sans-serif;
				font-size: 0.85em;
			}


/* feature */
.flexrow.featureholder {
	gap: 2em;
	justify-content: space-between;
}
.flexitem.feature {
	flex: 1 0 30%;
	border-bottom: 1px solid var(--greyLight);
	box-sizing: border-box;
}
.flexitem.feature a {
	display: flex;
	flex-direction: column;
    border: none;
	align-items: stretch;
}
.flexitem.feature a:hover * {
	color: #fff !important;
}
.flexitem.feature .text {
	padding: 30px 60px;
	text-align: center;
}
.flexitem.feature .text p.icon {
	margin-top: auto;
}

/* rental listings */

.flexrow.rental {
	padding-top: 4rem;
	border-top: 1px solid var(--greyLight);
}
.flexrow.rental .flexitem.image {
	display: block;
}
	.flexrow.rental .flexitem.image a.button {
		position: absolute;
		left: 1rem;
		bottom: 1rem;
		margin: 0;
		padding-left: 2.4em;
	}
	.flexrow.rental.reverse .flexitem.image a.button {
		left: auto;
		right: 1rem;
	}
		.flexrow.rental .flexitem.image a.button::before {
			position: absolute;
			left: 1em;
			top: calc(50% - 8px);
			margin: 0;
			background: url(../images/icons/photo.svg) center no-repeat;
			background-size: 16px 16px;
			width: 16px;
			height: 16px;
			content: '';
		}
ul.rooms {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	list-style: none;
	margin: 0 0 1.25em;
}
	ul.rooms li {
		display: flex;
		align-items: flex-end;
		font-family: "Helvetica LT W01 Bold";
		font-size: 0.875em;
		margin: 0 1.25em 0 0;
	}
		ul.rooms li:first-child {
			margin-left: 0;
		}
		ul.rooms li:last-child {
			margin-right: 0;
		}
		ul.rooms li::before {
			content: "";
			display: inline-block;
			margin-right: 0.5rem;
			width: 32px;
			height: 32px;
		}
		ul.rooms li.living::before {
			background: url(../images/icons/living.svg) center no-repeat;
			background-size: 32px 32px;
		}
		ul.rooms li.bed::before {
			background: url(../images/icons/bed.svg) center no-repeat;
			background-size: 32px 32px;
		}
		ul.rooms li.bath::before {
			background: url(../images/icons/bathroom.svg) center no-repeat;
			background-size: 32px 32px;
		}

.flexrow.rental .btnGroup {
	display: flex;
	column-gap: 1rem;
}

/* grid */

.gridHolder {
	width: 100%;
	margin: 2em 0 2.2em;
	display: grid;
	grid-template-columns: repeat(12, minmax(0,1fr));
	justify-content: center;
	justify-items: center;
	grid-gap: 1.5em;
}
form.gridHolder {
	margin: 0 0 1em;
}
.gridHolder.reverse .gridItem:nth-child(1) { order: 2; }
.gridHolder.reverse .gridItem:nth-child(2) { order: 1; }

.gridHolder.shadow {
	grid-gap: 20px;
}
.gridHolder .gridHolder {
	margin: 0;
	grid-gap: 0 20px;
}
.gridHolder.start {
	justify-items: flex-start;
}
.gridHolder.end {
	justify-items: flex-end;
}
.gridItem {
	grid-column: auto / span 4;
	display: flex;
	align-content: flex-start;
	width: 100%;
	transition: transform 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	border-radius: 3px;
	box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.2);
}
	form.gridHolder .gridItem {
		box-shadow: none;
		flex-direction: column;
	}
.gridItem.col {
	flex-direction:column;
}
.gridItem.full {
	grid-column: auto / span 12 !important;
}
.gridItem.nine {
	grid-column: auto / span 9;
}
.gridItem.eight {
	grid-column: auto / span 8;
}
.gridItem.six {
	grid-column: auto / span 6;
}
.gridItem.four {
	grid-column: auto / span 4;
}
.gridItem.three {
	grid-column: auto / span 3;
}
.gridItem.two {
	grid-column: auto / span 2;
}
.galleryGrid figure,
.gridHolder figure {
	width: 100%;
	background: var(--col1);
}
.galleryGrid img,
.gridItem img {
	transition: all 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	margin-bottom: 0;
}
.gridHolder a:hover figure img {
	opacity: 0.5;
	filter: grayscale(1);
	mix-blend-mode: luminosity;
}
.gridHolder a p {
	color: var(--colBlack);
}
.gridHolder a:hover * {
	color: var(--colWhite);
}
.gridItem a {
	position: relative;
	border: none;
	perspective: 1000px;
	perspective-origin: 20% 50%;
	background: var(--greyPale);
}
	.gridItem a:hover {
		background: var(--col1);
	}
.gridItem .text {
	flex: 1;
	padding: 1.5em 2em;	
	text-wrap: pretty;
}
.gridItem .text * {
	transition: color 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.gridItem .text *:last-child {
	margin-bottom: 10px;
}
.gridItem .text.noFig {
	padding-top: 5.5em;
}
.gridItem h2,
.gridItem h3 {
	margin-bottom: 2px;
}
.gridItem h3::after {
	content: '';
	display: block;
	height: 3px;
	width: 3em;
	margin: 0.6em 0;
	background: var(--col1);
}
	.gridItem a:hover h3::after {
		background: #fff;
	}
.gridItem p.date {
	margin-bottom: 10px;
}
.gridItem .dateTag {
	position: absolute;
	z-index: 2;
	left: -4px;
	top: 30px;
	padding: 7px 12px 6px;
	background: var(--col1);
	color: #fff;
	font-family: "Helvetica LT W01 Roman", Arial, sans-serif;
	font-size: 0.8em;
	text-transform: uppercase;
	transition: background 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	letter-spacing: 0.08em;
	box-shadow: 1px 1px 4px 0px rgb(0 0 0 / 30%);
}
	.gridItem a:hover .dateTag {
		background: #002840;
	}
	.gridItem .dateTag:after {
		position: absolute;
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 4px 4px 0;
		border-color: transparent rgba(0,40,64,1) transparent transparent;
		bottom: -4px;
		left: 0;
	}

.filterSection {
	border-top: 1px dashed #5DBCFE;
	padding: 1.5em 0 0;
	margin-top: 2em;
}

/* popover dialog */

.popover {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	overflow-y: auto;
	width: 100%;
	height: 100%;
	padding: 5vw;
	margin: 0;
	box-sizing: border-box;
	border: none;
	background: var(--colWhite);
	z-index: 200;
}

/* gallery */

.iconGrid  {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2em;
	gap: 2em;
	margin: 1em 0 0;
}
.iconGrid figure {
	width: 100%
}
.iconGrid figure > img {
	max-height: 100px;
}
	/*.iconGrid.alt img {
		filter: brightness(0%) saturate(1) invert(23%) sepia(73%) saturate(4834%) hue-rotate(345deg) brightness(101%) contrast(93%);
	}*/
	.iconGrid figcaption {
		font-family: "Helvetica LT W01 Bold", Arial, sans-serif;
		font-size: 1.1em;
		padding: 10px 0;
		background: none;
	}

/* photoswipe image */
.enlarge img {
	transition: all 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.enlarge a:hover img {
	filter: grayscale(1) brightness(0.7);
}
.enlarge a::before {
	content: '';
	position: absolute;
	z-index: 2;
	width: 64px;
	height: 64px;
	left: 50%;
	top: 50%;
	margin: -32px 0 0 -32px;
	background: url("../images/icons/magnify.svg") no-repeat;
	background-size: cover;
	opacity: 0;
	transform: rotateY(135deg);
	transition: 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.enlarge a:hover::before {
	transform: rotateY(0deg);
	opacity: 1;
}

		
/* Footer
-------------------------------------------------- */

#goTop a {
	display: block;
	background: url('../images/icons/arrow-up.svg') 0 5px no-repeat;
	background-size: 24px 24px;
	width: 24px;
	height: 24px;
	margin: 1.5vw 0;
	float: right;
	border: none !important;
}

	#goTop a:hover {
		background: url('../images/icons/arrow-up.svg') 0 0 no-repeat;
	}

.footer p,
.footer li {
	font-size: 0.8125rem;
}
.footer li {
	list-style: none;
}
.footer .columns p {
	color: #fff;
}
.footer .columns a {
	font-family: "Helvetica LT W01 Roman", Arial, sans-serif;
	color: #fff;
	border-bottom: 1px solid #fff;
}
	.footer .columns .flexrow a,
	.footer .columns a:hover {
		border-bottom: none
	}
.footer .columns img {
	width: 140px;
	max-height: auto;
	display: block;
}
.footer .flexrow {
	justify-content: flex-start;
	align-items: center;
	gap: 30px;
}

/* social buttons */

#social, #social li {
	list-style: none;
	margin: 0 0 1em 0;
	padding: 0;
}
	#social li {
		display: inline;
		width: 24px;
		margin-bottom: 1em;
		margin-right: 0.25em;
	}
		#social li a {
			border: none;
		}
		#social li a::before {
			content: '';
			display: inline-block;
			vertical-align: middle;
			width: 24px;
			height: 24px;
			padding: 8px;
			border-radius: 3px;
			background-color: rgba(255,255,255,0.1);
			background-size: 24px 24px !important;
			background-position: center !important;
			background-repeat: no-repeat !important;
			filter: brightness(0) invert(1);
			transition: background 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000), background 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		}
	#social li.fb a::before {
		background-image: url(../images/icons/i-facebook.svg)
	}
	#social li.in a::before {
		background-image: url(../images/icons/i-instagram.svg)
	}
	#social li.li a::before {
		background-image: url(../images/icons/i-linkedin.svg)
	}
	#social li.tw a::before {
		background-image: url(../images/icons/i-twitter.svg)
	}
	.footer .columns #social li a:hover {
		border: none
	}
		.footer .columns #social li a:hover::before {
			background-color: #fff;
			filter: saturate(1) brightness(1);
		}

/* toolbox */

.toolbox {
	position: fixed;
	z-index: 9999;
	top: 50%;
	right: 0;
	opacity: 1;
	transform: translateY(-50%);
	transition: opacity 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	padding: 10px 0 10px 10px;
	background: #fff;
	border-radius: 5px 0 0 5px;
}
.toolbox.show {
	opacity: 1
}
.toolbox * {
	margin: 0;
	padding: 0;
}
.toolbox ul {
	display: flex;
	flex-direction: column;
	list-style: none;
}
.toolbox li {
	position: relative;
	display: block;
	
}
.toolbox li a {
	position: relative;
	z-index: 2;
	display: block;
	width: 48px;
	height: 48px;
	background-size: 24px 24px !important;
	border-bottom: 1px solid var(--col1);
}
.toolbox li a:hover {
	background-color: var(--col1) !important;
	background-position: 50% 50% !important;
}
.toolbox li.tel a {
	background: #fff url(../images/icons/tel.svg) 0 50% no-repeat;
}
.toolbox li.email a {
	background: #fff url(../images/icons/email.svg) 0 50% no-repeat;
}
.toolbox li.contact a {
	background: #fff url(../images/icons/pin.svg) 0 50% no-repeat;
}
.toolbox li.register a {
	background: #fff url(../images/icons/register.svg) 0 50% no-repeat;
}
.toolbox li.brochure a {
	background: #fff url(../images/icons/brochure.svg) 0 50% no-repeat;
}
.toolbox li:last-child a {
	border-bottom: none;
}
.toolbox li span {
	position: absolute;
	z-index: 1;
	display: inline-block;
	top: 0;
	left: 60px;
	height: 48px;
	line-height: 48px;
	width: 120px;
	text-align: right;
	opacity: 0;
	transition: all 0.6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	background-color: rgba(0,121,190,1);
	color: #fff;
	border-radius: 5px 0 0 5px;
	padding: 0 15px 0 10px;
}
.toolbox li:hover span {
	top: 0;
	left: -145px;
	opacity: 1
}


/* #Media Queries
================================================== */
@media only screen and (max-width: 1600px) {
	body {
		font-size: 18px;
	}
	.flexitem.feature .text {
		padding: 30px 30px;
	}
	.mainImg h1 {
		font-size: 3em;
	}
	.overlayBg,
	#slideText {
		width: 50vw
	}
	.scroll-link {
		width: 75px;
		height: 60px;
		bottom: 45px;
	}
	.scroll-link svg {
		top: 18px;
	}
	.scroll-link:hover svg {
		top: 24px;
	}
	#logo a {
		height: 50px;
	}
}
@media only screen and (max-width: 1479px) {
	textarea {
		min-height: 10.9375rem;
	}
}

/* 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;
	}
	textarea {
		min-height: 10.375rem;
	}
	.wrap {
		padding: 55px 0 45px;
	}
		.wrap.header {
			padding: 20px 0;
		}
	#sideBar {
		margin-top: 17px
	}
	#logo {
		padding-left: 1.5em;
	}
	#menu {
		margin-right: 1.5em;
	}
	#logo a {
		height: 40px;
	}
	.mainImg p {
		font-size: 1.1rem;
	}
	/*.mainImg .overlay::before,
	.mainImg .overlay::after {
		width: 200px;
		height: 101px;
		left: calc(50% - 100px);
		border-width: 0 100px 101px 100px;
	}
	.mainImg .overlay::before {
		top: -1px;
		bottom: auto;
		border-width: 101px 100px 0 100px;
		border-color: #fff transparent transparent transparent;
	}*/
	.half .flexitem .text {
		padding: 2em 0;
	}
	.half .flexitem .col {
		padding: 0;
	}
	#social li {
		display: inline;
		width: 20px;
		margin-bottom: 10px;
		margin-right: 0.8em;
	}

		#social li a::before {
			content: '';
			display: inline-block;
			vertical-align: middle;
			width: 20px;
			height: 20px;
			background-size: 20px 20px !important;
			transition: filter 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		}
}

/* Tablet Landscape size to wide monitor  */
@media only screen and (min-width: 960px) and (max-width: 1279px) {
	#mainContent.alpha {
		padding-right: 40px;
	}
	#mainContent.omega {
		padding-left: 40px;
	}
	.footer .columns img {
		margin-bottom: 1em !important;
	}
}
@media only screen and (max-width: 1023px) {
	#cssmenu {
		display: none;
	}
	.hamburger {
		display: block;
	}
	.footer .twoCol {
		column-count: 1;
	}
}
@media only screen and (max-width: 959px) {
	hr {
		padding-top: 30px;
		margin-bottom: 50px;
		height: 0;
	}
	.infogrid th, .infogrid td {
		font-size: 0.9em;
	}
	#cssmenu {
		display: none;
	}
	.wrap.luxy-el.strip {
		height: 144px;
	}
	.overlayBg,
	#slideText {
		width: 100%;
	}
	nav.pagination {
		width: 100%;
	}
	.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;
	}
	.staff {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 10px 0;
	}
	.flexrow.team {
		display: flex;
		flex: 1;
		margin-bottom: 0;
	}
	.gridItem,
	.gridItem.two,
	.gridItem.three,
	.gridItem.four,
	.gridItem.five,
	.gridItem.six,
	.gridItem.seven,
	.gridItem.eight,
	.gridItem.nine {
		grid-column: auto / span 6;
	}
	.gridItem.four:nth-child(3n),
	.gridItem.buttons {
		grid-column: auto / span 12;
	}
	.galleryGrid.testimonials  {
		column-count: 1;
		grid-gap: 0;
	}
	#filters form .flexrow {
		flex-direction: column;
	}
	.wrap.footer {
		padding: calc(calc(100vw * 0.25) * 0.5) 0 0;
		min-height: calc(100vw * 0.275);
	}
	.footer .twoCol {
		column-count: 1;
	}
	#goTop a {
		margin: 5vw 0;
	}
	.footer .columns img {
		margin-bottom: 1em !important;
	}
}

/* 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;
	}
	#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, h3 {
		font-size: 2em;
		margin-bottom: 0.8em;
	}
	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: 1.5em;
	}
	.insetL,
	.insetR {
		max-width: 100%;
		margin: 0 0 25px;
	}
	.wrap:not(.footer) .twoCol {
		column-count: 1;
		column-gap: 0;
	}

	.divider.mob-only {
		display: inline-block !important;
	}
	.wrap {
		padding: 40px 0 30px;
	}
	.mainImg {
		min-height: 460px;
	}
		.mainImg #slideText.home p.strapline {
			font-size: clamp(2rem, 10vw, 5rem);
		}
		/*.mainImg .overlay::before,
		.mainImg .overlay::after {
			width: 140px;
			height: 71px;
			left: calc(50% - 70px);
			border-width: 0 70px 71px 70px;
		}

		.mainImg .overlay::before {
			border-width: 71px 70px 0 70px;
		}*/
	#slideText {
		width: 80vw
	}
	.scroll-link {
		width: 50px;
		height: 40px;
		bottom: 30px;
	}
		.scroll-link svg {
			top: 12px;
		}

		.scroll-link:hover svg {
			top: 16px;
		}
	.wrap.footer {
		background-position: -120px top;
		padding: calc(calc(100vw * 0.4) * 0.5) 0 0;
		min-height: calc(100vw * 0.275);
	}
	#goTop a {
		margin: 0 0 30px;
	}
	.wrap.footer p {
		margin-bottom: 1.5em;
	}
		.wrap.footer .twoCol {
			column-count: 2;
		}
	#logo a,
	#menu {
		height: 30px;
	}
	.hamburger {
		bottom: 6px;
	}
	.hamburger,
	.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
		width: 32px;
	}
	#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.featureholder {
		margin-bottom: 0;
		gap: 0px;
	}
	.flexrow.half .flexitem:first-child .col {
		margin-bottom: 3em;
	}
	.flexitem.feature {
		margin-bottom: 20px;
	}
	.flexitem.image {
		width: 100%;
	}
	.flexitem.bgImage {
		padding-bottom: 59%
	}
	.feature::after,
	.feature::before {
		display: none;
	}
	.facts {
		margin: 1em 0 2.5em;
		flex-wrap: wrap;
	}
	.fact {
		width: calc(50% - 1em);
		font-size: 1em;
		margin-bottom: 2em;
	}
		.fact span.figure {
			color: #00bede;
			line-height: 1;
		}
	.gridHolder .gridItem,
	.gridHolder .gridItem.two,
	.gridHolder .gridItem.three,
	.gridHolder .gridItem.four,
	.gridHolder.process .gridItem.six {
		grid-column: auto / span 12;
	}
	.gridItem {
		border-bottom: 1px solid var(--greyLight);
	}
	form.gridHolder {
		gap: 0;
	}
	form.gridHolder .gridItem {
		border-bottom: none;
	}
	.gridItem .text {
		padding: 1.5em 1em 1.2em;
	}
	.gridItem .text p {
		font-size: 0.9em;
	}
	/*.mouse {
		transform: rotate(180deg)
	}*/
	.toolbox {
		position: fixed;
		top: auto;
		bottom: 0;
		right: 0;
		transform: none;
		border-radius: 0;
		border-top: 1px solid var(--col1);
		width: 100%;
		padding: 0;
	}
	.toolbox.show {
		opacity: 1
	}
	.toolbox * {
		margin: 0;
		padding: 0;
	}
	.toolbox ul {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		list-style: none;
	}
	.toolbox li {
		flex: 1 1 auto;
		border: none;
		border-right: 1px solid var(--col1)
	}
	.toolbox li:last-child {
		border-right: none
	}
	.toolbox li a {
		width: 100%;
		background-position: 50% 50% !important;
	}
	.toolbox li span,
	.toolbox li:hover span {
		display: none !important;
	}
	#cookie-law {
		left: 0;
		top: 0;
		bottom: auto
	}
}

/* Mobile Landscape Size to Tablet Portrait  */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	

}

/* 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;
	}
	.infogrid th, .infogrid td {
		font-size: 0.9em;
	}
	td a .mob-only-p {
		display: inline-block !important;
	}
	td.mob-only-p {
		display: table-cell;
	}
	label, legend, input[type="text"], input[type="password"], input[type="email"], input[type="tel"], textarea,  select {
		width: 100%;
		padding: 0.9em 0.5em 0.9em;

	}
	.twoCol {
		column-count: 1;
		column-gap: 0
	}
	.wrap.header {
		padding: 15px 0 12px;
	}
	
	.mainImg {
		height: 100vH;
		min-height: 450px;
		max-height: 600px;
	}
	#slideText {
		width: 100%;
	}
	.mainImg h1 {
		font-size: 2em;
		margin-bottom: 10px;
	}
	.mainImg p {
		font-size: 1rem;
	}
	.mainImg #slideText.home p.boxed {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
	.intro {
		margin-top: 1em;
		margin-bottom: 2em;
	}
	.flexrow {
		flex-direction: column;
	}
	.footer .flexrow,
	.flexrow.split {
		flex-direction: row;
	}
	.flexitem {
		width: 100%
	}
	.flexitem img.floors {
		max-width: 100%;
	}
	.flexrow.team {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
		.flexrow.team figure {
			max-width: 100px;
		}
	.feature {
		flex: 1;
		width: 100%;
		padding: 
	}
	.iconGrid {
		grid-gap: 1em;
		gap: 1em;
	}
	.iconGrid figure > img {
		max-height: 70px;
	}
	.iconGrid figcaption,
	.footer .columns p {
		margin-bottom: 0.9em;
	}
	.footer .columns img {
		height: auto;
		max-width: 100px;
	}
	/*.footer .columns img:last-of-type {
		margin-right: 0;
	}*/
}
	
html {
    opacity: 1;
}

