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

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

******************************************************************/
/**********
BREAKPOINTS
**********/
/* xs | mobile default 1 col | 320px-479px */

/* s | landscape mobile & portrait tablet | 480px-959px 
@media screen and (min-width:480px)  { } */

/* m | landscape tablet & laptop | 960px-1439px
@media screen and (min-width:960px)  { } */

/* l | hd desktop | 1440px-1920px 
@media screen and (min-width:1440px) { } */

/* xl | fhd desktop | 1921px-2399px 
@media screen and (min-width:1921px) { } */

/* xxl | 2k desktop | 2400px-3359
@media screen and (min-width:2400px) { } */

/* xxxl | 4k desktop | 3360px+ 
@media screen and (min-width:3360px) { } */

/***
VARS
***/
:root { /* USE HSLA */
	--white: #FFFFFF;
	--red: #ED1A3B;
	--grey: #333333;
	--grey2: #CCCCCC;
	--grey3: #4D4D4D;
	--grey4: #666666;
	--sand: #FED9A0;
	--orange: #FEAB2B;
	--green: #A0C241;
	--green2: #D5E4AA;
	--black: #000000;
	--pink: #F4A198;

    --color-text: var(--grey);
    --color-primary: var(--red);
    --color-secondary: var(--grey);
	
    --font-sys: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Oxygen-Sans", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
	--opensans: "Open Sans";
	
    --font: var(--opensans), var(--font-sys);	
    
    --font-size-body: 16;
    --lineheight: 1.5;
    
    --width-xl:     1164px;
    --width-l: 		940px;    
    --width-m:     	562px;
	
    --headerheight: 148.8; /* set using JS if height varies responsively */
    --fullheight: 0;
    --bannerheight: 0;
    
    --vh:0;
    --uivh: calc(var(--vh) * 100); /* --uivh calculated by script */
    --uivh: var(--uivh,100vh); /* --100vh fallback */
    --adminbarheight: 0;
	
	--pad: 20px;
	--gap: var(--pad);
    
    --transition-attr:all;
    --transition-time:0.2s;
    --transition-type:ease;
	
	--gridcols: 1;
	--gridauto: 236px;
	--aspectratio: 1/1;
	
	/*margin-top: 0 !important;*/
}
/***
BASE
***/
html, body {
    margin: 0;
    padding:0;
    font-family: var(--font);
	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:focus-within {
	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%;
	min-width: 160px;
	/*margin-top: calc(var(--adminbarheight,0) * 1px);*/
}
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);
    }
}
/*@media screen and (min-width:783px) {
	#wpadminbar { position: absolute !important; }
}*/
/*@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);
    /*text-rendering: optimizelegibility;*/
	text-rendering: geometricPrecision;
	font-weight: inherit;
	line-height: inherit;
	margin: 0 0 0.5em 0;
    font-weight: 700;
    color: inherit;
    font-size: inherit;
}
.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;
	letter-spacing: 0.02em;
}
a {
	display: inline-block;
	text-decoration: none;
	color: currentColor;
}
a:active, a:hover {
	outline: 0;
	color: var(--color-secondary);
}
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);
}

/* BUTTON */
.btn, button, [type="button"], [type="reset"], [type="submit"] {
	color: var(--white);
	padding: calc(var(--pad) / 2) var(--pad);
	font-weight:600;
	text-transform: uppercase;
	border: none;
	box-shadow: none;
	background-color: var(--color-primary);
	border-radius: var(--pad);
	line-height: 1.2;
	letter-spacing: 0.02em;
	cursor: pointer;
}
.btn:hover, button:hover, [type="button"]:hover, [type="reset"]:hover, [type="submit"]:hover{
	background-color: var(--color-secondary);
	color: var(--white);
}

/*****
HEADER 
*****/
header.header {
    position: relative;
}
nav.primary-menu {
	min-height: 35px;
	background: var(--color-primary);
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	padding: 4px 0 8px 0;
	text-align: center;
}
nav.primary-menu li {
	display: inline-block;
	vertical-align: middle;
}
nav.primary-menu li:not(:last-child)::after {
	content: "|";
	display: inline-block;
	padding: 0 0.4em 0 0.8em;
	vertical-align: top;
}
nav.primary-menu a {
	color: #fff;
	letter-spacing: -0.0111em;
}
nav.primary-menu a:hover ,
nav.primary-menu li.current-menu-item a {
	color: var(--grey);
}
@media screen and (min-width:1025px) {
	nav.primary-menu {
		text-align: right;
	}
	nav.primary-menu > div {
		padding-right: 85px;
	}
}

