/******************************************************************

Theme Name: Eight Wire
Theme URI: https://eightwire.uk
Description: Web Design & Development
Author: Eight Wire
Author URI: https://eightwire.uk
Version: 231123
Tags: one-column, two-columns, right-sidebar, custom-header, custom-menu, featured-images
Text Domain: eightwire 

******************************************************************/

@font-face {
    font-family: "Rollerscript W01 Smooth";
    src: url("assets/fonts/rollerscript/602123ef5a08a5aa292cbd46236307d2.eot");
    src: url("assets/fonts/rollerscript/602123ef5a08a5aa292cbd46236307d2.eot?#iefix")format("embedded-opentype"),
    url("assets/fonts/rollerscript/602123ef5a08a5aa292cbd46236307d2.woff2")format("woff2"),
    url("assets/fonts/rollerscript/602123ef5a08a5aa292cbd46236307d2.woff")format("woff"),
    url("assets/fonts/rollerscript/602123ef5a08a5aa292cbd46236307d2.ttf")format("truetype"),
    url("assets/fonts/rollerscript/602123ef5a08a5aa292cbd46236307d2.svg#Rollerscript W01 Smooth")format("svg");
}

/***
VARS
***/
:root {
    --teal:  #0C344C;
    --teal2: #4E7079;
    --dark:  #1A1A1A;
    --gold2: #BAA277;
    --gold:  #D3B785;
	--orange:#857555;
    --lite:  #F5F4F5;
    --grey:  #333333;
    --grey2: #4D4D4D;
    --text:  #666666;
    --menu:  #00798B;
    --navy:  #1A5179;
    --cyan:  #02B1BA;

    --color-text: var(--text);
    --color-primary: var(--teal);
    --color-secondary: var(--navy);
	
    --font-sys: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Oxygen-Sans", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
	--arimo: "Arimo";
	--dancing: "Dancing Script";
	--rollerscript: "Rollerscript W01 Smooth";
	
    --font-primary: var(--arimo), var(--font-sys);
    --font-secondary: var(--rollerscript), var(--font-sys);
    --font-tertiary: var(--rollerscript), cursive;
	
    
    --font-size-body: 15;
    --lineheight: 1.5;
    
    --width-xl: 1680px;
    --width-l:  1187px;    
    --width-m:   960px;
	
    --headerheight: 148.8; /* set using JS if height varies responsively */
    --fullheight: 0;
    --bannerheight: 0;
    
    --vh:0;
    --uivh: calc(var(--vh,1vh) * 100); /* --vh calculated by script */
    --adminbarheight: 0;
	
	--pad: 32px;
    
    --transition-attr:all;
    --transition-time:0.2s;
    --transition-type:ease;
	
	--gridcols: 1;
	--gap: 0;
	--aspectratio: 1/1;
}
/***
BASE
***/
html, body {
    margin: 0;
    padding:0;
    font-family: var(--font-primary);
	max-width: 100vw;
}
html {
    height: var(--uivh,100vh);
    font-size: 62.5%;
    -ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
*, *::after, *::before {
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
}
body {
	font-weight: 400;
	font-size: calc(var(--font-size-body) * 0.1rem);
	line-height: var(--lineheight, 1.5);
	color: var(--color-text);
	-webkit-font-smoothing: antialiased;
    background-color: #fff;
	overflow-y: scroll;
	overflow-x: hidden;
    min-height:100%;
}
body.admin-bar {
    --adminbarheight: 32;
}
@media screen and (max-width: 782px) {
    body.admin-bar {
        --adminbarheight: 46;
    }
}
@media screen and (max-width: 959px) {
    :root {
        --headerheight: 120; /* may need JS to set if height varies responsively */
    }
}
@media only screen and (max-device-width : 1024px) and (orientation : portrait) {
    .fullheight {
        height: 100vh; /* fallback */
    }
    .fullheight {
        --fullheight:calc(var(--uivh) - var(--adminbarheight) * 1px);
        height: var(--fullheight,100vh);
    }
}
/*@supports ( backdrop-filter: blur(3px) ) {
    #wpadminbar {
        -webkit-backdrop-filter: blur(3px) contrast(.8) hue-rotate(45deg);
        backdrop-filter: blur(3px) contrast(.8) hue-rotate(45deg);
        background: rgba(0,0,0,0.7);
    }
}*/

/******
STYLING
******/
.wrapper, 
.w-xl,
.w-l ,
.w-m {
	max-width: var(--width-xl);
	margin: 0 auto;
    padding: 0 20px;
}
.w-l {
	max-width: var(--width-l);
}
.w-m {
	max-width: var(--width-m);
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-secondary);
    text-rendering: optimizelegibility;
	font-weight: inherit;
	line-height: inherit;
	margin: 0 0 0.5em 0;
	color: var(--cyan);
    font-size: inherit;
}
h1 {
    font-family: var(--font-secondary);
	font-size: 4rem;
    font-weight: 400;
	text-align: center;
	margin: 0 0 0.5em 0;
	letter-spacing: 0;
}
h2 {
    font-family: var(--font-secondary);
	font-size: 3.5rem;
    font-weight: 400;
	text-align: left;
	margin: 0 0 0.5em 0;

}
h3 {
    font-family: var(--font-primary);
	font-size: 1.8rem;
	font-weight: 700;
	text-align: left;
	margin: 0 0 0.5em 0;
}
h4 {
    font-family: var(--font-secondary);
	font-size: 2.6rem;
	font-weight: 400;
	text-align: left;
	line-height: 1;
	padding: 1em 0 0.25em 0;
	margin: 0;
}
.primary {
    color: var(--color-primary);
}
.secondary {
    color: var(--color-secondary);
}
p {
	font-weight: inherit;
	text-rendering: optimizeSpeed;
    font-size: inherit;
	line-height: inherit;
	margin: 0 0 1em 0;
}
a {
	display: inline-block;
	text-decoration: none;
	color: currentColor;
}
a:active, a:hover {
	outline: 0;
	color: var(--color-primary);
}
article p a {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--color-primary);
}
article p a:hover {
    color: var(--color-secondary);
    text-decoration-color: var(--color-secondary);
}
article.article table {
	width: auto;
	margin: -10px;
}
article.article td {
	vertical-align: top;
	width: auto;
	padding: 10px;
}
@media screen and (max-width:767px) {
	article.article table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
	article.article tbody {
		display: block;
		width: 100%;
	}
}
@media screen and (max-width:639px) {
	article.article td {
		min-width: calc(100vw - 110px);
	}
}
.page-id-1018 main ol { 
	padding-left: 0.2em;
	counter-reset: item; 
}
.page-id-1018 main ol ol { 
	padding-left: 1em;
}
.page-id-1018 main ol > li { display: block }
.page-id-1018 main ol > li > h3 { 
	display: inline-block;
	margin-top: 1em;
}
.page-id-1018 main ol > li:before { 
	content: counters(item, ".") ". "; 
	counter-increment: item;
	font-family: var(--font-primary);
	font-weight: 700;
	color: var(--cyan);
}
.page-id-1018 main ol > li:has(h3):before { 
    font-size: 1.8rem;
}

