/*
	Theme Name: Schoolcms
	Author: Innermedia
Author URI: https://www.innermedia.co.uk
Description: 
Requires at least: WordPress 4.9.6
Version: 5.0.2

*/
/*
	Mobile first: rules outside media queries are the small-screen styles.
	Larger screens only add what changes, in the min-width blocks at the end of the file:
	768px, 992px, 1200px and 1601px. Each selector appears once per block -
	edit the existing rule rather than adding an override further down.
*/
:root {
	--olive: #3E4135;
	--olive-dark: #2C2E26;
	--sand: #C4B696;
	--gold: #B3963C;
	--line: #D9D6CC;
	--body_colour: var(--olive);
	--title_colour: var(--olive);
	--link_colour: var(--olive);
	--link_colour_hover: var(--gold);
	--button_bg: var(--olive);
	--button_colour: #ffffff;
	--button_bg_hover: #ffffff;
	--button_colour_hover: var(--olive);
	--font-heading: "Playfair Display", Georgia, serif;
	--font-body: "Raleway", Arial, sans-serif;
	--gray: var(--olive);
	--white: #ffffff;
	--red: var(--olive);
	--light-gray: #F7F6F2;
}

/* clear */
.well {
	padding: 10px 15px;
	background: #eaeaea;
	border: 1px solid #ddd;
	margin: 20px 0;
}
.owl-nav,
.quotes-holder .quoteContainer blockquote p,
footer#footer .container,
.breadcrumbs .container,
.bodyContent .callout_container {
	position: relative;
}
.owl-nav .owl-prev {
	position: absolute;
	left: 0;
	top: 0;
}
.owl-nav .owl-next {
	position: absolute;
	right: 0;
	top: 0;
}
.owl-dots {
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
}
.owl-dots .owl-dot {
	display: inline-block;
	margin: 0 5px;
	opacity: 1;
}
.owl-dots .owl-dot.active {
	opacity: 1;
}
.searchform label,
.searchToggle .search-form-holder input[type=submit],
.searchToggle .search-form-holder button[type=submit],
.poi .poiImage .poiText .button,
.side-menu-container,
.dynamic-logos .owl-nav,
.dynamic-news .owl-nav,
.callout_prev,
.callout_next,
.header-right .button.head-link,
blockquote p:after,
#navbar.menu-level-2 #menu-main li,
#navbar.menu-level-3 #menu-main li,
#menu-main li li.menu-item-has-children > .arrow,
#menu-main .sub-menu li a:after,
.homeDynamic.dynamic-poi .owl-nav,
body.blog .side-menu-container,
.desktop-navigation,
.welcome-quote ~ div:not([class]):empty,
div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row:before,
div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row:after {
	display: none;
}
/* mobile: logo hidden while the menu is open, but keeps its space so the toggle and search icon don't move */
.menuopen .header-left {
	visibility: hidden;
}
.searchform {
	padding-right: 40px;
	padding-left: 0px;
	position: relative;
	color: #969696;
	overflow: hidden;
	font-size: 14px;
}
.searchform .searchSubmit {
	background: transparent;
	border: 0 none;
	text-transform: uppercase;
	padding: 0;
	font-size: 16px;
	position: absolute;
	color: #969696;
	background-repeat: no-repeat;
	background-position: center;
	right: 5px;
	top: 0px;
	width: 30px;
	height: 28px;
	outline: 0;
}
.searchToggle .headerSearch {
	display: inline-flex;
	align-items: center;
	flex-direction: row-reverse;
}
.searchToggle .search-form-holder form {
	display: flex;
	align-items: center;
	margin: 0;
}
.searchToggle .search-form-holder input[type=search],
.searchToggle .search-form-holder input.search-field {
	border: 0 none;
	outline: 0;
	background: transparent;
	padding: 8px 6px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 16px;
	color: #333;
	width: 100%;
}
.searchToggle .tabSecButton {
	background: transparent;
	border: 0 none;
	padding: 8px;
	cursor: pointer;
	color: #ffffff;
	line-height: 0;
	transition: transform .2s ease, color .2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* === Header search toggle === */
.searchToggle {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	position: relative;
	margin-right: 0;
	order: 2;
	margin-left: 26px;
}
.searchToggle .search-form-holder {
	width: 0;
	max-width: 0;
	overflow: hidden;
	opacity: 0;
	transition: width .35s ease, max-width .35s ease, opacity .25s ease .05s;
	position: absolute;
	right: 0;
	top: 100%;
	background: #fff;
	box-shadow: 0 6px 18px rgba(0,0,0,.12);
	padding: 8px 10px;
	z-index: 1000;
	border-bottom: 0 none;
	margin-right: 0;
	margin-top: 6px;
}
.searchToggle.is-open .search-form-holder {
	opacity: 1;
	width: 260px;
	max-width: 260px;
}
.searchform input.searchInput {
	border: 0 none;
	height: 30px;
	width: 100%;
	background: transparent;
	padding: 4px 10px;
	outline: 0;
	color: #000;
}

/*news*/
.list-item {
	overflow: hidden;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
}
.list-item-image {
	text-align: center;
}
.list-item-image a {
	display: block;
	padding: 10px 0;
}
.list-item-text p.date {
	font-size: 0.8em;
	margin: 0;
}
.postThumb {
	margin-bottom: 20px;
	text-align: center;
}

/*------------------------------------*\
    Header
\*------------------------------------*/
header.mainHeader {
	height: 100px;
	position: relative;
}
body.home header.mainHeader {
	height: 0;
}
.headGroup .row,
body.home.fixedHeader .headGroup .row,
.fixedHeader .headGroup .row,
body.menuopen.home .headGroup .row,
body.menuopen .headGroup .row,
.headGroup .container .row {
	align-items: center;
}
body.home .headGroup .row {
	align-items: start;
}
.headGroup .container {
	max-width: 100%;
}
body.home .headGroup {
	padding-top: 21px;
	background: transparent;
}
body.home .headGroup .header-right {
	padding-top: 24px;
}
body.home.fixedHeader .headGroup .header-right {
	padding-top: 0px;
}
.header-links,
.staff-meta.featured-staff-metas .staff-meta > *,
.poi:hover .poiImage .poiText .button {
	display: inline-block;
}
.fixedHeader .headGroup .button.head-link,
.headGroup .button.head-link,
body.home.fixedHeader .headGroup .button.head-link {
	border: 1px solid var(--white);
	background: transparent;
}
body.home .headGroup .button.head-link {
	border: 1px solid var(--red);
	background: var(--red);
}
.headGroup .button.head-link:hover,
body.home.fixedHeader .headGroup .button.head-link:hover,
body.home .headGroup .button.head-link:hover {
	border: 1px solid var(--gray);
	background: var(--gray);
}

/*------------------------------------*\ 
    Navigation
\*------------------------------------*/
.menu-toggle {
	position: relative;
	padding-right: 0px;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	height: 20px;
	width: 47px;
	color: #ec3822;
	order: 1;
}
.menu-toggle .toggleIcon {
	position: absolute;
	width: 47px;
	height: 20px;
	right: 0;
	top: 0px;
	transition: 300ms;
}
.menu-toggle .toggleText {
	display: none;
	vertical-align: middle;
	font-size: 14px;
}
.menu-toggle .toggleIcon span {
	width: 47px;
	height: 1px;
	background-color: var(--white);
	display: block;
	transition: all 300ms;
	position: absolute;
	top: 50%;
	right: 0px;
	margin-top: -.5px;
}
.menu-toggle .toggleIcon span:before {
	content: "";
	width: 30px;
	height: 1px;
	background-color: var(--white);
	display: block;
	transition: all 300ms;
	position: absolute;
	top: -10px;
	right: 8.5px;
}
.menu-toggle .toggleIcon span:after {
	content: "";
	height: 1px;
	background-color: var(--white);
	display: block;
	transition: all 300ms;
	position: absolute;
	top: 10px;
	width: 30px;
	right: 8.5px;
}
body.menuopen .menu-toggle .toggleIcon span {
	background-color: transparent !important;
}
body.menuopen .menu-toggle .toggleIcon span:before {
	transform: rotate(135deg);
	top: 0px;
}
body.menuopen .menu-toggle .toggleIcon span:after {
	transform: rotate(-135deg);
	top: 0px;
	width: 30px;
}
body.menuopen.home .headGroup .header-right {
	padding-top: 0;
}
body.menuopen.home .headGroup .button {
	border-color: var(--white);
}
body.menuopen.home .headGroup .button:hover {
	border-color: var(--gray);
}
body.menuopen #navbar {
	transform: translateX(0%);
	z-index: 9999;
}
#menu-main .sub-menu li:last-child > a {
	border-bottom: none;
}
#menu-main li.menu-item-has-children > .arrow:after {
	position: absolute;
	content: "";
	display: block;
	width: 11px;
	height: 25px;
	left: 10px;
	top: 3px;
	font-weight: 700;
	font-family: "Font Awesome 6 Free";
	transform: rotate(0deg);
	transition: 300ms;
}
#menu-main li.open.menu-item-has-children > .arrow:after,
#menu-side .sub-menu li.menu-item-has-children.open > .arrow:before {
	transform: rotate(90deg);
}

/*------------------------------------*\ 
    Banner
\*------------------------------------*/
.bannerWrap {
	position: relative;
	overflow: hidden;
	min-height: 340px;
	max-height: 600px;
}
#pageBanner:before,
.bannerWrap:before {
	content: "";
	display: block;
	width: 100%;
	padding-top: 39%;
}
#homeBanner:before {
	content: "";
	display: block;
	padding-top: 56.08%;
}

/*------------------------------------*\ 
    FOOTER
\*------------------------------------*/
#footer {
	margin-top: 2rem;
}
#menu-useful {
	list-style: none;
	padding: 0;
}
.footerLower p,
.footerLower ul,
#menu-side > li > .sub-menu {
	margin: 10px 0;
}
.footerLower a {
	color: #dddedf;
	text-decoration: none;
}
.footerInfo h3 {
	font-size: 1.5em;
	margin: 30px 0 20px;
}
.footerInfo a:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0px;
	height: 1px;
	background-color: #000;
	transition: all 300ms;
	margin-right: 0px;
}
.footerInfo a:hover:before {
	width: 5px;
	margin-right: 5px;
}
.footer-links {
	list-style: none;
	padding: 0;
	margin: 0 0 15px;
}
.footer-links li {
	display: inline;
}
.footer-links li:after {
	content: " | ";
	margin: 0 1px;
	display: inline;
}
.footer-links li:last-child:after {
	content: "";
}
.footer-links li a {
	display: inline;
	white-space: nowrap;
}
.footerInfo {
	text-align: center;
	line-height: 1.87;
	margin-bottom: 20px;
}

/*------------------------------------*\
    Dynamic Content
\*------------------------------------*/
.dynamicContent {
	margin-bottom: 00px;
	margin-top: 30px;
}

/*******Dividers******/
/* line with the leaf in the centre, leaf the same size as the heading leaves, 21px gap each side */
.dividera {
	clear: both;
	width: 100%;
	height: 54px;
	position: relative;
	background: url("images/leaf-icon.svg") center / 30px 54px no-repeat,
		linear-gradient(var(--sand), var(--sand)) left center / calc(50% - 36px) 1px no-repeat,
		linear-gradient(var(--sand), var(--sand)) right center / calc(50% - 36px) 1px no-repeat;
}

/******Staff********/
.staffMember {
	padding-bottom: 50px;
	margin-bottom: 50px;
	border-bottom: 1px solid var(--red);
}
.staff-meta {
	margin-bottom: 5px;
}
.staff-meta .meta-label,
.breadcrumbs span > span:last-child,
.breadcrumbs .current-item {
	font-weight: 700;
}
.staff-meta a.email-value {
	font-size: 0;
	color: transparent;
	display: inline-block;
	vertical-align: middle;
}
.staff-meta a.email-value:before {
	content: "send";
	font-size: 12px;
	padding: 5px 10px;
	color: #000;
	display: block;
	text-align: center;
	background-color: #eee;
	border-radius: 5px;
	text-transform: uppercase;
	pointer-events: none;
	transition: 300ms;
}
.staff-meta a.email-value:hover:before {
	background-color: #ccc;
}

/*****Quotes******/
.quoteContainer .quotesTitle {
	margin: 10px 0 0;
	text-align: left;
	padding: 0 15px;
}
.quoteContainer .cycle-pager span:first-child,
.bodyContent .callout_container .callout-pager span:first-child {
	margin-left: 0;
}
.quoteContainer .cycle-pager span:last-child,
.bodyContent .callout_container .callout-pager span:last-child {
	margin-right: 0;
}
.quoteContainer blockquote.quote-text,
.dynamic-news .news_text_inner .news_text p,
.bodyContent,
.standard-staff-text .staff-meta .staff-meta {
	margin-bottom: 0;
}

/*Callout*/
.callout {
	display: block;
	position: relative;
	transition: 300ms;
	color: var(--white);
	--body_colour: var(--white);
	--title_colour: var(--white);
	background: var(--red);
	font-size: 1em;
	overflow: hidden;
}
.callout .calloutContent {
	position: relative;
	text-align: center;
}
.callout .calloutTitle {
	font-size: 1em;
}
.callout.hasbg .coimg {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.callout .coimg img,
.poiImage .poiImageBG img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
}

/***POIS****/
.row.pois {
	--bs-gutter-y: 0;
}
.poiImage .poiImageBG {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: 300ms;
	opacity: 1;
}
.poiImage {
	background: inherit;
}
.poi .textOnlyBlock .poiTitle {
	margin: 0px 0 19px;
	text-align: center;
}
.textOnlyBlock {
	padding: 71px 22px 62px;
	transition: 300ms;
}
.textOnlyBlock .poiText {
	position: relative;
	padding: 0;
	display: block;
	text-align: center;
}
.poiImage .poiText .poiEx {
	max-height: 0;
	overflow: hidden;
	font-size: 12px;
	transition: 300ms;
	line-height: 1.8;
}
.poi:hover .poiImage .poiImageBG,
.homeBanner .videoframe .vidUnmute.hide {
	opacity: 0;
}
.pois.homePOIs .col-xs-6 {
	padding-left: 15px;
	padding-right: 15px;
}
.poi:hover .poiTitle {
	box-shadow: none;
}
.welcomeContent {
	margin-top: 0px;
	margin-bottom: 20px;
	text-align: center;
	font-size: 20px;
	font-weight: normal;
}