.hamburger {
	position: absolute;
	z-index: 2000;
	display: none;
	font-size: 20px;
	position: relative;
	float: right;
	cursor: pointer;
	background: rgba(255,255,255,0.85);
}
.hamburger::after {
	content: "\2630";
	min-width: 40px;
	min-height: 40px;
	line-height: 40px;
	font-size: 40px;
	font-weight: 700;
	display: inline-block;
	text-align: center;
	color: var(--color-primary);
}
.hamburger-switch:checked ~ .hamburger::after {
	content: "\00d7";
	font-size: 46px;
	top: 4px;
    position: relative;
}
.hamburger-switch {
	display: none;
}
@media screen and (max-width: 1024px) {
	nav.primary-menu {
		min-height: 50px;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 600;
	}
	.admin-bar nav.primary-menu {
		top: calc(var(--adminbarheight) * 1px);
	}
	#wpadminbar {
		position: fixed !important;
	}
	header.header {
		padding-top: 50px;
	}
	nav.primary-menu > .w-l {
		position: relative;
	}
	.hamburger {
		position: absolute;
		top: 0px;
		right: 20px;
		z-index: 1000;
		display: grid !important;
		place-items: center;
		background: rgba(255,255,255,0.85);
		display: inline-block;
		-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;
		background-color: var(--color-primary);
	}
	.hamburger-switch:checked ~ .menu {
		display: grid !important;
		place-items: center;
	}
	.menu > li {
		margin: 0 0 1em 0;
		list-style: none;
	}
	.menu li::after {
		content:"" !important;
	}
	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;
	}
}

/* LOGO SOCIAL */
.logo-social {
	padding: 36px 95px;
}
.sitelogo {
	display:block;
	margin: 0;
    z-index: 500;
	text-align:center;
    width:307px;
	height:83px;
	padding: 0;
	background: #fff;
}

