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

Theme Name: Eight Wire
Theme URI: https://eightwire.uk
Description: Web Design & Development
Author: Eight Wire
Author URI: https://eightwire.uk
Version: 211110
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 */
    --dark: #020A0A;
    --lite: #DBDBDB;
	--purple: #40388C;
	--cyan: #76C6C7;
	--pink: #D06698;
	--grey: #666666;

	--color-primary: var(--purple);
	--color-secondary: var(--cyan);
	--color-accent: var(--pink);
	--color-text: 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;
	--nunito: "Nunito Sans";
	--robotoslab: "Roboto Slab";

    --font-primary: var(--nunito), var(--font-sys);
    --font-secondary: var(--robotoslab), var(--font-sys);


    --font-size-body: 15;
    --lineheight: 1.5;

    --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;
	--gridgap: var(--pad);

    --transition-attr:all;
    --transition-time:0.2s;
    --transition-type:ease;

	--gridcols: 1;
	--gridgap: 0;
	--gridauto: 236px;
	--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: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: 280px;
}
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);
    }
}*/
[id]{scroll-margin-top:calc(var(--adminbarheight) * 1px);}

/******
STYLING
******/
.wrapper {
	position: relative;
	max-width: 1170px;
	width: 100%;
	margin: 0 auto;
    padding: 0 20px;
}
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;
    font-weight: 700;
    color: var(--color-primary);
    font-size: inherit;
}
.color-primary {
    color: var(--color-primary) !important;
}
.color-secondary {
    color: var(--color-secondary) !important;
}
.color-accent {
    color: var(--color-accent) !important;
}
.bgcol-primary {
    background-color: var(--color-primary) !important;
}
.bgcol-secondary {
    background-color: var(--color-secondary) !important;
}
.bgcol-secondary .heading::after {
    background-color: #fff !important;
}
.bgcol-accent {
    background-color: var(--color-accent) !important;
}
p {

	font-weight: inherit;
	text-rendering: optimizeSpeed;
    font-size: 16px !important;
	line-height: inherit;
	margin: 0 0 1em 0;
}
p:last-child {
	margin-bottom: 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);
}

/* BUTTON */
.btn, button, [type="button"], [type="reset"], [type="submit"] {
	all: unset;
	color: #fff;
	padding: calc(var(--pad) / 2) var(--pad);
	font-weight:700;
	font-size: 1.3rem;
	letter-spacing: 0.0118em;
	font-family: var(--font-secondary);
	text-transform: uppercase;
	background: var(--color-secondary);
	cursor: pointer;
	transition: all 0.3s;
	border-radius: 10px;
	display: inline-block;
}
.btn:hover, button:hover, [type="button"]:hover, [type="reset"]:hover, [type="submit"]:hover{
	background: var(--color-accent);
	color: #fff !important;
}