/* BUTTON */
.btn, button, [type="button"], [type="reset"], [type="submit"] {
	/*all: unset;*/
	background: none;
	display: inline-block;
	cursor: pointer;
	color: var(--primary);
	padding: 0.5em 2em;;
	text-transform: uppercase;
	border: 1px solid currentColor;
	font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: 0.25em;
}
.btn:hover, button:hover, [type="button"]:hover, [type="reset"]:hover, [type="submit"]:hover{
	color:#fff;
	background: rgba(255,255,255,0.5);
}

/*****
HEADER 
*****/
header.header {
	background-color: var(--gold);
	position: relative;
	z-index: 2;
}
header.header > .w-l {
    position: relative;
	padding: 20px 0 10px 0;
}
.sitelogo {
	display:block;
	margin: 0 auto;
	position: relative;
    z-index: 1;
	text-align:center;
    width:317px;
	max-width: calc(100% - 110px);
}
footer .sitelogo {
	width: 100%;
	max-width: 236px;
}
.sitelogo img ,
.sitelogo svg {
    width:100%;
	max-height: 115px;
    height: auto;
	display:block;
}
footer .sitelogo img ,
footer .sitelogo svg {
	max-height: 86px;
}
.sitelogo svg path {
	fill: #FFF !important;
}
.sitelogo svg path:not([style="fill:#1a5179;fill-rule:nonzero"]) {
	fill: #FFEED5 !important;
}
.sitelogo:hover svg path:not([style="fill:#1a5179;fill-rule:nonzero"]) {
	fill: var(--navy) !important;
}
footer .sitelogo:hover svg path:not([style="fill:#1a5179;fill-rule:nonzero"]) {
	fill: var(--cyan) !important;
}

/****************
BANNER SLIDER 
****************/
.nobanner {
	width: 100%;
	height: 100px;
	background: #D3B785;
}
.banner .w-l {
	position: relative;
}
.banner.swiper,
.banner-image {
	width: 100%;
	height: 492px;
	background: #02B1BA;
	position: relative;
}
.banner-image {
	width: 100%;
	height: 492px;
	background: #02B1BA;
	position: relative;
}
.banner-image-wrapper {
	height: 100%;
}
.swiper-slide {
	background: #02B1BA url() 50% 50% no-repeat scroll;
	background-size: cover;
}
.layout-gallery {
	padding-bottom: 20px;
}
.layout-gallery .swiper-slide {
	background-color: transparent;
	height: 600px;
	max-height: 100%;
}
.gallery {
	background: rgb(204,204,204);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(204,204,204,1) 65%, rgba(204,204,204,1) 100%);
}
.gallery h3 {
	font-family: var(--font-secondary);
	font-size: 3.6rem;
	margin: 1em auto;
	font-weight: 400;
	line-height: 1;
}
.gallery-thumbs {
	background-color: rgba(229,212,184,1);
	padding: 50px 0;
	border-bottom: 5px solid #fff;
	position: relative;
}
.gallery-thumbs .swiper-slide {
	cursor: pointer;
	background-color: transparent;
}
.gallery-thumbs::before {
    content: "";
    position: absolute;
    left: 0;
	right: 0;
    top: 0;
    display: block;
    height: 20px;
	pointer-events: none;
	opacity: 0.5;
    background: linear-gradient(0deg, rgba(51,51,51,0) 0%, rgba(51,51,51,0.50) 96%, rgba(51,51,51,1) 100%);
}
.layout-gallery-thumbs .swiper-slide {
  height: 155px;
  max-height: 100%;
}
.gallery .swiper-slide img {
  max-height: none;
  max-width: none;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.swiper .w-l {
    position: absolute;
	top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	--width-l: 1279px;
}
.swiper-button-next, .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: -20px;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 20px;
    left: auto;
}
.swiper-button-prev::after, .swiper-rtl .swiper-button-next::after {
    content: '';
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 40 40'%3E%3Cpath d='M0-4.39c5.352-3.832 23.905-11.815 24.619-12.134 2.141.559 6.422.239 6.922-.719.856-1.517-.071-5.029-1.998-4.869-.856.079-2.64 1.597-3.854 2.474-8.777 4.152-20.123 8.782-30.042 13.651-1.284-.319-2.926-.079-3.211 1.198C-7.85-3.512-6.28.959-3.354.799c.571 0 .785-.878 1.641-.798 8.92 1.676 20.266 9.18 28.687 13.89.928 1.756 2.712 3.991 3.425 3.991.714 0 1.927-.798 1.998-2.155.072-1.357-.499-4.471-4.495-5.029C23.905 8.622 11.418.719 0-4.39' style='fill:%23ffeed5;fill-rule:nonzero' transform='matrix(.99928 0 0 .99928 7.592 22.101)'/%3E%3C/svg%3E") 50% 50% no-repeat scroll;
	width: 40px;
	height: 40px;
	font-size: 0;
    color: rgba(255,255,255,0);
}
.swiper-button-next::after, .swiper-rtl .swiper-button-prev::after {
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 40 40'%3E%3Cpath d='M0-4.39c-5.352-3.832-23.905-11.815-24.619-12.134-2.141.559-6.422.239-6.922-.719-.856-1.517.072-5.029 1.998-4.869.856.079 2.641 1.597 3.854 2.474 8.777 4.152 20.123 8.782 30.042 13.651 1.284-.319 2.926-.079 3.211 1.198C7.85-3.512 6.28.959 3.354.799c-.571 0-.785-.878-1.641-.798-8.92 1.676-20.266 9.18-28.687 13.89-.927 1.756-2.712 3.991-3.425 3.991-.714 0-1.927-.798-1.998-2.155-.072-1.357.499-4.471 4.496-5.029C-23.905 8.622-11.417.719 0-4.39' style='fill:%23ffeed5;fill-rule:nonzero' transform='matrix(.99928 0 0 .99928 32.38 22.101)'/%3E%3C/svg%3E") 50% 50% no-repeat scroll;
	width: 40px;
	height: 40px;
	font-size: 0;
    color: rgba(255,255,255,0);
}
.swiper-button-prev:hover::after, .swiper-rtl .swiper-button-next:hover::after {
	color: #ffeed5;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 40 40'%3E%3Cpath d='M0-4.39c5.352-3.832 23.905-11.815 24.619-12.134 2.141.559 6.422.239 6.922-.719.856-1.517-.071-5.029-1.998-4.869-.856.079-2.64 1.597-3.854 2.474-8.777 4.152-20.123 8.782-30.042 13.651-1.284-.319-2.926-.079-3.211 1.198C-7.85-3.512-6.28.959-3.354.799c.571 0 .785-.878 1.641-.798 8.92 1.676 20.266 9.18 28.687 13.89.928 1.756 2.712 3.991 3.425 3.991.714 0 1.927-.798 1.998-2.155.072-1.357-.499-4.471-4.495-5.029C23.905 8.622 11.418.719 0-4.39' style='fill:%231A5179;fill-rule:nonzero' transform='matrix(.99928 0 0 .99928 7.592 22.101)'/%3E%3C/svg%3E");
}
.swiper-button-next:hover::after, .swiper-rtl .swiper-button-prev:hover::after {
	color: var(--orange);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 40 40'%3E%3Cpath d='M0-4.39c-5.352-3.832-23.905-11.815-24.619-12.134-2.141.559-6.422.239-6.922-.719-.856-1.517.072-5.029 1.998-4.869.856.079 2.641 1.597 3.854 2.474 8.777 4.152 20.123 8.782 30.042 13.651 1.284-.319 2.926-.079 3.211 1.198C7.85-3.512 6.28.959 3.354.799c-.571 0-.785-.878-1.641-.798-8.92 1.676-20.266 9.18-28.687 13.89-.927 1.756-2.712 3.991-3.425 3.991-.714 0-1.927-.798-1.998-2.155-.072-1.357.499-4.471 4.496-5.029C-23.905 8.622-11.417.719 0-4.39' style='fill:%231A5179;fill-rule:nonzero' transform='matrix(.99928 0 0 .99928 32.38 22.101)'/%3E%3C/svg%3E");
}
.swiper-pagination {
    bottom: 20px !important;
    left: 55px !important;
	text-align: left !important;
	pointer-events: none !important;
	z-index: 2 !important;
	width: auto !important;
}
.swiper-pagination-bullet {
	background: #fff !important;
	opacity: 1 !important;
}
.swiper-pagination-bullet-active {
	background: var(--navy) !important;
}
.banner .caption {
    position: absolute;
	bottom:0;
	right:55px;
    z-index: 3;
    color: #fff;
    font-family: var(--font-primary);
    font-size: 1.5rem;
	letter-spacing: 0.05em;
	text-align: center;
	background-color: rgba(163, 115, 22, 0.5);
	background-color: rgba(105, 79, 33, 0.65);
	mix-blend-mode: hard-light;
	padding: 1em 2em;
}
.banner .caption h2 {
    color: #fff;
    font-size: 3.8rem;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: 0.25em;
	padding-left: 7px;
}
.banner .caption svg {
	padding: 0 1em;
	cursor: text;
}
.banner .btn ,
body .wpb-pcf-btn-default {
	padding: 0.5em 2em;
	margin: 1em auto 0 auto;
	display: block;
	border: 1px solid #fff;
	cursor: pointer;
	letter-spacing: 0.3em;
	background: none !important;
	color: #fff !important;
	font-size: 1.2rem !important;
	border-radius: 0 !important;
	width: 100% !important;
	line-height: 1.5 !important;
}
.banner .btn:hover,
body .wpb-pcf-btn-default:hover {
	background: rgba(255,255,255,0.5) !important;
}
body .wpb-pcf-btn-default > * {
	display: none !important;
}
.banner-image .swiper-pagination,
.banner-image .swiper-button-next,
.banner-image .swiper-button-prev {
	display: none !important;
}