.sitelogo img ,
.sitelogo svg {
    width:100%;
	max-width: 307px;
    height: auto;
	max-height: 100%;
	display:block;
}
.social {
	text-align: center;
	display: inline-block;
	position: relative;
    z-index: 1;
}
.social a {
	display: inline-block;
	width: 47px;
	height: 47px;
	margin:5px;
}
.social a svg path {
	fill: var(--color-primary);
}
.social a:hover svg path {
	fill: var(--color-secondary);
}
@media screen and (max-width:960px) {
	.logo-social {
		padding: 36px 36px;
	}
	.sitelogo, .social {
		margin: 0 auto;
	}
	.social a {
		background: #fff;
		border-radius: 50%;
	}
}
/*****
BANNER 
*****/
.banner-container {
	position: relative;
	--bannerheight: 777;
	--horizontaladjust: calc((((100vmax / 9 * 16) - 100vw) / 2) * -1);
	--verticaladjust: calc((100 - (( var(--bannerheight) / 1080) * 100) ) * -0.5% );
	height: calc((var(--bannerheight, 777) * 1px));
	overflow: hidden;
}
.banner-container:empty {
	display: none;
}
.video-background { 
  position: relative;
  overflow: hidden;
  height: calc(100vmax / 16 * 9);
  width: calc(100vmax / 9 * 16);
  transform: translate( var(--horizontaladjust, -22%), var(--verticaladjust, -14.08%) );
  min-height: calc(20px + (var(--bannerheight, 777) * 1px));
  min-width: calc(((var(--bannerheight, 777) / 9 * 16 ) * 1px));
}
@media screen and (max-width:1440px) {
	.video-background {
		min-height: calc(130px + (var(--bannerheight, 777) * 1px));
	}
}
@media screen and (max-width:640px) {
	.video-background {
		min-height: calc(300px + (var(--bannerheight, 777) * 1px));
	}
}
.video-background iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width:100%;
  height:100%;
}
.banner {
	background: #fff var(--wpr-bg-4d1a8760-1532-4bf4-8b69-26d5871a332e) 50% 50% no-repeat scroll;
	background-size: cover;
	height:777px;
	position: relative;
}
.banner > .w-xl {
	position: relative;
	z-index: 2;
}
.banner-caption {
	max-width: 537px;
	padding: 75px;
	background: rgba(255,255,255,0.75);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	position: absolute;
	z-index: 2;
}
@media screen and (max-width:960px) {
	.banner-caption {
		padding: 75px 36px;
		max-width: 459px;
		margin: 0 20px 0 0;
	}
}
.banner-caption-heading {
	font-weight: 800;
	font-size: 2.8rem;
}
.swiper-container {
	z-index: initial;
}
.swiper-button-prev, .swiper-button-next {
	z-index: 20;
	display: none;
}
.swiper-container .swiper-button-prev, .swiper-container .swiper-button-next {
	display: flex;
}
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after,
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
	font-family: inherit;
	color: #fff;
	background-color: var(--color-primary);
	padding: 5px;
}
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
    content: '>';
}
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
    content: '<';
}
/*******
SECTIONS 
*******/
.sections {
	background-color: var(--color-secondary);
	color: var(--white);
	padding-bottom: var(--pad);
}
.sections .w-xl {
	max-width: 1040px;
}
.sections .grid {
	margin-top: -91px;
	z-index: 5;
    position: relative;
}
.sections a {
	display: block;
	position: relative;
	margin: 0 auto;
}
.sections .aspect {
	max-width: 182px;
	margin: auto;
}
.sections a:hover span {
	color: var(--color-primary);
}
.sections span {
	display: block;
	margin-top: 10px;
	font-weight: 600;
	font-size: 1.8rem;
	letter-spacing: 0.0491em;
}
.sections p {
	font-weight: 400;
	font-size: 1.6rem;
	letter-spacing: 0.0491em;
}
/*****
NOTICE 
*****/
.notice {
	background: var(--color-primary);
	padding:1em;
	color: var(--white);
	font-size: 1.2rem;
	font-weight: 600;
	text-align: center;
}