/*------------------------------------*\
    Sidebar
\*------------------------------------*/
.sidebar {
	margin-top: 0px;
	padding-top: 95px;
}
#menu-side li {
	position: relative;
	margin: 5px 0;
}
#menu-side a {
	color: #676767;
	display: inline-block;
	text-decoration: none;
	padding: 0.5rem 1rem;
}
#menu-side a:hover {
	text-decoration: none;
}
#menu-side .sub-menu li.current-menu-item > a,
#menu-side .sub-menu li a:hover {
	color: #676767;
}
#menu-side .sub-menu li.menu-item-has-children > .arrow {
	display: block;
	width: 45px;
	height: 45px;
	position: absolute;
	top: 0;
	right: 0;
}
#menu-side .sub-menu li.menu-item-has-children > .arrow:before {
	position: absolute;
	position: absolute;
	content: "";
	display: block;
	width: 11px;
	height: 27px;
	left: 12px;
	top: 10px;
	font-weight: 700;
	font-family: "Font Awesome 6 Free";
	transform: rotate(0deg);
	transition: 300ms;
}
#menu-side .sub-menu .sub-menu {
	background: rgba(0,0,0,0.1);
	padding-bottom: 10px;
	display: none;
}
#menu-side .sub-menu .sub-menu li,
.dynamic-news .home-news.row,
.faqs .faq.open:last-child .faq-answer .row,
.dynamic-text-image-block .image-text-banner-inner .block_details p:last-child,
.menuopen {
	margin: 0;
}
#menu-side .sub-menu li.open > .sub-menu,
.home_video_bottom_text span,
#navbar.menu-level-2 #menu-main li.open li,
#navbar.menu-level-3 #menu-main li.open li.open li {
	display: block;
}

/*Blog sidebar*/
#blognav ul {
	list-style: none;
}

/*Animation*/
.hideme {
	opacity: 0;
	top: 30px;
	position: relative;
	transition: 500ms;
}
.hideme.active {
	opacity: 1;
	top: 0;
}
.container {
	max-width: 1280px;
}
.homeBanner .videoframe:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 80%;
	height: 50%;
	background: -moz-linear-gradient(top,rgba(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top,rgba(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom,rgba(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a6000000",endColorstr="#00000000",GradientType=0);
	opacity: 0.85;
	z-index: 11;
	mix-blend-mode: multiply;
}
.homeBanner .videoframe .vidUnmute {
	position: absolute;
	right: 0px;
	bottom: 30px;
	z-index: 120;
	color: var(--button_bg);
	width: 60px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	font-size: 30px;
	transition: 300ms;
	cursor: pointer;
}
.homeBanner .videoframe .vidUnmute:hover {
	color: #fff;
}
.homeBanner .videoframe .vidUnmute:before {
	content: "";
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
}
.homeBanner .videoframe .vidUnmute.unmuted:before {
	content: "";
}
.home_video_top_text {
	max-width: 300px;
	text-transform: uppercase;
	color: var(--white);
	font-size: 90px;
	line-height: 1;
	font-family: "Playfair Display", Georgia, serif;
	text-align: left;
	padding: 0 15px;
}
.home_video_bottom_text {
	z-index: 101;
	left: 0%;
	bottom: 47px;
	width: 100%;
	max-width: 956px;
	color: var(--white);
	font-size: 20px;
	line-height: 1.55;
	text-align: left;
	padding: 0 15px;
	margin-top: 40px;
}
.bannerTxt {
	position: absolute;
	bottom: 50px;
	left: 0;
	width: 100%;
	z-index: 101;
	padding-right: 60px;
}
.welcomeBlock .container {
	max-width: 1060px;
	padding-left: 16px;
	padding-right: 16px;
}
.dynamic-quote + .dynamic-callout,
blockquote cite,
.bodyContent .body-text h2:first-child {
	margin-top: 0;
}
.quotes-holder.marginTop {
	margin-top: 60px;
}
.quotes-holder.marginBottom {
	margin-bottom: 60px;
}
.quotes-holder .quoteContainer {
	padding: 0;
	max-width: 1280px;
	margin: 0px auto;
	background: transparent;
	color: inherit;
}
.homeDynamic.dynamic-text .container {
	max-width: 704px;
	padding-left: 16px;
	padding-right: 16px;
}

/* text section holding a form ("Get in touch"): heading at the left of the wide
   container with the leaf icon beside it, form indented beneath (as in the Figma) */
.homeDynamic.dynamic-text:has(.wpforms-container),
.homeDynamic.dynamic-text:has(.wpforms-container) .section_title h2,
div.wpforms-container-full {
	text-align: left;
}
.homeDynamic.dynamic-text:has(.wpforms-container) .container {
	max-width: 1320px;
}
.homeDynamic.dynamic-text:has(.wpforms-container) .body-text {
	max-width: 856px;
	margin: 0 auto;
}
/* inner pages: 880px column with the usual 12px gutters, so the heading and form are 856px (Figma "Form") */
.bodyContent .dynamic-text:has(.wpforms-container) .body-text {
	max-width: 880px;
	margin: 0 auto;
}
.homeDynamic.dynamic-text:has(.wpforms-container) .section_title {
	margin-bottom: 50px;
	padding: 0;
}
.homeDynamic.dynamic-text:has(.wpforms-container) .section_title:before {
	margin: 0 0 13px;
}
.dynamic-logos img {
	max-width: 100%;
	width: auto !important;
	display: block;
	display: inline-block;
	margin: 0px auto;
	filter: grayscale(100%);
	opacity: .3;
	transition: .3s;
	vertical-align: middle;
	height: 70px;
}
.dynamic-logos a:hover img {
	filter: grayscale(0%);
	opacity: 1;
}
.dynamic-logos .logo_item {
	line-height: 124px;
	text-align: center;
}
.dynamic-logos .destination-logos {
	max-width: 1140px;
	margin: 0px auto;
}
.button.text-section-button {
	margin-top: 2px;
}
.homeDynamic.dynamic-poi .container {
	max-width: 1280px;
	padding: 0 27px;
}
.bg-light-pink {
	background-color: #FBEDEE;
}
.bg-pink {
	background-color: var(--sand);
}
.bg-red {
	background-color: var(--red);
}
.bg-brown {
	background-color: var(--gray);
}
.bg-red:hover,
.bg-brown:hover,
footer#footer a,
.poi .textOnlyBlock {
	color: var(--white);
}
.bg-red .button,
.bg-brown .button {
	border-color: var(--white);
	background: transparent;
}
.poi-admission-btn {
	text-align: center;
	padding-top: 17px;
}
.dynamic-news {
	margin: 0;
	background: var(--white);
}
.dynamic-news .news_text_inner h3 {
	margin-bottom: 66px;
}
.dynamic-news .news_text_inner h3 a {
	font-size: 40px;
	line-height: 1.125;
	color: var(--title_colour);
}
.dynamic-news .news_text_inner .news_text {
	margin-bottom: 35px;
	max-height: 176px;
	overflow: hidden;
}
.button-bar-news {
	text-align: center;
	padding-top: 57px;
}
.news-read-btn {
	font-size: 18px;
}
.news-read-btn a,
.sidebarSec a:hover {
	text-decoration: underline;
}
.news-img-main img {
	width: 100%;
	max-width: inherit;
}
.address-info {
	max-width: 410px;
}
.tel-info {
	font-size: 14px;
	font-weight: 400;
}
.email-info {
	font-size: 14px;
	font-weight: 400;
	margin-bottom: 45px;
}
.email-info span {
	margin-right: 0px;
}
.footer-socials ul li:first-child {
	padding-left: 0;
}
.footer-socials ul li:last-child {
	padding-right: 0;
}
.footer-logos {
	padding-top: 50px;
}
.homeDynamic .callout.hasbg {
	max-height: 600px;
}
.homeDynamic .callout.hasbg .coimg {
	position: relative;
	left: auto;
	top: auto;
	right: auto;
	bottom: auto;
	background-size: cover;
}
.homeDynamic .callout.hasbg .calloutContent {
	position: absolute;
	padding: 0;
	width: 100%;
	left: 0;
	text-align: center;
	top: 55px;
	transform: none;
	max-width: 100%;
}
.dynamic-news .news_image_container img {
	min-height: 440px;
}
.breadcrumbs a {
	color: var(--gray);
	text-decoration: none;
	font-family: var(--font-heading);
}
.breadcrumbs span > span,
.breadcrumbs a:hover {
	color: var(--gray);
}

/*Breadcrumb Area Css --------------------------------------------------------------------------------------------- END */
.bodyContent header > h1 {
	text-align: left;
	padding-left: 77px;
	position: relative;
	margin-bottom: 20px;
}
.bodyContent > footer {
	margin-top: 20px;
	margin-bottom: 40px;
}
.bodyContent h2,
.dynamic-text-image-block .image-item,
.featured-staff-metas {
	margin-bottom: 20px;
}
.bodyContent table td h4 {
	margin: 0px !important;
}
.dynamic-faq {
	margin: 0;
	padding: 30px 0 60px;
}
.faq.open .faq-question:after {
	transform: rotate(180deg);
}
.faqs .faq:last-child .faq-answer {
	border-bottom: 1px solid #a2a6a9;
}
.faqs .faq.open:last-child .faq-answer,
#menu-main li:last-child a {
	border: none;
}
/* dynamic block titles */
.sectionTitle,
.quotesTitle {
	font-size: 26px;
}
.dynamicContent .sectionTitle {
	margin-bottom: 24px;
}
.faq-answer > h3,
.faq-answer > h2 {
	margin-top: 0px;
}
.faq-answer h3,
.faq-answer h2 {
	margin-top: 0px;
	margin-bottom: 10px;
}
.dynamic-news .news_image_container,
.dynamic-poi .col {
	padding: 0;
}
/* button-list blocks: same space after as other sections (60px + the next block's 30px margin) */
.bodyContent .dynamicContent.dynamic-documents,
.bodyContent .dynamicContent.dynamic-web-links {
	padding: 0 0 60px;
}
/* consecutive blocks of the same type read as one group, unless the next one starts with its own title */
.bodyContent .dynamicContent.dynamic-documents:has(+ .dynamic-documents),
.bodyContent .dynamicContent.dynamic-web-links:has(+ .dynamic-web-links) {
	padding-bottom: 0;
}
.bodyContent .dynamicContent.dynamic-documents + .dynamic-documents:not(:has(.sectionTitle)),
.bodyContent .dynamicContent.dynamic-web-links + .dynamic-web-links:not(:has(.sectionTitle)) {
	margin-top: 0;
}
.bodyContent .dynamicContent.dynamic-documents + .dynamic-documents:has(.sectionTitle),
.bodyContent .dynamicContent.dynamic-web-links + .dynamic-web-links:has(.sectionTitle) {
	margin-top: 90px;
}
.sn_web_link:hover:after {
	background-color: var(--button_colour);
}
.body-container {
	margin-top: 0;
	margin-bottom: 0;
}
.body-container .dynamic-image {
	padding: 0 0 72px;
}
/* single image / video: centred at 864px wide with a small caption underneath (Figma "Image / Video") */
.bodyContent .dynamic-image .image-item,
.dynamic-video-block .image-item {
	max-width: 864px;
	margin: 0 auto;
}
.bodyContent .dynamic-image .imageItemCaption,
.dynamic-video-block .imageItemCaption {
	font-family: var(--font-heading);
	font-size: 14px;
	line-height: 1.4;
	color: var(--olive);
	margin: 16px 0 0;
}
.bodyContent .callout {
	width: 100%;
}
.bodyContent .dynamic-poi {
	padding: 0 0 48px;
}
.bodyContent .poi-title {
	margin-bottom: 32px;
}
.bodyContent .dynamic-poi .poi-title h2 {
	margin: 0;
}
/* inner-page POI tiles (Figma "POI"); the home page POIs keep their own design */
.bodyContent .dynamic-poi .poiImage:before {
	padding-top: calc(487 / 416 * 100%);
}
.bodyContent .dynamic-poi .poiImageBG:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 70%;
	background: linear-gradient(to top, rgba(62, 65, 53, 0.6), rgba(18, 29, 33, 0) 88%);
}
.bodyContent .dynamic-poi .poi:hover .poiImage .poiImageBG {
	opacity: 0.85;
}
.bodyContent .dynamic-poi .poiImage .poiText,
.bodyContent .dynamic-poi .poi:hover .poiImage .poiText {
	bottom: 0;
	transform: none;
	padding: 0 23px 15px;
	background: none;
	text-align: left;
}
.bodyContent .dynamic-poi .poi .poiTitle,
.bodyContent .dynamic-poi .poi:hover .poiImage .poiTitle,
.bodyContent .dynamic-poi .poi .textOnlyBlock .poiTitle {
	font-size: 26px;
	line-height: 35px;
	text-align: left;
	margin: 0 0 6px;
}
.bodyContent .dynamic-poi .poiImage .poiText .poiEx,
.bodyContent .dynamic-poi .poi .textOnlyBlock .poiEx {
	max-height: none;
	font-family: var(--font-body);
	font-size: 12px;
	line-height: 1.8;
	margin: 0;
}
.bodyContent .dynamic-poi .poiTitle p,
.bodyContent .dynamic-poi .poiEx p {
	margin: 0;
}
.bodyContent .dynamic-poi .poi .button {
	display: none;
}
.bodyContent .dynamic-poi .textOnlyBlock {
	display: flex;
	align-items: center;
	aspect-ratio: 416 / 487;
	padding: 23px;
}
.bodyContent .dynamic-poi .textOnlyBlock .poiText {
	text-align: left;
}
/* video POIs: play button */
.bodyContent .dynamic-poi .poi.vidBlock .poiImageBG:before {
	content: "\f04b";
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 31%;
	width: 104px;
	height: 104px;
	margin-left: -52px;
	border-radius: 50%;
	background: #738C94;
	color: var(--white);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 6px;
}
/* small gold arrow in the corner: always on links that open in a new tab,
   and on hover for text-only tiles (e.g. the prospectus) */
.bodyContent .dynamic-poi a.poi[target="_blank"]:after,
.bodyContent .dynamic-poi a.poi:has(.textOnlyBlock):after {
	content: "\2197";
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	width: 24px;
	height: 24px;
	background: var(--gold);
	color: var(--white);
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 24px;
	text-align: center;
}
.bodyContent .dynamic-poi a.poi:has(.textOnlyBlock):not([target="_blank"]):after {
	opacity: 0;
	transition: opacity 0.3s;
}
.bodyContent .dynamic-poi a.poi:has(.textOnlyBlock):hover:after,
.bodyContent .dynamic-poi a.poi:has(.textOnlyBlock):focus-visible:after {
	opacity: 1;
}
.bodyContent .poi-title h2,
#menu-main .sub-menu li {
	margin-bottom: 0px;
}
.dynamic-gallery {
	margin: 30px 0 0;
	padding-bottom: 72px;
}
/* cancel the images' 7.5px padding at the top and bottom edges so the gap is measured from the images */
.dynamic-gallery .gallery {
	margin-top: -7.5px;
	margin-bottom: -7.5px;
}
/* carousel (Figma "Gallery (Carousel)" / "Image / Video (Multiple)"):
   arrows overlay the images, dots underneath */
