:root {
    --head : tuppence, serif;
    --body : europa, sans-serif;
	--path-fill-1: #dce3f1;
	--path-fill-2: #88d6e9;
	--path-fill-3: #318ea5;
    --blu : #064352;
    --tan : #fffbf4;
    --whi : #fffefd;
    --tablet : 991.98px;
}

@import url('editor-style.css');


/**** General */

html {
    font-size: 8px;
    scroll-behavior: smooth;
}

.avoid-clicks {
    pointer-events: none!important;
  }

body {
    font-family: var(--body);
    font-size: 2.25rem;
    color: var(--blu);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--head);
}

h2 {
    font-size: 5rem;
    line-height: 1.2;
}

.post, .page {
    margin: 0;
}

.home-block h2 {
    font-size: 8vw;
    line-height: .8;
    margin-top: 0;
}

img.overlay {
    width: 30%;
    max-width: 400px;
    mix-blend-mode: hard-light;
}

.lock-body {
    overflow: hidden;
}

.entry-content {
    margin-top: 0;
}

/**** Info Bar – In the header and footer */

.info_bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--blu);
    color: white;
    padding: 10px 20px;
    text-transform: uppercase;
    font-size: 2rem;
    font-weight: 500;
}

.footer-nav {
    padding: 10px 20px 10px;
}

.info_bar a {
    color: white;
    text-decoration: none;
}

.info_bar ul {
    display: flex;
    list-style: none;
    margin: 0;
    font-size: 2rem;
    padding: 0;
}

.info_bar ul li {
    margin: 10px;
}

.info_bar ul li:last-child {
    margin-right: 0px;
}

.info_bar .booking-item {
	min-width: 75px;
}

.info_bar .booking-link {
	text-transform: initial;
	color: #74B9AC;
	border-bottom: 1px solid #74B9AC;
	padding-bottom: 4px;
	font-size: 17px;
}

.info_bar .booking-link:hover {
	color: #fff;
	border-bottom-color: #fff;
	padding-bottom: 2px;
}

/**** Hero Image Block */

.hero-header {
    height: 90vh;
    min-height: 720px;
    position: relative;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    flex-direction: column;
}

.hero-list {
	margin-bottom: 2.5em;
}

.hero-list a {
	color: #fff;
	text-underline-offset: 4px;
}

.hero-list a:hover {
	color: #facdc1;
}
.hero-header .booking-link {
	color: #fff;
	text-decoration: none;
	font-size: 23px;
	position: relative;
}

.hero-header .booking-link::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #fff;
	bottom: 0;
	left: 0;
	right: 0;
	position: absolute;
    -webkit-transition: .25s ease-out;
    -moz-transition: .25s ease-out;
    -o-transition: .25s ease-out;
    transition: .25s ease-out;
    transform: translateY(4px);
}

.hero-header .booking-link:hover {
	color: #facdc1;
}

.hero-header .booking-link:hover::after {
	transform: translateY(0px);
	background: #facdc1;
}

header h1 {margin-bottom: 10%;}

header h1 {
    display: flex;
    flex-direction: column;
}

header h1 span:first-child {
    font-family: var(--body);
    font-size: 6.7vw;
}

header h1 span:last-child {
    font-size: 12vw;
    line-height: 0.75;
}

header p {
    margin-top: 2rem;
    font-weight: 500;
    text-transform: uppercase;
}

header p .divider {
    margin: -3px 20px 0;
    display: inline-block;
}

.hero-block {
    display: flex;
    flex-direction: column;
    position: relative;
    background: var(--blu);
}

img.overlay-hero {
    position: absolute;
    top: 46%;
    right: 5%;
    z-index: 9999;
}

.hero-header {}


.hero-content {
    width: 100%;
    background: var(--blu);
    color: white;
    padding: 5%;
}

figure.bg-filler {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-attachment: fixed;
    margin: 0;
    z-index: -1;
}

.about-block {
	padding-top: 10%;
	padding-bottom: 4%;
}