/******
LAYOUTS
******/
.layouts {
}
.layout-text {
	padding: 40px 0 20px 0;
}
.page-id-117 .layout-text {
	background-color: var(--pink);
}
.page-id-627 .layout-text:not(:first-child) {
/*	background-color: var(--green2);*/
}
.page-id-634 .layout-text {
	background-color: var(--sand);
}
.layout-text + .layout-text {
	padding: 0;
	margin-top: -40px;
}
@media screen and (min-width:700px) {
	.cols2 {
		-webkit-column-count: 2;
		   -moz-column-count: 2;
				column-count: 2;
	-webkit-column-gap: 20px;
	   -moz-column-gap: 20px;
			column-gap: 20px;
			text-align: left;
	}
}
.layout-text .heading {
	font-size: 2.8rem;
	color: var(--color-primary);
	text-align: center;
	font-weight: 700;
	letter-spacing: -0.007em;
}
.layout-text .subheading {
	font-size: 2.0rem;
	color: var(--grey);
	text-align: center;
	font-weight: 400;
	letter-spacing: -0em;
}
.layout-text h3 {
	font-size: 2.4rem;
	color: var(--color-primary);
	font-weight: 700;
	letter-spacing: 0.003em;
}
.layout-text h4 {
	font-size: 2.0rem;
	color: var(--color-primary);
	font-weight: 700;
	letter-spacing: 0.003em;
}
.layout-text-text strong {
	font-size: 2rem;
	color: var(--grey4);
}
.layout-text-text {
	padding: 20px 0;
	line-height: 2;
}
.layout-text-text:not(.cols2) p:first-of-type {
	font-size: 2rem;
}
.layout-icons.sections {
	background: none;
	color: var(--grey);
	margin-top: 91px;
	position: relative;
}
.layout-icons[class*="bgcol-"]::before {
	content: "";
    display: block;
    top: 91px;
    bottom: 0;
    left: 0;
    right: 0;
    position: absolute;
    z-index: -1;
}
.layout-icons.bgcol-sand::before {
    background-color: var(--sand);
}
.layout-icons.sections.bgcol-grey {
	color: var(--white);
}
.layout-icons.bgcol-grey::before {
    background-color: var(--grey);
}
.layout-icons.bgcol-green::before {
    background-color: var(--green);
}
.layout-icons.bgcol-white::before {
    background-color: var(--white);
}
.page-id-630 .layout-icons.sections .grid ,
.page-id-634 .layout-icons.sections .grid {
	margin-top: 40px;
}
.page-id-634 .layout-textimage .grid.grid21 {
	--gap: 40px 120px;
}
.layout-textimage + .layout-icons.sections {
	margin-top: 0px;
}
.layout-textimage.bgcol-sand + .layout-icons.sections {
    border-top: 91px solid var(--sand);
}
.layout-textimage.sections.bgcol-grey + .layout-icons.sections {
	border-top: 91px solid var(--white);
}
.layout-textimage.bgcol-grey + .layout-icons.sections {
    border-top: 91px solid var(--grey);
}
.layout-textimage.bgcol-green + .layout-icons.sections {
    border-top: 91px solid var(--green);
}
.layout-textimage.bgcol-white + .layout-icons.sections {
    border-top: 91px solid var(--white);
}
@media screen and (min-width:700px) and (max-width:1000px) {
	.layout-icons .grid.gridauto {
		--gridauto: 350px !important;
	}
}
.layout-textimage {
	padding: 20px 0;
}
.page-id-634 .layout-textimage {
	padding: 0;
}
.layout-textimage-text {
	font-size: 1.6rem;
	color: var(--grey3);
	font-weight: 600;
	letter-spacing: -0.007em;
	line-height: 2;
}
.layout-textimage-text .heading {
	font-size: 2.8rem;
	color: var(--red);
	font-weight: 700;
	letter-spacing: -0.007em;
}
.layout-textimage.bgcol-green .layout-textimage-image .aspect {
	--aspectratio: 329/493;
	width: 100%;
	max-width: 329px;
	margin: auto;
}
.layout-textimage.bgcol-green {
	background-color: var(--green);
}
.layout-textimage.bgcol-green .layout-textimage-text {
	-webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
}
.layout-textimage.bgcol-rust {
	background: var(--orange) var(--wpr-bg-dcf13f32-cb35-4e91-b98d-2be79496f1ac) 50% 50% no-repeat scroll;
	background-size: cover;
	color: #fff;
}
.layout-textimage.bgcol-rust .layout-textimage-text {
	-webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
	color: #fff;
}
.layout-textimage.bgcol-rust .layout-textimage-text .heading {
	color: #fff;
}
.layout-textimage.bgcol-orange {
	background-color: var(--orange);
}
.layout-textimage.bgcol-white {
	background-color: var(--white);
}
.layout-textimage.bgcol-white .layout-textimage-text {
	-webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
}
.layout-textimage.bgcol-pink {
	background-color: var(--pink);
}