.dynamic-carousel .owl-carousel.owl-loaded {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}
.dynamic-carousel .owl-carousel .owl-stage-outer,
.dynamic-carousel .owl-carousel .owl-nav {
	grid-area: 1 / 1;
}
.dynamic-carousel .owl-carousel .owl-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 8px;
	pointer-events: none;
	z-index: 1;
}
.dynamic-carousel .owl-carousel .owl-nav.disabled {
	display: none;
}
.dynamic-carousel .owl-carousel .owl-nav button.owl-prev,
.dynamic-carousel .owl-carousel .owl-nav button.owl-next {
	position: static;
	pointer-events: auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--olive);
	color: var(--white);
	font-family: var(--font-body);
	font-size: 24px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 3px;
	transition: background-color 0.2s;
}
.dynamic-carousel .owl-carousel .owl-nav button.owl-prev:hover,
.dynamic-carousel .owl-carousel .owl-nav button.owl-next:hover {
	background: var(--gold);
}
.bodyContent .dynamicContent.dynamic-carousel {
	padding-bottom: 72px;
}
.dynamic-carousel .owl-dots {
	padding-top: 32px;
	line-height: 0;
}
.dynamic-carousel .owl-carousel .item img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
/* one per row: 864px wide 4:3 slider, the same size as the single image / video blocks */
.dynamic-carousel .carousel-cols-1 {
	max-width: 864px;
	margin: 0 auto;
}
.dynamic-carousel .carousel-cols-1 .item img {
	aspect-ratio: 4 / 3;
}
.dynamic-video-block {
	margin: 30px 0 0;
	padding: 0 0 72px;
}
.dynamic-video-block img {
	max-width: inherit;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.dynamic-video-block a {
	position: relative;
	display: block;
}
/* olive overlay on the thumbnail only (aspect-ratio box), play icon centred on it */
.dynamic-video-block a:before {
	content: "";
	width: 100%;
	aspect-ratio: 4 / 3;
	background: rgba(62, 65, 53, 0.5);
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	transition: background-color 0.2s;
}
.dynamic-video-block a:hover:before {
	background: rgba(62, 65, 53, 0.65);
}
.dynamic-video-block a:after {
	content: "\f04b";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 40px;
	line-height: 1;
	color: var(--white);
	position: absolute;
	left: 50%;
	top: 0;
	width: 100%;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translateX(-50%);
}
.dynamic-text-image-block .image-text-banner-inner .block_details {
	margin: 0 0 36px;
}
.dynamic-divider {
	margin: 0;
	padding: 115px 0;
}
.bodyContent .callout_container .callout-pager {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	height: 9px;
	line-height: 9px;
	position: absolute;
	left: 0;
	bottom: 60px;
	z-index: 111;
}
.bodyContent .callout_container .callout-pager span {
	cursor: pointer;
	display: inline-block;
	vertical-align: top;
	margin: 0 5px;
	width: 9px;
	height: 9px;
	text-align: center;
	opacity: 0.4;
	font-size: 0px;
	background: var(--white);
	border-radius: 50%;
}
.bodyContent .callout_container .callout-pager span.cycle-pager-active,
.bodyContent .callout_container .callout-pager span:hover {
	opacity: 1;
	background: var(--white);
}
.dynamic-staff {
	padding: 0 0 72px;
}
.dynamic-staff h2.sectionTitle {
	margin-bottom: 32px;
}
/* staff list (Figma "Staff (List, With Photos)" / "(List, No Photos)") */
.staff-list-item {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.staff-list > * + * {
	margin-top: 55px;
}
/* featured staff: pop-up cards (Figma "Staff (Pop-up)") */
.staff-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px 24px;
}
.staff-card-link {
	display: block;
	color: var(--olive);
	text-decoration: none;
}
.staff-card-link:hover,
.staff-card-link:focus {
	color: var(--olive);
	text-decoration: none;
}
.staff-card-photo {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--olive);
	overflow: hidden;
}
.staff-card-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.3s;
}
.staff-card-link:hover .staff-card-photo img {
	opacity: 0.75;
}
.staff-card-plus,
.curriculum-tile-plus {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 52px;
	height: 52px;
	margin: -26px 0 0 -26px;
	border-radius: 50%;
	background: var(--gold);
	transition: transform 0.3s;
}
.staff-card-plus:before,
.staff-card-plus:after,
.curriculum-tile-plus:before,
.curriculum-tile-plus:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--white);
	transform: translate(-50%, -50%);
}
.staff-card-plus:before,
.curriculum-tile-plus:before {
	width: 21px;
	height: 3px;
}
.staff-card-plus:after,
.curriculum-tile-plus:after {
	width: 3px;
	height: 21px;
}
.staff-card-link:hover .staff-card-plus {
	transform: scale(1.1);
}
.dynamic-staff .staff-card-name {
	font-family: var(--font-heading);
	font-size: 26px;
	line-height: 1.33;
	margin: 22px 0 0;
}
.staff-card-position {
	display: block;
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 26px;
}
/* curriculum (Figma "Curriculum (Manual)"): image tiles that open a panel underneath their row */
.bodyContent .dynamicContent.dynamic-curriculum {
	padding-bottom: 48px;
}
.curriculum-tile-col {
	margin-bottom: 24px;
}
.curriculum-tile {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 416 / 487;
	padding: 0;
	border: 0;
	background: var(--olive);
	overflow: hidden;
	text-align: left;
	cursor: pointer;
}
.curriculum-tile-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.3s;
}
.curriculum-tile:hover .curriculum-tile-image,
.curriculum-tile[aria-expanded="true"] .curriculum-tile-image {
	opacity: 0.75;
}
.curriculum-tile:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 70%;
	background: linear-gradient(to top, rgba(62, 65, 53, 0.6), rgba(18, 29, 33, 0) 88%);
	z-index: 1;
}
.curriculum-tile-title {
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 25px;
	z-index: 2;
	font-family: var(--font-heading);
	font-size: 26px;
	line-height: 1.33;
	color: var(--white);
}
.curriculum-tile-plus {
	z-index: 2;
}
.curriculum-tile:hover .curriculum-tile-plus {
	transform: scale(1.1);
}
/* open tile: the plus becomes a minus */
.curriculum-tile[aria-expanded="true"] .curriculum-tile-plus:after {
	display: none;
}
.curriculum-panel {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin-bottom: 24px;
	padding: 56px 24px;
	background: var(--olive);
	color: var(--white);
	overflow: hidden;
	animation: curriculum-open 0.4s ease;
}
.curriculum-panel[hidden] {
	display: none;
}
/* dark leaf pattern, as in the footer */
.curriculum-panel:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("images/pattern-col-strong.svg") 0 -1px / 194px 168px repeat,
		url("images/pattern-col-strong.svg") 97px -85px / 194px 168px repeat;
	pointer-events: none;
}
@keyframes curriculum-open {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}
}
.curriculum-panel-close {
	position: absolute;
	top: 24px;
	right: 24px;
	width: 44px;
	height: 44px;
	border: 1px solid var(--white);
	border-radius: 50%;
	background: transparent;
	color: var(--white);
	font-family: var(--font-body);
	font-size: 24px;
	line-height: 1;
	padding: 0 0 3px;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}