/**********
NAV PRIMARY
**********/
nav.primary-menu {
	text-align: center;
}
nav.primary-menu a {	
	text-align: center;
	text-transform: uppercase;
	color: var(--navy);
	font-size: 1.2rem;
	font-family: var(--font-primary);
	padding: 0.8em;
}
nav.primary-menu li.current-menu-item > a {
	color: #FFEED5;
}
nav.primary-menu a:hover {
	color: #857555 !important;
}
nav.primary-menu .menu .sub-menu li ,
nav.primary-menu .menu .sub-menu li a {
	display: block;
	text-align: center;
	text-transform: none;
}
@media screen and (min-width:1025px) {
	.menu {
		display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	nav.primary-menu .menu .sub-menu {
		display: none;
		position: absolute;
		z-index: 10;
		background: #fff;
		padding: 1em;
		margin-left: -1em;
		filter: drop-shadow(0px 10px 10px rgba(0,0,0,0.15));
	}
	nav.primary-menu .menu li:hover .sub-menu {
		display: block;
	}
	nav.primary-menu .menu .sub-menu li ,
	nav.primary-menu .menu .sub-menu li a {
		display: block;
		text-align: left;
	}
}

.hamburger {
	position: relative;
	display: none;
	font-size: 20px;
	position: relative;
	float: right;
	cursor: pointer;
}
.hamburger::after {
	content: "\2630";
	min-width: 40px;
	min-height: 40px;
	line-height: 40px;
	font-size: 30px;
	font-weight: 700;
	display: inline-block;
	text-align: center;
	color: var(--navy);
}
.hamburger-switch:checked ~ .hamburger::after {
	content: "\00d7";
	font-size: 46px;
	z-index: 1000;
}
.hamburger-switch {
	display: none;
}
@media screen and (max-width: 1024px) {
	nav.primary-menu {
		position: absolute;
		top: 42px;
		right: 1.5vw;
		z-index: 1;
	}
	nav.primary-menu > .wrap {
		position: relative;
	}
	.hamburger {
		position: relative;
		display: grid;
		place-items: center;
		-webkit-tap-highlight-color: transparent;
	}
	.menu {
		display: none !important;
		position: fixed;
		left:0;
		z-index: 999;
		top: 0;
		height: 100vh;
		padding: 20px;
		padding-top: calc(20px + (var(--adminbarheight) * 1px));
		width: 100%;
		overflow-y: auto;
		overscroll-behavior: contain;
		background-color: rgba(2,177,186,0.9);
	}
	body:has(.hamburger-switch:checked) {
		overflow: hidden;
	}
	.hamburger-switch:checked ~ .menu {
		display: grid !important;
		place-content: center;
	}
	.hamburger-switch:checked ~ .menu.flexgap {
		--gap: 8px 16px;
	}
	.menu > li {
		margin: 0 0 0 0;
		list-style: none;
	}
	.menu li::after {
		content:"" !important;
	}
	nav.primary-menu a {
		font-size: clamp(1.3rem,4.5vw,2rem);
	}
	nav.primary-menu .menu .sub-menu {
		display: block;
		margin: 0 0 1em 0;
	}
	.sub-menu li {
		display: inline-block;
	}
	.sub-menu a {
		font-size: 90% !important;
		padding: 0 0.5em;
	}
}
@media screen and (max-width: 432px) {
	nav.primary-menu {
		top: clamp(20px,9vw,42px);
	}
}
@media screen and (max-width: 1024px) {
	body:has(.hamburger-switch:checked) .others {
		display: none !important;
	}
	/*html:root:has(.hamburger-switch:checked) { margin-top:0 !important;}*/
	/*body:has(.hamburger-switch:checked) header.header > .w-l { padding:0 !important;}*/
	body:has(.hamburger-switch:checked) :is(.caption,.swiper-pagination,.swiper-button-prev,.swiper-button-next,#gototop) { display:none !important;}
}
@media screen and (max-height: 500px) {
	.hamburger-switch:checked ~ .menu {
		place-content: normal;
	}
}

/*****
LOGOS
*****/
@media screen and (min-width:1025px) {
	header.header .beachsidelogo {
		position: absolute;
		top: 20px;
		left: 1vw;
		z-index: 2;
		display: inline-block;
	}
	header.header .social {
		position: absolute;
		top: 47px;
		left: 145px;
		z-index: 2;
	}
	header.header .coastlogo {
		position: absolute;
		top: 30px;
		right: 1vw;
		z-index: 2;
	}
}
footer .logos {
	text-align: center;
}
footer .logos a {
	margin: 0 1em;
}
/*****
SOCIAL
*****/

@media screen and (max-width:1024px) {
	header.header .others {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		padding: 10px;
		gap: 0 2vw;
	}
}
.social a {
	display: inline-block;
	width: 38px;
	height: 38px;
	margin: 0 5px;
}
header.header .social a {
	background: #fff;
	border-radius: 50%;
	overflow: hidden;
	width: 24px;
	height: 24px;
	margin: 0 10px 0 0;
}
header.header .social a:hover {
	background: transparent;
}
.social svg {
	display: block;
	width: 39px;
	height: 39px;
}
header.header .social svg {
	width: 25px;
	height: 25px;
}

/*****
SIGNUP
*****/
.signup {
	background: var(--gold);
	color: #fff;
	padding: 20px 0 25px 0;
}
.signup .flex.flexgap {
	--gap: 10px 20px;
}
.signup-title {
    font-family: var(--font-secondary);
    margin: 0;
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
	font-size: 2.9rem;
	letter-spacing: 0.0482em;
	text-align: center;
}
.signup-fields input {
	line-height: 43px;
	padding: 0 1em;
	border: none;
	letter-spacing: 0.0482em;
}
.signup-fields input::placeholder {
	font-style: italic;
}
.signup-fields button {
	border: 1px solid #fff;
	cursor: pointer;
	letter-spacing: 0.313em;
}

/**
CTA
**/
.cta {
	background: var(--gold) url(/wp-content/uploads/2023/11/image8.jpg) 50% 50% no-repeat scroll;
	background-size: cover;
	padding: 40px;
	text-align: center;
	color: #fff;
	margin-bottom: 4px;
}
.cta .w-l {
	--width-l: 778px; 
}
.cta h2 {
	font-size: 6.2rem;
	color: var(--navy);
	line-height: 1;
	letter-spacing: 0;
	max-width: 245px;
	margin: 0 auto 0.43em auto;
}
.cta .wpb-pcf-btn,
.cta .btn {
	position: relative;
	border-color: var(--navy);
	color: var(--navy) !important;
	display: inline-block !important;
	padding: 0.5em 2em !important;
	line-height: 1.5 !important;
	width: auto !important;
}
.cta .wpb-pcf-btn:hover,
.cta .btn:hover {
	background: rgba(255,255,255,0.5) !important;
}
.cta .btn::after {
	content:"";
	display:block;
	width: 175px;
	height:1px;
	background: var(--navy);
	position: absolute;
	left: 100%;
	z-index: 1;
	margin-top: -9px;
	pointer-events: none;
}
@media screen and (max-width:639px) {
	.cta .btn::after {
		width: 1px;
		height: 54px;
		top: 100%;
		left: 50%;
		margin-top: 0;
	}
}
.cta-image {
	position: relative;
	z-index: 2;
}
.cta svg {
	width: 100%;
	max-width: 253px;
	margin: 0 auto 2em auto;
	display: block;
}
.cta img {
	width: 100%;
	max-width: 353px;
	margin: 0 auto;
	display: block;
}

/*******
PACKAGES
*******/
.layout.packages h2 {
	text-align: center;
	font-family: var(--font-secondary);
	font-weight: 400;
	font-size: 3.5rem;
	line-height: 1;
	margin: 3.5rem 0;
}
.layout.packages h3 {
	text-align: center;
	font-family: var(--font-secondary);
	font-weight: 400;
	font-size: 3rem;
	line-height: 1;
	margin: 3.5rem 0;
}
.layout.packages h4 {
	text-align: center;
	font-family: var(--font-secondary);
	font-weight: 400;
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 0.5em;
}
.ppackages {
	padding: 1em 0;
}
.package {
	font-size: 1.3rem;
	padding: 30px;
}
.package p:last-child{
	margin-bottom: 0;
}
.package:nth-child(3n+1) {
	background-color: rgb(190,201,204);
}
.package:nth-child(3n+1) h4 {
	color: #4E7078;
}
.package:nth-child(3n+2) {
	background-color: rgb(230,209,178);
}
.package:nth-child(3n+2) h4 {
	color: #BE851C;
}
.package:nth-child(3n+3) {
	background-color: rgb(214,217,219);
}
.package:nth-child(3n+3) h4 {
	color: #959DA2;
}
.package .ptext {
	font-weight: 700;
	border-top: 1px solid #fff;
	padding-top: 1em;
}
.package .ptext:empty {
	display: none;
}
.package ul {
	line-height: 2;
}
.package ul li::marker {
	content: "✔  ";
	color: var(--cyan);
	margin-right: 1em;
}
.package .ppoints {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	line-height: 1.5;
	padding: 1em 0;
	margin: 1em 0;
}
.package .ppoints:empty {
	display: none;
}
.package .pfromprice { color: #fff; font-family: var(--font-secondary); font-size: 1.8rem; }
.package .pfromprice strong { color: var(--text); font-family: var(--font-primary); font-size: 1.3rem; }

/*****
PANELS
*****/
.panels {
	background: var(--navy) url(assets/images/panels.jpg) 50% 50% no-repeat scroll;
	background-size: cover;
	padding: 50px 0;
}
.panel {
	background: #fff;
	padding: 20px;
	text-align: center;
	will-change: transform;
	transition: transform 0.3s;
}
.panel.flex {
	--gap: 0;
}
@media screen and (min-width: 640px) {
	.panel:hover {
		transform: scale(1.05);
	}
}
.panel-img.aspect {
    background: var(--lite);
	--aspectratio: 321/321;
	max-width: 321px;
	margin: 0 auto;
}
.panel-title {
    font-family: var(--font-secondary);
    margin: 1em 0 0.5em 0;
    font-weight: 400;
    color: #000;
    text-transform: uppercase;
	font-size: 2.2rem;
	letter-spacing: 0.1926em;
	text-align: center;
}
.panel-text {
	color: #666666;
	/*font-size: 1.2rem;*/
	line-height: 2;
}
.panel-btn {
	margin-top: auto;
}
.panel .btn {
	display: inline-block;
	margin-top: 2em;
	margin-bottom: 15px;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	color: #333333;
	border-color: #333333;
	cursor: pointer;
}
.panel .btn:hover {
	color: #fff;
	border-color: var(--color-primary);
}


/* TITLE */
.layout.title h1 {
	max-width: 850px;
	margin: 1em auto 0.5em auto;
}

/* TEXT */
.layout.text .w-m {
	max-width: 850px;
	margin: 0 auto 40px auto;
	padding: 0 20px;
	line-height: 2;
}
.layout.text p strong {
	font-weight: 400;
	font-size: 1.6rem;
}
.layout.text.cols-2 ul,
.layout.text.cols-3 ul {
	break-inside: avoid;
}
.layout.text.cols-2 h4,
.layout.text.cols-3 h4 {
	break-after: avoid;
}
@media screen and (min-width: 640px) { 
	.layout.text.cols-2 .w-m,
	.layout.text.cols-3 .w-m {
		column-count: 2;
		column-gap: 40px;
		padding: 20px;
	}
}
@media screen and (min-width: 1199px) { 
	.layout.text.cols-3 .w-m {
		column-count: 3;
		column-gap: 40px;
		padding: 20px;
	}
}

/***
ROWS
***/
.rows-top {
	padding: 40px 0;
}
.row {
	margin: 4px 0;
	font-size: 1.3rem;
	line-height: 1.8;
	background: rgb(204,204,204);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(204,204,204,1) 65%, rgba(204,204,204,1) 100%);
}
.home .row:first-child {
	background: rgb(224,193,141);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(224,193,141,1) 65%, rgba(224,193,141,1) 100%);
}
.row.fullwidthimage {
	background: rgb(224,193,141) url() 50% 50% no-repeat scroll;
	background-size: cover;
}
@media screen and (min-width:1200px) {
	.row .w-l.grid {
		min-height: 486px;
	}
}
@media screen and (max-width:767px) {
	.row .w-l.grid.grid21 {
		 -ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
}
.row.imageside .w-l.grid {
	direction: rtl;
}
.row.imageside .w-l.grid .row-text {
	direction: ltr;
}
.row.textside .w-l.grid {
	direction: rtl;
}
.row.textside .w-l.grid .row-text {
	direction: ltr;
}
.row-image,
.row-text {
	position: relative;
}
.row-image img {
	margin: 0 auto;
}
.row-image.aspect {
	--aspectratio:590/500;
	max-width: 590px;
}
.row.standardimage .row-image {
    height: 100%;
}
.row.standardimage .row-image img {
    height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.row-text {
	padding: 40px;
}
.row-text ul li::marker {
	content: "✔  ";
	color: var(--cyan);
	margin-right: 1em;
}
.row.fullwidthimage .row-text {
	background: rgba(255,255,255,0.8);
}
.row-title {
	line-height: 1;
}
.row .btn {
	margin: 1em 0;
	color: #fff;
}
.row.fullwidthimage .btn {
	color: var(--grey2);
}
.row-image::before ,
.row.fullwidthimage .row-text::before {
	content: "";
	position: absolute;
	right: 100%;
	top :0;
	bottom:0;
	display: block;
	width: 20px;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(51,51,51,0) 0%, rgba(51,51,51,0.5018382352941176) 96%, rgba(51,51,51,1) 100%);
}
.row-image::after,
.row.fullwidthimage .row-text::after {
	content: "";
	position: absolute;
	left: 100%;
	margin-left: -1px;
	top :0;
	bottom:0;
	display: block;
	width: 20px;
	background: linear-gradient(270deg, rgba(51,51,51,0) 0%, rgba(51,51,51,0.5018382352941176) 96%, rgba(51,51,51,1) 100%);
}
.row:first-child .row-image::before,
.row:first-child .row-image::after {
	content: none;
}


/* Book a Table */
.bookatable {
	color: #000;
	padding: 20px 0 50px 0;
	text-align: center;
}
.bookatable-frame {
	border: 1px solid #000;
	padding: 50px 20px;
}
.bookatable-title {
    font-family: var(--rollerscript), cursive;
	font-size: 5rem;
	font-weight: 400;
	color: #000;
	line-height: 1.5;
	margin: 0;
	text-transform: none;
	background: #fff;
}
.bookatable-hr {
	width: 100%;
	max-width: 68px;
	height: 1px;
	margin: 0 -4px 0 20px;
	background: #000;
	vertical-align: middle;
}
.bookatable-hr hr {
	display: none;
}
.bookatable-button .btn {
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.318em;
}
.bookatable-inner > * {
	display: inline-block;
	vertical-align: middle;
}


/****
MENUS
****/
.imagetext {
	margin: 60px 0 120px 0;
}
.imagetext:nth-child(2) .imagetext_text {
	order: -1;
}
.imagetext > .grid.gridgap {
	--gap: 80px;
}
.imagetext_image {
	position: relative;
}
.imagetext_image::before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	pointer-events: none;
	left: -20px;
	top:-20px;
	width: 66%;
	height: 66%;
	border: 10px solid var(--lite);
}
.imagetext_image::after {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	pointer-events: none;
	right: -20px;
	bottom:-20px;
	width: 66%;
	height: 66%;
	background-color: var(--lite);
}
.imagetext_image > .aspect {
	--aspectratio:570/850;
	background-color: #cccccc;
}
@media screen and (min-width:640px) {
	.imagetext_image::before {
		left: -35px;
		top:-35px;
	}
	.imagetext_image::after {
		right: -30px;
		bottom:-30px;
	}
}
.menulist {
	padding: 0;
}
.menulist li {
	background: transparent url() 0 30px no-repeat scroll;
	background-size: 28px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' fill-rule='evenodd' stroke-miterlimit='10' clip-rule='evenodd' viewBox='6.79 6.79 29.03 29.03'%3e%3ccircle cx='-13.766' r='13.766' fill='none' stroke='%2332b7bb' stroke-width='1.5' transform='matrix(0 -1 -1 0 21.303 7.538)'/%3e%3cpath fill='none' stroke='%2332b7bb' stroke-width='1.5' d='m18.148 14.55 7.046 7.265-6.605 6.165'/%3e%3c/svg%3e");
	padding: 30px 20px 30px 58px;
	list-style: none;
	line-height: 1.8;
}
.menulist li + li {
	border-top: 1px solid #333333;
}
.imagetext_menulist_title {
	letter-spacing: 0.0522em;
	line-height: 1.3;
}
.texttext {
	margin: 30px 0 80px 0;
}
.texttext_menulist_title {
	letter-spacing: 0.0522em;
	line-height: 1.3;
}
.texttext > .grid.gridgap {
	--gap: 80px;
}
.texttext1 {
	position: relative;
}
.texttext1::after {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	pointer-events: none;
	right: -20px;
	bottom:-20px;
	width: 66%;
	height: 66%;
	background-color: var(--lite);
}
@media screen and (min-width:640px) {
	.texttext1::after {
		right: -40px;
		bottom:-40px;
	}
}

/*IMAGE*/
.imagex {
	margin: 0 0 120px 0;
}
.imagex_image > .aspect {
	--aspectratio:100/33;
	background-color: #cccccc;
}

/* WEDDINGS */
.page-template-template-weddings .swiper-slide {
	-webkit-box-align: end;
    -webkit-align-items: end;
    -moz-box-align: end;
    -ms-flex-align: end;
    align-items: end;
}
.page-template-template-weddings .swiper .caption-links::after {
	content:"";
	display: block;
	width: 100%;
	max-width: 384px;
	background: transparent url("assets/images/weddings.png") 50% 50% no-repeat scroll;
	background: transparent url() 50% 50% no-repeat scroll;
	background-size: contain;
	aspect-ratio: 384/146;
	margin: 10px 0;
}
.weddings-enquire {
	background: var(--gold);
	color: #fff;
	padding: 25px 0;
}
.weddings-enquire .flex.flexgap {
	--gap: 10px 40px;
}
.weddings-enquire-title {
    font-family: var(--font-secondary);
    margin: 0;
    font-weight: 400;
    color: #fff;
	font-size: 2.9rem;
	letter-spacing: 0.0482em;
	text-align: center;
}
.weddings-enquire .mid {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}
.weddings-enquire p {
	margin:0;
	color: #262626;
	font-size: 1.3rem;
	line-height: 1.8;
}
.weddings-enquire p a {
	font-weight: 700;
	text-decoration: none;
}
.page-template-template-weddings .rows-top .intro {
	font-size: 1.3rem;
	max-width: 889px;
}
.weddings-360 {
	background: var(--cyan);
	color: #fff;
}
.weddings-360 .inner .flex.flexgap {
	--gap: 10px 40px;
}
.weddingimg {
	aspect-ratio: 550/309;
	max-width: 100%;
	height: 309px;
	width: auto;
	-o-object-fit: cover;
	object-fit: cover;
}
.weddings-360img {
	flex-basis: 24.22%;
	margin: 10px auto;
}
.weddings-360text {
	flex-basis: 68%;
}
.weddings-360-title {
	font-family: var(--font-secondary);
    margin: 0;
    font-weight: 400;
    color: #fff;
	font-size: 2.9rem;
	letter-spacing: 0;
	line-height: 1;
	text-align: left;
}
.weddings-360 .btn {
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.25em;
	margin-bottom: 10px;
}
.weddings-rowz .flex.flexgap {
	--gap: 30px 60px;
}
.weddings-rowz-row {
	margin: 60px auto;
}
.weddings-rowz-row:nth-child(odd) {
	background: #F3F2F3;
}
.weddings-rowz-img {
	flex-basis: auto !important;
	position: relative;
	z-index: 3;
}
.weddings-rowz-img img {
	width: auto;
	height: 400px;
	max-width: calc(100vw - 40px);
	-o-object-fit: cover;
	object-fit: cover;
	margin: 0 auto;
	background: var(--teal);
}
.weddings-rowz-stuff {
	flex-grow: 100 !important;
	min-width: 240px;
}
.weddings-rowz .w-l {
	overflow: hidden;
	position: relative;
	z-index: 2;
}
.weddings-rowz .panel-btn {
	margin: 1em 0 1em auto;
	float: right;
	background: #fff;
}
.weddings-rowz .panel-btn::after {
	content: "";
	display: block;
	position: absolute;
	left: 25px;
	right: 30px;
	margin-top: -21px;
	pointer-events: none;
	z-index: -1;
	border-bottom: 1px solid #333333;
}
.weddings-rowz .btn {
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.25em;
	margin: 0;
	color: #333333;
}
.weddings-rowz .btn:hover {
	color: #FFF;
}
.weddings-form {
	/*text-align: center;*/
	background: var(--gold) url("assets/images/wedding7.jpg") bottom center no-repeat scroll;
	background-size: cover;
	padding: 0 0 60px 0;
	color: #4D4D4D;
	margin-bottom: 4px;
}
.page-id-156 .weddings-form {
	background: #fff;
}
.weddings-form h2 {
	text-align: center;
}
.weddings-form form {
	margin-top: 30px;
}
.weddings-form form input[type="submit"] {
	background-color: rgba(29, 81, 121, 0.5);
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.25em;
	margin: 2em 0 0 0;
	padding: 10px 64px;
	color: #fff;
	border: 1px solid #fff;
}
.weddings-form form input[type="submit"]:hover {
	background-color: var(--navy);
}
.weddings-form .wpcf7-recaptcha > div {
	margin: 0 auto;
}
.weddings-form .wpcf7-form-control.wpcf7-text ,
.weddings-form .wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 1em;
	text-align: left;
	font-size: 1.3rem;
	color: #333333;
	background: #fff;
	border: 1px solid #333333;
	max-height: 94px;
}
.weddings-form .flex.flexgap {
	--gap: 0 32px;
	text-align: left;
}
.weddings-form #guests {
	height: 42px;
	width: 42px;
	vertical-align: middle;
	margin-right: 0.5em;
}
.weddings-form #wdate {
	height: 42px;
	width: 148px;
	vertical-align: middle;
	margin-right: 0.5em;
}
.weddings-form [data-name="brochure"] .wpcf7-list-item {
	margin: 0;
	display: block;
	text-align: left;
}
.weddings-form [data-name="brochure"] label {
	width: 100%;
	display: block;
}
.weddings-form input[type="checkbox"] {
	height: 32px;
	width: 32px;
	vertical-align: middle;
	margin-right: 0.5em;
	cursor: pointer;
}
.weddings-form label {
	cursor: pointer;
	font-size: 1.3rem;
}