/* LIST */
.layout-list {
	text-align: center;
	padding: 40px 0;
}
.page-id-627 .layout-list {
	background-color: var(--green2);
}
.layout-list-text {
	text-align: left;
}
.layout-list-item {
	border-top: 2px solid var(--green);
	padding-top:20px;
}
.layout-list-item .heading {
	color: var(--color-primary);
	font-weight: 700;
	font-size: 2.4rem;
}
.page-id-620 .layout-list {
	position: relative;
	padding: 0 0 40px 0;
}
.page-id-620 .layout-list::before {
	content: "";
	display: inline-block;
	width: 166px;
	height: 78px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg viewBox='0 0 332 156' xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2'%3e%3cpath d='M0 65.897a6.65 6.65 0 0 1-6.646-6.643c0-3.663 2.98-6.642 6.646-6.642 3.66 0 6.643 2.979 6.643 6.642A6.652 6.652 0 0 1 0 65.897m-12.601-6.643c0 6.958 5.642 12.6 12.601 12.6 6.956 0 12.598-5.642 12.598-12.6 0-6.958-5.642-12.598-12.598-12.598-6.959 0-12.601 5.64-12.601 12.598m-68.646 0c0 .94-.028 2.752-.028 2.752h-3.383s-.028-1.812-.028-2.752c0-5.115-2.261-9.703-5.822-12.852l15.089-.006c-3.564 3.149-5.828 7.739-5.828 12.858m-31.994-12.843a17.259 17.259 0 0 0-4.283 5.801h-5.139v-5.797l9.422-.004ZM0 37.493c7.173 0 13.528 3.505 17.495 8.877l20.642.003v15.62l-20.977.028s.018-1.822.018-2.767c0-9.473-7.709-17.18-17.178-17.18-9.475 0-17.182 7.707-17.182 17.18 0 .94.016 2.757.016 2.757l-15.057-.005-8.653-9.794h-7.537a17.419 17.419 0 0 0-4.307-5.872l35.222.031C-13.531 41-7.177 37.493 0 37.493m-101.868 28.404a6.65 6.65 0 0 1-6.646-6.643c0-3.663 2.98-6.642 6.646-6.642a6.65 6.65 0 0 1 6.643 6.642 6.65 6.65 0 0 1-6.643 6.643m-12.601-6.643c0 6.958 5.642 12.6 12.601 12.6 6.957 0 12.598-5.642 12.598-12.6 0-6.958-5.641-12.598-12.598-12.598-6.959 0-12.601 5.64-12.601 12.598m50.404 6.643a6.65 6.65 0 0 1-6.643-6.643 6.65 6.65 0 0 1 6.643-6.642 6.65 6.65 0 0 1 6.643 6.642 6.65 6.65 0 0 1-6.643 6.643m-12.598-6.643c0 6.958 5.638 12.6 12.598 12.6 6.959 0 12.598-5.642 12.598-12.6 0-6.958-5.639-12.598-12.598-12.598-6.96 0-12.598 5.64-12.598 12.598M29.423 21.067l-8.991.067-22.2-9.173V-.377h15.395c6.358 0 8.756 2.741 10.542 7.129l5.254 14.315Zm8.714 20.806V24.864c0-3.619-.607-5.67-3.687-7.423l-5.099-12.76C27.149-.722 23.22-5.957 13.627-5.957H-10.88v41.338A26.056 26.056 0 0 1 0 32.992c7.809 0 14.812 3.446 19.622 8.877l18.515.004Zm-165.979-28.871v28.835h108.524V-.377h-5.592v13.379h-102.932Z' style='fill:%234d4d4d;fill-rule:nonzero' transform='matrix(2 0 0 2 255.684 11.914)'/%3e%3c/svg%3e");
}

/* FAMILY BUSINESS */
.family {
	position: relative;
}
.family .w-xl {
	max-width: 1280px;
}
.family .w-xl > .grid {
	grid-template-columns: 1fr;
}
@media screen and (min-width:700px) {
	.family .w-xl > .grid {
		grid-template-columns: 5fr 4fr;
	}
}
@media screen and (min-width:960px) {
	.family .w-xl > .grid {
		min-height: 527px;
		grid-template-columns: 1fr 1fr;
	}
}
.family::before {
	content: "";
    display: block;
    top: 0;
    bottom: 167px;
    left: 0;
    right: 0;
    position: absolute;
    z-index: -1;
	background-color: var(--orange);
}
@media screen and (max-width:699px) {
	.family::before {
		content:"";
		display: none;
	}
	.family-image {
		-webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
		order: 1;
	}
	.family-info .family-info-text {
		background-color: var(--orange);
		margin-left: -20px;
		margin-right: -20px;
		padding: 20px 40px 40px 40px;
	}
	.family .grid.gridgap {
		--gap: 0;
	}
}
.family-info.grid {
	grid-template-rows: 1fr 167px;
}
.family-info-text {
	padding: 20px 0;
	line-height: 2;
}
.family-info-text .heading {
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.0995em;
}
.family-image {
	overflow: hidden;
}
.family-image img {
	position: relative;
	top: 1px;
}