.curriculum-panel-close:hover {
	background: var(--white);
	color: var(--olive);
}
.dynamic-curriculum .curriculum-panel-title {
	font-family: var(--font-heading);
	font-size: 34px;
	line-height: 1.1;
	color: var(--white);
	margin: 0 60px 15px 0;
	padding-bottom: 16px;
}
.curriculum-panel-lead {
	font-family: var(--font-heading);
	font-size: 22px;
	line-height: 1.35;
	margin: 0;
}
.curriculum-panel-text,
.curriculum-panel-text a {
	color: var(--white);
}
.curriculum-panel-text > :last-child {
	margin-bottom: 0;
}
.curriculum-panel-button {
	display: inline-block;
	margin-top: 24px;
	padding: 17px 50px;
	border: 1px solid var(--white);
	font-family: var(--font-heading);
	font-size: 16px;
	line-height: 21px;
	color: var(--white);
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s;
}
.curriculum-panel-button:hover,
.curriculum-panel-button:focus {
	background: var(--white);
	color: var(--olive);
	text-decoration: none;
}
/* latest news cards (Figma "News") */
.bodyContent .dynamicContent.dynamic-news {
	padding-bottom: 72px;
}
.bodyContent .news-title {
	margin-bottom: 32px;
}
.bodyContent .dynamic-news .news-title h2 {
	margin: 0;
}
.news-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
}
.news-card {
	position: relative;
	display: block;
	aspect-ratio: 410 / 274;
	background: var(--olive);
	overflow: hidden;
	color: var(--white);
	text-decoration: none;
}
.news-card:hover,
.news-card:focus {
	color: var(--white);
	text-decoration: none;
}
.news-card-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}
.news-card:hover .news-card-image {
	transform: scale(1.04);
}
.news-card:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(62, 65, 53, 0.85) 0%, rgba(62, 65, 53, 0.4) 45%, rgba(18, 29, 33, 0) 75%);
}
.news-card-text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: block;
	padding: 32px;
}
.news-card-date {
	display: block;
	font-family: var(--font-heading);
	font-size: 14px;
	line-height: 19px;
}
.dynamic-news .news-card-title {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
	color: var(--white);
	margin: 4px 0 0;
}
.news-cards-button {
	margin-top: 32px;
	text-align: center;
}
/* interactive map (Figma "Interactive Map"): the Interactive Map plugin's map, restyled */
.bodyContent .dynamicContent.dynamic-interactive_map {
	padding-bottom: 72px;
}
.map-title {
	margin-bottom: 32px;
}
.bodyContent .dynamic-interactive_map .map-title h2 {
	margin: 0;
}
.map-intro {
	margin: 16px 0 0;
}
/* pins: 28px gold circle, white ring and centre dot */
.dynamic-interactive_map .mapIcon .iconButton {
	font-size: 16px;
}
.dynamic-interactive_map .iconMarker {
	width: 28px;
	height: 28px;
	padding: 0;
	border: 2px solid var(--white);
	background: var(--gold);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	font-size: 0;
	line-height: 0;
	transition: background-color 0.2s, transform 0.2s;
}
.dynamic-interactive_map .iconMarker:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 6px;
	height: 6px;
	margin: -3px 0 0 -3px;
	border-radius: 50%;
	background: var(--white);
}
.dynamic-interactive_map a:hover .iconMarker,
.dynamic-interactive_map a:focus-visible .iconMarker {
	background: var(--olive);
	transform: scale(1.15);
}
/* building name shown beside the pin on hover */
.dynamic-interactive_map .iconButton .iconLabel {
	top: 2px;
	left: 14px;
	height: 24px;
	padding: 0 14px 0 20px;
	border-radius: 0 12px 12px 0;
	background: var(--olive);
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 24px;
	white-space: nowrap;
}
.dynamic-interactive_map a:hover .iconButton .iconLabel,
.dynamic-interactive_map a:focus-visible .iconButton .iconLabel {
	display: block;
	background: var(--olive);
}
/* tabs (Figma "Tabs") */
.bodyContent .dynamicContent.dynamic-tabs {
	padding-bottom: 72px;
}
.tabs-list {
	display: flex;
	gap: 4px;
	border-bottom: 1px solid var(--sand);
	overflow-x: auto;
	scrollbar-width: none;
}
.tabs-tab {
	flex: 0 0 auto;
	padding: 10px 24px;
	border: 1px solid var(--olive);
	border-bottom: 0;
	background: var(--white);
	color: var(--olive);
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}
.tabs-tab:hover {
	background: var(--light-gray);
}
.tabs-tab[aria-selected="true"] {
	background: var(--olive);
	color: var(--white);
	font-weight: 700;
}
.tabs-panel {
	padding-top: 16px;
}
.tabs-panel[hidden] {
	display: none;
}
.tabs-panel:focus-visible {
	outline: 1px dotted var(--olive);
	outline-offset: 4px;
}
.dynamic-tabs .tabs-panel h3 {
	font-size: 26px;
	line-height: 1.33;
	margin: 0 0 16px;
}
.tabs-panel > :last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
/* pop-up content */
.staff-popup {
	max-width: 960px;
	padding: 32px 24px;
	gap: 32px;
	flex-direction: column;
}
.fancybox__content.staff-popup,
.fancybox__slide .staff-popup {
	display: flex !important;
}
.staff-popup-photo {
	flex: 0 0 auto;
	max-width: 305px;
}
.staff-popup-photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 305 / 397;
	object-fit: cover;
}
.staff-popup-text {
	min-width: 0;
}
.staff-list-photo {
	max-width: 305px;
}
.staff-list-photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 305 / 397;
	object-fit: cover;
}
.staff-list-text {
	flex: 1 1 auto;
	min-width: 0;
}
.dynamic-staff .staff-list-name {
	font-family: var(--font-heading);
	font-size: 26px;
	line-height: 1.33;
	margin: 0;
}
.staff-list-position {
	font-family: var(--font-heading);
	font-size: 22px;
	line-height: 1.2;
	color: var(--olive);
	margin: 2px 0 0;
}
.staff-list-metas {
	margin-top: 16px;
}
.staff-list-bio {
	margin-top: 20px;
}
.staff-list-bio > :last-child {
	margin-bottom: 0;
}
.staff-list .staff-btn {
	margin-top: 24px;
}
.standard-staff-text h3 {
	margin: 0 0 30px;
}
.stafftitle span {
	font-size: 0.8em;
}
.standard-staff-text .staff-meta {
	margin-bottom: 13px;
	max-width: 848px;
}
.staff-biog {
	max-width: 848px;
}
.standard-staff-text .staff-title span,
.staffContent .staff-title span {
	display: inline-block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 40px;
	line-height: 40px;
	font-weight: 400;
}
.standard-staff-text .staff-readmore {
	font-size: 14px;
	letter-spacing: 1.4px;
	line-height: 32px;
	text-transform: uppercase;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
}
.standard-staff-text .staff-meta .meta-label {
	float: left;
	margin-right: 10px;
}
.standard-staff-text .staff-biog p,
.bodyContent .callout .calloutText {
	margin-bottom: 30px;
}
.homeDynamic.dynamic-callout {
	margin: 0;
	position: relative;
	z-index: -1;
}
.homeBanner .home_video_top_text {
	font-size: 60px;
}
.homeBanner .home_video_bottom_text {
	width: 100%;
	max-width: 100%;
	padding: 0px 25px 15px;
	bottom: 64px;
	font-size: 14px;
}
.homeBanner .videoframe:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: -moz-linear-gradient(bottom,rgba(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(bottom,rgba(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to top,rgba(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a6000000",endColorstr="#00000000",GradientType=0);
	opacity: 0.85;
	z-index: 11;
	mix-blend-mode: multiply;
	height: 35%;
}
.fixedHeader .headGroup {
	padding: 13px 25px;
}
.headerIcon a img {
	max-height: 73px;
}
.header-right {
	width: 40%;
	text-align: right;
	order: 2;
	padding: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.header-left {
	padding: 0px;
	order: 1;
	width: 60%;
	text-align: left;
}blockquote,
.body-container .container {
	padding: 0px 25px;
}.dynamic-news .button-bar-news {
	padding-left: 25px;
	padding-right: 25px;
}
.section_title,
/* space after content sections, so they sit the same 102px apart as the other blocks */
.dynamic-text-image-block {
	padding-bottom: 72px;
}
.bodyContent .dynamicContent.dynamic-text {
	padding-bottom: 72px;
}
/* stats: count-up numbers in a carousel (Figma "Stats") */
.bodyContent .dynamicContent.dynamic-stats {
	padding-bottom: 72px;
}
.dynamic-stats .stat {
	text-align: center;
}
.dynamic-stats .stat-number {
	font-family: var(--font-heading);
	font-size: 80px;
	line-height: 1;
	color: var(--gold);
	font-variant-numeric: tabular-nums;
}
.dynamic-stats .stat-label {
	font-family: var(--font-heading);
	font-size: 22px;
	line-height: 1.2;
	color: var(--olive);
	max-width: 300px;
	margin: 16px auto 0;
}
.dynamic-stats .owl-dots {
	padding-top: 32px;
}
/* callouts are full-width panels: same 102px gap after the panel edge */
.bodyContent .dynamicContent.dynamic-callout {
	margin-bottom: 102px;
}
/* whatever an editor ends a text block with, its own bottom spacing is dropped so the gap stays the same */
.bodyContent .dynamic-text .col-md > :nth-last-child(1 of :not(script)),
.bodyContent .dynamic-text .col-md > :nth-last-child(1 of :not(script)) > li:last-child,
.bodyContent .dynamic-text .col-md > .table-responsive:nth-last-child(1 of :not(script)) table {
	margin-bottom: 0;
	padding-bottom: 0;
}
blockquote:before {
	left: auto;
	position: relative;
	top: auto;
	margin-bottom: 0px;
	line-height: 45px;
	display: block;
	text-align: left;
}
blockquote:after {
	content: "”";
	display: block;
	text-align: right;
	position: absolute;
	right: 65px;
	bottom: -20px;
	font-size: 40px;
}
.welcome-button {
	margin-bottom: 65px;
	text-align: left;
}
.homeDynamic.dynamic-poi {
	background: var(--white);
	padding: 0 0 96px;
	margin: 0;
}
.homeDynamic .callout.hasbg .coimg img {
	height: 100%;
	position: relative;
	visibility: hidden;
	max-height: 514px;
	min-height: 514px;
}
.homeDynamic.dynamic-text {
	text-align: center;
	background: var(--white);
	margin: 0;
	padding: 64px 0 68px;
}
.homeDynamic.dynamic-text .col-md {
	width: 100%;
	padding: 0 calc(var(--bs-gutter-x) * .5);
}
.dynamic-news .full-container {
	position: relative;
	overflow: hidden;
	text-align: left;
	padding: 50px 25px;
}
.dynamic-news .news_text_container {
	width: 100%;
	max-width: 100%;
}
.news_text_container {
	padding-top: 50px;
	padding-left: 0px;
	padding-right: 0px;
}
.dynamic-news .owl-dots {
	padding-left: 25px;
	padding-right: 25px;
	padding-top: 40px;
}
.homeDynamic.dynamic-poi .owl-dots {
	margin: 23px 0 37px !important;
	display: flex;
	justify-content: center;
	gap: 33px;
}
.quotes-holder .section_link_bar.button_bar {
	max-width: 1280px;
	margin: 0px auto;
	text-align: right;
	padding: 0 25px;
}
.dynamic-logos {
	background: var(--light-gray);
	margin: 0;
	position: relative;
	overflow: hidden;
	text-align: center;
	padding: 50px 0 100px;
}
.dynamic-logos .owl-dots {
	display: block;
	position: relative;
	width: 100%;
	height: 24px;
	text-align: center;
	margin: 50px auto 48px;
}
footer#footer .col-sm-12 {
	padding: 0 calc(var(--bs-gutter-x) * .5);
}
.footer-socials ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: block;
}
.footer-logos > .row {
	--bs-gutter-y: 20px;
	--bs-gutter-x: 20px;
}
.footerLower .ft-low-3 {
	text-align: left !important;
}
.footerLower .ft-low-1 {
	text-align: left !important;
	margin-bottom: 20px;
}
.footerLower .ft-low-2 {
	text-align: left !important;
	margin-bottom: 15px;
}
.dynamic-news .news_text_inner {
	max-width: 415px;
	font-size: 14px;
	margin: 0px auto;
}
#navbar.menu-level-2,
#navbar.menu-level-3 {
	padding-top: 165px;
}
#menu-main li.menu-item-has-children > .arrow {
	position: absolute;
	right: 0;
	top: 5px;
	width: 30px;
	height: 30px;
	display: none;
}
#navbar.menu-level-2 #menu-main li.open>a,
#navbar.menu-level-3 #menu-main li.open > a,
.main-navigation.menu-level-3 ul.sub-menu a.back-to-main,
.main-navigation .back-to-main,
#menu-main li li a:before,
a.back-to-main:after,
#menu-main a.back-to-main:after,
a.back-to-main:before,
#menu-main a.back-to-main:before,
.header_navigation {
	display: none !important;
}
#navbar.menu-level-2 #menu-main li.open,
#navbar.menu-level-3 #menu-main li.open {
	display: block;
	height: 100%;
}
#navbar.menu-level-2 #menu-main li.open > a,
#navbar.menu-level-3 #menu-main li li.open > a {
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: 0px;
	color: var(--gray);
	padding: 0px 30px 0px 0px;
	text-transform: inherit;
	display: block;
	font-weight: 400;
	border-bottom: 1px solid var(--gray);
	margin-bottom: 15px;
}
#navbar.menu-level-2 #menu-main li.open li.open > a,
.main-navigation.menu-level-3 ul.sub-menu ul.sub-menu a.back-to-main,
.main-navigation.menu-level-2 .back-to-main,
nav.main-navigation.menu-level-3 .back-to-main,
.staff .row {
	display: block !important;
}
#menu-main li {
	position: relative;
	margin-bottom: 0;
}
#menu-main li a {
	text-decoration: none;
	position: relative;
	font-size: 22px;
	border-top: none;
	border-right: none;
	border-left: none;
	line-height: 26px;
	letter-spacing: 0px;
	color: var(--white);
	padding: 14px 30px 12px 0;
	text-transform: inherit;
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 400;
	text-align: left;
}
#menu-main li > a:after {
	display: block;
}
#menu-main li a:hover {
	text-decoration: none;
	color: var(--sand);
}
#menu-main li.current-menu-item > a {
	color: var(--white);
	background: transparent;
	font-weight: 400;
}
#menu-main li.menu-item-has-children > a {
	padding-right: 35px;
}
#menu-main .sub-menu li a {
	font-size: 16px;
	letter-spacing: 0px;
	line-height: 1;
	text-transform: uppercase;
	font-weight: 400;
	display: block;
	color: var(--gray);
	padding: 10px 30px 10px 0;
	border: none;
}
#menu-main .sub-menu .sub-menu li a:hover {
	color: var(--gray);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
}
#menu-main li.open > .sub-menu {
	display: flex;
}
#menu-main .sub-menu {
	position: relative;
	display: none;
	padding: 0;
	border: none;
	flex-direction: column;
	justify-content: start;
	height: 100%;
	width: 100%;
}
#menu-main .sub-menu .sub-menu {
	padding: 0;
	border: none;
	flex-direction: column;
	justify-content: start;
	height: 100%;
	width: 100%;
}
a.back-to-main,
#menu-main a.back-to-main {
	display: block;
	position: fixed;
	top: 130px;
	left: 20px;
	z-index: 99999999 !important;
	text-transform: inherit !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--gray) !important;
	opacity: 1 !important;
	font-family: "Raleway", Arial, sans-serif;
	padding: 0 !important;
	line-height: 22px;
	border: none;
}
.menu-main-container {
	padding: 0px 25px;
	position: relative;
	height: 100%;
	width: 100%;
}
#menu-main {
	clear: both;
	margin: 0;
}
#navbar.menu-level-2 #menu-main,
#navbar.menu-level-3 #menu-main {
	margin: 0;
	height: 100%;
	overflow: hidden;
	overflow-y: scroll;
}
.menuopen.home .headGroup,
.menuopen .headGroup {
	z-index: 999999999;
	background: var(--red);
}
body.home.fixedHeader.menuopen .headGroup,
body.fixedHeader.menuopen .headGroup {
	padding-top: 26px;
	padding-bottom: 25px;
}
#menu-main li li.submenu_parent > a,
#menu-main li.submenu_parent > a {
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: 0px;
	color: var(--gray);
	padding: 0px 30px 0px 0px;
	text-transform: inherit !important;
	display: block;
	font-weight: 400;
	border-bottom: 1px solid var(--gray);
	margin-bottom: 15px;
}
.menuopen .header-right .button:first-child {
	display: inline-block;
	vertical-align: middle;
	float: left;
}
.menuopen .menu-toggle .toggleIcon span:after {
	width: 30px;
}
.fixedHeader .menu-toggle:hover .toggleIcon span,
.fixedHeader .menu-toggle:hover .toggleIcon span:before,
.fixedHeader .menu-toggle:hover .toggleIcon span:after,
.home.fixedHeader .menu-toggle:hover .toggleIcon span,
.home.fixedHeader .menu-toggle:hover .toggleIcon span:before,
.home.fixedHeader .menu-toggle:hover .toggleIcon span:after,
.homeDynamic .callout.hasbg .calloutTitle:before {
	background-color: var(--white);
}
.dynamic-text-image-block .img-box.image_on_right,
.dynamic-text-image-block .img-box.image_on_left {
	padding: 0px 12px;
	order: 1;
	text-align: center;
}
.dynamic-text-image-block .text-block-main.image-pos-right,
.dynamic-text-image-block .text-block-main.image-pos-left {
	padding-left: 12px;
	padding-right: 12px;
	order: 2;
}
.standard-staff-image {
	width: 100%;
	margin: 0px auto;
	max-width: 100% !important;
}
.dynamic-text-image-block .image-text-banner-inner {
	padding-top: 50px;
	max-width: 100%;
}
.standard-staff-text {
	padding: 55px 25px 20px;
	max-width: 100%;
	margin: 0;
}
.bodyContent .dynamic-text-image-block .img-box {
	order: 1;
	text-align: left;
}
.dynamic-text-image-block .text-block-main {
	order: 2;
}
body.menuopen .headGroup {
	border-bottom-color: #676767;
}
.home .menu-toggle:hover .toggleIcon span,
.home .menu-toggle:hover .toggleIcon span:before,
.home .menu-toggle:hover .toggleIcon span:after {
	background-color: var(--red);
	background: #ffffff;
}
.sidebarSec a {
	color: var(--white);
	font-family: "Playfair Display", Georgia, serif;
}
.sidebarSec h2,
.sidebarSec h3 {
	font-size: 30px;
	line-height: 40px;
	margin-bottom: 10px;
	color: var(--white);
}
.popupAlert .noticeText {
	position: relative;
	z-index: 111 !important;
}
.popupAlert .popTitle {
	font-size: 60px;
	line-height: 0.75;
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 400;
	margin-bottom: 15px !important;
	color: var(--gray);
	padding-left: 67px;
	position: relative;
}
.popupAlert.fancybox__content .noticeBody {
	padding: 0 !important;
}
.popupAlert .alert-btn {
	margin-top: 18px;
}
.popupAlert.fancybox__content>.f-button.is-close-btn {
	top: 30px !important;
	right: 25px !important;
	color: var(--gray) !important;
	border-radius: 0px !important;
	background: transparent !important;
}
.popupAlert.fancybox__content {
	width: 1013px;
	max-width: 100%;
	padding: 86px 10%;
	background: var(--light-gray);
	text-align: left;
	position: relative;
	color: var(--gray);
	font-size: 14px;
	line-height: 1.55;
}
.fancybox__container {
	background: rgba(0,0,0,0.65) !important;
}
body.error404 .body-container {
	padding: 60px 0 40px;
}
.homeContent section,
.homeBanner {
	position: relative;
	z-index: 2;
}
.homeContent section.dynamic-callout {
	position: relative;
	z-index: 1;
}

/* wpforms */
div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap {
	width: 80% !important;
	margin: 5px 0 0 20px !important;
}
.welcomeBlock:before,
.quotes-holder:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
	pointer-events: none;
	background-image: url("images/pattern-col.svg");
	background-size: 105px 91px;
	background-repeat: repeat;
	background-position: 0 0;
	height: 100%;
	height: round(down, 100%, 91px);
}
.welcomeBlock:after,
.quotes-holder:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
	pointer-events: none;
	background-image: url("images/pattern-col.svg");
	background-size: 105px 91px;
	background-repeat: repeat;
	background-position: 52.5px -45.5px;
	height: 100%;
	height: calc(round(down, 100% + 45.5px, 91px) - 45.5px);
}
footer#footer:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
	pointer-events: none;
	background-size: 194px 168px;
	background-repeat: repeat;
	height: 100%;
	background-image: url("images/pattern-col-strong.svg");
	background-position: 0 -1px;
}
footer#footer:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
	pointer-events: none;
	background-size: 194px 168px;
	background-repeat: repeat;
	height: 100%;
	background-image: url("images/pattern-col-strong.svg");
	background-position: 97px -85px;
}
.button.head-link {
	margin-right: 32px;
	background: transparent;
	border-color: var(--white);
	color: var(--white);
}

/*--- Buttons ---*/
.callout.hasbg .button,
.bodyContent .callout .button,
.poi .button,
.sidebarSec .button {
	background: transparent;
	border-color: var(--white);
	color: var(--white);
}
.button.head-link:hover,
footer#footer .button:hover,
.callout.hasbg .button:hover,
.bodyContent .callout .button:hover,
.poi .button:hover,
.poi:hover .button:hover,
.sidebarSec .button:hover {
	background: var(--white);
	border-color: var(--white);
	color: var(--olive) !important;
}
body.home .headGroup .mainLogo,
body.home.fixedHeader .headGroup .mainLogo {
	width: 124px;
	max-width: none;
	height: auto;
}
.headGroup {
	color: var(--white);
	transition: 300ms;
	z-index: 99999;
	position: fixed;
	height: 100px;
	width: 100%;
	top: 0;
	left: 0;
	padding: 13px 25px;
	background: var(--olive);
}
body.home.fixedHeader .headGroup,
body.fixedHeader .headGroup {
	background: var(--red);
	padding: 13px 31px 14px;
}
.mainLogo,
body.fixedHeader .headGroup .mainLogo {
	max-width: none;
	height: auto;
	width: 100px;
}
.headerIcon {
	transition: opacity 300ms;
}