.about-block .full-row h3 {
	font-size: 1.4em;
	margin-bottom: 1.4em;
}

.about-block .full-row p {
	font-size: 2.37rem;
	margin-bottom: 1.4em;
}

.wave-icon {
	width: 300px;
	max-width: 70%;
	margin: 0 auto 60px;
}
.wave-icon svg {
	display: block;
	width: 100%;
}
/**** Home Block – Blocks containing pricing on the home page */

.home-block {
    display: flex;
    justify-content: space-between;
    padding: 5%;
}

.offset-column-on.home-block {
	padding-top: calc(5% + 140px);
	margin-top: -140px;
}

.price-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.price-list li {
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 700;
}

.price {
    font-size: 5rem;
    font-family: var(--head);
}

.label-des {
    width: 75%;
    align-self: flex-end;
    position: relative;
    margin-bottom: 2.5%;
}

.label-des .description {
    font-size: 1.5rem;
}

.label-des .description p:last-child {
    margin-bottom: 0;
}

.price-list .label {
    font-size: 3rem;
    line-height: 1.1;
}


.price-list li {
    display: flex;
    flex-direction: column;
    /* position: relative; */
}

.label-des:before {
    content: "";
    width: 1px;
    height: 70px;
    background: currentColor;
    display: block;
    position: absolute;
    transform: rotate(35deg);
    top: -35px;
    left: -5%;
}


.home-block .column {
    width: 45%;
}

.wp-block-group__inner-container {
    padding: 20px;
}

.container-column {flex-direction: column;}

.container-column .full-row {
    display: flex;
    justify-content: space-between;
}

.container-column .full-row:first-child {
    align-items: flex-end;
}



/**** Navigation */

img.overlay-menu {
    --width : 70%;
    position: absolute;
    z-index: 9999;
    width: var(--width);
    top: calc(var(--width) / 4);
    right: calc(-1 * calc(var(--width) / 4));
    opacity: 0;
    transition: opacity 1s;
    max-width: 0;
}


.overlay-menu.opacity-change {
    opacity: 1;
    max-width: 100%;
    transition: opacity 1s;
    transition-delay: 0.75s;
}



.wrapper {
	padding: 0 40px;
	max-width: 1400px;
	display: block;
	margin: 0 auto;
}

.small-wrapper {
	max-width: 800px;
}

.content-box {
	padding: 90px 0;
}

.page-title {
	font-size: 60px;
	margin-top: 0;
}

.fancy-text {
    color: var(--blu);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 90vh;
    position: relative;
    font-size: 14rem;
    line-height: 1;
    padding: 50% 0 10%;
    font-family: var(--head);
    overflow: hidden;
    font-weight: 600;
}

.logos-list {
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin: 0 auto;
	padding: 0 5% 5%;
}

.logos-list li {
	padding: 0 2%;
}

img.overlay-footer {
    position: absolute;
    top: 50px;
    left: 5%;
    max-width: 400px;
    mix-blend-mode: hard-light;
}

.mobile-trigger {display: none;}


.bg-mobile, .img-mobile {display: none;}

.acf-map {
    width: 100%;
    height: 400px;
    border: #ccc solid 1px;
    margin: 0;
}

.acf-map img {
   max-width: inherit !important;
}

@media screen and (min-width: 991.98px){

    .shape-overlays, .desktop-hide {display: none;}


    .main-navigation {

    }

}


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

    html {
        font-size: 8px;
    }

    .bg-desktop, .img-desktop {display: none;}

    .bg-mobile, .img-mobile {display: block;}

    figure.bg-filler.bg-mobile {
        background-attachment: scroll;
        background-size: cover;
    }

    .price-list .label {
        font-size: 2.5rem;
    }

    .mobile-trigger {display: block;}
    .info_bar {
        transition: all .25s linear;
        flex-wrap: wrap;
        min-height: 0;
        overflow: hidden;
    }

    .info_bar ul {
        flex-direction: column;
        align-self: flex-end;
        text-align: center;
    }

    .close {
        display: none;
    }

    .active-menu .open {
        display: none;
    }

    .active-menu .close {
        display: block;
    }