/*****
HEADER
*****/
header.header {
	text-align:center;
    position: relative;
	z-index: 5;
}
header.header.flex > * {
	width: 100%;
}
.sitelogo {
	display:block;
	margin: 10px auto;
    z-index: 500;
	text-align:center;
    width:210px;
	height:131px;
	background: #fff;
	transition: outline-color 0.3s;
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.sitelogo img ,
.sitelogo svg {
    width:100%;
	max-width: 210px;
    height: auto;
	display:block;
}
.sitelogo:hover {
	outline: 1px solid var(--color-accent);
	outline-offset: 5px;
}
@media screen and (min-width:1025px) {
	header.header.flex > * {
		width: auto;
	}
    .sitelogo {
        margin-left: 0;
    }
}

/*******
NAV MENU
*******/
.menu li {
    padding: 0 0.5em 10px 0.5em;
	position: relative;
}
@supports (gap: 10px 1em) {
	.menu.flex {
		--gridgap: 10px 1em;
		padding: 0 0 10px 0;
	}
	.menu li {
		padding: 0;
	}
}
nav .menu a {
	font-size: 1.6rem;
	font-family: var(--font-secondary);
	font-weight: 700;
	color: var(--color-primary);
	letter-spacing: 0.0242em;
	transition: all 0.3s;
	white-space: nowrap;
}
nav .menu li.current-menu-item > a:not(:hover) ,
body.page-id-625 nav .menu li#menu-item-630 a:not(:hover) ,
body.page-id-635 nav .menu li#menu-item-630 a:not(:hover) ,
body.page-id-637 nav .menu li#menu-item-630 a:not(:hover) ,
body.page-id-639 nav .menu li#menu-item-630 a:not(:hover) ,
body.single-story nav .menu li#menu-item-630 a:not(:hover) ,
body.single-course nav .menu li#menu-item-530 a:not(:hover) {
	color: var(--color-secondary);
}
nav .menu a:hover {
	color: var(--color-accent);
}
.hamburger {
	position: relative;
	display: none;
	font-size: 20px;
	position: absolute;
	top: 10px;
	right: 20px;
}
.hamburger::after {
	content: "\2630";
	min-width: 40px;
	font-size: 40px;
	display: inline-block;
	text-align: center;
}
.hamburger-switch:checked ~ .hamburger::after {
	content: "\00d7";
	font-size: 43px;
}
.hamburger-switch {
	display: none;
}
@media screen and (max-width: 1024px) {
	.nav {
		width: 100% !important;
	}
	.hamburger {
		display: inline-block;
	}
	.menu {
		display: none !important;
		border-top: 2px solid var(--color-primary);
		padding-top: 10px !important;
	}
	.hamburger-switch:checked ~ .menu {
		display: block !important;
	}
	.menu > li {
		margin: 0 0 1em 0;
		list-style: none;
	}
	.sub-menu {
		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 (min-width: 1025px) {
	nav .menu .sub-menu {
		display: none;
		position: absolute;
		top: 100%;
		z-index: 5;
		background-color: #fff;
		min-width: 200%;
		padding: 0 1em 0.5em 1em;
		margin-left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		box-shadow: 0 10px 10px rgba(0,0,0,0.15);
	}
	nav .menu li:hover .sub-menu {
		display: block;
	}
	nav .menu .sub-menu li {
		display: block;
	}
}

/****************
BANNER SLIDER
****************/
.swiper-container,
.staticbanner {
  width: 100%;
  height: 655px;
}
.swiper-container.hero {
  max-height: unset;
}
.swiper-button-prev::after, .swiper-container-rtl .swiper-button-next::after {
    content: '\276E';
}
.swiper-button-next::after, .swiper-container-rtl .swiper-button-prev::after {
    content: '\276F';
}
.swiper-button-prev::after, .swiper-container-rtl .swiper-button-next::after,
.swiper-button-next::after, .swiper-container-rtl .swiper-button-prev::after {
	color: var(--color-secondary);
}
.swiper-button-prev:hover::after, .swiper-container-rtl .swiper-button-next:hover::after,
.swiper-button-next:hover::after, .swiper-container-rtl .swiper-button-prev:hover::after {
	color: #fff;
}
.staticbanner .swiper-button-prev,
.staticbanner .swiper-button-next {
	display: none;
}
.banner .swiper-slide {
	background: var(--lite) url() 50% 50% no-repeat scroll;
	background-size: cover;
}
.swiper-slide > * {
	box-sizing: border-box;
}
/* CAPTION */
.caption {
    float: right;
    z-index: 12;
	top:0;
	right:0;
	width: 100%;
	max-width: 434px;
	overflow: hidden;
	background: rgba(255,255,255,0.9);
	padding-top: 1vmax;
  padding-bottom: 1vmax;
}
.caption-inner {
	padding: 1vmax;
	max-height: calc(655px - 4vw);
	overflow: hidden;
    /*overflow-y: auto;*/
	color: var(--color-primary);
	font-weight: 400;
    font-family: var(--font-secondary);
    font-size: 2.9rem;
	letter-spacing: 0.0095em;
}
.caption-heading {
	font-weight: 700;
    font-size: 4.7rem;
	line-height: 1;
	color: var(--color-secondary);
	margin: 0 0 0.5em 0;
	letter-spacing: -0.021em;
}
.caption-heading strong {
    font-size: 6.8rem;
	display: block;
	color: var(--color-primary);
	letter-spacing: -0.0196em;
	line-height: 1;
}
.caption-heading:empty {
    display: none;
}
.caption-text {
}

/*.swiper-container .caption-bg > * {
	transition: all 2s ease-out;
	opacity: 0.5;
	transform: translateY(1em);
}
.swiper-container .swiper-slide-active .caption-bg > * {
	opacity: 1;
	transform: translateY(0);
}*/

/*******
BULLETIN
*******/
.bulletin {
	background: var(--color-secondary);
	padding: 0.75em 0;
	text-align: center;
	color: #fff;
    font-family: var(--font-secondary);
	font-weight: 700;
	font-size: 2.2rem;
	letter-spacing: 0.015em;
	line-height: 1.5;
}

/***
PAGE
***/
article > .wrapper {
	padding-top: 20px;
	padding-bottom: 20px;
}
h1 {
	text-align: center;
    font-size: 3.5rem;
    font-weight: 400;
	letter-spacing: 0.022em;
}
h2 {
	font-size: 2.8rem;
	font-weight: 400;
	letter-spacing: 0.022em;
}
h3 {
    font-size: 2.1rem;
	font-weight: 700;
    letter-spacing: 0.043em;
}
.heading::after {
	content:"";
	display: block;
	width:100%;
	max-width: 62px;
	height: 2px;
	background: var(--color-secondary);
	margin: 0.5em auto 0.5em auto;
}

/************
TITLETEXTFORM
************/
.titletext {
	padding: 32px 0;
	background-color: var(--color-primary);
	color: #fff;
}
.titletext .heading {
	color: #fff;
}
.titletext.bgcol-primary input[type="submit"] ,
.titletext.bgcol-primary .btn {
	background-color: var(--color-secondary);
}
.titletext.bgcol-primary input[type="submit"]:hover ,
.titletext.bgcol-primary .btn:hover {
	background-color: var(--color-accent);
}
.titletext.bgcol-secondary input[type="submit"] ,
.titletext.bgcol-secondary .btn {
	background-color: var(--color-primary);
}
.titletext.bgcol-secondary input[type="submit"]:hover ,
.titletext.bgcol-secondary .btn:hover {
	background-color: var(--color-accent);
}
.titletext.bgcol-accent input[type="submit"] ,
.titletext.bgcol-accent .btn {
	background-color: var(--color-primary);
}
.titletext.bgcol-accent input[type="submit"]:hover ,
.titletext.bgcol-accent .btn:hover {
	background-color: var(--color-secondary);
}
/* TITLE TEXT FORM 7 */
.titletext div.wpcf7 {
	margin-top: 40px;
}
.titletext div.wpcf7 input,
.titletext div.wpcf7 textarea {
	width:100%;
	border:none;
	color:currentColor;
	padding:1.2em 1.5em;
	background: rgba(255,255,255,0.2);
	border-radius: 10px;
}
.titletext div.wpcf7 textarea {
	max-height:12em;
	overflow-y:auto;
}
.titletext div.wpcf7 input::-webkit-input-placeholder, .titletext div.wpcf7 textarea::-webkit-input-placeholder {
	color:#ddd;
}
.titletext div.wpcf7 input::-moz-placeholder, .titletext div.wpcf7 textarea::-moz-placeholder {
	color:#ddd;
}
.titletext div.wpcf7 input:-ms-input-placeholder, .titletext div.wpcf7 textarea:-ms-input-placeholder {
	color:#ddd;
}
.titletext div.wpcf7 input::-ms-input-placeholder, .titletext div.wpcf7 textarea::-ms-input-placeholder {
	color:#ddd;
}
.titletext div.wpcf7 input::placeholder,
.titletext div.wpcf7 textarea::placeholder {
	color:#ddd;
}
.titletext div.wpcf7 input[type="submit"]{
	width:auto;
	margin: 0 auto;
	display: block;
	font-weight: 700;
	font-size: 1.3rem;
	letter-spacing: 0.117em;
}


/***
TEAM
***/
.team {
	padding: 40px 0;
	background-color: #F6F6F6;
}
.team-person {
	background-color: #fff;
	font-size: 1.2rem;
	max-width: 480px !important;
	margin: 0 auto;
}
.team-person-image {
	background-color: var(--color-secondary);
}
.team-person-image.aspect {
	--aspectratio: 283/227;
}
.team-person-image img {
	width:100%;
	height:100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.team-inner {
	padding: 20px;
}

/*****
PANELS
*****/
.panels {
	position: relative;
}
.panels::before {
	content:"";
	display: block;
	position: absolute;
	z-index: -1;
	background: var(--color-primary);
	width: 100%;
	height:50%;
}
.panels .wrapper {
	padding: 50px 20px;
}
.panel {
	border-left: 9px solid var(--color-secondary);
	background: #fff;
	padding: 2vw 2.8vw;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.25);
}
a.panel {
	transition: all 0.3s;
}
a.panel:hover {
	background: var(--color-accent);
	color: #fff;
}
.panel-icon {
	display: block;
	width:72px;
	margin-bottom: 10px;
	flex-basis: 72px;
	max-width: 72px;
}
.panel-title {
	font-size: 2.1rem;
	font-weight: 700;
	letter-spacing: 0.043em;
}
@media screen and (min-width:768px) {
	.panel.flex {
		display: block;
	}
}
.page-id-627 .panels .grid.gridauto > * {
	flex-basis: calc(25% - var(--gridgap));
}

/****
MEDIA
****/
.media {
	padding: 40px 0;
}
.media iframe {
	--aspectratio: 16/9;
}
.media .grid > div {
	margin: auto 0;
}
.media .grid img {
	/*width: 100%;*/
	max-height: 480px;
}
.media h2 {
	font-size: 2.8rem;
	font-weight: 400;
	letter-spacing: 0.022em;
}
.media h2.heading::after {
	content:"";
	display: block;
	width:100%;
	max-width: 62px;
	height: 2px;
	background: var(--color-secondary);
	margin: 0.5em auto 0.5em 0;
}

/***********
TESTIMONIALS
***********/
.testimonials {
	padding: 40px 0 60px 0;
	background: var(--color-accent);
	color:#fff;
	text-align: center;
}
.testimonials .wrapper {
	max-width: 767px;
}
.testimonials h2 {
	text-align: center;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.0642em;
	color: #fff;
	text-transform: uppercase;
}
.testimonials h2.heading::after {
	content:"";
	display: block;
	width:100%;
	max-width: 196px;
	height: 2px;
	background: var(--color-secondary);
	margin: 0.5em auto 1em auto;
}
.testimonials h3 {
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0.1146em;
}
.testimonials-swiper {
	overflow: hidden;
}
.testimonials-swiper .swiper-button-prev, .testimonials-swiper .swiper-container-rtl .swiper-button-next {
	left: 0;
	margin-top: 0;
}
.testimonials-swiper .swiper-button-next, .testimonials-swiper .swiper-container-rtl .swiper-button-prev {
	right: 0;
	margin-top: 0;
}
.testimonials-swiper .swiper-pagination {
	bottom: -30px;
}
.testimonials-swiper .swiper-pagination .swiper-pagination-bullet {
	border-radius: 0;
	background: rgba(255,255,255,0.57);
	cursor: pointer;
}
.testimonials-swiper .swiper-pagination .swiper-pagination-bullet-active {
	background: var(--color-secondary);
	cursor: default;
}
@media screen and (min-width:1280px) {
	.testimonials-swiper .swiper-button-prev, .testimonials-swiper .swiper-container-rtl .swiper-button-next {
		left: -50px;
	}
	.testimonials-swiper .swiper-button-next, .testimonials-swiper .swiper-container-rtl .swiper-button-prev {
		right: -50px;
	}
}
.testimonials-swiper .swiper-button-prev::after, .testimonials-swiper .swiper-container-rtl .swiper-button-next::after {
    font-size: 2rem;
    content: '<';
}
.testimonials-swiper .swiper-button-next::after, .testimonials-swiper .swiper-container-rtl .swiper-button-prev::after {
    content: '>';
    font-size: 2rem;
}
.testimonials-swiper .swiper-button-prev::after, .testimonials-swiper .swiper-container-rtl .swiper-button-next::after,
.testimonials-swiper .swiper-button-next::after, .testimonials-swiper .swiper-container-rtl .swiper-button-prev::after {
	color: #fff;
}
.testimonials-swiper .swiper-button-prev:hover::after, .testimonials-swiper .swiper-container-rtl .swiper-button-next:hover::after,
.testimonials-swiper .swiper-button-next:hover::after, .testimonials-swiper .swiper-container-rtl .swiper-button-prev:hover::after {
	color: var(--color-secondary);
}

/*************
ASK A QUESTION
*************/
.ask {
	padding: 40px 0;
	background: var(--color-secondary);
	color:#fff;
}
.ask .grid {
	align-items: end;
}
.ask .ask-info {
	margin-bottom: 10px;
}
.ask .ask-svg,
.ask svg {
	width: 100%;
	max-width: 316px;
	margin: auto auto 0 auto;
}
.ask .ask-text {
	font-size: 2.6rem;
	letter-spacing: 0.011em;
	font-family: var(--font-secondary);
	border-left: 3px solid #fff;
	padding-left: 20px;
	margin-left: -2px;
}
.ask .ask-text a {
	color: var(--color-primary);
	font-weight: 700;
}
.ask .ask-text a:hover {
	color: var(--color-accent);
}
.ask-button {
	margin-top: 0.5em;
}
.ask .ask-text .btn {
	background-color: var(--color-primary);
	letter-spacing: 0.104em;
	color: #fff;
}
.ask .ask-text .btn:hover {
	background-color: var(--color-accent);
}

/*****************
TELL US YOUR STORY
*****************/
.tell {
	padding: 40px 20px;
	color:#fff;
	background: var(--color-primary) url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' clip-rule='evenodd' viewBox='0 0 421 362'%3e%3cg opacity='.18'%3e%3cpath fill='%2376c6c7' fill-rule='nonzero' d='M69.138 185.122c0 19.092-15.477 34.568-34.57 34.568S0 204.214 0 185.122c0-19.093 15.475-34.569 34.568-34.569 19.093 0 34.57 15.476 34.57 34.569M73.6 95.905c0 19.093-15.477 34.569-34.569 34.569-19.093 0-34.569-15.476-34.569-34.569 0-19.093 15.476-34.569 34.569-34.569 19.092 0 34.569 15.476 34.569 34.569M380.16 34.569c0 19.093-15.477 34.569-34.569 34.569-19.093 0-34.569-15.476-34.569-34.569C311.022 15.476 326.498 0 345.591 0c19.092 0 34.569 15.476 34.569 34.569M420.307 118.209c0 19.093-15.478 34.569-34.57 34.569-19.093 0-34.568-15.476-34.568-34.569 0-19.092 15.475-34.568 34.568-34.568 19.092 0 34.57 15.476 34.57 34.568M414.732 208.543c0 19.093-15.477 34.569-34.569 34.569-19.093 0-34.569-15.476-34.569-34.569 0-19.093 15.476-34.569 34.569-34.569 19.092 0 34.569 15.476 34.569 34.569M364.546 286.607c0 19.093-15.477 34.569-34.569 34.569-19.093 0-34.569-15.476-34.569-34.569 0-19.093 15.476-34.569 34.569-34.569 19.092 0 34.569 15.476 34.569 34.569M182.768 318.946c0 19.093-15.477 34.569-34.569 34.569-19.093 0-34.582-15.476-34.582-34.569 0-19.092 15.489-34.568 34.582-34.568 19.092 0 34.569 15.476 34.569 34.568M279.305 326.947c0 19.093-15.477 34.569-34.569 34.569-19.093 0-34.583-15.476-34.583-34.569 0-19.093 15.49-34.569 34.583-34.569 19.092 0 34.569 15.476 34.569 34.569M105.941 267.648c0 19.093-15.478 34.569-34.57 34.569-19.093 0-34.568-15.476-34.568-34.569 0-19.092 15.475-34.568 34.568-34.568 19.092 0 34.57 15.476 34.57 34.568M131.946 194.27c3.11 11.304-3.532 22.986-14.834 26.096-11.303 3.11-22.986-3.531-26.096-14.833-3.11-11.304 3.532-22.988 14.835-26.097 11.302-3.109 22.985 3.53 26.095 14.835M120.057 140.728c3.11 11.303-3.533 22.985-14.834 26.096-11.304 3.108-22.987-3.532-26.097-14.835-3.11-11.303 3.532-22.987 14.836-26.096 11.302-3.109 22.985 3.532 26.095 14.835M137.638 86.177c3.11 11.304-3.532 22.987-14.834 26.097-11.303 3.108-22.986-3.532-26.096-14.835-3.11-11.303 3.532-22.987 14.834-26.095 11.303-3.11 22.986 3.53 26.096 14.833M180.649 46.334c3.11 11.304-3.531 22.986-14.834 26.097-11.303 3.108-22.986-3.532-26.096-14.835-3.11-11.303 3.532-22.987 14.835-26.096 11.302-3.11 22.985 3.531 26.095 14.834M238.597 34.965c3.11 11.303-3.533 22.985-14.835 26.095-11.303 3.11-22.985-3.532-26.096-14.834-3.11-11.303 3.532-22.987 14.835-26.096 11.303-3.109 22.986 3.53 26.096 14.835M291.55 54.484c3.11 11.303-3.533 22.985-14.834 26.096-11.304 3.108-22.987-3.532-26.097-14.835-3.11-11.303 3.532-22.987 14.835-26.095 11.303-3.11 22.986 3.53 26.096 14.834M328.94 97.46c3.11 11.304-3.532 22.986-14.834 26.097-11.304 3.108-22.987-3.532-26.097-14.835-3.11-11.303 3.532-22.987 14.836-26.096 11.302-3.109 22.985 3.532 26.095 14.835M340.353 151.846c3.11 11.303-3.533 22.985-14.834 26.096-11.304 3.108-22.986-3.533-26.097-14.835-3.11-11.303 3.532-22.987 14.835-26.095 11.303-3.11 22.986 3.53 26.096 14.834M323.358 206.234c3.11 11.303-3.533 22.985-14.835 26.095-11.303 3.11-22.985-3.532-26.096-14.834-3.11-11.303 3.532-22.987 14.834-26.096 11.304-3.109 22.987 3.53 26.097 14.835M221.013 254.987c3.11 11.303-3.532 22.985-14.835 26.096-11.302 3.11-22.993-3.531-26.103-14.833-3.109-11.302 3.54-22.988 14.841-26.098 11.304-3.109 22.987 3.532 26.097 14.835M279.465 243.998c3.11 11.303-3.532 22.985-14.835 26.096-11.302 3.11-22.993-3.531-26.103-14.833-3.109-11.302 3.54-22.988 14.841-26.098 11.304-3.109 22.987 3.532 26.097 14.835M167.176 237.132c3.11 11.303-3.533 22.985-14.834 26.096-11.304 3.108-22.986-3.533-26.097-14.835-3.11-11.303 3.532-22.987 14.835-26.095 11.303-3.11 22.986 3.53 26.096 14.834M169.144 173.468c1.623 5.9-1.844 12-7.744 13.623-5.9 1.623-12-1.844-13.623-7.744-1.623-5.9 1.845-12 7.744-13.623 5.901-1.624 12 1.844 13.623 7.744M162.937 145.516c1.623 5.9-1.844 12-7.745 13.624-5.9 1.622-11.999-1.844-13.622-7.745-1.624-5.9 1.844-11.998 7.743-13.622 5.902-1.623 12 1.843 13.624 7.743M172.115 117.04c1.623 5.9-1.844 12-7.744 13.623-5.9 1.623-12-1.844-13.623-7.744-1.623-5.9 1.845-12 7.744-13.623 5.901-1.624 12 1.844 13.623 7.744M194.569 96.24c1.623 5.9-1.844 11.999-7.745 13.624-5.9 1.622-11.999-1.844-13.622-7.745-1.624-5.9 1.844-12 7.743-13.622 5.902-1.623 12 1.843 13.624 7.743M224.82 90.304c1.623 5.9-1.844 12-7.744 13.623-5.901 1.623-12-1.843-13.623-7.745-1.623-5.9 1.844-11.999 7.743-13.622 5.902-1.624 12.001 1.843 13.623 7.744M252.464 100.494c1.622 5.9-1.845 12-7.745 13.623-5.9 1.624-12-1.844-13.622-7.744-1.624-5.9 1.844-12 7.743-13.623 5.901-1.623 12 1.844 13.624 7.744M271.982 122.929c1.623 5.9-1.844 12-7.745 13.624-5.9 1.622-11.999-1.844-13.622-7.745-1.624-5.9 1.844-11.998 7.743-13.622 5.902-1.623 12 1.843 13.624 7.743M277.94 151.32c1.623 5.902-1.844 12-7.744 13.624-5.901 1.623-12-1.845-13.623-7.745-1.623-5.9 1.844-11.999 7.743-13.622 5.902-1.624 12.001 1.843 13.623 7.744M269.068 179.714c1.623 5.9-1.844 12-7.744 13.623-5.9 1.623-12-1.844-13.623-7.744-1.623-5.9 1.845-12 7.744-13.623 5.901-1.624 12 1.844 13.623 7.744M215.64 205.164c1.623 5.9-1.843 12-7.743 13.623-5.902 1.623-12.005-1.843-13.627-7.743-1.625-5.9 1.847-12 7.747-13.623 5.902-1.625 12 1.844 13.624 7.743M246.154 199.427c1.624 5.9-1.843 12-7.744 13.624-5.901 1.622-12.004-1.844-13.626-7.744-1.624-5.9 1.847-12 7.747-13.623 5.902-1.624 12 1.844 13.623 7.743M187.535 195.843c1.623 5.9-1.844 12-7.744 13.623-5.9 1.623-12-1.844-13.623-7.744-1.623-5.9 1.845-12 7.744-13.623 5.901-1.624 12 1.844 13.623 7.744'/%3e%3c/g%3e%3c/svg%3e") 0 50% no-repeat scroll;
	background-size: 40vmax;
}
.tell .wrapper {
	padding: 40px 0;
	background: var(--color-secondary);
	color:#fff;
	border-radius: 10px;
}
.tell .wrapper-inner {
	max-width: 960px;
	margin: 0 auto;
}
.tell-inner.grid {
	align-items: center;
}
.tell-inner.grid > * {
	padding: 10px;
}

@media screen and (min-width: 960px) {
	.tell-inner.grid {
		grid-template-columns: minmax(0, 2.2fr) minmax(0, 2fr) minmax(0, 1.2fr);
	}
}
.tell-title {
	text-align: center;
	color:#fff;
}
.tell-title h2 {
	font-size: 4.3rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: -0.0319em;
	font-family: var(--font-secondary);
	color:#fff;
}
.tell-text {
	font-size: 2.6rem;
	letter-spacing: 0.011em;
	font-family: var(--font-secondary);
	border-left: 3px solid #fff;
	padding-left: 20px !important;
	margin-left: -2px;
	margin-bottom: 10px;
}
.tell-text a {
	color: var(--color-primary);
	font-weight: 700;
}
.tell-text a:hover {
	color: var(--color-accent);
}
.tell-button {
	align-self: end;
	padding:10px !important;
}
.tell .btn {
	background-color: var(--color-primary);
	letter-spacing: 0.104em;
}
.tell .btn:hover {
	background-color: var(--color-accent);
}

/*************
ACCREDITATIONS
*************/
.accreditations {
	text-align: center;
	padding: 40px 0;
	--gridauto: 130px;
}
.accreditations .wrapper {
	max-width: 968px;
}
.accreditations h2 {
	text-align: center;
	font-size: 3.5rem;
	font-weight: 400;
	letter-spacing: 0.0192em;
}
.accreditations h2.heading::after {
	content:"";
	display: block;
	width:100%;
	max-width: 196px;
	height: 2px;
	background: var(--color-secondary);
	margin: 0.5em auto 1em auto;
}
.accreditations .grid {
	padding-top: 15px;
}
.accreditations .grid img {
	display: block;
	margin: auto;
	max-width: var(--gridauto);
}

/***********
PARTNERSHIPS
***********/
.partnerships {
	text-align: center;
	padding: 40px 0;
	--gridauto: 348px;
}
.partnerships .wrapper {
	max-width: 1240px;
}
.partnerships h2 {
	text-align: center;
	font-size: 3.5rem;
	font-weight: 400;
	letter-spacing: 0.0192em;
}
.partnerships h2.heading::after {
	content:"";
	display: block;
	width:100%;
	max-width: 196px;
	height: 2px;
	background: var(--color-secondary);
	margin: 0.5em auto 1em auto;
}
.partnerships .grid {
	padding-top: 15px;
}
.partnerships .grid img {
	display: block;
	width: 100%;
	margin: auto;
	max-width: 583px;
	transition: all 0.3s;
	filter: grayscale(100);
}
.partnerships .grid img:hover {
	filter: grayscale(0);
}

/****
STATS
****/
.stats {
	padding: 50px 0;
	background-color: var(--color-primary);
	color: #fff;
	text-align: center;
	--gridauto: 120px;
}
.stats-grid{
	margin-bottom: 25px;
}
.stats-item{
	margin:auto;
	height: 100%;
}
.stats-image{
	max-width: 100px;
	max-height: 55px;
	margin:auto;
}
.stats-icon {
}
.stats-number{
	font-size: 5.2rem;
	letter-spacing: 0.019em;
	font-weight: 700;
	font-family: var(--font-primary);
}
.stats-text{
	font-size: 1.4rem;
	letter-spacing: 0.01em;
}
.stats-description{
	color: var(--color-secondary);
	font-size: 1.7rem;
	letter-spacing: 0.01em;
	padding-top:1em;
	max-width: 1025px;
	margin: 0 auto;
}

/********
DOWNLOADS
********/
.downloads {
	padding: 50px 0;
	background-color: #F6F6F6;
}
.downloads .wrapper {
	max-width: 1334px;
}
.downloads.alt {
	background-color: var(--color-secondary);
	color: #fff;
}
.downloads.alt .downloads-title > *{
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.0257em;
}
.downloads-text{
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.01em;
}
.downloads.alt .btn {
	background-color: var(--color-primary);
}
.downloads.alt .btn:hover {
	background-color: var(--color-accent);
}
.downloads:not(.alt) .downloads-item {
	background-color: #fff;
	padding: 20px;
	border-radius: 10px;
}
@media screen and (min-width: 960px) {
	.downloads .downloads-item.grid {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		--gridgap: 0 20px;
	}
	.downloads.alt .downloads-item.grid {
		grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 2fr);
	}
}
.downloads-image,
.downloads-image-inner {
	width:100% !important;
}
.downloads-image-inner {
	border-radius: 10px;
}
.downloads-image-inner.aspect {
	margin:auto;
	--aspectratio: 259/221;
	background: #fff;
}
.downloads:not(.alt) .downloads-image-inner {
	background: #CCCCCC;
	--aspectratio: 221/279;
	margin:auto;
}
@media screen and (min-width: 480px) {
	.downloads-image-inner.aspect {
		max-width: 259px;
	}
	.downloads:not(.alt) .downloads-image-inner {
		margin:0;
		max-width: 221px;
	}
}
.downloads-image-inner img {
	width:100%;
	height:100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.downloads.alt .downloads-inner {
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
}
.downloads.alt .downloads-file {
	-ms-flex-item-align: self-end;
    -ms-grid-row-align: self-end;
    align-self: self-end;
	margin: 0 auto;
}
@media screen and (min-width:480px) and (max-width: 960px) {
	.downloads.alt .downloads-file {
		margin: 0 auto 0 0;
		grid-column: 2 / -1;
	}
}
@media screen and (min-width: 960px) {
	.downloads:not(.alt) .downloads-file {
		margin-top: 1em;
		grid-column: 2 / -1;

	}
}
.downloads-title > *{
	margin-bottom: 1em
}

/***********
PARTNERSHIPS
***********/
.partners {
	padding: 50px 0;
	background-color: #F6F6F6;
}
@media screen and (min-width: 960px) {
	.partners-item.grid {
		grid-template-columns: minmax(0, 2fr) minmax(0, 4fr);
	}
}
.partners-item + .partners-item {
	margin-top: 80px;
}
.partners-title > *{
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.0387em;
	margin-bottom: 3rem;
}
.partners-text{
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.01em;
}
.partners .btn {
	margin-top: 3rem;
	background-color: var(--color-secondary);
}
.partners .btn:hover {
	background-color: var(--color-accent);
}

.partners-image-inner.aspect {
	margin:auto;
	--aspectratio: 333/279;
	max-width: 333px;
	background: #CCCCCC;
	border-radius: 10px;
}
.partners-image-inner img {
	width:100%;
	height:100%;
	-o-object-fit: cover;
	object-fit: cover;
}

/*****
COURSE
*****/
.courses-row {
	padding: 40px 0;
	background: #F6F6F6;
}
.courses-row.courses-row0 {
	background:none;
}
.courses-article {
	padding: 30px;
	text-align: center;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.courses-row.courses-row0 .courses-article {
	background: var(--color-secondary);
	color: #fff;
}
.courses-title > *{
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.0387em;
	margin: 1em auto 2rem auto;
}
.courses-row.courses-row0 .courses-title > * {
	color: #fff;
}
.courses-text{
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.01em;
}
.courses .btn {
	margin-top: 3rem;
	background-color: var(--color-secondary);
}
.courses .courses-row.courses-row0 .btn {
	background-color: var(--color-primary);
}
.courses .btn:hover {
	background-color: var(--color-accent) !important;
}

.courses-thumb.aspect {
	margin:auto;
	--aspectratio: 285/226;
	max-width: 285px;
	background: #CCCCCC;
	border-radius: 10px;
	overflow: hidden;
}
.courses-thumb img {
	width:100%;
	height:100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.page-template-template-training .layouts .testimonials {
	background: var(--color-primary);
}
.single-course .titletext .heading::after {
	background-color: var(--color-primary) !important;
	max-width: 196px;
}


/********
COURSES - NEW
********/
.course-availability,
.availability-cal,
.booking-form-wrap {
  padding: 3.2em 0 5em;
  overflow-x: hidden;
}
.availability-cal .course-availability {
  padding: 0;
}

.course-availability .heading {
  text-align: center;
}

.availability-list .centred {
  text-align: center;
}

.availability-list {
  margin: 30px 0 0;
  padding-left: 0;
}

.availability-list li {
  margin-bottom: 0;
}
.availability-list li:not(:first-child) {
  border-top: 1px solid var(--purple);
}

.availability-list li > div:not(.al-link) {
  padding: 3px;
}
.availability-list li:not(.al-headings) > div:not(:is(.al-price, .al-link)) {
  border-right: 1px solid var(--purple);
}

.al-headings > div {
  color: var(--cyan);
  font-size: 14px;
  font-weight: 700;
}
.al-headings > div:not(.al-link) {
  padding-bottom: 12px !important;
}

.al-date {
  min-width: 160px;
  width: 33%;
  padding-left: 30px !important;
  flex-grow: 1;
  color: var(--cyan);
  font-weight: 700;
}
.al-spacer.empty {
  border: 0 !important;
  padding: 0 !important;
}
.al-nights {
  width: 15%;
}
.al-spaces {
  width: 18%;
}
.al-price {
  width: 24%;
}
.al-link {
  width: 112px;
  padding: 3px 0;
  flex-shrink: 0;
}
.al-link .ewbtn {
  width: 100%;
  padding: 12px 3px;
}
.al-link .ewbtn.alt:hover {
  border-color: var(--cyan);
  background: var(--cyan);
}

.al-price:has(.discounted-from) {
  flex-wrap: wrap;
}
.al-price:has(.discounted-from) > span:first-child {
  color: red;
}
.al-price .discounted-from {
  width: 100%;
  text-align: center;
  text-decoration: line-through;
}

.al-link .btn {
  width: 100%;
  padding: 12px 3px;
  text-align: center;
  box-sizing: border-box;
}

.availability-cal .al-date {
	width: 13%;
	flex-grow: 0;
}
.availability-cal .al-headings .al-date {
	font-size: 20px;
	text-transform: uppercase;
}

.availability-cal .al-course {
	width: 40%;
	flex-shrink: 0;
	flex-grow: 1;
	padding: 16px 30px !important;
}
.availability-cal .al-headings .al-course {
	padding-top: 3px !important;
}

.availability-cal .al-course a {
	color: var(--cyan);
  font-size: 18px;
}
.availability-cal .al-course a:hover {
	color: var(--pink);
}

.availability-cal .al-spaces {
	width: 11%;
}

.availability-cal .al-price {
	width: 15%;
}

.course-info {
  position: relative;
  margin-bottom: 48px;
}
.course-info:before {
  content: '';
  position: absolute;
  top: -3.2em;
  right: -100vw;
  left: -100vw;
  display: block;
  height: 302px;
  background: var(--color-primary);
  z-index: -1;
}

.course-info .heading {
  margin-bottom: 30px;
  color: #fff;
  text-align: center;
}
.course-info .heading:after {
  background: #fff;
}

.ci-inner {
  display: grid;
  border-left: 9px solid var(--color-secondary);
  background: #fff;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.25);
  flex-wrap: nowrap;
}
.ci-inner:has(.ci-img) {
  grid-template-columns: 1fr 1fr;
}

.ci-text {
  padding: 38px 50px;
  flex-shrink: 0;
}

.ci-text a h3 {
  transition: color 0.3s;
}
.ci-text a:hover h3 {
  color: var(--color-accent);
}

.ci-label {
  margin-bottom: 0;
  color: var(--color-secondary);
}

.ci-text .ci-price:has(.discounted-from) > span:first-child {
  color: red;
}

.ci-text .discounted-from {
  text-decoration: line-through;
}

.ci-img {
  background: url('') no-repeat center center / cover;
}

.ci-img img {
  opacity: 0;
  visibility: hidden;
}

.booking-form .gform_wrapper {
  border-radius: 10px;
  padding: 40px;
  background: var(--color-primary);
  color: #fff;
}

.booking-form .gform_wrapper :is(input, textarea, select):not(.button) {
  border: 0;
  border-radius: 10px;
  padding: 1.2em 1.5em !important;
  background: rgba(255,255,255,0.2);
  color: #fff;
}
.booking-form .gform_wrapper :is(input, textarea, select):not(.button):focus {
  outline: none;
  box-shadow: 1px 1px 5px rgba(1, 1, 0, .7);
}
.booking-form .gform_wrapper :is(input, textarea, select)::placeholder {
  color: #fff;
}
.booking-form .gform_wrapper textarea {
  resize: vertical;
}

.booking-form .gform_wrapper select option {
    color: var(--color-text);
}
.booking-form .gform_wrapper select option:hover {
    color: #fff;
}

.booking-form .gform_wrapper.gravity-theme .gfield_required {
  color: var(--color-accent);
}
.booking-form .gform_wrapper.gravity-theme .ginput_product_price {
  color: var(--color-accent);
  font-size: 28px;
  font-weight: 700;
}

.booking-form .gform-footer {
  padding-bottom: 0;
}

.booking-form .gform_wrapper.gravity-theme .gform_previous_button.button {
  color: var(--color-primary) !important;
}
.booking-form .gform_wrapper.gravity-theme .gform_previous_button.button:hover {
  color: var(--color-accent) !important;
}

.booking-form .gform_wrapper.gravity-theme .gf_page_steps {
  margin-bottom: 30px;
}

.booking-form .gform_wrapper.gravity-theme .gf_step_number {
  color: #fff;
}
.booking-form .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before {
  background: var(--color-secondary);
  border-color: #fff;
}

.booking-form .gform_wrapper.gravity-theme .gf_step_active .gf_step_number {
  background: var(--color-accent);
  color: #fff;
}

.gfield--input-type-list .gfield_list_icons,
.gfield--input-type-list .gfield_header_item--icons {
  display: none !important;
}

@media screen and (max-width: 840px) {
  .al-headings {
    display: none !important;
  }

  .al-details {
    border-top: 0 !important;
    flex-wrap: wrap;
  }
  .al-details:not(:last-child) {
    margin-bottom: 18px;
  }

  .al-date {
    padding: 6px 6px 6px 18px !important;
    background: var(--purple);
    color: #fff;
  }

  .al-spacer.empty {
    width: 100%;
    border-top: 2px solid var(--purple) !important;
  }

  .availability-cal .al-course {
    width: calc(100% - 382px);
    border-left: 2px solid var(--purple);
    padding: 12px 18px !important;
  }

  .al-spaces,
  .al-price {
    width: 135px !important;
    padding: 12px 6px !important;
    flex-shrink: 0;
  }

  .al-spaces > span:after {
    content: ' spaces';
  }
  .al-price > span:after {
    content: ' p/p';
  }

  .al-link {
    padding-bottom: 0;
  }

  .course-sessions .al-details {
    border-top: 2px solid var(--purple) !important;
    border-left: 2px solid var(--purple) !important;
  }

  .course-sessions .al-date {
    padding: 12px 18px !important;
    background: #fff;
    color: var(--cyan);
  }
}

@media screen and (max-width: 720px) {
  .al-date {
    order: 1;
  }

  .al-spacer {
    order: 2;
  }

  .al-course {
    width: 80% !important;
    width: calc(100% - 112px) !important;
    border-right: 0 !important;
    order: 3;
  }

  .al-link {
    display: block !important;
    border-right: 2px solid var(--purple);
    padding: 3px;
    order: 4;
  }

  .al-spaces {
    order: 6;
  }
  .availability-cal .al-spaces {
    border-left: 2px solid var(--purple);
  }

  .al-price {
    border-right: 2px solid var(--purple);
    order: 7;
  }

  .al-spaces,
  .al-price {
    width: 50% !important;
  }

  .course-sessions .al-date {
    width: 80% !important;
    width: calc(100% - 112px) !important;
    border-right: 0 !important;
  }

  .course-sessions .al-nights {
    border-left: 0 !important;
  }

  .ci-text {
    padding: 18px 30px;
  }
}

@media screen and (max-width: 600px) {
  .ci-inner:has(.ci-img) {
    grid-template-columns: 1fr;
  }

  .ci-inner .ci-img {
    order: 1;
  }

  .ci-inner .ci-text {
    order: 2;
  }
}

@media screen and (max-width: 500px) {
  .al-course,
  .course-sessions .al-date {
    width: 100% !important;
    border-right: 2px solid var(--purple) !important;
    text-align: center;
  }

  :is(.al-course, .course-sessions .al-date) > span {
    width: 100%;
  }

  .al-link {
    width: 100%;
    border-left: 2px solid var(--purple);
    order: 8;
  }

  .course-sessions .al-link {
    border-left: 0 !important;
  }

  .booking-form .gform_wrapper {
    padding: 20px;
  }

  .booking-form .gform_wrapper :is(input, textarea, select):not(.button),
  .booking-form .gform_wrapper input.button {
    padding: 0.6em !important;
  }
}

.enquiry-form h2 {
	margin-bottom: 40px;
	font-size: 3.5rem;
	text-align: center;
}

.enquiry-form .gform_wrapper.gravity-theme .gfield :is(input, textarea) {
	border: 0;
	border-radius: 10px;
	padding: 1.2em 1.5em;
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	font-size: 16px;
	resize: vertical;
}
.enquiry-form .gform_wrapper.gravity-theme .gfield :is(input, textarea)::placeholder {
	color: #fff;
}

.enquiry-form .gform_wrapper.gravity-theme .gfield_description {
	color: #fff;
}

.enquiry-form .gform_wrapper.gravity-theme .validation_message {
	color: #c02b0a;
	text-align: left;
}

.enquiry-form .gform_wrapper.gravity-theme .gform_footer {
	justify-content: center;
}


/********
RESOURCES
********/
.resources-cats {
	padding: 20px 0 10px 0;
}
.resources-cats .wrapper {
	max-width: 1680px;
}
.resources-cats a {
	color: #fff;
	font-size: 2.5rem;
}
.resources-cats a:hover {
	color: var(--color-secondary);
}
.resources-cats a:active {
	color: var(--color-secondary);
}
.resources [id] .titletext {
	background: none;
}
.resources [id] .titletext .heading {
	color: var(--color-primary);
	font-size: 3.5rem;
}
.resources-articles {
	background: #F6F6F6;
	padding: 20px 0;
}
.resources-articles .wrapper {
	max-width: 1320px;
}
.resources-articles.featured {
	background: var(--color-accent);
}
.resources-articles.featured.alt {
	background: var(--color-primary);
}
.resources-articles.featured>.wrapper>.grid21 {
	grid-template-columns: minmax(0, 1fr);
}
@media screen and (min-width: 960px) {
	.resources-articles.featured .resources-article.grid31 {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 1fr);
	}
	.resources-article.grid21 {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	}
}
.resources-article {
	background: #fff;
	padding: 20px;
	border-radius: 10px;
	--gridgap: 20px;
}
.resources-articles.featured .resources-article {
	background: none;
	color: #fff;
}
.resources-thumb.aspect {
	margin:auto;
	--aspectratio: 221/279;
	max-width: 221px;
	background: #CCCCCC;
	border-radius: 10px;
	overflow: hidden;
}
.resources-articles.featured .resources-thumb.aspect {
	--aspectratio: 259/221;
	max-width: 259px;
}
.resources-thumb img {
	display: block;
	width:100%;
	height:100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.resources-title > *{
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.0387em;
	margin-bottom: 1.5rem;
}

.resources-articles.featured .resources-title > *{
	color: #fff;
}
.resources-text{
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.01em;
}
.resources .btn {
	margin-top: 2rem;
	background-color: var(--color-secondary);
}
.resources .btn:hover {
	background-color: var(--color-accent);
}
.resources .resources-articles.featured:not(.alt) .btn:hover {
	background-color: var(--color-primary);
}
.resources-links {
	margin-top: auto;
}


/**
FAQ
**/
.faq {
	margin: 40px 0;
}
.faqtitle {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

/* Accordion */
.accordions {
}
.accordions input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.accordion {
  width: 100%;
  overflow: hidden;
}
.accordion + .accordion {
  border-top: 1px solid #706F6F;
  margin:1em 0;
  padding: 1em 0;
}
.accordion-label {
  display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
-webkit-box-pack: center;
    -ms-flex-pack: center;
  color: var(--color-primary);
  font-weight: 600;
  font-size: 1.5rem;
  font-family: var(--font-primary);
  letter-spacing: 0.02em;
  cursor: pointer;
  position: relative;
  outline: none;
  min-height: 80px;
  background-color: #F9F9F9;
  -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.accordion-label:hover {
  color: var(--color-accent);
}
.accordion-label::before {
	content: "Q.";
	display: block;
	min-width: 60px;
	font-size: 5rem;
	line-height: 80px;
    font-weight: 100;
    max-height: 80px;
    overflow: hidden;
	padding: 0 20px 0 10px;
	border-left: 5px solid var(--color-primary);
}
.accordion-label::after {
  content: "+";
  font-size: 5.3rem;
  text-align: center;
  color: var(--color-primary);
  text-align: center;
  -webkit-transition: all .35s;
  transition: all .35s;
  margin: -0.5em 10px -0.5em auto;
}
.accordion-label:hover::after {
  color: var(--color-accent);
}
.accordion-content {
  max-height: 0;
  -webkit-transition: all .35s;
  transition: all .35s;
  overflow: hidden;
    display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
-webkit-box-pack: center;
    -ms-flex-pack: center;
}
.accordion-content::before {
	content: "A.";
	display: block;
    min-width: 66px;
	color: #949494;
	font-size: 5rem;
	line-height: 80px;
    font-weight: 100;
    max-height: 80px;
    overflow: hidden;
	padding: 0 20px 0 10px;
	border-left: 5px solid #949494;
	-ms-flex-item-align: start;
	align-self: flex-start;
}
.accordion-content div {
	padding: 1em;
}
.accordions input:checked + .accordion-label::after {
  content: "−";
  color: var(--color-primary);
}
.accordions input:checked + .accordion-label:hover::after {
  color: var(--color-secondary);
}
.accordions input:checked ~ .accordion-content {
  max-height: 100vh;
}
.accordions input:checked + .accordion-label:hover{
  color: var(--color-secondary);
}

/***
NEWS
***/
.newspage {
	background-color: #F6F6F6;
	padding: 40px 0;
}
.newspage-article {
	background-color: #fff;
}
.newspage-thumb.aspect {
	margin:auto;
	--aspectratio: 370/257;
	background-color: #cccccc;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
.newspage-thumb.aspect:hover {
	background-color: var(--color-accent);
}
.newspage-thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.newspage-content {
	padding: 20px;
}
.newspage-date {
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--color-secondary);
	letter-spacing: 0.065em;
}
.newspage-title > * {
	font-size: 2.2rem;
	font-weight: 400;
	color: var(--color-primary);
	letter-spacing: 0.0212em;
}
.newspage-title > *:hover {
	color: var(--color-accent);
}
.newspage-link {
	font-size: 1.3rem;
	font-weight: 700;
	font-family: var(--font-secondary);
	color: var(--color-secondary);
	letter-spacing: 0.0212em;
	border-bottom: 1px solid currentColor;
	margin-top: 1em;
}
.newspage-link:hover {
	color: var(--color-accent);
}

/******
STORIES
******/
.stories, .stories-featured {
	background-color: #F6F6F6;
}
.stories > .wrapper, .stories-featured > .wrapper {
	padding: 40px 20px;
}
.stories-article {
	background-color: #fff;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	overflow: hidden;
	box-shadow: 5px 5px 4px #cccccc;
}
.stories-featured .stories-article {
	padding: 30px;
	border-radius: 10px;
	box-shadow: none;
	--gridgap: 40px;
}
.stories-thumb.aspect {
	margin:auto;
	--aspectratio: 370/272;
	background-color: #cccccc;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	display: block;
	position: relative;
    z-index: 2;
}
.stories-thumb.aspect:hover {
	background-color: var(--color-accent);
}
.stories-thumb img {
	width: 100%;
	height: 100%;
	display: block;
	-o-object-fit: cover;
	object-fit: cover;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
.stories-featured .stories-thumb.aspect {
	--aspectratio: 415/279;
	max-width: 415px;
}
@media screen and (min-width: 960px) {
	.stories-featured .stories-article.grid {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	}
}
.stories-featured .stories-thumb,
.stories-featured .stories-thumb img {
	border-radius: 10px;
}
.stories-featured .btn {
	margin-top: 1.5em;
}
.stories-content {
	padding: 20px;
	border-left: 8px solid var(--color-secondary);
	flex-grow: 1;
}
.stories-featured .stories-content {
	border-left: none;
	padding: 0;
}
.stories-date {
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--color-secondary);
	letter-spacing: 0.065em;
}
.stories-title > * {
	font-size: 2.2rem;
	font-weight: 400;
	color: var(--color-primary);
	letter-spacing: 0.0212em;
}
.stories-title > *:hover {
	color: var(--color-accent);
}
.stories-link {
	background-color: var(--color-primary);
	margin-top: 1em;
}
.stories-link:hover {
	background-color: var(--color-accent);
}
.single-story .newsarticle {
	padding: 40px 0;
}

/**********
SINGLE NEWS
**********/
.newsarticle-date {
	font-size: 1.8rem;
	font-weight: 600;
	font-family: var(--font-primary);
	color: var(--color-secondary);
	letter-spacing: 0.0212em;
	border-bottom: 1px solid currentColor;
	margin: 1em 0;
	display: inline-block;
}
.newsarticle-title > * {
	font-size: 3.5em;
}
.single-post .accreditations::before {
	content: "";
    display: block;
    max-width: 1130px;
    top: -40px;
    border-top: 1px solid var(--color-secondary);
    position: relative;
    margin: 0 auto;
}
.single-post .accreditations {
	margin-top: 40px;
}

/******
CONTACT
******/
.contactpage.wrapper {
	max-width: 932px;
}
.contactinfo {
	margin: 40px 0;
}
@media screen and (min-width:512px) {
	.contactinfo.grid {
		grid-template-columns: minmax(0,1fr) minmax(0,2fr);
	}
}
.contact-details {
	line-height: 30px;
	max-width: 252px !important;
}
.contact-details a {
	min-height: 30px;
}
.contact-details h2 {
	position: relative;
	display: block;
    padding-bottom: 10px;
	font-size: 2.1rem;
	letter-spacing: 0.0231em;
	border-bottom: 1px solid var(--color-secondary);
}
.contact-details h2::after {
	content:"";
	position: absolute;
	z-index: 1;
	bottom:-3px;
	display: block;
	height: 5px;
	width: 83px;
	background-color: var(--color-secondary);
}
.contact-details svg {
	max-width: 25px;
	margin-right: 10px;
	vertical-align: middle;
	display: inline-block;
}
.contact-details svg path {
	fill: var(--color-secondary);
}
.contact-details .flex > span {
	max-width: calc(100% - 35px);
	display: inline-block;
}
/* CONTACT FORM 7 */
.contact-form {
	border-radius: 10px;
}
.contact-form div.wpcf7 form {
	padding: 40px;
}
.contact-form div.wpcf7 input,
.contact-form div.wpcf7 textarea {
	width:100%;
	border:none;
	color:#fff;
	padding:1.2em 1.5em;
	background: rgba(255,255,255,0.2);
	border-radius: 10px;
}
.contact-form div.wpcf7 textarea {
	max-height:12em;
	overflow-y:auto;
}
.contact-form div.wpcf7 input::-webkit-input-placeholder, .contact-form div.wpcf7 textarea::-webkit-input-placeholder {
	color:#ddd;
}
.contact-form div.wpcf7 input::-moz-placeholder, .contact-form div.wpcf7 textarea::-moz-placeholder {
	color:#ddd;
}
.contact-form div.wpcf7 input:-ms-input-placeholder, .contact-form div.wpcf7 textarea:-ms-input-placeholder {
	color:#ddd;
}
.contact-form div.wpcf7 input::-ms-input-placeholder, .contact-form div.wpcf7 textarea::-ms-input-placeholder {
	color:#ddd;
}
.contact-form div.wpcf7 input::placeholder,
.contact-form div.wpcf7 textarea::placeholder {
	color:#ddd;
}
.contact-form div.wpcf7 input[type="submit"]{
	width:auto;
	margin: 0;
	display: inline-block;
	color: #fff;
	font-weight: 700;
	font-size: 1.3rem;
	letter-spacing: 0.117em;
	background-color: var(--color-secondary);
}
.contact-form div.wpcf7 input[type="submit"]:hover{
	background-color: var(--color-accent);
}


/******
SITEMAP
******/
.sitemap {
	padding: 1.6rem 0;
}


/* NEWS SECTION */
.news-section {
	background: #F6F6F6;
	padding: 3.2rem 0 5rem 0;
}
.news-section h2 {
	text-align: center;
	font-size: 3.5rem;
	font-weight: 400;
	letter-spacing: 0.022em;
}
.news-section h2.heading::after {
	content:"";
	display: block;
	width:100%;
	max-width: 196px;
	height: 2px;
	background: var(--color-secondary);
	margin: 0.5em auto 1em auto;
}
.news-section h2 a:hover {
	color: var(--color-accent);
}
.news-article {
	background: #fff;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
.news-article .post-thumb.aspect {
	--aspectratio: 363/263;
	display: block;
}
.news-article img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.news-article-content {
	padding: 20px;
}
.news-article-content date {
	color: var(--color-secondary);
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.065em;
}
.news-article-content h3 {
	color: var(--color-primary);
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.065em;
	line-height: 1.4;
}
.news-article-content a {
	color: var(--color-secondary);
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.111em;
	transition: all 0.3s;
}
.news-article-content a::after {
	content:"";
	display: block;
	width:100%;
	max-width: 80px;
	height: 1px;
	background: var(--color-secondary);
	margin: 0.5em 0 0 0;
}
.news-article-content a:hover {
	color: var(--color-accent);
}

/* FOOTER */
footer.footer .wrapper {
	padding: var(--pad) 20px;
}
.footer-main {
	background: var(--color-primary);
	color:#fff;
}
.footer-alt {
	background: #333333;
	color:#fff;
	text-align: center;
}
.footer .heading {
	color: #fff;
	font-size: 1.9rem;
	font-weight: 400;
	letter-spacing: 0.0657em;
}
footer .heading::after {
	content:"";
	display: block;
	width:100%;
	max-width: 58px;
	height: 2px;
	background: #fff;
	margin: 1em 0;
}
.footer-main li:not(:last-child) {
	margin-bottom: 0.5em;
}
.footer-main li a {
	text-transform: uppercase;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	transition: all 0.3s;
}
footer.footer a:hover {
	color: var(--color-accent);
}
.footer-alt div {
	display: inline-block;
	vertical-align: middle;
}
footer.footer .social {
	margin: 2em;
}
footer.footer .social a {
	display: inline-block;
	width: 38px;
	margin: 0 0.3em;
}
footer.footer .social a path {
	transition: all 0.3s;
}
footer.footer .social a:hover path:first-child {
	stroke: var(--color-accent);
}
footer.footer .social a:hover path:not(:first-child) {
	fill: var(--color-accent);
}

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

/***
FLEX
***/
.flex {
    display: -webkit-box;
	display: -moz-box;
	display: box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	--gridgap: 0;
    gap: var(--gridgap);
}
.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;
}
.flexgap {
	--gridgap: var(--pad);
}
.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;
}

/***
GRID
***/

.grid {
	--gridcols: 1;
	--gridgap: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    gap: var(--gridgap);
	flex-wrap: wrap;
}
.grid > * {
	width:100%;
	max-width: calc(100% / var(--gridcols));
	flex-basis: calc(50% - (var(--gridgap)/2));
}
[class*="grid3"] > * ,
.grid.gridauto > * {
	flex-basis: calc((100%/3) - (var(--gridgap)/1.5));
}
@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(--gridgap);
		gap: var(--gridgap);
	}
	.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 {
	--gridgap: var(--pad);
}
.grid,
.grid21,
.grid31,
.grid321,
.grid4321,
.grid421 {
    gap: var(--gridgap);
	-ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
.grid2 {
	-ms-grid-columns: 1fr var(--gridgap) 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid3 {
	-ms-grid-columns: 1fr var(--gridgap) 1fr var(--gridgap) 1fr;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (min-width:640px) {
    .gridauto {
        grid-template-columns: repeat( auto-fit, minmax(var(--gridauto), 1fr) );
    }
	.grid4321,.grid421 {
		-ms-grid-columns: 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grid21 {
		-ms-grid-columns: 1fr var(--gridgap) 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(--gridgap) 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

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

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

/******
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;
}
@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, object {
	width: 100%;
	max-width: 100%;
	display: block;
	aspect-ratio: var(--aspectratio);
}

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

/* MAP */
.acf-map {
    width: 100%;
    height: 400px;
}
.acf-map img {
   max-width: inherit !important;
}
.acf-map button {
   all: revert;
}
/* 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: 2.1rem;
}
.custom-pagination span,
.custom-pagination a {
  display: inline-block;
  padding: 2px 10px;
  text-decoration:none !important;
}
.custom-pagination a {
	border: 1px solid transparent;
	border-radius:0;
	display:inline-block;
	padding:5px 20px;
	background:none;
	position:relative;
	text-transform:uppercase;
}
.custom-pagination a:hover {
  background-color: var(--color-accent);
  color: #fff;
}
.custom-pagination span.page-num {
  margin-right: 10px;
  padding: 0;
  display: none;
}
.custom-pagination span.dots {
  padding: 0;
  color: #CCCCCC;
}
.custom-pagination span.current {
  color: var(--color-secondary);
  padding:6px 21px;
  cursor: default;
}

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