/* the home banner carries the large logo, so hide the small one until the header becomes fixed */
body.home:not(.fixedHeader):not(.menuopen) .headGroup .headerIcon {
	opacity: 0;
	visibility: hidden;
}
.searchToggle .tabSecButton svg {
	width: 20px;
	height: 20px;
}
.searchToggle .tabSecButton:hover {
	transform: scale(1.08);
	color: var(--sand);
}
.main-headbox {
	display: none !important;
	background: url("images/pattern-col.svg") 0 -1px / 194px 168px repeat,
		url("images/pattern-col.svg") 97px -85px / 194px 168px repeat,
		var(--light-gray) !important;
}
#navbar {
	position: fixed;
	right: 0;
	transition: transform 500ms;
	background-color: var(--white);
	z-index: 9999;
	bottom: 0;
	transform: translateX(100%);
	overflow-x: hidden;
	width: 100%;
	max-width: 100%;
	padding: 120px 0px 25px;
	color: var(--gray);
	top: 0px;
	border: none;
	height: 100vh;
	background: var(--olive) !important;
}
.menu-main-right-container ul li a:before {
	background-color: var(--gold);
	mask-size: contain;
	width: 20px;
	height: 36px;
	top: 7px;
}
/* mobile: short gold line under each item, aligned left */
#menu-main li a:after {
	content: "";
	width: 30px;
	height: 1px;
	display: block;
	margin-top: 8px;
	background-color: var(--gold);
}
#menu-main li a:hover:after,
#menu-main li.open:hover > a:after,
.menu-main-right-container ul li a span:after,
.menu-main-right-container ul li a:hover span:after {
	background-color: var(--gold);
}
.menu-main-right-container ul ul li a:hover,
.menu-main-right-container ul ul li:hover > a,
.dynamic-news .news_text_inner .date a {
	color: var(--gold);
}
#homeBanner {
	position: relative;
	overflow: hidden;
	max-height: 524px;
	height: 100%;
	min-height: 524px;
	background: var(--olive);
}
.homeBanner .bannerLogo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 20px 54px;
	background: rgba(62, 65, 53, 0.35);
	z-index: 100;
	pointer-events: none;
}
.homeBanner .bannerLogo img {
	width: 182px;
	max-width: 60vw;
	height: auto;
}
.homeBanner.noMedia {
	min-height: 420px;
}
.homeBanner.noMedia:before {
	padding-top: 44.87%;
}
.homeBanner.noMedia .bannerLogo {
	background: none;
}

/*------------------------------------*\
    HOME DYNAMIC
\*------------------------------------*/
.welcomeBlock {
	background-position: center center;
	background-repeat: repeat;
	margin-bottom: 0;
	z-index: 2;
	position: relative;
	isolation: isolate;
	background-image: none;
	background-color: var(--white);
	padding: 64px 0 49px;
}
.welcomeBlock .welcomeContent {
	max-width: 851px;
	margin: 0 auto 14px;
	font-size: 12px;
	line-height: 22px;
}
.welcomeContent h1 {
	text-align: center;
	margin: 0 0 80px;
}
.welcomeTitle {
	text-align: center;
	margin: 0 0 38px;
	padding: 0;
	font-size: 34px;
	line-height: 32px;
}
.welcome-quote em:before {
	color: var(--red);
	font-size: 140px;
	left: auto;
	position: relative;
	top: auto;
	margin-bottom: 0px;
	line-height: 45px;
	display: block;
	text-align: left;
	content: none;
}
.welcome-quote em:after {
	display: block;
	text-align: center;
	padding-right: 0;
	padding-top: 25px;
	font-size: 40px;
	content: none;
}
.welcome-quote span:not(.reveal-word):before {
	height: 1px;
	background: var(--red);
	display: inline-block;
	vertical-align: middle;
	margin-right: 17px;
	width: 30px;
	content: none;
}
.welcome-quote span:not(.reveal-word) {
	font-weight: normal;
	display: block;
	font-family: var(--font-heading);
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--olive);
	margin-top: 19px;
}
.welcome-quote cite {
	display: block;
	font-family: var(--font-heading);
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--olive);
	margin-top: 19px;
}
.welcome-quote ~ div:not([class]) {
	display: block;
	font-family: var(--font-heading);
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--olive);
	margin: 0 0 30px;
}
.welcomeImage {
	width: 100%;
	background-color: var(--white);
	mask-position: left bottom;
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	padding: 0px;
	margin: 0px auto;
	max-width: 486px;
	mask-image: none;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--line);
}
.welcomeImage img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.section_title:before {
	content: "";
	line-height: 53px;
	display: block;
	mask-image: url("images/leaf-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	padding: 0px;
	margin: 0 0 13px;
	background-color: var(--gold);
	width: 36px;
	height: 65px;
	mask-size: contain;
}
.homeDynamic.dynamic-poi .section_title:before {
	background-color: var(--gold);
	width: 36px;
	height: 65px;
	mask-size: contain;
}
.dynamic-news .section_title:before,
.dynamic-logos .section_title:before {
	mask-image: url("images/leaf-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: var(--gold);
	width: 54px;
	height: 97.45px;
	mask-size: contain;
}
.bodyContent header > h1:before {
	position: absolute;
	left: 0;
	top: auto;
	bottom: 5px;
	margin: 0;
	z-index: 11;
	content: "";
	mask-image: url("images/leaf-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: var(--gold);
	width: 54px;
	height: 97.45px;
	mask-size: contain;
}
.popupAlert .popTitle:before {
	position: absolute;
	left: 0;
	top: auto;
	bottom: 0;
	margin: 0;
	z-index: 11;
	content: "";
	mask-image: url("images/leaf-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: var(--gold);
	width: 54px;
	height: 97.45px;
	mask-size: contain;
}
.homeDynamic .calloutTitle:before {
	content: "";
	line-height: 53px;
	display: block;
	mask-image: url("images/leaf-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	padding: 0px;
	background-color: var(--gold);
	width: 40px;
	height: 72px;
	mask-size: contain;
	margin: 0 auto 30px;
}
.homeDynamic.dynamic-poi .section_title:after,
.dynamic-news .section_title:after,
.dynamic-logos .section_title:after {
	background: var(--gold);
}
.section_title h2 {
	font-weight: 400;
	margin: 0;
	text-align: left;
	font-size: 37px;
	line-height: 39px;
}
.section_title h2:before {
	width: 58px;
	height: 1px;
	margin: 0px auto 45px;
	display: block;
	background: var(--gold);
	content: none;
}
.homeDynamic.dynamic-poi .section_title {
	margin-bottom: 48px;
}
.bodyContent .body-text h2:after,
.dynamic-text-image-block .simple-title h2:after,
.bodyContent .poi-title h2:after,
.bodyContent .news-title h2:after,
.bodyContent .map-title h2:after {
	content: "";
	flex: 1 1 auto;
	min-width: 40px;
	height: 1px;
	background: var(--sand);
	/* sit on the visual centre of the text rather than the line box */
	transform: translateY(0.09em);
}
.bodyContent h3,
.bodyContent h4 {
	margin-bottom: 12px;
}

/*------------------------------------*\ 
    Banner
\*------------------------------------*/
#pageBanner {
	position: relative;
	overflow: hidden;
	min-height: 340px;
	max-height: 420px;
	background: var(--olive);
}
#pageBanner.noMedia {
	min-height: 300px;
	max-height: 560px;
}
#pageBanner.noMedia:before {
	padding-top: 35.9%;
}
#pageBanner:not(.noMedia) .pageBannerTitle {
	background: linear-gradient(to top, rgba(62, 65, 53, 0.8) 0%, rgba(62, 65, 53, 0) 100%);
}
.pageBannerTitle h1 {
	color: var(--white);
	margin: 0;
}
.breadcrumbs {
	position: relative;
	line-height: 21px;
	color: var(--gray);
	text-transform: inherit;
	letter-spacing: 0px;
	width: 100%;
	z-index: 105;
	min-height: 22px;
	font-weight: 400;
	text-align: left;
	display: block;
	font-size: 14px;
	padding: 14px 0;
	margin-bottom: 60px;
	border-bottom: 1px solid var(--line);
}
.breadcrumbs em {
	display: inline-block;
	vertical-align: middle;
	width: auto;
	height: auto;
	margin: 0 8px;
	background: none;
	font-style: normal;
}
.breadcrumbs em:before {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 9px;
	line-height: 21px;
	color: var(--gold);
	display: block;
}
.bodyContent ul {
	list-style: none;
	padding-left: 0px;
	padding-top: 0;
	padding-bottom: 20px;
}
.bodyContent ul li {
	position: relative;
	line-height: 1.5;
	padding-left: 18px;
	margin-bottom: 6px;
}
.bodyContent ul:not([class]) li:not([class]):before {
	content: "";
	font-size: 0;
	position: absolute;
	left: 0px;
	border-radius: 13px;
	width: 5px;
	height: 5px;
	top: 12px;
	background: var(--gold);
}
.poi {
	position: relative;
	display: block;
	transition: all 300ms;
	overflow: hidden;
	background: #FBEDEE;
	mask-position: center top;
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	mask-image: none;
	background-color: var(--olive);
	color: var(--white);
	margin-bottom: 24px;
}

/*--- POIs ---*/
.poi.bg-light-pink,
.poi.bg-red {
	mask-image: none;
	background-color: var(--olive);
	color: var(--white);
	margin-bottom: 24px;
}
.poi.bg-pink,
.poi.bg-brown {
	background-color: var(--olive-dark);
}
.poi:hover {
	text-decoration: none;
	color: var(--white);
}
.poiImage:before {
	content: "";
	display: block;
	width: 100%;
	padding-top: 100%;
}
.poi .poiTitle {
	display: block;
	font-weight: 400;
	position: relative;
	padding: 0px;
	text-transform: inherit;
	font-family: var(--font-heading);
	font-size: 18px;
	line-height: 24px;
	text-shadow: none;
	text-align: left;
}
.poiImage .poiText {
	position: absolute;
	bottom: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	width: 100%;
	transition: 300ms;
	padding: 70px 23px 26px;
	text-align: left;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0) 100%);
}
.poi:hover .poiImage .poiText {
	bottom: 50%;
	transform: translateY(50%);
	padding: 22px;
	background: none;
	text-align: center;
}
.poi:hover .poiImage .poiTitle {
	text-align: center;
	margin-bottom: 12px;
}
.poi:hover .poiImage .poiTitle:before,
.poi .textOnlyBlock .poiTitle:before {
	height: 31px;
	width: 31px;
	border-radius: 5px;
	display: block;
	margin: 0px auto 28px;
	background-color: currentColor;
	mask-image: url("images/poi-title.png");
	mask-position: center;
	mask-repeat: no-repeat;
	content: none;
}
.poi:hover .poiImage .poiEx,
.poi .textOnlyBlock .poiEx {
	max-height: 88px;
	font-size: 12px;
	line-height: 1.8;
	margin-bottom: 24px;
}
.poi:hover .textOnlyBlock {
	color: #fff;
	text-decoration: none;
	background-color: rgba(0, 0, 0, 0.15);
}