.js body {
	opacity: 0;
	transition: opacity 0.3s;
}

.js body.render {
	opacity: 1;
}

.hidden {
	position: absolute;
	overflow: hidden;
	width: 0;
	height: 0;
	pointer-events: none;
}

.site-title {
    position: relative;
    z-index: 9999;
}

.info_bar.header-nav.active-menu {
    position: relative;
    background: transparent;
}
/*
.info_bar.header-nav:after {
    content: "";
    width: 120vw;
    height: 1px;
    background: white;
    display: flex;
    position: absolute;
    z-index: 99999;
    top: 60px;
    opacity: 0;
    left: -10vw;
    transition: opacity .25s linear;
    transition-delay: 1s;
}

.info_bar.header-nav.active-menu:after {
    opacity: 1;
    transition-delay: -1s;
}
*/

.global-menu {
	width: 100%;
	height: 85vh;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 2000;
}

li.global-menu__item.is-opened {
    margin: 3px;
}

li.global-menu__item.is-opened.site-title {
    margin-bottom: 3rem;
}

.global-menu__item {
	opacity: 0;
	transform: translateY(-100%);
	pointer-events: none;
	display: block;
	margin: 0;
	transition: transform 0.3s, opacity 0.3s;
	transition-timing-function: ease-in;
}

.global-menu__item:nth-child(odd) {
	transform: translateY(-100%) rotate(10deg);
}

.global-menu__item:nth-child(even) {
	transform: translateY(-100%) rotate(-10deg);
}

.global-menu__item:hover {
	color: var(--color-menu-hover);
}

.global-menu__item.is-opened {
	opacity: 1;
	transform: translateY(0) rotate(0);
	pointer-events: auto;
	transition-timing-function: ease;
}


.global-menu__item:nth-of-type(1) {transition-delay: 0s;}
.global-menu__item.is-opened:nth-of-type(1) {transition-delay: 0.85s;}

.global-menu__item:nth-of-type(2) {transition-delay: 0.05s;}
.global-menu__item.is-opened:nth-of-type(2) {transition-delay: 0.8s;}

.global-menu__item:nth-of-type(3) {transition-delay: 0.1s;}
.global-menu__item.is-opened:nth-of-type(3) {transition-delay: 0.75s;}

.global-menu__item:nth-of-type(4) {transition-delay: 0.15s;}
.global-menu__item.is-opened:nth-of-type(4) {transition-delay: 0.7s;}

.global-menu__item:nth-of-type(5) {transition-delay: 0.2s;}
.global-menu__item.is-opened:nth-of-type(5) {transition-delay: 0.65s;}

.global-menu__item:nth-of-type(6) {transition-delay: 0.25s;}
.global-menu__item.is-opened:nth-of-type(6) {transition-delay: 0.6s;}

.global-menu__item:nth-of-type(7) {transition-delay: 0.3s;}
.global-menu__item.is-opened:nth-of-type(7) {transition-delay: 0.55s;}

.global-menu__item:nth-of-type(8) {transition-delay: 0.35s;}
.global-menu__item.is-opened:nth-of-type(8) {transition-delay: 0.5s;}

.shape-overlays {
	width: 100%;
	height: 100vh;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
    z-index: 1950;
}

.shape-overlays.is-opened {
	pointer-events: auto;
}

.shape-overlays__path:nth-of-type(1) {fill: var(--path-fill-1);}

.shape-overlays__path:nth-of-type(2) {fill: var(--path-fill-2);}

.shape-overlays__path:nth-of-type(3) {fill: var(--path-fill-3);}

.shape-overlays__path:nth-of-type(4) {fill: var(--blu);}

nav.main-navigation {
    width: 100%;
}

li.mobile-menu-content {
    font-size: 5rem;
    line-height: 1;
    text-transform: none;
    margin-bottom: 20%!important;
    font-family: var(--head);
}