/******
CONTACT 
******/
.contact-info {
	padding: 30px 0 45px 0;
}
.contact-image > .aspect {
	--aspectratio: 580/700;
}
@media screen and (max-width:639px) {
	.contact-image{ order: 2; }
}
/* CONTACT FORM 7 */
.contact-form {
	text-align: center;
}
.contact-form .wpcf7 {
	border: 1px solid #333333;
	padding: 20px;
	position: relative;
}
.contact-form .wpcf7::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	top:20px;right:-20px;bottom:-20px;left:20px;
	background: var(--lite);
}
.contact-form .wpcf7-form {
	padding: 20px;
}
.contact-form textarea.wpcf7-form-control {
	height: 120px;
}
.contact-form .wpcf7-form-control:not([type="submit"]) {
	width: 100%;
	padding: 1em;
	text-align: center;
	font-size: 1.3rem;
	color: #333333;
	background: none;
	border: none;
	border-bottom: 1px solid #333333;
}
.contact-form .wpcf7-form-control-wrap.recaptcha div[style] {
	margin: 0 auto;
}
.contact-form .wpcf7-form-control:focus:not(:hover) {
	background-color: #fff;
}
.contact-form .wpcf7-form-control:not([type="submit"]):focus::placeholder {
	color: rgba(255,255,255,0) !important;
}
.contact-form .wpcf7-form-control[type="submit"] {
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.299em;
	color: ##333333;
	padding: 0.5em 3em;
	margin-top:2em;
}
.wpcf7-spinner {
	position: absolute;
    display: block;
    left: 50%;
    margin: 12px 0 0 -12px;
}
.wpcf7 input::-webkit-input-placeholder, .contact-form .wpcf7 textarea::-webkit-input-placeholder {
	color:#4D4D4D;
}
.wpcf7 input::-moz-placeholder, .contact-form .wpcf7 textarea::-moz-placeholder {
	color:#4D4D4D;
}
.wpcf7 input:-ms-input-placeholder, .contact-form .wpcf7 textarea:-ms-input-placeholder {
	color:#4D4D4D;
}
.wpcf7 input::-ms-input-placeholder, .contact-form .wpcf7 textarea::-ms-input-placeholder {
	color:#4D4D4D;
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color:#4D4D4D;
}
.find {
	color: #000;
	padding: 30px 0 60px 0;
	text-align: center;
}
.find-inner {
	border: 1px solid #000;
	padding: 30px 20px;
}
.find-title {
    font-family: var(--font-secondary);
    margin: 0 0 0.5em 0;
    font-weight: 400;
    color: #000;
    text-transform: uppercase;
	font-size: 2.2rem;
	letter-spacing: 0.1926em;
	text-align: center !important;
}
.find-text {
	color: #4D4D4D;
	font-size: 1.6rem;
	line-height: 2;
}