/*--- Callouts ---*/
.homeDynamic .callout:not(.hasbg) {
	background: var(--sand);
	color: var(--olive);
	--body_colour: var(--olive);
	--title_colour: var(--olive);
}
.homeDynamic .callout:not(.hasbg) .calloutContent {
	padding: 55px 0 101px;
}
.homeDynamic .calloutTitle {
	padding: 0 44px;
	max-width: 740px;
	font-size: 18px;
	line-height: 1.33;
	margin: 0 auto 30px;
}
.homeDynamic .calloutTitle h3 {
	font-size: 18px;
	line-height: 1.2;
}
.homeDynamic .calloutTitle h3:before {
	width: 58px;
	height: 1px;
	margin: 0px auto 45px;
	display: block;
	background: var(--red);
	content: none;
}
.callout.hasbg .coimg:after {
	content: "";
	display: block;
	width: 100%;
	bottom: 0;
	position: absolute;
	left: 0;
	height: 100%;
	background: rgba(0, 0, 0, 0.45);
}
.bodyContent .callout .calloutContent {
	max-width: 1084px;
	text-align: left;
	padding: 90px 25px 100px;
}
.bodyContent .callout .calloutTitle h3:after {
	content: "";
	flex: 1 1 auto;
	min-width: 40px;
	height: 1px;
	background: var(--gold);
}
.bodyContent .callout .calloutSubtitle {
	margin-bottom: 4px;
}
.quotes-holder {
	background-position: center center;
	background-repeat: repeat;
	margin-bottom: 0;
	position: relative;
	isolation: isolate;
	background-image: none;
	background-color: var(--white);
	padding: 100px 0 80px;
}
.quotes-holder .quotesTitle {
	text-align: center;
	margin-bottom: 10px;
}
.quotes-holder blockquote {
	max-width: 820px;
	margin: 0 auto;
	padding: 0 25px;
	text-align: center;
}
.quotes-holder blockquote:before {
	position: static;
	display: block;
	text-align: center;
	font-size: 254px;
	line-height: 0.9;
	height: 130px;
	margin: 0 0 20px;
	color: var(--sand);
}
.quotes-holder blockquote:after {
	position: static;
	display: block;
	text-align: center;
	font-size: 150px;
	line-height: 0.9;
	height: 70px;
	margin: 0 0 20px;
	color: var(--sand);
	content: none;
}
.quoteContainer .cycle-pager {
	width: 100%;
	height: 9px;
	line-height: 9px;
	margin: 0 0 35px;
	padding: 30px 0 0;
	text-align: center;
}
.owl-dots span {
	width: 10px;
	height: 10px;
	display: inline-block;
	border-radius: 50%;
	background: var(--sand);
	opacity: 1;
}
.quoteContainer .cycle-pager span {
	cursor: pointer;
	display: inline-block;
	vertical-align: top;
	margin: 0 5px;
	width: 9px;
	height: 9px;
	text-align: center;
	font-size: 0px;
	border-radius: 50%;
	background: var(--sand);
	opacity: 1;
}
.owl-dots .owl-dot.active span,
.quoteContainer .cycle-pager span.cycle-pager-active,
.quoteContainer .cycle-pager span:hover {
	opacity: 1;
	background: var(--gold);
}
.faqs .faq {
	border: none;
	background: transparent;
	border-radius: 30px;
	margin-bottom: 8px;
}
.faq-question {
	background: #a2a6a9;
	position: relative;
	color: var(--white);
	cursor: pointer;
	line-height: 1.5;
	overflow: hidden;
	border: none;
	margin: 0px;
	width: 100%;
	display: block;
	text-align: left;
	border-radius: 0px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 16px;
	text-transform: none;
	padding: 13px 60px 12px 22px;
	background-color: var(--olive);
}
.faq.open .faq-question {
	background: #969696;
	color: var(--white);
	border: 0 none;
	background-color: var(--olive-dark);
}
.faq-question:hover {
	background: #000;
	color: var(--white);
	border: 0 none;
	background-color: var(--olive-dark);
}
.faq-question:after {
	line-height: 1.5em;
	text-align: center;
	font-size: 0.8em;
	font-weight: 700;
	font-family: "Font Awesome 6 Free";
	transform: rotate(0deg);
	transition: 300ms;
	content: "";
	background-color: var(--white);
	-webkit-mask-image: url("images/faq-arrow.png");
	mask-image: url("images/faq-arrow.png");
	mask-size: cover;
	width: 10px;
	height: 13px;
	display: block;
	right: 18px;
	position: absolute;
	top: 17px;
}
.faq-answer {
	display: none;
	padding: 0px;
	border: none;
	margin-bottom: 0px;
	background: var(--white);
}
.faq-answer .col-md {
	position: relative;
	padding: 20px 24px 24px;
}
.document,
.sn_web_link_container {
	margin-bottom: 12px;
}
a.document-link {
	position: relative;
	color: var(--white);
	cursor: pointer;
	line-height: 1.5;
	overflow: hidden;
	border: none;
	font-weight: 400;
	width: 100%;
	display: block;
	border-radius: 0px;
	font-family: var(--font-heading);
	font-size: 16px;
	text-transform: none;
	text-align: center;
	padding: 13px 60px 12px;
	margin: 0;
	background-color: var(--olive);
}
.sn_web_link {
	position: relative;
	color: var(--white);
	cursor: pointer;
	line-height: 1.5;
	overflow: hidden;
	border: none;
	font-weight: 400;
	width: 100%;
	display: block;
	border-radius: 0px;
	font-family: var(--font-heading);
	font-size: 16px;
	text-transform: none;
	text-align: center;
	padding: 13px 60px 12px;
	margin: 0;
	background-color: var(--olive);
}
a.document-link:after {
	content: "";
	background-color: var(--white);
	-webkit-mask-image: url("images/download-icon.png");
	mask-image: url("images/download-icon.png");
	mask-size: cover;
	width: 11px;
	height: 16px;
	display: block;
	right: 18px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.sn_web_link:after {
	content: "";
	background-color: var(--button_colour);
	-webkit-mask-image: url("images/weblink-icon.png");
	mask-image: url("images/weblink-icon.png");
	mask-size: cover;
	width: 13px;
	height: 13px;
	display: block;
	right: 18px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
a.document-link:hover,
a.document-link:focus {
	color: var(--white);
	border: 0 none;
	background-color: var(--olive-dark);
}
.sn_web_link:hover,
.sn_web_link:focus {
	color: var(--white);
	border: 0 none;
	text-decoration: none;
	background-color: var(--olive-dark);
}
.bodyContent table {
	display: table;
	width: 100%;
	overflow: auto;
	position: relative;
	text-align: left;
	border-collapse: collapse;
	border: 0.5px solid var(--olive);
	margin-bottom: 32px;
}
/* header cells: real th cells, or a row set to "Header" in the editor (thead) */
.bodyContent table th,
.bodyContent table thead td {
	line-height: 1.8;
	vertical-align: top;
	background-color: var(--olive);
	color: var(--white);
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 14px;
	padding: 18px 24px;
	border: 0.5px solid var(--olive);
}
.bodyContent table td {
	font-weight: 400;
	line-height: 1.8;
	vertical-align: top;
	font-size: 14px;
	color: var(--olive);
	padding: 13px 24px;
	border: 0.5px solid var(--olive);
}
/* "Gold header" and "Black header" table styles from the editor's Formats dropdown */
.bodyContent table.table-gold th,
.bodyContent table.table-gold thead td {
	background-color: var(--gold);
}
.bodyContent table.table-black th,
.bodyContent table.table-black thead td {
	background-color: #000;
	border-color: #000;
}
.bodyContent table:not(.whiteBg) tbody tr:nth-child(odd) td {
	background-color: transparent;
}
.standard-staff-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mask-position: center top;
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	min-height: 421px;
	max-width: 380px;
	mask-image: none;
}
.news-img-main {
	mask-position: center top;
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	display: block;
	width: 100%;
	max-width: 470px;
	height: 100%;
	max-height: 571px;
	margin: 0px auto;
	mask-image: none;
}
.dynamic-text-image-block .image-item img {
	height: 100%;
	object-fit: cover;
	mask-position: center top;
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	mask-image: none;
	min-height: 0;
	max-width: 100%;
	width: 100%;
	aspect-ratio: 4 / 3;
}
.dynamic-text-image-block .text-image-button,
.staff-btn {
	display: inline-block;
	padding: 17px 50px;
	font-family: var(--font-heading);
	font-size: 16px;
	line-height: 21px;
	text-decoration: none;
	background: var(--olive);
	border: 1px solid var(--olive);
	color: var(--white);
	transition: 300ms;
}
.dynamic-text-image-block .text-image-button:hover,
.staff-btn:hover {
	text-decoration: none;
	background: var(--white);
	color: var(--olive);
}
.dynamic-news .news_text_inner .date {
	font-size: 18px;
	line-height: 1.222;
	margin-bottom: 23px;
	color: var(--gold);
}
footer#footer a:hover {
	color: var(--sand);
}
footer#footer .address-info {
	margin-bottom: 22px;
}
footer#footer .tel-info {
	font-size: 12px;
}
footer#footer .email-info {
	font-size: 12px;
	margin-bottom: 22px;
}
.footer-socials ul li {
	min-width: inherit;
	line-height: 38px;
	padding: 0 11px;
}
.footer-socials ul li a {
	font-size: 20px;
}
footer#footer .button {
	margin-bottom: 18px;
	background: transparent;
	border-color: var(--white);
	color: var(--white);
	min-width: 189px;
	padding: 18px 20px;
	margin-right: 27px;
}
.footer-button-bar {
	margin-top: 35px;
}
.footerLower {
	background: transparent;
	color: var(--white);
	text-align: left;
	font-family: var(--font-heading);
	font-size: 15px;
	padding: 40px 0 0;
	line-height: 20px;
}
.footerLower .ft-low-2 em {
	height: 18px;
	height: 12px;
	font-style: normal;
	margin: 0px 7px;
	vertical-align: middle;
	display: inline-block;
	width: 18px;
	background: none;
}
.sidebarSec {
	color: var(--white);
	padding: 35px 25px 40px;
	position: relative;
	margin: 0px auto 10px;
	font-size: 16px;
	background: var(--olive);
}
div.wpforms-container-full .wpforms-form input[type=text],
div.wpforms-container-full .wpforms-form input[type=email],
div.wpforms-container-full .wpforms-form input[type=tel],
div.wpforms-container-full .wpforms-form input[type=number],
div.wpforms-container-full .wpforms-form input[type=url],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
	border: 1px solid var(--olive) !important;
	border-radius: 0 !important;
	font-family: var(--font-body) !important;
	color: var(--olive) !important;
}
div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-family: var(--font-body) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	color: var(--olive) !important;
	text-align: left;
	line-height: 1.8;
}
div.wpforms-container-full .wpforms-form .wpforms-field-sublabel {
	font-family: var(--font-heading) !important;
	font-size: 12px !important;
}

/* name field: first and last side by side, as in the Figma
   (two equal 72px boxes, 24px apart, Raleway sub-labels directly underneath) */
div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-label {
	font-size: 12px !important;
	line-height: 22px;
	margin-bottom: 5px;
}
div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row {
	display: flex;
	gap: 25px;
	max-width: none;
	flex-direction: column;
	align-items: stretch;
}
div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row-block {
	flex: 1 1 0;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	float: none;
}
div.wpforms-container-full .wpforms-form .wpforms-field-name input[type=text] {
	height: 72px !important;
	padding: 0 16px !important;
}
div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-sublabel {
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 400;
	line-height: 26px;
	margin-top: 0;
	padding: 0;
	color: var(--olive) !important;
}
div.wpforms-container-full .wpforms-form .wpforms-required-label {
	color: var(--gold) !important;
}
div.wpforms-container-full .wpforms-form input[type=checkbox],
div.wpforms-container-full .wpforms-form input[type=radio] {
	accent-color: var(--gold);
}
div.wpforms-container-full .wpforms-form .wpforms-page-button,
div.wpforms-container-full .wpforms-form .wpforms-submit {
	border: 1px solid var(--olive) !important;
	background: var(--olive) !important;
	text-decoration: none !important;
	font-size: 12px !important;
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	min-width: 100px !important;
	text-align: center !important;
	height: auto !important;
	padding: 17px 50px !important;
	line-height: 16px !important;
	color: var(--white) !important;
	border-radius: 0 !important;
}
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
div.wpforms-container-full .wpforms-form .wpforms-submit:hover {
	background: var(--white) !important;
	color: var(--olive) !important;
	border-color: var(--olive) !important;
}
.wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress {
	background-color: var(--gold) !important;
}
.welcome-quote:before {
	content: "“";
	left: -130px;
	top: -75px;
	color: var(--sand);
	position: static;
	display: block;
	font-size: 164px;
	line-height: 172px;
	height: 100px;
	text-align: center;
}
.welcome-quote:has(em):before {
	text-transform: none;
	position: static;
	display: block;
	font-size: 120px;
	line-height: 0.9;
	height: 60px;
}
.welcome-quote {
	font-weight: normal;
	position: relative;
	font-family: var(--font-heading);
	line-height: 29px;
	color: var(--olive);
	margin-bottom: 19px;
	margin-right: 0;
	font-size: 28px;
	text-align: center;
}
.welcome-quote em {
	position: static;
	display: block;
	font-style: normal;
	line-height: 1.05;
	text-transform: none;
	margin-bottom: 19px;
	font-size: 30px;
}
.welcome-quote:has(em) {
	line-height: 1.6;
	text-transform: uppercase;
	font-size: 14px;
}
.welcome-quote .reveal-word {
	color: transparent;
	background: linear-gradient(to right, var(--olive) 35%, color-mix(in srgb, var(--olive) 15%, transparent) 65%) no-repeat;
	background-size: 300% 100%;
	background-position: calc((1 - var(--reveal, 1)) * 100%) 0;
	-webkit-background-clip: text;
	background-clip: text;
}
.pageBannerTitle {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 105;
	padding: 120px 0 30px;
}

/* content headings: leaf icon, title, rule */
.bodyContent .body-text h2,
.dynamic-text-image-block .simple-title h2,
.bodyContent .poi-title h2,
.bodyContent .news-title h2,
.bodyContent .map-title h2 {
	display: flex;
	align-items: center;
	margin: 50px 0 24px;
	gap: 16px;
}
.bodyContent .callout .calloutTitle h3 {
	display: flex;
	align-items: center;
	margin-bottom: 24px;
	gap: 16px;
}
.bodyContent .body-text h2:before,
.dynamic-text-image-block .simple-title h2:before,
.bodyContent .poi-title h2:before,
.bodyContent .news-title h2:before,
.bodyContent .map-title h2:before,
.bodyContent .callout .calloutTitle h3:before {
	content: "";
	flex: 0 0 44px;
	background-color: var(--gold);
	mask-image: url("images/leaf-icon.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	flex-basis: 30px;
	height: 54px;
}
footer#footer {
	color: var(--white);
	margin: 0;
	z-index: 2;
	position: relative;
	isolation: isolate;
	background-image: none;
	background: #4D5045;
	font-family: var(--font-heading);
	font-size: 12px;
	line-height: 19px;
	padding: 72px 0 28px;
}
.footer-socials {
	display: block;
	position: relative;
	right: auto;
	top: auto;
	margin-top: 0;
	margin-bottom: 22px;
	text-align: left;
}

.welcomeBlockText {
	padding: 0 calc(var(--bs-gutter-x) * .5);
}
.welcomeImage-main {
	padding: 0 calc(var(--bs-gutter-x) * .5);
}
.homeDynamic.dynamic-poi .owl-dots .owl-dot {
	margin: 0;
	flex: 0 1 58px;
	line-height: 1px;
}
.homeDynamic.dynamic-poi .owl-dots .owl-dot span {
	width: 100%;
	height: 1px;
	border-radius: 0;
	vertical-align: middle;
}
.homeDynamic.dynamic-poi .owl-dots .owl-dot.active span {
	background: var(--olive);
}
.homeDynamic .callout.hasbg .coimg:after {
	background: rgba(62, 65, 53, 0.7);
}
div.wpforms-container-full .wpforms-form .wpforms-field-email input {
	height: 72px !important;
}
div.wpforms-container-full .wpforms-form .wpforms-field-label-inline {
	font-size: 12px !important;
	line-height: 22px;
}
footer#footer .container {
	padding-left: 18px;
	padding-right: 18px;
}
@media (min-width: 768px) {
	.news-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.staff-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.staff-popup {
		flex-direction: row;
		padding: 48px;
	}
	.staff-popup-photo {
		width: 305px;
	}
	#homeBanner:before {
		padding-top: 57.08%;
	}
}