.hamburger {
	width: 40px;
	height: 40px;
	display: flex;
    justify-content: space-between;
    align-items: center;
	position: relative;
	cursor: pointer;
	z-index: 2200;
	border-radius: 50%;
	background-color: transparent;
	pointer-events: auto;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
    transform: rotate(90deg);
    border: 2px solid white;
    padding: 16px;
    transition: all .25s linear;
}

.hamburger.active-button {transform: rotate(180deg);}

.active-menu .bar-one, .active-menu .bar-two {
    width: 60%;
}

.active-menu  .bar-one {
    transform: rotate(-45deg);
}

.active-menu  .bar-two {
    transform: rotate(45deg);
}

.bar {height: 2px; background: white; display: block; border-radius: 2px; position: absolute; transition: all .25s linear;}

.bar-one {
    left: 20%;
    width: 10%;
}

.bar-two {
    right: 20%;
    width: 40%;
}

.column.offset-column {
    transform: none!important;
}

.label-des {
    width: 70.5%;
}

img.overlay.overlay-footer {
    --width : 75%;
    left: auto;
    right: calc(-1 * calc(var(--width) / 3));
    width: var(--width);
}

.footer-nav {
	padding: 20px;
}
.footer-nav .global-footer .desktop-hide {
    display: none;
}

.footer-nav .site-title {
    text-align: center;
    width: 100%;
    margin: 0 0 5%;
}

.fancy-text .footer-text {
    font-size: 8rem;
    text-align: center;
}

.fancy-text .footer-text {font-size: 10rem; color: var(--blu)}

.fancy-text {
	color: var(--blu)
}

nav.main-navigation.global-footer .global-menu {
    position: static;
    height: auto;
}

.fancy-text {
    height: auto;
    padding: 30% 0 10%;
}

.info_bar ul li {
    margin: 0;
}

img.overlay-hero {
    width: 40%;
    pointer-events: none;
}

header h1 span:last-child {
    font-size: 15vw;
}

.active-menu nav.main-navigation.global-header {
    height: calc(100vh - 61px);
}

}

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

    html {font-size: 7px;}

}


@media screen and (max-width: 750px) and (min-width: 650px) {

    .label-des {
        width: 62.5%;
        margin-bottom: 10%;
    }

}


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

    html {font-size: 8px;}

    .home-block h2 {font-size: 8rem;}

    .label-des {
        width: 72.5%;
        margin-bottom: 10%;
    }

    .fancy-text {
        padding: 60% 0 20%;
    }

    .hero-content h2 {
        margin-bottom: 10%;
    }

    .hero-content {
        padding: 0 5% 40px;
    }

    .content-box {
	    padding: 40px 0;
    }

    .wrapper {
	    padding: 0 20px;
    }


    img.overlay-hero {
        --width : 60%;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: var(--width);
        max-width: 350px;
        margin-top: -90px;
        top: 0;
        position: relative;

    }

    header h1 span:last-child {
        font-size: 24vw;
        line-height: 1;
    }

    header h1 span:first-child {
        font-size: 5vw;
    }

    header p {
        max-width: 350px;
    }

    header p .text-wrap:nth-child(3) .divider{
        /* display: none; */
        margin: 0;
        opacity: 0;
    }

    .column img {margin-top: 10%;}

    .full-row {
        flex-direction: column;
        width: 100%;
    }

    .home-block {
        flex-direction: column;
    }

    .home-block .column {
        width: 100%;
    }

    img.overlay.overlay-menu {
        --width : 75%;
        top: calc(var(--width) / 3);
        left: auto;
        right: calc(-1 * calc(var(--width) / 2));
        width: var(--width);
    }

    .fancy-text .footer-text {
        font-size: 5rem;
    }

    .logos-list li {
		padding: 0 1%;
	}
	.wave-icon {
		margin-bottom: 40px;
	}
	.about-block {
		padding-top: 11%;
		padding-bottom: 5%;
	}

}