/******
SITEMAP
******/
body.page-template-template-sitemap article.article {
	margin: 50px 0;
}

/* GO TO TOP */
#gototop {
    display:none; /* script shows on scroll */
    font-size: 32px;
    background: #fff;
    border: 1px solid #000;
    opacity:0.5;
    color:#000;
    border-radius: 50%;
    text-align: center;
    line-height: 38px;
    width:40px;
    height:40px;
    position:fixed;
    left:40px;
    bottom:40px;
    z-index: 999;
}
#gototop:hover {
    opacity: 1;
}

/* FOOTER */
footer.footer {
	font-family: var(--font-primary);
}
footer.footer a {
	color: #fff;
}
footer.footer a:hover {
	color: var(--cyan);
}
@media screen and (min-width:960px) {
	.footer-cols > section {
		text-align: center;
	}
	.footer-cols > section > div {
		margin: 0 auto;
		display: inline-block;
		text-align: left;
	}
}
.footer-main {
	background-color: var(--teal);
	color: #fff;
	padding: 40px 20px;
	font-size: 1.3rem;
	letter-spacing: 0.049em;
}
.footer-main h6 {
	font-size: 1.9rem;
	letter-spacing: 0.065em;
	color: var(--cyan);
	font-weight: 400;
	text-transform: uppercase;
	font-family: var(--font-primary);
}
.footer-main h6::after {
	content:"";
	display:block;
	max-width: 58px;
	height:1px;
	background: #fff;
	margin: 1em 0;
}
.footer .contact-detail p {
	line-height: 1.8;
	text-transform: uppercase;
}
.footer .nav-secondary li + li {
	margin-top: 0.5em;
}
.footer .nav-secondary a {
	font-size: 1.3rem;
	text-transform: uppercase;
}
.footer-tel {
	font-size: 1.6rem;
	font-weight: 700;
}
.footer-sub {
	background-color: #000;
	color: #fff;
	padding: var(--pad);
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}
.footer-sub .social svg path {
	fill: currentColor;
}
.grid.footer-cols {
	gap: var(--gap);
	-ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
@media screen and (min-width:640px) {
    .grid.footer-cols {
		-ms-grid-columns: 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.footer .footer-logos {
		grid-column: span 2;
	}
}
@media screen and (min-width:960px) {
    .grid.footer-cols {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.footer .contact-detail {
		grid-column: span 2;
	}
	.footer .footer-logos {
		grid-column: span 1;
	}
}

/***
FLEX
***/
.flex {
    display: -webkit-box;
	display: -moz-box;
	display: box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: var(--gap);
}
.flexinline {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}
.flex.flexo > * {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-flex: 1;
	    -ms-flex: 1 0 0;
	        flex: 1 0 0;
}
.flex.flexi > * {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
}
.flexnowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.flexgrow > * {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1
}
.flexgap {
	--gap: var(--pad);
}
.flexcol {
	-webkit-box-orient: vertical;
	box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.flexrow {
	-webkit-box-orient: horizontal;
	box-orient: horizontal;
	-ms-flex-direction: row;
	flex-direction: row;
}
.flexdirection {
	-webkit-box-direction: normal;
	box-direction: normal;
}
.flexdirectionreverse {
	-webkit-box-direction: reverse;
	box-direction: reverse;
}
.flexstretch {
	-webkit-box-pack: justify;
	box-pack: justify;
	-ms-flex-pack: stretch;
	justify-content: space-between;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-box-align: stretch;
	box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.flexstart {
	-ms-flex-line-pack: flex-start;
	align-content: flex-start;
	-webkit-box-align: flex-start;
	box-align: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
}
.flexwrap {
	-webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}
.flexfirst {
	-webkit-box-ordinal-group: 0;
	box-ordinal-group:-1;
	-ms-flex-order: -1;
	order: -1;
}
.flexorder {
	-webkit-box-ordinal-group: 1;
	box-ordinal-group:0;
	-ms-flex-order: -1;
	order: -1;
}
.flexistretch {
	-webkit-align-self: stretch;
	-ms-flex-item-align: stretch;
	-ms-grid-row-align: stretch;
	    align-self: stretch;
}
.flexaround {
	-moz-justify-content: space-around;
	-ms-justify-content: space-around;
 	-ms-flex-pack: distribute;
     justify-content: space-around;
}
.flexspaceb {
	-webkit-box-pack: space-between;
	box-pack: space-between;
	-ms-flex-pack: space-between;
	-moz-flex-pack: space-between;
	justify-content: space-between;
}
.flexevenly {
	-webkit-box-pack: space-evenly;
	box-pack: space-evenly;
	-ms-flex-pack: space-evenly;
	-moz-flex-pack: space-evenly;
	justify-content: space-evenly;
}
.flexcenter {
	-moz-justify-content: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.flexend {
	-moz-justify-content: flex-end;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
.flexvcenter {
	-webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/***
GRID
***/

.grid {
	--gridcols: 1;
	--gap: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    gap: var(--gap);
}
.grid > * {
	width:100%;
	max-width: calc(100% / var(--gridcols));
}
@supports (display: grid) OR (display: -ms-grid) {
    .grid {
        display: -ms-grid;
        display: grid;
		grid-template-columns: repeat(var(--gridcols), minmax(0, 1fr));
		grid-gap: var(--gap);
		gap: var(--gap);
	}
	.grid>* {
		width:auto;
		max-width: none;
	}
}
.gridreverse {
    direction: rtl;
}
.gridreverse > * {
    direction: ltr;
}
.gridcenter {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
    justify-items: center;
}
.gridstretch {
	-webkit-box-pack: stretch;
	-webkit-justify-content: stretch;
	-ms-flex-pack: stretch;
	justify-content: stretch;
}
.gridvcenter {
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.gridgap {
	--gap: var(--pad);
}
.grid,
.grid21,
.grid31,
.grid321,
.grid4321,
.grid421 {
    gap: var(--gap);
	-ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
.grid2 {
	-ms-grid-columns: 1fr var(--gap) 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid3 {
	-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (min-width:640px) {
    .gridauto {
        /*grid-template-columns: repeat( auto-fill, minmax(min(calc(180px + 12vmin), 100%), 1fr));*/
        grid-template-columns: repeat( auto-fit, minmax(285px, 1fr) );
    }
	.grid4321,.grid421 {
		-ms-grid-columns: 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grid21 {
		-ms-grid-columns: 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width:960px) {
	.grid21 .grid21 {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
}
@media screen and (min-width:768px) {
	.grid31 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width:640px) {
	.grid321 {
		-ms-grid-columns: 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (min-width:960px) {
	.grid4321,.grid321 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width:1280px) {
	.grid421 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media screen and (min-width:1600px) {
	.grid4321 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.gridfull > * /*,
.grid > *:only-child*/ {
    grid-column: 1/-1;
}

/******
UTILITY
******/
/* ASPECT RATIO with fallback */
.aspect {
	--aspectratio: 1/1;
	aspect-ratio: var(--aspectratio);
}
.aspect.square {
	--aspectratio: 1/1;
}
.aspect.video {
	--aspectratio: 16/9;
}
.aspect.video-alt {
	--aspectratio: 9/16;
}
.aspect.rect {
	--aspectratio: 4/3;
}
.aspect > a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.aspect > a > img ,
.aspect > img {
    -o-object-fit: cover;
    object-fit: cover;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
@supports (aspect-ratio: var(--aspectratio)) {
	.aspect {
		display: grid;
		place-items: center;
	}
}
@supports not (aspect-ratio: var(--aspectratio)) {
	.aspect {
		position: relative;
	}
	.aspect::before {
		content: "";
		float: left;
		padding-top: calc(100% / calc(var(--aspectratio)));
	}
	.aspect::after {
		content: "";
		display: block;
		clear: both;
	}
	.aspect > * {
		position: absolute;
		top:0;right:0;bottom:0;left:0;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
.transition-all, .ta  {
	-webkit-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-moz-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-o-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-ms-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
}
/* ALIGN */
.alignleft {
	float: left;
}
.aligncenter {
    display: block;
	margin-left: auto;
	margin-right: auto;
    /*position: relative;
    left: 50%;
    -webkit-transform: translate(-50%, 0px);
        -ms-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);*/
}
.alignright {
	float: right;
}
.none {
	display: none
}
.alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 75vw;
	width: 100%;
}
.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}
.textcenter {
    text-align: center;
}
iframe {
	max-width: 100%;
}

* CLEARFIX */
.cf {
	zoom: 1;
}
.cf::before, .cf::after {
	content: ' ';
	display: table;
}
.cf::after {
	clear: both;
}

/* MAP */
.acf-map {
    width: 100%;
    height: 100%;
}
.acf-map img {
   max-width: inherit !important;
}
/* GREY */
.greyscale {
    -webkit-filter: saturate(0%);
    filter: saturate(0%);
}

/********
GUTENBERG
BLOCKS */




/* RATIO EMBED */

/*https://codepen.io/cvn/pen/WbXEoX/ */
.video-bg {
  background: white;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}
.video-bg .video-fg,
.video-bg iframe,
.video-bg video,
.video-bg .youtubevideo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
  Full page video background
  Simulate object-fit: cover
  Based on http://fvsch.com/code/video-background/
*/
/*
@media (min-aspect-ratio: 16/9) {
  .video-bg.cover .video-fg {
    height: 300%;
    top: -100%;
  }
}
@media (max-aspect-ratio: 16/9) {
  .video-bg.cover .video-fg {
    width: 300%;
    left: -100%;
  }
}
*/
@media screen and (max-width: 1082px) {
  .video-bg.cover .video-fg {
    width: 300%;
    left: -100%;
  }
}
@media screen and (min-width:1083px) {
  .video-bg.cover .video-fg {
    height: 300%;
    top: -100%;
  }
}
@supports (-o-object-fit: cover) {
  .video-bg.cover .video-fg.supports-cover {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  .video-bg.cover iframe,
  .video-bg.cover video,
  .video-bg.cover .youtubevideo {
    -o-object-fit: cover;
  }
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .video-bg.cover .video-fg.supports-cover {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  html:not(.safari) .video-bg.cover iframe,
  html:not(.safari) .video-bg.cover video,
  html:not(.safari) .video-bg.cover .youtubevideo {
       -o-object-fit: cover;
          object-fit: cover;
  }
}
/*
  Vertical centering for 16/9 youtube iframes and video elements
  Simulate object-fit: contain for entire element, not just contents of element
*/
.video-bg.contain {
  font-size: 0;
}
.video-bg.contain * {
  font-size: 16px;
}
.video-bg.contain::before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.video-bg.contain .video-fg {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  /* 16:9 */
  pointer-events: none;
}
.video-bg.contain iframe,
.video-bg.contain video {
  pointer-events: auto;
}
@media (min-aspect-ratio: 16/9) {
  .video-bg.contain .video-fg {
    height: 100%;
    padding-bottom: 0;
    max-width: 53.33333333vh;
    left: 50%;
    margin-left: -26.66666667vh;
  }
}
/* 16x9 Aspect Ratio */
.ratio {
  position: relative;
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
}
/* 4x3 Aspect Ratio */
.ratio-4x3 {
  padding-bottom: 75%;
}
.ratio iframe {
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  border:none;
}

/*********
PAGINATION 
*********/
.custom-pagination {
	clear:both;
	margin: 30px auto 60px auto;
	text-align:center;
    font-size: 1.4rem;
}
.custom-pagination span,
.custom-pagination a {
  display: inline-block;
  padding: 2px 10px;
  text-decoration:none !important;
}
.custom-pagination a {
	color: #CCCCCC;
	border: 1px solid #CCCCCC;
	border-radius:0;
	display:inline-block;
	padding:5px 20px;
	background:none;
	position:relative;
	text-transform:uppercase;
}
.custom-pagination a:hover {
  background-color: var(--color-secondary);
  color: #fff;
}
.custom-pagination span.page-num {
  margin-right: 10px;
  padding: 0;
}
.custom-pagination span.dots {
  padding: 0;
  color: #CCCCCC;
}
.custom-pagination span.current {
  background-color: var(--color-primary);
  color: #fff;
  padding:6px 21px;
}

@media screen and (min-width:2560px) {
	body { zoom: 1.5; }
}
@media screen and (min-width:3200px) {
	body { zoom: 2; }
}

/************
THEME CHECKER
************/
.sticky {}
.gallery-caption {}
.bypostauthor {}

/***********
PRINT STYLES
***********/

@media print {
	* {
		background: transparent !important;
		color: black !important;
		text-shadow: none !important;
		-webkit-filter: none !important;
		        filter: none !important;
		-ms-filter: none !important;
	}
	a, a:link, a:visited {
		color: #444 !important;
		text-decoration: underline;
	}
	a::after, a:visited::after {
		content: " (" attr(href) ")";
	}
	a abbr[title]::after, a:visited abbr[title]::after {
		content: " (" attr(title) ")";
	}
	.ir a::after,  a[href^="javascript:"]::after,  a[href^="#"]::after {
		content: "";
	}
	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr, img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 0.5cm;
	}
	p, h2, h3 {
		orphans: 3;
		widows: 3;
	}
	h2,  h3 {
		page-break-after: avoid;
	}
	.searchform,  nav {
		display: none;
	}
}