@media (min-width: 992px) {
	.menuopen .header-left {
		visibility: revert;
	}
	.dynamic-stats .stat-number {
		font-size: 112px;
	}
	.dynamic-stats .stat-label {
		font-size: 26px;
	}
	.bodyContent table th,
	.bodyContent table thead td,
	.bodyContent table td {
		font-size: 16px;
	}
	.searchToggle {
		margin-right: 14px;
		margin-left: 0;
	}
	.searchToggle .search-form-holder {
		position: revert;
		right: revert;
		top: revert;
		background: revert;
		box-shadow: revert;
		padding: revert;
		z-index: revert;
		margin-top: revert;
		border-bottom: 1px solid #ffffff;
		margin-right: 8px;
	}
	.searchToggle.is-open .search-form-holder {
		width: 240px;
		max-width: 240px;
	}
	.searchform input.searchInput {
		color: #ffffff;
	}
	.menu-toggle .toggleText,
	.header-right .button.head-link {
		display: inline-block;
	}
	.side-menu-container,
	blockquote p:after,
	#menu-main li.menu-item-has-children > .arrow,
	#navbar.menu-level-2 #menu-main li,
	#navbar.menu-level-2 #menu-main li.open li,
	#navbar.menu-level-3 #menu-main li,
	#navbar.menu-level-3 #menu-main li.open li.open li,
	#menu-main li li.menu-item-has-children > .arrow,
	#menu-main .sub-menu li a:after,
	.homeDynamic.dynamic-poi .owl-nav {
		display: revert;
	}
	.homeBanner .videoframe .vidUnmute {
		right: 50px;
	}
	.homeDynamic.dynamic-text:has(.wpforms-container) .section_title {
		gap: 21px;
		padding: 0;
		margin-bottom: 30px;
		display: flex;
		align-items: center;
	}
	.homeDynamic.dynamic-text:has(.wpforms-container) .section_title:before {
		height: 97px;
		margin: 0;
		flex: 0 0 54px;
	}
	.dynamic-news .home-news.row {
		width: auto;
	}
	.dynamic-news .owl-item {
		opacity: 0.39;
	}
	.dynamic-news .owl-item.active {
		opacity: 1;
	}
	.homeDynamic.dynamic-poi .section_title h2:before,
	.dynamic-news .section_title h2:before,
	.dynamic-logos .section_title h2:before,
	.menu-main-right-container ul li li a:before,
	.menu-main-right-container ul ul li a:before,
	.menu-main-right-container ul li span,
	.menu-main-right-container ul li:hover ul li ul,
	.menu-main-right-container ul ul li:after,
	.menu-main-right-container ul ul li a:after,
	.mobile-menu-box,
	body.menuopen .mobile-menu-box,
	.menu-main-right-container ul li .menu_image_container {
		display: none;
	}
	footer#footer .footerLower .ft-low-2 {
		padding: 0;
	}
	.dynamic-news .owl-stage {
		margin-left: -150px;
	}
	.homeBanner .home_video_top_text {
		font-size: 90px;
	}
	.homeBanner .home_video_bottom_text {
		max-width: 956px;
		padding: 0px 15px;
		bottom: 47px;
		font-size: 20px;
	}
	.homeBanner .videoframe:after {
		height: 20%;
	}
	.fixedHeader .headGroup,
	.headGroup {
		padding: 8px 31px;
	}
	.headerIcon a img {
		max-height: revert;
	}
	.header-right {
		width: 66.6667%;
		order: revert;
		padding-top: revert;
		padding-bottom: revert;
		padding-left: calc(var(--bs-gutter-x) * .5);
		padding-right: 31px;
		display: block;
	}
	.header-left {
		order: revert;
		width: 33.3333%;
		text-align: revert;
	}
	.welcomeBlockText {
		padding-top: revert;
		padding-bottom: revert;
		padding-left: calc(var(--bs-gutter-x) * .5);
		padding-right: 5px;
	}
	.welcomeImage-main {
		padding-right: calc(var(--bs-gutter-x) * .5);
		padding-left: 50px;
	}
	.section_title {
		margin-bottom: 36px;
	}
	blockquote {
		padding-right: 0px;
		padding-bottom: 0px;
		padding-left: 100px;
	}
	blockquote:before {
		left: 8px;
		position: absolute;
		top: 12px;
		margin-bottom: revert;
		line-height: 140px;
		text-align: center;
	}
	blockquote cite {
		margin-top: 19px;
	}
	blockquote:after {
		content: revert;
		display: revert;
		text-align: revert;
		position: revert;
		right: revert;
		bottom: revert;
		font-size: revert;
	}
	.welcome-button {
		margin-bottom: revert;
		text-align: revert;
	}
	.homeDynamic.dynamic-poi {
		padding-bottom: 80px;
		padding-top: 120px;
	}
	.homeDynamic .callout.hasbg .coimg img {
		max-height: 900px;
		min-height: 900px;
	}
	.homeDynamic.dynamic-text {
		padding-bottom: 99px;
		padding-top: 99px;
	}
	.homeDynamic.dynamic-text .col-md,
	.body-container .container {
		padding-top: revert;
		padding-right: calc(var(--bs-gutter-x) * .5);
		padding-bottom: revert;
		padding-left: calc(var(--bs-gutter-x) * .5);
	}
	.dynamic-news .full-container {
		padding: 112px 0 126px 25px;
	}
	.dynamic-news .news_image_container {
		padding-top: revert;
		padding-bottom: revert;
		padding-left: revert;
		padding-right: 0;
		width: 45%;
		max-width: 481px;
	}
	.dynamic-news .news_text_container {
		width: 55%;
		max-width: 648px;
	}
	.dynamic-news .button-bar-news {
		padding-left: revert;
		padding-right: 25px;
	}
	.news_text_container {
		padding-left: 25px;
		padding-right: 25px;
		padding-top: 50px;
	}
	.dynamic-news .owl-dots {
		padding-left: 10px;
		padding-top: 125px;
		padding-right: 25px;
	}
	.homeDynamic.dynamic-poi .owl-dots {
		margin: revert !important;
	}
	.quotes-holder .section_link_bar.button_bar,
	.homeDynamic .calloutTitle {
		padding: revert;
	}
	.dynamic-logos {
		padding-bottom: 122px;
		padding-top: 120px;
	}
	.dynamic-logos .owl-dots {
		margin-top: 80px;
	}
	footer#footer .col-sm-12 {
		padding-right: calc(var(--bs-gutter-x) * .5);
		padding-bottom: 0;
		padding-left: calc(var(--bs-gutter-x) * .5);
	}
	.footer-socials ul {
		display: flex;
	}
	.footer-logos > .row {
		--bs-gutter-x: 50px;
	}
	.footerLower .ft-low-3 {
		text-align: right !important;
	}
	.footerLower .ft-low-1 {
		text-align: start !important;
		margin-bottom: revert;
	}
	.footerLower .ft-low-2 {
		text-align: center !important;
		margin-bottom: revert;
	}
	.dynamic-news .news_text_inner,
	.news-img-main {
		margin: revert;
	}
	#navbar.menu-level-2,
	#navbar.menu-level-3 {
		padding-top: 20px;
	}
	#navbar.menu-level-2 #menu-main li.open>a,
	#navbar.menu-level-2 #menu-main li.open li.open > a,
	#navbar.menu-level-3 #menu-main li.open > a,
	.main-navigation.menu-level-3 ul.sub-menu a.back-to-main,
	.main-navigation.menu-level-3 ul.sub-menu ul.sub-menu a.back-to-main,
	.main-navigation .back-to-main,
	.main-navigation.menu-level-2 .back-to-main,
	nav.main-navigation.menu-level-3 .back-to-main,
	#menu-main li li a:before,
	a.back-to-main:after,
	#menu-main a.back-to-main:after,
	a.back-to-main:before,
	#menu-main a.back-to-main:before,
	.header_navigation {
		display: revert !important;
	}
	#navbar.menu-level-2 #menu-main li.open,
	#navbar.menu-level-3 #menu-main li.open {
		display: revert;
		height: revert;
	}
	#navbar.menu-level-2 #menu-main li.open > a,
	#navbar.menu-level-3 #menu-main li li.open > a {
		font-size: revert;
		line-height: 1.35;
		letter-spacing: revert;
		padding: 10px;
		text-transform: revert;
		font-weight: revert;
		border-bottom: revert;
		margin-bottom: revert;
	}
	#menu-main li,
	#menu-main .sub-menu li {
		margin-bottom: revert;
	}
	#menu-main li a {
		font-size: revert;
		border: revert;
		letter-spacing: revert;
		text-transform: revert;
		font-family: revert;
		font-weight: revert;
		text-align: revert;
		line-height: 1.35;
		padding: 10px;
	}
	#menu-main li:last-child a {
		border: revert;
	}
	#menu-main li > a:after {
		display: revert;
		vertical-align: revert;
	}
	#menu-main li a:hover {
		color: #000;
	}
	#menu-main li.current-menu-item > a {
		background: revert;
		font-weight: revert;
	}
	#menu-main .sub-menu li a {
		font-size: revert;
		letter-spacing: revert;
		line-height: 1.35;
		text-transform: revert;
		font-weight: revert;
		padding: 10px;
		border: revert;
	}
	#menu-main .sub-menu .sub-menu li a:hover {
		text-decoration: none;
		text-underline-offset: revert;
		text-decoration-thickness: initial;
	}
	#menu-main li.open > .sub-menu {
		display: block;
	}
	#menu-main .sub-menu {
		padding-top: revert;
		padding-right: revert;
		padding-bottom: revert;
		border-top: revert;
		border-right: revert;
		border-left: revert;
		flex-direction: revert;
		justify-content: revert;
		height: revert;
		width: revert;
		padding-left: 40px;
		border-bottom: 1px solid #676767;
	}
	#menu-main .sub-menu .sub-menu {
		padding-top: revert;
		padding-right: revert;
		padding-bottom: revert;
		padding-left: 40px;
		border-top: revert;
		border-right: revert;
		border-bottom: 1px solid rgb(103, 103, 103);
		border-left: revert;
		flex-direction: revert;
		justify-content: revert;
		height: revert;
		width: revert;
	}
	a.back-to-main,
	#menu-main a.back-to-main {
		display: revert;
		position: revert;
		top: revert;
		left: revert;
		z-index: revert !important;
		text-transform: revert !important;
		font-size: revert !important;
		font-weight: revert !important;
		color: revert !important;
		opacity: revert !important;
		font-family: revert;
		padding: revert !important;
		line-height: revert;
		border: revert;
	}
	.menu-main-container {
		padding: revert;
		position: revert;
		height: revert;
		width: revert;
	}
	#menu-main {
		margin: 20px 0px 30px;
	}
	#navbar.menu-level-2 #menu-main,
	#navbar.menu-level-3 #menu-main {
		margin-top: 20px;
		margin-right: revert;
		margin-bottom: 30px;
		margin-left: revert;
		height: revert;
		overflow: revert;
		overflow-y: revert;
	}
	.menuopen.home .headGroup {
		z-index: 99999;
		background: transparent;
	}
	body.home.fixedHeader.menuopen .headGroup,
	body.fixedHeader.menuopen .headGroup {
		padding-top: revert;
		padding-bottom: revert;
	}
	#menu-main li li.submenu_parent > a,
	#menu-main li.submenu_parent > a {
		font-size: revert;
		line-height: 1.35;
		letter-spacing: revert;
		padding: 10px;
		text-transform: revert !important;
		font-weight: revert;
		border-bottom: revert;
		margin-bottom: revert;
	}
	.menuopen .header-right {
		width: 66.6667%;
	}
	.menuopen .header-right .button:first-child {
		display: revert;
		vertical-align: revert;
		float: revert;
	}
	.menuopen .menu-toggle .toggleIcon span:after {
		width: 19px;
	}
	.fixedHeader .menu-toggle:hover .toggleIcon span,
	.fixedHeader .menu-toggle:hover .toggleIcon span:before,
	.fixedHeader .menu-toggle:hover .toggleIcon span:after,
	.home.fixedHeader .menu-toggle:hover .toggleIcon span,
	.home.fixedHeader .menu-toggle:hover .toggleIcon span:before,
	.home.fixedHeader .menu-toggle:hover .toggleIcon span:after {
		background-color: var(--gray);
	}
	.dynamic-poi .col {
		padding-left: 8px;
		padding-right: 8px;
	}
	.dynamic-text-image-block .img-box.image_on_right {
		padding-top: revert;
		padding-right: calc(var(--bs-gutter-x) * .5);
		padding-bottom: revert;
		order: revert;
		text-align: revert;
		padding-left: calc(var(--bs-gutter-x) * .5);
	}
	.dynamic-text-image-block .img-box.image_on_left {
		padding-top: revert;
		padding-bottom: revert;
		padding-left: calc(var(--bs-gutter-x) * .5);
		order: revert;
		text-align: revert;
		padding-right: calc(var(--bs-gutter-x) * .5);
	}
	.dynamic-text-image-block .text-block-main.image-pos-right {
		order: revert;
		padding-right: 60px;
		padding-left: 12px;
	}
	.dynamic-text-image-block .text-block-main.image-pos-left {
		order: revert;
		padding-left: 60px;
		padding-right: 12px;
	}
	.dynamic-text-image-block .image-item {
		margin-bottom: 0;
	}
	.staff-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.news-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	/* desktop: panels sit after their whole row of tiles */
	.curriculum-tile-col,
	.curriculum-panel-col {
		order: var(--row);
	}
	.curriculum-panel {
		flex-direction: row;
		gap: 72px;
		padding: 56px 104px 56px 56px;
	}
	.curriculum-panel-intro {
		flex: 0 0 360px;
	}
	.curriculum-panel-detail {
		flex: 1 1 auto;
		min-width: 0;
	}
	.dynamic-curriculum .curriculum-panel-title {
		margin-right: 0;
	}
	.curriculum-panel-lead {
		font-size: 26px;
	}
	.staff-list-item {
		flex-direction: row;
	}
	.staff-list-photo {
		flex: 0 0 305px;
	}
	.staff-list-position {
		font-size: 26px;
	}
	.dividera {
		height: 97.45px;
		background-size: 54px 97.45px, calc(50% - 48px) 1px, calc(50% - 48px) 1px;
	}
	.dynamic-text-image-block .image-text-banner-inner {
		padding-top: 0;
	}
	.dynamic-text-image-block .simple-title h2 {
		margin-top: 0;
	}
	.staff .row {
		display: flex !important;
	}
	.standard-staff-image {
		margin: revert;
		width: 330px;
	}
	.standard-staff-text {
		margin-top: var(--bs-gutter-y);
		margin-right: revert;
		margin-bottom: revert;
		margin-left: revert;
		padding: 55px 25px 20px 48px;
	}
	.bodyContent .dynamic-text-image-block .img-box {
		order: revert;
		text-align: revert;
	}
	.dynamic-text-image-block .text-block-main {
		order: revert;
	}
	body.menuopen .main-headbox {
		right: 0;
		z-index: 9999;
	}
	body.menuopen .main-headbox .container {
		max-width: 1140px;
		position: relative;
		z-index: 11;
	}
	.main-headbox .headimage-box {
		position: relative;
		padding-top: 0px;
		margin: 0px;
	}
	body.admin-bar .main-headbox {
		top: 32px;
	}
	body.menuopen .headGroup,
	body.menuopen.home .headGroup {
		z-index: 999999 !important;
		background: var(--red);
		color: var(--white);
		padding-top: 13px !important;
		padding-bottom: 14px !important;
	}
	body.menuopen .headGroup .mainLogo,
	body.menuopen.home .headGroup .mainLogo {
		max-height: 73px;
	}
	.main-headbox .row {
		padding-top: 0px;
		height: 100%;
	}
	.menu-main-right-container ul {
		list-style: none;
		margin: 0px;
		padding: 40px 0px 40px 0;
		float: none;
		width: 65%;
		position: relative;
		height: 100%;
	}
	.menu-main-right-container ul li ul {
		display: block;
		display: none;
		position: absolute;
		float: none;
		background: transparent;
		padding: 0px 0 0 20px;
		width: 100%;
		min-width: 100%;
		left: 100%;
		flex-direction: column;
		justify-content: start;
	}
	.menu-main-right-container ul li ul ul {
		display: block;
		display: none;
		position: absolute;
		float: none;
		background: transparent;
		padding: 0px 0 0 20px !important;
		width: 100%;
		min-width: 100%;
		left: 100%;
		flex-direction: column;
		justify-content: start;
	}
	.menu-main-right-container ul li {
		display: block;
		padding: 0px;
		float: none;
		margin-bottom: 0px;
		border-bottom: 1px solid rgba(62, 65, 53, 0.25);
	}
	.menu-main-right-container ul li:last-child,
	.menu-main-right-container ul li li {
		border: none;
	}
	.menu-main-right-container ul li a {
		font-size: 30px;
		border: none;
		line-height: 1;
		letter-spacing: 0px;
		color: var(--gray);
		padding: 13px 30px 10px 55px;
		text-transform: inherit;
		display: block;
		font-family: "Playfair Display", Georgia, serif;
		font-weight: 400;
		text-align: left;
		position: relative;
		overflow: hidden;
	}
	.menu-main-right-container ul ul li a {
		font-size: 16px;
		letter-spacing: 0px;
		line-height: 1;
		text-transform: uppercase;
		font-weight: 400;
		display: block;
		color: var(--gray);
		padding: 10px 30px 10px 0;
		border: none;
	}
	.menu-main-right-container ul li a:hover,
	.menu-main-right-container ul li:hover > a {
		color: var(--gray);
	}
	.menu-main-right-container ul li:hover > a span:after,
	.menu-main-right-container ul li a:hover span:after {
		width: 500px;
	}
	.menu-main-right-container ul li a span {
		display: inline-block;
		position: relative;
	}
	.menu-main-right-container ul li:hover ul {
		display: flex;
		left: 99.9%;
		width: 100%;
		top: 0;
		padding: 45px 0px 80px 80px !important;
	}
	.menu-main-right-container ul li ul li {
		background: transparent;
		position: static;
		text-align: left;
		display: block;
		padding: 0px 0px 0;
		margin-bottom: 0;
	}
	.menu-main-right-container ul li ul ul li {
		position: relative;
		text-align: left;
		display: block;
		padding: 0px;
	}
	.menu-main-right-container ul li ul li ul {
		left: 0 !important;
		padding-left: 0px !important;
		padding-top: 0 !important;
		position: absolute;
		width: 75%;
	}
	.menu-main-right-container ul li ul li:hover ul {
		left: 100% !important;
		display: block;
		display: flex;
		top: 0;
		padding: 45px 0px 80px 40px !important;
	}
	.menu-main-right-container ul ul li {
		float: none;
	}
	.menuopen .headGroup {
		width: 100%;
		z-index: 99999;
	}
	.menu_custom_image_box,
	.main-menu-right,
	.menu-main-right-container {
		height: 100%;
	}
	.menu-main-right-container ul li:hover .menu_image_container {
		position: absolute;
		left: 100%;
		top: 0;
		width: 200%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.menu-main-right-container ul li .menu_image_container img {
		width: 100%;
		max-width: inherit;
		height: 100%;
		object-fit: cover;
	}
	.home .menu-toggle:hover .toggleIcon span,
	.home .menu-toggle:hover .toggleIcon span:before,
	.home .menu-toggle:hover .toggleIcon span:after {
		background: revert;
		background-color: var(--gray);
	}
	body.home.fixedHeader .headGroup,
	body.fixedHeader .headGroup {
		padding-top: 8px;
		padding-bottom: 8px;
	}
	.mainLogo,
	body.fixedHeader .headGroup .mainLogo {
		width: 124px;
	}
	.main-headbox {
		display: revert !important;
		position: fixed;
		right: -100%;
		transition: right 1000ms;
		top: 0px;
		margin-top: 0px;
		z-index: 9999;
		bottom: 0;
		width: 100%;
		width: 100%;
		overflow-x: hidden;
		height: 100vh;
		max-height: 900px;
		max-width: 100%;
		padding: 120px 0px 25px;
		color: var(--gray);
		border: none;
		box-shadow: none;
	}
	#navbar {
		color: revert;
		border-top: revert;
		border-right: revert;
		border-bottom: revert;
		height: revert;
		right: 0;
		top: 119px;
		bottom: 0;
		width: 480px;
		padding: 20px;
		border-left: 1px solid #676767;
		display: none;
	}
	.menu-main-right-container ul li a:before {
		content: "";
		display: block;
		mask-image: url("images/leaf-icon.svg");
		mask-position: center;
		mask-repeat: no-repeat;
		position: absolute;
		left: 0;
		mask-size: contain;
		top: 7px;
	}
	#menu-main li a:after {
		content: revert;
		width: revert;
		height: revert;
		display: revert;
		margin-top: revert;
	}
	.menu-main-right-container ul li a span:after {
		content: "";
		content: "";
		width: 30px;
		height: 1px;
		display: inline-block;
		vertical-align: middle;
		position: absolute;
		left: calc(100% + 30px);
		bottom: 12px;
		transition: all 0.3s ease;
	}
	#homeBanner {
		height: revert;
		min-height: 480px;
		min-height: 640px;
		max-height: 900px;
	}
	.welcomeTitle {
		padding: revert;
		margin: 0 0 80px;
		font-size: 64px;
		line-height: 0.95;
	}
	.welcome-quote em:before {
		margin-bottom: revert;
		text-align: center;
		position: absolute;
		left: -88px;
		top: 15px;
		line-height: 140px;
	}
	.welcome-quote em:after {
		padding-top: revert;
		font-size: revert;
		padding-right: 35px;
	}
	.welcome-quote span:not(.reveal-word):before {
		width: 52px;
	}
	.welcomeImage {
		margin-right: 0;
		margin-bottom: 0;
		margin-top: 0;
	}
	.homeDynamic.dynamic-poi .section_title:before {
		position: absolute;
		left: 0;
		top: auto;
		bottom: -12px;
		margin: 0;
		z-index: 11;
		mask-image: url("images/leaf-icon.svg");
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		width: 54px;
		height: 97.45px;
	}
	.dynamic-news .section_title:before,
	.dynamic-logos .section_title:before {
		position: absolute;
		left: 0;
		top: auto;
		bottom: 0;
		margin: 0;
		z-index: 11;
	}
	.homeDynamic.dynamic-poi .section_title:after,
	.dynamic-news .section_title:after,
	.dynamic-logos .section_title:after {
		position: absolute;
		width: 100%;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		content: "";
		height: 1px;
	}
	.section_title h2 {
		text-align: revert;
		font-size: 47px;
		line-height: 1.05;
	}
	.homeDynamic.dynamic-poi .section_title {
		text-align: left;
		position: relative;
		margin-bottom: 74px;
		padding-left: 75px;
	}
	.dynamic-news .section_title {
		text-align: left;
		position: relative;
		margin-bottom: 70px;
		max-width: 1280px;
		padding-left: 75px;
	}
	.dynamic-logos .section_title {
		text-align: left;
		position: relative;
		margin-bottom: 125px;
		padding-left: 75px;
	}
	.homeDynamic.dynamic-poi .section_title h2,
	.dynamic-news .section_title h2 {
		color: var(--title_colour);
		display: inline-block;
		padding-right: 30px;
		background: var(--white);
		position: relative;
		z-index: 1;
		padding-left: 75px;
		margin: 0 0 0 -75px;
	}
	.dynamic-logos .section_title h2 {
		color: var(--title_colour);
		display: inline-block;
		padding-right: 30px;
		background: var(--light-gray);
		position: relative;
		z-index: 1;
		padding-left: 75px;
		margin: 0 0 0 -75px;
	}
	.standard-staff-image img {
		max-width: 100%;
	}
	footer#footer .button {
		margin-bottom: revert;
		margin-right: 27px;
		padding: 16px 20px;
	}
	.footerLower {
		text-align: initial;
	}
	.welcome-quote:before {
		display: revert;
		height: revert;
		position: absolute;
		font-size: 255px;
		line-height: 1;
		text-align: left;
	}
	.welcome-quote:has(em):before {
		position: absolute;
		display: revert;
		line-height: 1;
		height: revert;
		font-size: 200px;
	}
	.welcome-quote,
	.welcome-quote em {
		font-size: 40px;
	}
	.pageBannerTitle {
		padding-bottom: 45px;
	}
	.bodyContent .body-text h2,
	.dynamic-text-image-block .simple-title h2,
	.bodyContent .poi-title h2,
	.bodyContent .news-title h2,
	.bodyContent .map-title h2,
	.bodyContent .callout .calloutTitle h3 {
		gap: 24px;
	}
	.bodyContent .body-text h2:before,
	.dynamic-text-image-block .simple-title h2:before,
	.bodyContent .poi-title h2:before,
	.bodyContent .news-title h2:before,
	.bodyContent .map-title h2:before,
	.bodyContent .callout .calloutTitle h3:before {
		flex: 0 0 54px;
		height: 97.45px;
	}
	.footer-socials {
		display: revert;
		position: revert;
		right: revert;
		top: revert;
		text-align: revert;
		margin-bottom: revert;
		margin-top: 0;
	}
	.homeBanner .bannerLogo img {
		width: 270px;
	}
	.homeBanner .bannerLogo {
		padding: 100px 20px 40px;
	}
	.welcomeBlock {
		padding: 86px 0 100px;
	}
	.welcomeBlock .container {
		padding-left: calc(var(--bs-gutter-x) * .5);
		padding-right: calc(var(--bs-gutter-x) * .5);
	}
	.welcomeBlock .welcomeContent {
		font-size: 16px;
		line-height: 1.8;
		margin: 0 auto 80px;
	}
	.welcome-quote {
		line-height: 1.05;
		text-align: left;
		margin-right: 40px;
		margin-bottom: 40px;
	}
	.section_title:before {
		width: 54px;
		height: 97.45px;
		margin: 0 auto 26px;
	}
	.homeDynamic.dynamic-poi .container {
		padding: 0px 36px;
	}
	.poi .poiTitle {
		font-size: 26px;
		line-height: 1.35;
	}
	.poiImage .poiText {
		padding: 70px 22px 18px;
	}
	.homeDynamic .callout:not(.hasbg) .calloutContent {
		padding: 99px 25px;
	}
	.homeDynamic .calloutTitle {
		font-size: 26px;
		margin: 0px auto 48px;
	}
	.homeDynamic .calloutTitle h3 {
		font-size: 26px;
	}
	.homeDynamic .calloutTitle:before {
		width: 54px;
		height: 97.45px;
	}
	.homeDynamic .callout.hasbg .calloutContent {
		top: 50%;
		transform: translateY(-50%);
	}
	.homeDynamic .callout.hasbg .coimg:after {
		background: rgba(0, 0, 0, 0.45);
	}
	.homeDynamic.dynamic-text .container {
		padding-left: calc(var(--bs-gutter-x) * .5);
		padding-right: calc(var(--bs-gutter-x) * .5);
	}
	div.wpforms-container-full .wpforms-form .wpforms-field-label {
		font-size: 16px !important;
	}
	div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-label {
		font-size: 16px !important;
		line-height: 29px;
	}
	div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row {
		flex-direction: row;
		gap: 24px;
	}
	div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-sublabel {
		font-size: 16px !important;
	}
	div.wpforms-container-full .wpforms-form .wpforms-field-email input {
		height: var(--wpforms-field-size-input-height) !important;
	}
	div.wpforms-container-full .wpforms-form .wpforms-field-label-inline {
		font-size: 16px !important;
		line-height: normal;
	}
	div.wpforms-container-full .wpforms-form .wpforms-page-button,
	div.wpforms-container-full .wpforms-form .wpforms-submit {
		font-size: 16px !important;
		line-height: 21px !important;
	}
	footer#footer {
		padding: 64px 0 28px;
		font-size: 16px;
		line-height: 1.6;
	}
	footer#footer .container {
		padding-left: calc(var(--bs-gutter-x) * .5);
		padding-right: calc(var(--bs-gutter-x) * .5);
	}
	footer#footer .address-info {
		margin-bottom: 35px;
	}
	footer#footer .tel-info {
		font-size: 16px;
	}
	footer#footer .email-info {
		font-size: 16px;
		margin-bottom: 35px;
	}
	.welcomeBlock:before,
	.quotes-holder:before {
		background-size: 194px 168px;
		background-position: 0 -1px;
		height: 100%;
		height: calc(round(down, 100% + 1px, 168px) - 1px);
	}
	.welcomeBlock:after,
	.quotes-holder:after {
		background-size: 194px 168px;
		background-position: 97px -85px;
		height: 100%;
		height: calc(round(down, 100% + 85px, 168px) - 85px);
	}
	.row.pois {
		--bs-gutter-y: 1.5rem;
	}
}