/* SITE */
.layout-site {
	background-color: var(--red);
	color: #fff;
	padding: 40px 0 0 0;
}
.layout-site .heading {
	color: #fff;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;	
}
.layout-site-grid.grid.gridgap {
	--gap: 90px;
}
@media screen and (min-width: 640px) {
	.layout-site-grid.grid21 {
		grid-template-columns: minmax(0, 1fr) 280px;
	}
}
.layout-site-contact {
	font-weight: 700;
	font-size: 1.6rem;
	padding: 20px 0 0 0;
}
.layout-site-contact > div ,
.layout-site-info > div {
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
.layout-site-contact svg {
	display: inline-block;
	width: 26px;
	vertical-align: middle;
	margin: 0 0.5em 0 0;
}
.layout-site-info svg {
	display: inline-block;
	width: 26px;
	margin: 0 0.5em 0 0;
	position: absolute;
	top: 0;
	left:0;
}
.layout-site-info {
	padding-left: 40px;
}
.layout-site-info svg {
	margin-left: -40px;
}
.layout-site-address {
	margin-bottom: 1em;
}
.layout-site + .layout-text,
.layout-site + .layout-text + .layout-text {
	background-color: var(--sand);
}

/* Image Text Cols */
.layout-imagetextcols {
	background-color: var(--grey);
	color: #fff;
	padding: 20px 0 60px 0;
	margin-top: 101px;
	line-height: 2;
	position: relative;
}
.layout-imagetextcols::before {
	content:"";
	display: block;
	position: absolute;
	z-index: -1;
	background-color: var(--sand);
	left:0; 
	right:0;
	top: -101px;
	height: 101px;
}
.layout-imagetextcols .aspect {
	--aspectratio: 520/195;
	background-color: var(--grey2);
}
.layout-imagetextcols .grid {
	margin-top: -121px;
	--gap:40px;
}
.layout-imagetextcols .heading {
	color: var(--green);
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 1em 0;
}


/* Image Layout */
.layout-image img {
	background-color: var(--grey);
	width: 100%;
	position: relative;
}

/* CONTACT FORM 7 */
.contact-form {
	background: var(--grey) var(--wpr-bg-439aeefc-4e4f-4a13-8a19-1e921676449b) 50% 50% no-repeat scroll;
	background-size: cover;
	padding:60px 0;
}
.contact-form > .w-l {
	max-width: 800px;
}
.contact-form .heading {
	color: #fff;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 700;
}
.contact-form .grid.gridgap {
	--gap: 0 40px;
}
div.wpcf7 input:not([type="submit"]),
div.wpcf7 textarea {
	width:100%;
	border:3px solid var(--color-primary);
	background: #fff;
	color: var(--grey);
	padding:20px 20px;
	font-weight: 600;
}
div.wpcf7 textarea {
	max-height:225px;
	overflow:auto;
}
div.wpcf7 input::-webkit-input-placeholder, div.wpcf7 textarea::-webkit-input-placeholder {
	color:var(--grey4);
	font-weight: 400;
}
div.wpcf7 input::-moz-placeholder, div.wpcf7 textarea::-moz-placeholder {
	color:var(--grey4);
	font-weight: 400;
}
div.wpcf7 input:-ms-input-placeholder, div.wpcf7 textarea:-ms-input-placeholder {
	color:var(--grey4);
	font-weight: 400;
}
div.wpcf7 input::-ms-input-placeholder, div.wpcf7 textarea::-ms-input-placeholder {
	color:var(--grey4);
	font-weight: 400;
}
div.wpcf7 input::placeholder,
div.wpcf7 textarea::placeholder {
	color:var(--grey4);
	font-weight: 400;
}
.wpcf7-spinner {
	position: absolute;
}
/*
div.wpcf7 input[type="submit"]{
	width:auto;
	color:#CCCCCC;
	padding:10px 30px;
	font-weight:400;
	background:none;
	font-size:16px;
	border: 1px solid #CCCCCC;
}
*/
div.wpcf7 input[type="submit"]:hover{
	width:auto;
	color:#fff;
	background: var(--grey2);
	
}

/*************
ACCREDITATIONS
*************/
.accreditations {
	padding: 10px 20px;
	text-align: center;
}
.accreditations img {
	display: inline-block;
}


/*******
 CONTACT 
*******/
.page-id-117 .contact-form {
	padding:0;
}
.contact-form-form.grid.gridgap {
	--gap: 40px;
}
@media screen and (min-width: 640px) {
	.contact-form-form.grid.grid21 {
		grid-template-columns: minmax(0, 1fr) 320px;
	}
}
.contact-form-form-inner {
	padding: 60px 0;
}
.contactinfo {
	color: #fff;
	background-color: rgba(0,0,0,0.75);
	padding: 80px 10px 80px 30px;
}
.contactinfo.grid.gridgap {
	--gap: 20px;
}
.contactinfo-item {
	position: relative;
	padding-left: 40px;
	min-height: 40px;
}
.contactinfo p {
	margin: 0;
}
.contactinfo a {
	min-height: 40px;
	color: #fff;
}
.contactinfo a:hover {
	color: var(--orange);
}
.contactinfo svg {
	max-width: 25px;
	max-height: 32px;
	margin-right: 10px;
	vertical-align: middle;
	position: absolute;
	z-index: 2;
	left: 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: 399;
}
#gototop:hover {
    opacity: 1;
}