@media (min-width: 1200px) {
	.staff-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.footerInfo {
		margin-bottom: 70px;
	}
	.dynamic-news .news_image_container img {
		min-height: revert;
	}
	.dynamic-news .full-container {
		padding-left: 140px;
	}
	.dynamic-news .button-bar-news,
	.dynamic-news .owl-dots {
		padding-right: 140px;
	}
	.news_text_container {
		padding-right: revert;
		padding-left: 70px;
		padding-top: 131px;
	}
	.menuopen .header-right {
		width: auto;
	}
	.headGroup .header-left {
		flex: 0 0 auto;
		width: auto;
	}
	.headGroup .header-right {
		flex: 1 1 auto;
		width: auto;
		padding-right: 0;
	}
	.desktop-navigation {
		display: inline-block;
		vertical-align: middle;
		margin-right: 14px;
	}
	.headGroup .menu-toggle {
		display: none;
	}
	#menu-desktop {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		align-items: center;
		gap: 30px;
	}
	#menu-desktop > li {
		position: relative;
	}
	#menu-desktop > li > a {
		display: block;
		position: relative;
		padding: 6px 0 8px;
		font-family: var(--font-heading);
		font-size: 16px;
		line-height: 21px;
		color: var(--white);
	}
	#menu-desktop > li > a:after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 20px;
		height: 1px;
		background: var(--gold);
		transform: translateX(-50%);
		transition: width 300ms;
	}
	#menu-desktop > li:hover > a:after,
	#menu-desktop > li:focus-within > a:after,
	#menu-desktop > li.current-menu-item > a:after,
	#menu-desktop > li.current-menu-ancestor > a:after {
		width: calc(100% + 12px);
	}
	#menu-desktop .sub-menu {
		list-style: none;
		position: absolute;
		top: 100%;
		left: -20px;
		min-width: 230px;
		margin: 0;
		padding: 12px 20px;
		background: var(--olive);
		text-align: left;
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity 200ms, transform 200ms, visibility 200ms;
		z-index: 10;
	}
	#menu-desktop > li:hover > .sub-menu,
	#menu-desktop > li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	#menu-desktop .sub-menu a {
		display: block;
		padding: 6px 0;
		font-family: var(--font-heading);
		font-size: 15px;
		line-height: 1.4;
		color: var(--white);
	}
	#menu-desktop .sub-menu a:hover {
		color: var(--sand);
	}
}

@media (min-width: 1601px) {
	.dynamic-news .owl-stage {
		margin-left: -200px;
	}
}