/* FOOTER */
.footer-main {
	background-color: var(--color-primary);
	padding: calc(var(--pad) * 2) var(--pad);
	color: var(--white);
	font-weight: 600;
}
.footer-main h6 {
	font-size: 2.5rem;
	font-weight: 600;
	color: var(--orange);
}
@media screen and (min-width:640px) {
	#menu-secondary {
		-webkit-column-count: 2;
		   -moz-column-count: 2;
		   column-count: 2;
		   -webkit-column-gap: 20px;
	   -moz-column-gap: 20px;
			column-gap: 20px;
	}
}
.footer-credits {
	background-color: var(--grey);
	color: var(--grey2);
	padding: calc(var(--pad) / 2) var(--pad);
	font-size: 1.4rem;
	letter-spacing: -0.01em;
	text-align: center;
	vertical-align: middle;
}
.footer-credits a:hover {
	color: var(--color-primary);
}
footer .social {
	margin: 0 20px;
}
footer .social a {
	width: 39px;
	height: 39px;
}
footer .social a svg path {
	fill: var(--grey2);
}
footer .social a:hover svg path {
	fill: var(--color-primary);
}
address { 
	font-style: normal;
}
.footer-logo .aspect {
	max-width: 224px;
	margin: auto;
}

/***
FLEX
***/
.flex {
    display: -webkit-box;
	display: -moz-box;
	display: box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.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
}
.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;
}
.flexgap, .gap {
	--gap: var(--pad);
	gap: var(--gap);
}
.flexih {
	flex-basis: 50%;
}
.post-article.flex {
	flex-wrap: nowrap;
	--gap: 50px;
	margin-top: 50px;
}
.post-image {
	background-color: var(--grey2);
}
.post-image a {
	display: block;
}
.post-article .btn {
	margin-top: 1em;
}
.post-title > * {
	font-weight: 800;
    font-size: 2.4rem;
	text-wrap: pretty;
    font-family: var(--font);
    text-rendering: geometricPrecision;
    line-height: inherit;
    margin: 0 0 0.5em 0;
    font-weight: 700;
    color: inherit;
}
.post-titlex {
	font-weight: 800;
    font-size: 2.8rem;
    font-family: var(--font);
    text-rendering: geometricPrecision;
    line-height: inherit;
    margin: 0 0 0.5em 0;
    font-weight: 700;
    color: inherit;
}

/***
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,
.grid42 {
	-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));
}
.gridauto {
	/*grid-template-columns: repeat( auto-fill, minmax(min(calc(180px + 12vmin), 100%), 1fr));*/
	grid-template-columns: repeat( auto-fit, minmax(var(--gridauto,236px), 1fr) );
}
@media screen and (min-width:640px) {

	.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:960px) {
	.grid4321, .grid421, .grid42, .grid4 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media screen and (max-width:960px) {
	.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.crop img {
	/*background-color: var(--grey);*/
    height: 100%;
    /*width: 100%;*/
    -ms-object-fit: cover;
    -o-object-fit: cover;
    object-fit: cover;
}
@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: inline-block;
    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: 780px;
}
.acf-map button {
    border-radius: initial;
}
.banner .acf-map {
	position: absolute;
	z-index: 0;
	top: 0;
}
.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;
}

/************
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;
	}
}