/*
 Theme Name:   Base Child
 Description:  Default Base child theme
 Author:       Shorthose Russell
 Template:     base
 Version:      1.0
*/
:root {
	--base-delay: 0.2s;
	--gutter-xxl: 3.125rem; /* 50px */
	--gutter-xl: 2.5rem; /* 40px */
	--gutter-l: 1.75rem; /* 28px */
	--gutter-m: 1.5rem; /* 24px */
	--gutter: 1rem; /* 16px */
	--gutter-s: 0.75rem; /* 12px */
	--gutter-xs: 0.5rem; /* 8px */
	--gutter-xxs: 0.25rem; /* 4px */
	--border-radius: 20px;
	--margin-bottom-xxl: 2.5rem; /* 40px */
	--margin-bottom-xl: 2rem;
	--margin-bottom-l: 1.75rem; /* 28px */
	--margin-bottom-m: 1.5rem;
	--margin-bottom: 1rem;
	--margin-bottom-s: 0.75rem;
	--margin-bottom-xs: 0.5rem;
  --font-max: 6.25rem; /* 100px */
  --font-xxxxl: 2.5rem; /* 40px */
  --font-xxxl: 1.5rem;
  --font-xxl: 1.375rem; /* 22px */
  --font-xl: 1.25rem; /* 20px */
  --font-l: 1.125rem; /* 18px */
  --font-s: 14px;
  --font-xs: 12px;
  --font-xxs: 10px;		
}

.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
  position:absolute!important;
  clip:rect(0,0,0,0);
  height:1px;
  width:1px;
  border:0;
  overflow:hidden
}
.screen-reader-text:focus,
.screen-reader-shortcut:focus {
  clip:auto!important;
  height:auto;
  width:auto;
  display:block;
  font-size:1em;
  font-weight:700;
  padding:15px 23px 14px;
  color:#333;
  background:#fff;
  z-index:100000;
  text-decoration:none;
  box-shadow:0 0 2px 2px rgba(0,0,0,.6)
}
/*=======================================*/
/** Custom Fonts **/
/**  **/
/*=======================================*/
body, .primary-font {
  font-family: "Lato", sans-serif;
	font-optical-sizing: auto;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Lato", sans-serif;
	font-optical-sizing: auto;
}
.lsb-button, input, .facetwp-load-more, textarea, .fluentform .ff-btn, .fluentform .ff-el-form-control, .gm-style {
  font-family: "Lato", sans-serif;
	font-optical-sizing: auto;
}
.facetwp-dropdown option {
  font-family: sans-serif;	
}
/*=======================================*/
/** Typography Reset **/
/** XD to CSS font size, letter spacing and line height https://codepen.io/raunaqpatel/full/bGpwBvo
 * px to em conversion https://www.w3schools.com/tags/ref_pxtoemconversion.asp set the default font size as the body font size
 * Can use dev tools computed tab to work out the correct em values
 * Modular scale for font sizes https://www.modularscale.com/?20&px&1.3
/*=======================================*/
html {
  font-size: 100%;
}

/* Fixed font size */
/*
body {
  font-size: 20px;
} 
@media all and (max-width: 1640px) {
body, .lsb-button, .facetwp-load-more {
  font-size: 19px;
}
}

@media all and (max-width: 1280px) {
body, .lsb-button, .facetwp-load-more {
  font-size: 18px;
}
}

@media all and (max-width: 1024px) {
body, .lsb-button, .facetwp-load-more {
  font-size: 17px;
}
}

@media all and (max-width: 768px) {
body, .lsb-button, .facetwp-load-more {
  font-size: 18px;
  font-size: clamp(100%, 14px + 0.22vw, 20px);
}
h1 { font-size: 2.1em; }
h2 { font-size: 1.56em; }
h3 { font-size: 1.42em; }
h4 { font-size: 1.26em; }
h5 { font-size: 1.15em; }
h6{ font-size: 1.03em; }
}
*/

/* Responsive font size - Step size 1.3 */
body {
  font-size: 16px;
}
.hero-block h1, .hero-block .h1 { 
}
h1, .h1 {
    font-size: 2.5rem;
}
h2, .h2 { 
  font-size: 1.75rem;
}
h3, .h3 { 
  font-size: 1.25rem;
}
h4, .h4 { 
  font-size: 1.125rem;
}
h5, .h5 { 
  font-size: 1rem;
}
.font-size-xl {
	font-size: var(--font-xl);
}
.font-size-s {
	font-size: var(--font-s);
}

@media all and (max-width: 1640px) {
:root {
  --font-max: 6rem
}
.hero-block h1, .hero-block .h1 { 
}
h1, .h1 {
    font-size: 2.4rem;
}
h2, .h2 { 
  font-size: 1.75rem;
}
h3, .h3 { 
  font-size: 1.25rem;
}
h4, .h4 { 
  font-size: 1.125rem;
}
}
@media all and (max-width: 1366px) {
:root {
  --font-max: 5.8rem
}
.hero-block h1, .hero-block .h1 { 
}
h1, .h1 {
    font-size: 2.4rem;
}
h2, .h2 { 
  font-size: 1.75rem;
}
h3, .h3 { 
  font-size: 1.25rem;
}
h4, .h4 { 
  font-size: 1.125rem;
}
}
@media all and (max-width: 1024px) {
:root {
  --font-max: 5.6rem
--font-xxl: 1.3rem;
}
.hero-block h1, .hero-block .h1 { 
}
h1, .h1 {
    font-size: 2.3rem;
}
h2, .h2 { 
  font-size: 1.75rem;
}
h3, .h3 { 
  font-size: 1.25rem;
}
h4, .h4 { 
  font-size: 1.125rem;
}
}
@media all and (max-width: 768px) {
:root {
  --font-max: 5.4rem;
  --font-xxl: 1.2rem;
}
.hero-block h1, .hero-block .h1 { 
}
h1, .h1 {
    font-size: 2rem;
}
h2, .h2 { 
  font-size: 1.7rem;
}
h3, .h3 { 
  font-size: 1.2rem;
}
h4, .h4 { 
  font-size: 1.12rem;
}
}
@media all and (max-width: 480px) {
:root {
  --font-max: 5.2rem;
  --font-xxl: 1.2rem;
}
.hero-block h1, .hero-block .h1 { 
}
h1, .h1 {
    font-size: 1.9rem;
}
h2, .h2 { 
  font-size: 1.7rem;
}
h3, .h3 { 
  font-size: 1.2rem;
}
h4, .h4 { 
  font-size: 1.12rem;
}
}
@media all and (max-width: 375px) {
.hero-block h1, .hero-block .h1 { 
}
h1, .h1 {
    font-size: 1.9rem;
}
h2, .h2 { 
  font-size: 1.7rem;
}
h3, .h3 { 
  font-size: 1.25rem;
}
h4, .h4 { 
  font-size: 1.125rem;
}
}

/* Responsive font size */
/*body {
  font-size: clamp(16px, 15px + 0.260416666vw, 20px);
}
h1 {
 font-size:clamp(2.67rem,2.07rem + 3vw,4.21rem);
}
h2 {
 font-size:clamp(2.14rem,1.74rem + 1.99vw,3.16rem);
}
h3 {
 font-size:clamp(1.37rem,1.21rem + .8vw,1.78rem);
}
.small-text {
  font-size: 0.9em
}*/

body {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: var(--font-colour-dark);
  background: var(--colour-white);
}
h1, h2, h3, h4, .heading-font {
  line-height: 1.4;
  letter-spacing: 0;
  font-weight: 400;
		  color: var(--font-colour-dark-blue);
}


.block .xl-margin-bottom { margin-bottom: var(--margin-bottom-xl); }
h1, .h1 { margin-bottom: var(--margin-bottom-l); }
h2, .h2 { margin-bottom: var(--margin-bottom-m); }
h3, .h3 { margin-bottom: var(--margin-bottom-m); }
h4, .h4 { margin-bottom: var(--margin-bottom-xs); }
p {
  margin-bottom: 1.5em;
}
.block.core {
	margin-top: 1.5em;
	margin-bottom: 1.5em;	
}
.slider-wrap, .slider-container, .tns-slider > .tns-item {
  font-size: unset !important;
}
.fluentform .frm-fluent-form .ff-el-form-control, .fluentform .ff-el-input--label label {
  color: inherit;
  font-weight: inherit;
	font-family: inherit;
}
.fluentform .frm-fluent-form .choices, .fluentform .frm-fluent-form .choices__inner, .fluentform .frm-fluent-form .choices[data-type*="select-multiple"] .choices__input {
  font-size: inherit;
  color: inherit;
}
.fluentform .ff-btn {
  font-weight: inherit;
} 
.lsb-button, .facetwp-load-more {
  font-weight: inherit;
  font-size: inherit;
}

/*=======================================*/
/** Misc **/
/*=======================================*/
@media all and (max-width: 1920px) {
}
@media all and (max-width: 1366px) {
}
@media all and (max-width: 1280px) {
}
@media all and (max-width: 1024px) {
}
@media all and (max-width: 768px) {
}
@media all and (max-width: 480px) {
}
@media all and (max-width: 375px) {
}

@keyframes fadein{
    0% { opacity:0;  }
    10% { opacity:0; }
    100% { opacity:1; }
}
@-webkit-keyframes fadein{
    0% { opacity:0; }
    10% { opacity:0; }
    100% { opacity:1; }
}

.no-sal [data-sal] {
	transition: none;
}

.error404 .newsletter-signup-block {
	display: none;
}

main :where(.advanced-paragraph-block.alignment-centre,.heading-text-button-block.alignment-centre) :is(ul, ol) {
  list-style-position: inside;
}

.dark-pink {
	color: var(--font-colour-dark-pink);
}
.dark-purple {
	color: var(--font-colour-dark-purple);
}
.dark-blue {
	color: var(--font-colour-dark-blue);
}

.bg-light-blue-with-background-pattern, .full-block-pattern {
	position: relative;
}
.bg-light-blue-with-background-pattern::before, .full-block-pattern::before {
	content: "";
	position: absolute;
	background: url(/wp-content/uploads/2025/10/PBH_FinalPatterns-FullSquare-grey.svg);
	background-repeat: repeat;
	background-size: 400px;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	pointer-events: none;
	z-index: 1;
	opacity: 0.7;
}
.bg-light-blue-with-background-pattern .block-inner, .full-block-pattern .block-inner {
position: relative;
  z-index: 2;
}

.block.background-pattern {
	position: relative;
}
.block.background-pattern .block-inner {
	position: relative;
	z-index: 2;
}
.block.background-pattern::after {
	content: "";
	background: url(/wp-content/uploads/2025/10/flower-bg-pattern-long.svg);
	height: 100%;
	width: 237px;
	right: 0;
	position: absolute;
	top: 0;
	background-repeat: repeat-y;
	z-index: 1;
}
.block.background-pattern.style-image-left::after {
	left: 0;
	right: initial;
}
@media all and (max-width: 900px) {
.block.background-pattern::after {
opacity: 0.4;
}
}

/* Remove empty html elements */
.block div p:empty, .block div ol li:empty, .block div ul li:empty {
    display: none;	
}

/** Prevent elements wrapping (phone numbers, emails) **/
.nowrap {
  white-space: nowrap;
}
.nowrap, a[href^="tel:"], a[href^="mailto:"] {
    white-space: nowrap;
}
.wrap-emails a[href^="mailto:"]{
  white-space: normal;         /* allow wrapping */
  overflow-wrap: anywhere;     /* modern, best-behavior */
  word-break: break-word;      /* fallback for older browsers */
  hyphens: none;               /* don’t auto-hyphenate */	
}

/** Improves how multi-line text looks, especially in headlines or short blocks. Distribute words more evenly across lines, so each line has a similar length **/
.balance {
	text-wrap:balance
}
/** Improves the last line look of text to avoid short last line **/
.pretty, .textarea {
	text-wrap: pretty;
}

/* Remove sal animation on the first block below hero */
.hero-block + .block:not(.breadcrumbs-block)[data-sal],
.hero-block + .block:not(.breadcrumbs-block) [data-sal],
.hero-block + .block:not(.breadcrumbs-block) .sal-animate {
  opacity: 1 !important;
  transform: none !important;
}

/* CASE 2: If a .breadcrumbs-block comes immediately after the hero,
   then target the next .block after that */
.hero-block + .breadcrumbs-block + .block[data-sal],
.hero-block + .breadcrumbs-block + .block [data-sal],
.hero-block + .breadcrumbs-block + .block .sal-animate {
  opacity: 1 !important;
  transform: none !important;
}

/* Heading colour against no background */
.block:not(:is([class^="bg-"], [class*=" bg-"])) :where(h1, h2, h3, h4, h5, h6) {
  color: var(--font-colour-dark-purple);
}

/** Backgrounds - font colour **/
.block.bg-dark-pink:not(.lsb-button), .block .bg-dark-pink:not(.lsb-button), .block.bg-dark-pink :is(h1, h2, h3, h4, h5, h6), .block .bg-dark-pink :is(h1, h2, h3, h4, h5, h6) {
	color: var(--font-colour-white);
}
.block.bg-dark-blue:not(.lsb-button), .block .bg-dark-blue:not(.lsb-button), .block.bg-dark-blue :is(h1, h2, h3, h4, h5, h6), .block .bg-dark-blue :is(h1, h2, h3, h4, h5, h6) {
	color: var(--font-colour-white);
}
.block.bg-grey :is(h1, h2, h3, h4, h5, h6) {
	color: var(--font-colour-dark-blue);
}
.block.bg-dark-purple:not(.lsb-button), .block .bg-dark-purple:not(.lsb-button), .block.bg-dark-purple :is(h1, h2, h3, h4, h5, h6), .block .bg-dark-purple :is(h1, h2, h3, h4, h5, h6) {
	color: var(--font-colour-white);
}

/** Fonts - colour **/
.file-download {
	color: var(--font-colour-dark-purple);
}



/* Backgrounds - padding top if background and no padding-top class already, then padding top if block above it has a background */
.block[class*="bg-"]:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block),
.block[class*="bg-"] + .block:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block) {
    padding-top: 95px;
}
/* edge case: when a container ends with a bg-* .block and the next block is on the container’s next DOM level */
article:has(> .entry-content > .block[class*="bg-"]:last-child)
  + .block:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block) {
  padding-top: 95px;
}
@media all and (max-width: 1366px) {
  .block[class*="bg-"]:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block),
  .block[class*="bg-"] + .block:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block) {
      padding-top: 80px;
  }
/* edge case: when a container ends with a bg-* .block and the next block is on the container’s next DOM level */
article:has(> .entry-content > .block[class*="bg-"]:last-child)
  + .block:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block) {
  padding-top: 80px;
}
}
@media all and (max-width: 768px) {
  .block[class*="bg-"]:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block),
  .block[class*="bg-"] + .block:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block) {
      padding-top: 65px;
  }
/* edge case: when a container ends with a bg-* .block and the next block is on the container’s next DOM level */
article:has(> .entry-content > .block[class*="bg-"]:last-child)
  + .block:not([class*="p-t-"]):not(.advanced-video-block.full-screen-width,.advanced-image-block.full-screen-width,.breadcrumbs-block) {
  padding-top: 65px;
}
}

/* target the first .block immediately after a .hero-block or .page-title-block,
   but only if NONE of its classes start with "bg-" */
/* First non-bg .block after .hero-block, skipping .breadcrumbs if it's first */
:where(.hero-block, .page-title-block) + .block:not(.breadcrumbs-block, [class^="bg-"], [class*=" bg-"]),
:where(.hero-block, .page-title-block) + .breadcrumbs-block + .block:not([class^="bg-"], [class*=" bg-"]) {
  padding-top: 95px;
}

@media all and (max-width: 1366px) {
  :where(.hero-block, .page-title-block) + .block:not(.breadcrumbs-block, [class^="bg-"], [class*=" bg-"]),
  :where(.hero-block, .page-title-block) + .breadcrumbs-block + .block:not([class^="bg-"], [class*=" bg-"]) {
    padding-top: 80px;
  }
}

@media all and (max-width: 768px) {
  :where(.hero-block, .page-title-block) + .block:not(.breadcrumbs-block, [class^="bg-"], [class*=" bg-"]),
  :where(.hero-block, .page-title-block) + .breadcrumbs-block + .block:not([class^="bg-"], [class*=" bg-"]) {
    padding-top: 65px;
  }
}


/* If <main> is immediately followed by a <footer> that contains a bg-* block,
   remove bottom padding on the LAST .block inside <main> that is an advanced full-width block */
.main-content:has(+ .site-footer .block[class*="bg-"])
  > .block.full-screen-width:is(.advanced-video-block, .advanced-image-block):not(:has(~ .block)) {
  padding-bottom: 0;
}

/* Same-parent case: advanced block immediately followed by a bg-* block */
.block.full-screen-width:is(.advanced-video-block, .advanced-image-block):has(+ .block[class*="bg-"]) {
  padding-bottom: 0;
}
/* Full width advanced video and image block below a full width advanced video or image block */
:is(.advanced-video-block.full-screen-width, .advanced-image-block.full-screen-width):has(+ :is(.advanced-video-block.full-screen-width, .advanced-image-block.full-screen-width)) {
  padding-bottom: 0;
}
/* Remove TOP padding when a bg-* block sits directly before the advanced block */
.block[class*="bg-"]
  + :is(.advanced-video-block.full-screen-width, .advanced-image-block.full-screen-width) {
  padding-top: 0;
}

.clickable-parent:not(a) a {
	position: static;
}
.clickable-parent:not(a) > a::before {
	content: "";
	position: absolute;
	inset: 0;
	cursor: pointer !important;
	display: flex;
	z-index: 1;
}


.block .facetwp-facet {
	margin-bottom: 0;
}
.facetwp-counter {
  display: none;
}

main :is(ul, ol):not(:last-child) {
	margin-bottom: 1.5em;	
}
/*main :is(ul,ol) li {
	margin-bottom: 1em;
}*/
main :is(ul,ol) li:last-of-type {
	margin-bottom: 0;
}

.remove-last-block-padding article.post-content-block {
	padding-bottom: 0;
}

strong {
	font-weight: 600;
}

.uppercase {
	text-transform: uppercase;
}
.italic {
	font-style: italic;
}
/*=======================================*/
/** Placeholder text **/
/*=======================================*/
::-webkit-input-placeholder, :-ms-input-placeholder, :-moz-placeholder {
  color: var(--font-colour-dark);
  opacity: 0.5;
}
.fluentform .frm-fluent-form .ff-el-form-control::placeholder {
  color: var(--font-colour-dark);
  opacity: 0.5;
}
/*=======================================*/
/** Animations **/
/*=======================================*/
@media (prefers-reduced-motion: no-preference) {
[data-sal] {
    transition-delay: 0.1s;
    transition-delay: var(--sal-delay, 0.1s);
}
[data-sal][data-sal-duration="200"] {
    transition-duration: 0.2s;
}
[data-sal][data-sal-duration="250"] {
    transition-duration: 0.25s;
}
[data-sal][data-sal-duration="300"] {
    transition-duration: 0.3s;
}
[data-sal][data-sal-duration="350"] {
    transition-duration: 0.35s;
}
[data-sal][data-sal-duration="400"] {
    transition-duration: 0.4s;
}
[data-sal][data-sal-duration="450"] {
    transition-duration: 0.45s;
}
[data-sal][data-sal-duration="500"] {
    transition-duration: 0.5s;
}
[data-sal][data-sal-duration="550"] {
    transition-duration: 0.55s;
}
[data-sal][data-sal-duration="600"] {
    transition-duration: 0.6s;
}
[data-sal][data-sal-duration="650"] {
    transition-duration: 0.65s;
}
[data-sal][data-sal-duration="700"] {
    transition-duration: 0.7s;
}
[data-sal][data-sal-duration="750"] {
    transition-duration: 0.75s;
}
[data-sal][data-sal-duration="800"] {
    transition-duration: 0.8s;
}
[data-sal][data-sal-duration="850"] {
    transition-duration: 0.85s;
}
[data-sal][data-sal-duration="900"] {
    transition-duration: 0.9s;
}
[data-sal][data-sal-duration="950"] {
    transition-duration: 0.95s;
}
[data-sal][data-sal-duration="1000"] {
    transition-duration: 1s;
}
[data-sal][data-sal-duration="1050"] {
    transition-duration: 1.05s;
}
[data-sal][data-sal-duration="1100"] {
    transition-duration: 1.1s;
}
[data-sal][data-sal-duration="1150"] {
    transition-duration: 1.15s;
}
[data-sal][data-sal-duration="1200"] {
    transition-duration: 1.2s;
}
[data-sal][data-sal-duration="1250"] {
    transition-duration: 1.25s;
}
[data-sal][data-sal-duration="1300"] {
    transition-duration: 1.3s;
}
[data-sal][data-sal-duration="1350"] {
    transition-duration: 1.35s;
}
[data-sal][data-sal-duration="1400"] {
    transition-duration: 1.4s;
}
[data-sal][data-sal-duration="1450"] {
    transition-duration: 1.45s;
}
[data-sal][data-sal-duration="1500"] {
    transition-duration: 1.5s;
}
[data-sal][data-sal-delay="0"] {
    transition-delay: 0s;
}
[data-sal][data-sal-delay="50"] {
    transition-delay: 0.05s;
}
[data-sal][data-sal-delay="100"] {
    transition-delay: 0.1s;
}
[data-sal][data-sal-delay="150"] {
    transition-delay: 0.15s;
}
[data-sal][data-sal-delay="200"] {
    transition-delay: 0.2s;
}
[data-sal][data-sal-delay="250"] {
    transition-delay: 0.25s;
}
[data-sal][data-sal-delay="300"] {
    transition-delay: 0.3s;
}
[data-sal][data-sal-delay="350"] {
    transition-delay: 0.35s;
}
[data-sal][data-sal-delay="400"] {
    transition-delay: 0.4s;
}
[data-sal][data-sal-delay="450"] {
    transition-delay: 0.45s;
}
[data-sal][data-sal-delay="500"] {
    transition-delay: 0.5s;
}
[data-sal][data-sal-delay="550"] {
    transition-delay: 0.55s;
}
[data-sal][data-sal-delay="600"] {
    transition-delay: 0.6s;
}
[data-sal][data-sal-delay="650"] {
    transition-delay: 0.65s;
}
[data-sal][data-sal-delay="700"] {
    transition-delay: 0.7s;
}
[data-sal][data-sal-delay="750"] {
    transition-delay: 0.75s;
}
[data-sal][data-sal-delay="800"] {
    transition-delay: 0.8s;
}
[data-sal][data-sal-delay="850"] {
    transition-delay: 0.85s;
}
[data-sal][data-sal-delay="900"] {
    transition-delay: 0.9s;
}
[data-sal][data-sal-delay="950"] {
    transition-delay: 0.95s;
}
[data-sal][data-sal-delay="1000"] {
    transition-delay: 1s;
}
[data-sal][data-sal-delay="1050"] {
    transition-delay: 1.05s;
}
[data-sal][data-sal-delay="1100"] {
    transition-delay: 1.1s;
}
[data-sal][data-sal-delay="1150"] {
    transition-delay: 1.15s;
}
[data-sal][data-sal-delay="1200"] {
    transition-delay: 1.2s;
}
[data-sal][data-sal-delay="1250"] {
    transition-delay: 1.25s;
}
[data-sal][data-sal-delay="1300"] {
    transition-delay: 1.3s;
}
[data-sal][data-sal-delay="1350"] {
    transition-delay: 1.35s;
}
[data-sal][data-sal-delay="1400"] {
    transition-delay: 1.4s;
}
[data-sal][data-sal-delay="1450"] {
    transition-delay: 1.45s;
}
[data-sal][data-sal-delay="1500"] {
    transition-delay: 1.5s;
}
[data-sal][data-sal-easing="ease"] {
    transition-timing-function: ease;
}
[data-sal][data-sal-easing="ease-in"] {
    transition-timing-function: ease-in;
}
[data-sal][data-sal-easing="ease-out"] {
  transition-timing-function: ease-out;
}
[data-sal][data-sal-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(.165,.84,.44,1);
}
[data-sal][data-sal-easing="ease-in-out"] {
    transition-timing-function: ease-in-out;
}
[data-sal][data-sal-easing="ease-in-out-cubic"] {
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
[data-sal|="fade"] {
    opacity: 0;
    transition-timing-function: ease-out-quart;
    transition-timing-function: var(--sal-easing, ease-out-quart);
    transition-duration: 1s;
    transition-duration: var(--sal-duration, 1s);
    transition-property: opacity;
	transition-delay: 0.2s;
}
[data-sal|="fade"].above-fold {
opacity: 0.01;
}
[data-sal|="fade"].sal-animate,
body.sal-disabled [data-sal|="fade"] {
    opacity: 1;
}
[data-sal|="slide"] {
    opacity: 0;
    transition-timing-function: ease-out-quart;
    transition-timing-function: var(--sal-easing, ease-out-quart);
    transition-duration: 0.8s;
    transition-duration: var(--sal-duration, 0.8s);
    transition-property: opacity, transform;
	transition-delay: var(--base-delay);
}
[data-sal="slide-up"] {
    transform: translateY(30px);
}
[data-sal="slide-down"] {
    transform: translateY(-30px);
}
[data-sal="slide-left"] {
    transform: translateX(30px);
}
[data-sal="slide-right"] {
    transform: translateX(-30px);
}
[data-sal|="slide"].sal-animate,
body.sal-disabled [data-sal|="slide"] {
    opacity: 1;
    transform: none;
}
[data-sal|="zoom"] {
    opacity: 0;
    transition-timing-function: ease-out-quart;
    transition-timing-function: var(--sal-easing, ease-out-quart);
    transition-duration: 0.7s;
    transition-duration: var(--sal-duration, 0.7s);
    transition-property: opacity, transform;
}
[data-sal="zoom-in"] {
    transform: scale(0.5);
}
[data-sal="zoom-out"] {
    transform: scale(1.1);
}
[data-sal|="zoom"].sal-animate,
body.sal-disabled [data-sal|="zoom"] {
    opacity: 1;
    transform: none;
}
}
/*=======================================*/
/** Fancybox **/
/*=======================================*/
.fancybox-container {
	max-width: 100vw;
}
.fancybox-slide--html {
  padding: 44px 50px 44px 16px;
}
.fancybox-bg {
  background: var(--colour-dark-pink);
}
.fancybox-is-open .fancybox-bg {
  opacity: 0.5;
}

.fancybox-content {
	border-radius: var(--border-radius);
	padding: var(--gutter);
	max-width: 768px;
	overflow: visible;
}
.fancybox-slide--html .fancybox-close-small {
	color: var(--colour-dark-pink);
	padding: 10px 4px 10px 0px;
	right: -44px;
	top: 28px;
	background: var(--colour-light-pink);
	border-radius: 0 45px 45px 0;
	height: 58px;
	width: 44px;
	opacity: 1;
	position: absolute;
}
@media all and (max-width: 768px) {
.fancybox-slide--html {
  padding: 44px 16px 44px 16px;
}
.fancybox-slide--html .fancybox-close-small {
right: 0;
    height: 38px;
    width: 24px;
	border-radius: 45px 0 0 45px;
	padding: 10px 0 10px 4px;
}
}
/** Increase fancybox video width on mobile **/
@media all and (max-width: 580px) {
.fancybox-slide--video {
    padding-left: 10px;
    padding-right: 10px;
}
}
/*=======================================*/
/** Block width **/
/*=======================================*/
.core-block .block-inner {
    width: 100%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}
/*=======================================*/
/** Margin & Padding left/right **/
/*=======================================*/
.block-inner {
  margin-left: auto;
  margin-right: auto;
}

.block.full-screen-width  {
  padding-left: 0;
  padding-right: 0;
}


.block.super-wide-contained-width, .block.full-screen-contained-width  {
  padding-right: 24px;
  padding-left: 24px;	
}
.block.super-wide-contained-width.post-loop-block {
	padding-top: 24px;
}
.block, .block-padding {
  padding-right: 60px;
  padding-left: 60px;
}
.block.block-padding-left {
  padding-left: 60px;	
}
.block-padding-right {
  padding-right: 60px;	
}
@media all and (max-width:1640px) {
.block, .block-padding {
  padding-right: 50px;
  padding-left: 50px;
}
.block.block-padding-left {
  padding-left: 50px;	
}
.block-padding-right {
  padding-right: 50px;	
}
}
@media all and (max-width:1280px) {
.block, .block-padding {
  padding-right: 40px;
  padding-left: 40px;
}
.block.block-padding-left {
  padding-left: 40px;	
}
.block-padding-right {
  padding-right: 40px;	
}
}
@media all and (max-width:768px) {
.block, .block-padding {
  padding-left: 30px;
  padding-right: 30px;
}
.block.block-padding-left {
  padding-left: 30px;	
}
.block-padding-right {
  padding-right: 30px;	
}
}
@media all and (max-width:480px) {
.block, .block-padding {
  padding-left: 20px;
  padding-right: 20px;
}
.block.block-padding-left {
  padding-left: 20px;	
}
.block-padding-right {
  padding-right: 20px;	
}
}
/*
.block {
  padding-right: clamp(1px, 7.292vw, 140px);
  padding-left: clamp(1px, 7.292vw, 140px);
}
@media all and (max-width:1640px) {
.block {
  padding-right: clamp(1px, 5.976vw, 140px);
  padding-left: clamp(1px, 5.976vw, 140px);
}
}
@media all and (max-width:1280px) {
.block {
  padding-right: clamp(1px, 5vw, 140px);
  padding-left: clamp(1px, 5vw, 140px);
}
}
@media all and (max-width:1024px) {
.block {
  padding-right: 40px;
  padding-left: 40px;
}
}
@media all and (max-width:768px) {
.block {
  padding-left: 30px;
  padding-right: 30px;
}
}
@media all and (max-width:480px) {
.block {
  padding-left: 20px;
  padding-right: 20px;
}
}
*/
/*=======================================*/
/** Margin & Padding top/bottom **/
/*=======================================*/
body.admin-bar {
  margin-top: 32px;
}
@media screen and (max-width: 782px) {
body.admin-bar {
  margin-top: 46px;
}
}
.single-post .block p {
  margin-bottom: 1.5em; 
}
.list-block ul li {
  margin-bottom: 1.5em;
}

/* Remove bottom margin from last paragraph inside acf blocks and core blocks above content blocks */
.block p:last-child, .remove-bottom-margin p, .block :is(ul,ol):last-child, :where(.advanced-paragraph-block, .paragraph-block, .heading-text-button-block) > .block-inner > :is(h1,h2,h3,h4,h5,h6):last-child {
  margin-bottom: 0;
}
/*.block p:last-child:not(.block.core p:last-child), .remove-bottom-margin p {
  margin-bottom: 0;	
}*/
.block.core .block.core:first-of-type {
  margin-top: 0;
}
.block.core .block.core:last-of-type {
  margin-bottom: 0;
}

/* Padding & Margin default */
.block:not(.core, .header-row, article) {
  padding-bottom: 95px; 
}
@media all and (max-width: 1280px) {
.block:not(.core, .header-row, article) {
  padding-bottom: 80px; 
}
}
@media all and (max-width: 768px) {
.block:not(.core, .header-row, article) {
  padding-bottom: 65px; 
}
}

/* Add 16px bottom padding only if another image-row-block is immediately after */
.image-row-block:has(+ .image-row-block) {
  padding-bottom: var(--gutter);
}
.file-download-block:has(+ .file-download-block) {
  padding-bottom: var(--gutter);
}

/* any .block without .core, followed immediately by a .block.core */
div.block:not(.core) + div.block.core {
  margin-top: 0;
}

/* styles for the first block after a .block.core that is also a .block but not .core */
/* zero specificity overall */
:where(.block.core + .block):not(:where(.core, .advanced-paragraph-block, .advanced-heading-block)) {
  padding-top: calc(95px - 1.5em);
}

/* Target share-donate-block if comes after a core.block */
.block.core + .share-donate-block {
  padding-top: 50px; 
}
@media all and (max-width: 1366px) {
.block.core + .share-donate-block {
  padding-top: 50px; 
}
}
@media all and (max-width: 768px) {
.block.core + .share-donate-block {
  padding-top: 40px; 
}
}

/* Target advanced-paragraph-block if followed by a core paragraph, list or heading block */
.advanced-paragraph-block:has(+ .paragraph-block),
.advanced-paragraph-block:has(+ .list-block),
.advanced-paragraph-block:has(+ .heading-block) {
	margin-bottom: 1.5em;
	padding-bottom:0 
}
/* Target heading block if block above it is a core block */
.block.core + .heading-block {
  margin-top: 3rem;
}
/* remove bottom padding from adv heading block if followed by an adv paragraph block */
.advanced-heading-block:has(+ .advanced-paragraph-block) {
  padding-bottom: 0;
}
/* Target advanced-heading-block that is NOT immediately followed by paragraph-like blocks */
.advanced-heading-block:not(:has(+ .advanced-paragraph-block, + .paragraph-block)) .heading {
	margin-bottom: 0;
}

/* Target last core block of single post content or page main content if a core block */
:is(.single,.page) :is(.entry-content,.main-content) > .block.core:last-child {
  margin-bottom: 95px;
}

@media all and (max-width: 1280px) {
.post-content-block .entry-content .block.core:first-child {
  margin-top: 80px;  
}
.block.core + .block:not(.core):not(.advanced-paragraph-block):not(.advanced-heading-block) {
  padding-top: calc(80px - 1.5em);
}
:is(.single,.page) :is(.entry-content,.main-content) > .block.core:last-child {
  margin-bottom: 80px;
}
}
@media all and (max-width: 768px) {
.post-content-block .entry-content .block.core:first-child {
  margin-top: 65px;  
}
.block.core + .block:not(.core):not(.advanced-paragraph-block):not(.advanced-heading-block) {
  padding-top: calc(65px - 1.5em);
}
:is(.single,.page) :is(.entry-content,.main-content) > .block.core:last-child {
  margin-bottom: 65px;
}
}

.heading-block .wp-block-heading {
	margin-bottom: 0;
}

.wp-block-image.aligncenter {
  margin: 0 auto;
}

/* Padding & Margin 200 */
.block.p-t-200 {
  padding-top: 200px; 
}
.block.p-b-200 {
  padding-bottom: 200px;  
}
.block.m-t-200 {
  margin-top: 200px; 
}
.block.m-b-200 {
  margin-bottom: 200px;  
}
@media all and (max-width: 1366px) {
.block.p-t-200 {
  padding-top: 150px; 
}
.block.p-b-200 {
  padding-bottom: 150px;  
}
.block.m-t-200 {
  margin-top: 150px; 
}
.block.m-b-200 {
  margin-bottom: 150px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-200 {
  padding-top: 100px; 
}
.block.p-b-200 {
  padding-bottom: 100px;  
}
.block.m-t-200 {
  margin-top: 100px; 
}
.block.m-b-200 {
  margin-bottom: 100px;  
}
}

/* Padding & Margin 185 */
.block.p-t-185 {
  padding-top: 185px; 
}
.block.p-b-185 {
  padding-bottom: 185px;  
}
.block.m-t-185 {
  margin-top: 185px; 
}
.block.m-b-185 {
  margin-bottom: 185px;  
}
@media all and (max-width: 1366px) {
.block.p-t-185 {
  padding-top: 135px; 
}
.block.p-b-185 {
  padding-bottom: 135px;  
}
.block.m-t-185 {
  margin-top: 135px; 
}
.block.m-b-185 {
  margin-bottom: 135px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-185 {
  padding-top: 80px; 
}
.block.p-b-185 {
  padding-bottom: 80px;  
}
.block.m-t-185 {
  margin-top: 80px; 
}
.block.m-b-185 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 170 */
.block.p-t-170 {
  padding-top: 170px; 
}
.block.p-b-170 {
  padding-bottom: 170px;  
}
.block.m-t-170 {
  margin-top: 170px; 
}
.block.m-b-170 {
  margin-bottom: 170px;  
}
@media all and (max-width: 1366px) {
.block.p-t-170 {
  padding-top: 120px; 
}
.block.p-b-170 {
  padding-bottom: 120px;  
}
.block.m-t-170 {
  margin-top: 120px; 
}
.block.m-b-170 {
  margin-bottom: 120px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-170 {
  padding-top: 80px; 
}
.block.p-b-170 {
  padding-bottom: 80px;  
}
.block.m-t-170 {
  margin-top: 80px; 
}
.block.m-b-170 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 155 */
.block.p-t-155 {
  padding-top: 155px; 
}
.block.p-b-155 {
  padding-bottom: 155px;  
}
.block.m-t-155 {
  margin-top: 155px; 
}
.block.m-b-155 {
  margin-bottom: 155px;  
}
@media all and (max-width: 1366px) {
.block.p-t-155 {
  padding-top: 105px; 
}
.block.p-b-155 {
  padding-bottom: 105px;  
}
.block.m-t-155 {
  margin-top: 105px; 
}
.block.m-b-155 {
  margin-bottom: 105px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-155 {
  padding-top: 80px; 
}
.block.p-b-155 {
  padding-bottom: 80px;  
}
.block.m-t-155 {
  margin-top: 80px; 
}
.block.m-b-155 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 140 */
.block.p-t-140 {
  padding-top: 140px; 
}
.block.p-b-140 {
  padding-bottom: 140px;  
}
.block.m-t-140 {
  margin-top: 140px; 
}
.block.m-b-140 {
  margin-bottom: 140px;  
}
@media all and (max-width: 1366px) {
.block.p-t-140 {
  padding-top: 100px; 
}
.block.p-b-140 {
  padding-bottom: 100px;  
}
.block.m-t-140 {
  margin-top: 100px; 
}
.block.m-b-140 {
  margin-bottom: 100px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-140 {
  padding-top: 80px; 
}
.block.p-b-140 {
  padding-bottom: 80px;  
}
.block.m-t-140 {
  margin-top: 80px; 
}
.block.m-b-140 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 125 */
.block.p-t-125 {
  padding-top: 125px; 
}
.block.p-b-125 {
  padding-bottom: 125px;  
}
.block.m-t-125 {
  margin-top: 125px; 
}
.block.m-b-125 {
  margin-bottom: 125px;  
}
@media all and (max-width: 1366px) {
.block.p-t-125 {
  padding-top: 100px; 
}
.block.p-b-125 {
  padding-bottom: 100px;  
}
.block.m-t-125 {
  margin-top: 100px; 
}
.block.m-b-125 {
  margin-bottom: 100px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-125 {
  padding-top: 80px; 
}
.block.p-b-125 {
  padding-bottom: 80px;  
}
.block.m-t-125 {
  margin-top: 80px; 
}
.block.m-b-125 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 110 */
.block.p-t-110 {
  padding-top: 110px; 
}
.block.p-b-110 {
  padding-bottom: 110px;  
}
.block.m-t-110 {
  margin-top: 110px; 
}
.block.m-b-110 {
  margin-bottom: 110px;  
}
@media all and (max-width: 1366px) {
.block.p-t-110 {
  padding-top: 95px; 
}
.block.p-b-110 {
  padding-bottom: 95px;  
}
.block.m-t-110 {
  margin-top: 95px; 
}
.block.m-b-110 {
  margin-bottom: 95px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-110 {
  padding-top: 80px; 
}
.block.p-b-110 {
  padding-bottom: 80px;  
}
.block.m-t-110 {
  margin-top: 80px; 
}
.block.m-b-110 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 95 */
.block.p-t-95 {
  padding-top: 95px; 
}
.block.p-b-95 {
  padding-bottom: 95px;  
}
.block.m-t-95 {
  margin-top: 95px; 
}
.block.m-b-95 {
  margin-bottom: 95px;  
}
@media all and (max-width: 1366px) {
.block.p-t-95 {
  padding-top: 80px; 
}
.block.p-b-95 {
  padding-bottom: 80px;  
}
.block.m-t-95 {
  margin-top: 80px; 
}
.block.m-b-95 {
  margin-bottom: 80px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-95 {
  padding-top: 65px; 
}
.block.p-b-95 {
  padding-bottom: 65px;  
}
.block.m-t-95 {
  margin-top: 65px; 
}
.block.m-b-95 {
  margin-bottom: 65px;  
}
}

/* Padding & Margin 80 */
.block.p-t-80 {
  padding-top: 80px; 
}
.block.p-b-80 {
  padding-bottom: 80px;  
}
.block.m-t-80 {
  margin-top: 80px; 
}
.block.m-b-80 {
  margin-bottom: 80px;  
}
@media all and (max-width: 1366px) {
.block.p-t-80 {
  padding-top: 65px; 
}
.block.p-b-80 {
  padding-bottom: 65px;  
}
.block.m-t-80 {
  margin-top: 65px; 
}
.block.m-b-80 {
  margin-bottom: 65px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-80 {
  padding-top: 40px; 
}
.block.p-b-80 {
  padding-bottom: 40px;  
}
.block.m-t-80 {
  margin-top: 40px; 
}
.block.m-b-80 {
  margin-bottom: 40px;  
}
}

/* Padding & Margin 65 */
.block.p-t-65 {
  padding-top: 65px; 
}
.block.p-b-65 {
  padding-bottom: 65px;  
}
.block.m-t-65 {
  margin-top: 65px; 
}
.block.m-b-65 {
  margin-bottom: 65px;  
}
@media all and (max-width: 1366px) {
.block.p-t-65 {
  padding-top: 55px; 
}
.block.p-b-65 {
  padding-bottom: 55px;  
}
.block.m-t-65 {
  margin-top: 55px; 
}
.block.m-b-65 {
  margin-bottom: 55px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-65 {
  padding-top: 40px; 
}
.block.p-b-65 {
  padding-bottom: 40px;  
}
.block.m-t-65 {
  margin-top: 40px; 
}
.block.m-b-65 {
  margin-bottom: 40px;  
}
}

/* Padding & Margin 50 */
.block.p-t-50 {
  padding-top: 50px; 
}
.block.p-b-50 {
  padding-bottom: 50px;  
}
.block.m-t-50 {
  margin-top: 50px; 
}
.block.m-b-50 {
  margin-bottom: 50px;  
}
@media all and (max-width: 1366px) {
.block.p-t-50 {
  padding-top: 50px; 
}
.block.p-b-50 {
  padding-bottom: 50px;  
}
.block.m-t-50 {
  margin-top: 50px; 
}
.block.m-b-50 {
  margin-bottom: 50px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-50 {
  padding-top: 40px; 
}
.block.p-b-50 {
  padding-bottom: 40px;  
}
.block.m-t-50 {
  margin-top: 40px; 
}
.block.m-b-50 {
  margin-bottom: 40px;  
}
}

/* Padding & Margin 35 */
.block.p-t-35 {
  padding-top: 35px; 
}
.block.p-b-35 {
  padding-bottom: 35px;  
}
.block.m-t-35 {
  margin-top: 35px; 
}
.block.m-b-35 {
  margin-bottom: 35px;  
}
@media all and (max-width: 1366px) {
.block.p-t-35 {
  padding-top: 35px; 
}
.block.p-b-35 {
  padding-bottom: 35px;  
}
.block.m-t-35 {
  margin-top: 35px; 
}
.block.m-b-35 {
  margin-bottom: 35px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-35 {
  padding-top: 30px; 
}
.block.p-b-35 {
  padding-bottom: 30px;  
}
.block.m-t-35 {
  margin-top: 30px; 
}
.block.m-b-35 {
  margin-bottom: 30px;  
}
}

/* Padding & Margin 20 */
.block.p-t-24 {
  padding-top: 24px; 
}
.block.p-b-24 {
  padding-bottom: 24px;  
}
.block.m-t-24 {
  margin-top: 24px; 
}
.block.m-b-24 {
  margin-bottom: 24px;  
}

/* Padding & Margin None */
body .block.p-t-none {
  padding-top: 0; 
}
body .block.p-b-none {
  padding-bottom: 0;  
}
body .block.m-t-none {
  margin-top: 0;  
}
body .block.m-b-none {
  margin-bottom: 0; 
}
/*=======================================*/
/** Block border **/
/*=======================================*/
.block-border-top-bottom {
    border-top: 1px solid #D5D5D5;
    border-bottom: 1px solid #D5D5D5;
}
.block-border-top {
    border-top: 1px solid #D5D5D5;
}
.block-border-bottom {
    border-bottom: 1px solid #D5D5D5;
}
/*=======================================*/
/** Links **/
/*=======================================*/
a {
position: relative;
  display: inline-block;
}
.main-content a {
  position: relative;
	text-decoration: underline;
	text-underline-offset: 3px;
  /*transition: color .2s cubic-bezier(.3,.15,.18,1); dont apply this to links that dont need it like buttons and images as it causes issues in web vitals */
}
.no-underline a, a.no-underline {
		text-decoration: none;
}
a[href^="tel:"], a[href^="mailto:"] {
	text-decoration: none;	
}
.main-content :is(.menu li a, .lsb-button) {
	text-decoration: none;
}
.main-content a:not(button, .lsb-button, .heading, [data-sal]) {
	  color: var(--colour-dark-pink);
	transition: color .2s cubic-bezier(.3,.15,.18,1);
}
.main-content .bg-dark-pink a:not(button, .lsb-button, .heading, [data-sal]) {
	  color: var(--colour-dark-blue);
}
/** Hover styles **/
/* Underline */
.main-content a:hover:not(.lsb-button) {
  text-decoration: underline;
}

.main-content .link-underline a::after {
  display: none;
}
/* Underline from left */
.link-underline-from-left a:not(.lsb-button, .child-underline):not(:has(img))::after,
.link-underline-from-left a.child-underline span::after,
.underline span::after,
.post-filters-block .facetwp-radio::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: var(--colour-white);
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform .3s;
}
.link-underline-from-left a:hover:not(.lsb-button, .child-underline):not(:has(img))::after,
.link-underline-from-left a.child-underline:hover span::after,
.underline-parent a:hover .underline span::after,
.post-filters-block .facetwp-radio:hover::after {
  transform-origin: bottom left;
  transform: scaleX(1);
}
.underline span {
	position: relative;
}
#menu-primary-menu a::after {
  background-color: var(--colour-dark-pink);
}


footer .link-underline-from-left a:not(.lsb-button,.child-underline)::after, footer .link-underline-from-left a:is(.child-underline) span::after{
  background-color: var(--colour-white);
}

a.child-underline span {
	position: relative;
}
a.child-underline span.icon::after {
	display: none;
}
/* Exclude links from custom hover style */
.no-hover-underline a:not(.lsb-button)::after {
  display: none;
}
/* Underline from centre */
.link-underline-from-centre a:not(.lsb-button) {
	position: relative;
	transition: color .25s ease-in-out;
}
.link-underline-from-centre a:not(.lsb-button)::before {
	content: '';
	position: absolute;
	top: 100%;
	width: 100%;
	height: 1px;
	background-color: hsl(45 100% 70%);
	transform: scaleX(0);
	transition: transform .25s ease-in-out;
}
.link-underline-from-centre a:hover:not(.lsb-button)::before {
	color: hsl(45 100% 70%);
	transform: scaleX(1);
}


.bg-dark-blue .btn-hover-from-top .lsb-button.button-style-white-solid:hover::after {
  background: #7b8a98;
}


/* Fill from left */
.link-fill-from-left a:not(.lsb-button)::before {
  background: hsl(45 100% 70%);
  content: "";
  inset: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.25s ease-in-out;
  z-index: -1;
}
.link-fill-from-left a:hover:not(.lsb-button)::before {
  transform: scaleX(1);
  transform-origin: left;
}

/*=======================================*/
/** Breadcrumbs **/
/*=======================================*/
.block.breadcrumbs-block {
	font-size: var(--font-s);
	font-style: italic;
	position: relative;
	z-index: 2;
}
.block.breadcrumbs-block .breadcrumbs {
	display: flex;
	gap: 4px;
	position: absolute;
	top: 14px;
}
.block.breadcrumbs-block.hero-breadcrumbs .breadcrumbs {
	top: 24px;	
}
.breadcrumbs-separator {
  color: var(--colour-dark-pink);
}
.block.breadcrumbs-block a {
	text-decoration: none;
	color: var(--font-colour-dark);
}
.block.breadcrumbs-block .breadcrumb-item.current {
	  color: var(--colour-dark-pink);
}
@media all and (max-width: 767px) {
	.block.breadcrumbs-block {
		display: none;
	}
}
/*=======================================*/
/** Buttons **/
/*=======================================*/
.lsb-button, .fluentform .frm-fluent-form .ff-btn, .post-loop-pagination-block .facetwp-load-more {
  color: inherit;
overflow: hidden;
  text-align: center;
  box-sizing: border-box;
  cursor: pointer;
  box-shadow: none;
position: relative;
  border-radius: var(--border-radius);
  border: 0;
  font-size: var(--font-l);
  letter-spacing: inherit;
  line-height: inherit;
  transition: all .3s cubic-bezier(.3,.15,.18,1);
min-width: 100px;
  max-width: fit-content;
  padding: 8.5px var(--gutter-m);
}
.lsb-button.small-btn, .fluentform .frm-fluent-form .ff-btn.small-btn {
	min-width: 150px;
	font-size: 14px;
	padding: 10px 12px;
}
.lsb-button, .fluentform .frm-fluent-form .ff-btn {
	display: block;
}
.latest-news-block .lsb-button {
	min-width: 131px;
}

.lsb-button:hover, .fluentform .frm-fluent-form .ff-btn:hover, .post-loop-pagination-block .facetwp-load-more:hover {
    text-decoration: none;
}

button.lsb-button {
	cursor: pointer;
}

.block .facetwp-facet-load_more button {
  background: var(--btn-bg);
  color: var(--btn-txt-colour);
  border: solid 2px #fff;
  border-radius: 25px;
}
.block .facetwp-facet-load_more button:hover {
	background: #fff;
	color: #ffffff;
}


.btn-hover-from-top .lsb-button.button-style-dark-blue-solid.active::after {
  height: 100%;
  background: var(--btn-bg-hover);
  transition-delay: .1s;
  right: 0;
}


.button-container-inner {
	display: flex;
	gap: var(--gutter) var(--gutter);
	justify-content: flex-start;
	flex-wrap: wrap;
}
.button-container-inner.no-btn-wrap {
  flex-wrap: nowrap;
}
.button-container-inner.center-align {
	justify-content: center;	
}

/** Button hover styles **/
/** Change colour **/
.single-btn-wrap.btn-hover-change-colour .lsb-button:hover {
	text-decoration: none;
}
/** Grow **/
.single-btn-wrap.btn-hover-grow .lsb-button:hover {
	text-decoration: none;
	transform: scale(1.05);	
}
/** From top **/
.single-btn-wrap.btn-hover-from-top .lsb-button:hover {

}
/** From bottom **/
.single-btn-wrap.btn-hover-from-bottom .lsb-button:hover {

}
/** From left **/
.single-btn-wrap.btn-hover-from-left .lsb-button:hover {

}
/** From right **/
.single-btn-wrap.btn-hover-from-right .lsb-button:hover {
	
}


.fluentform.ff-default .ff-btn.form-btn-dark-pink-solid {
	background: var(--colour-dark-pink);
	color: var(--font-colour-white);
	position: relative;
	transition-delay: .1s;
	min-width: 200px;
}
.fluentform.ff-default .ff-btn.form-btn-dark-pink-solid::after {
	right: 100%;
	height: 100%;
	width: 100%;
	top: 0;
	background: var(--colour-dark-pink);
	content: '';
	position: absolute;
	transition: inherit;
	transition-delay: .1s;
}
.fluentform.ff-default .ff-btn.form-btn-dark-pink-solid:hover::after {
	height: 100%;
	background: var(--colour-dark-blue);
	transition-delay: .1s;
	right: 0;
}


.bg-dark-pink .btn-hover-from-top .lsb-button.button-style-dark-blue-solid:hover {
	color: var(--colour-dark-pink);
}
.bg-dark-pink .btn-hover-from-top .lsb-button.button-style-dark-blue-solid:hover::after {
	background: var(--colour-white);
}


@media all and (max-width:1366px) {
.lsb-button, .fluentform .frm-fluent-form .ff-btn, .post-loop-pagination-block .facetwp-load-more {
    min-width: 120px;
}
}
@media all and (max-width:768px) {
.lsb-button, .fluentform .frm-fluent-form .ff-btn, .post-loop-pagination-block .facetwp-load-more {
    min-width: 110px;
	font-size: var(--font-s);
}
}
@media all and (max-width:480px) {
}
@media all and (max-width:375px) {
}
/*=======================================*/
/** Image semi-transparent overlay **/
/*=======================================*/
/** Solid overlay **/
.overlay::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(20, 20, 20, 0.2);
  z-index: 1;
}

/** Fade from bottom overlay **/
.overlay-from-bottom::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 65%;
  background: linear-gradient(0deg,rgb(20,20,20) 0%,rgba(20,20,20,0) 100%);
  z-index: 1;
}

/** Fade from top overlay **/
.overlay-from-top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 65%;
  background: linear-gradient(0deg,rgba(20,20,20,0) 0%,rgb(20,20,20) 100%);
  z-index: 1;
}
/*=======================================*/
/** Slider **/
/*=======================================*/
.slider-container {
  position: relative;
}
.slider-overlay-text {
  width: 100%;
}
/* Slider nav dots */
.slider-container .tns-nav {
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
}
.slider-container .tns-nav button {
  border: 0;
  border-radius: 0;
  padding: 7px;
  box-sizing: border-box;
  background: #EFECEA;
  opacity: 0.65;
}
.slider-container .tns-nav button.tns-nav-active {
  opacity: 1;
}



/* Remove the default arrow glyph */
.block .swiper-button-prev::after,
.block .swiper-button-next::after {
  content: none;
}
/* Remove the default arrow glyph */
.block .swiper-button-prev::after,
.block .swiper-button-next::after {
  content: none;
}

/* Size your buttons as needed */
.block .swiper-button-prev,
.block .swiper-button-next {
  width: 21px;
  height: 40px;
  background-size: contain;
  background-repeat: no-repeat;
}
.block .small-arrows :is(.swiper-button-prev,.swiper-button-next) {
width: 7px;
  height: 14px;
}
.block .circle-arrows :is(.swiper-button-prev,.swiper-button-next) {
width: 32px;
  height: 32px;
	margin-top: -16px;
	pointer-events: all;
}
.block .dark-green-arrows :is(.swiper-button-prev, .swiper-button-next) {
	width: 13px;
	height: 25px;
}


/* Point the backgrounds at your SVG files */
.block .swiper-button-prev {
  background-image: url('/wp-content/uploads/2025/05/White_Arrow-Left.svg');
}
.block .swiper-button-next {
  background-image: url('/wp-content/uploads/2025/10/arrow-right-dark-pink-icon.svg');
	background-position: right;
}

.block .swiper-button-next.olive-green-white-background-next-arrow {
  background-image: url('/wp-content/uploads/2025/10/oliver-green-white-background-next-icon.svg');
  background-position: right;
  width: 60px;
  height: 50px;
	margin-top: 25px;
  right: 0;
}

.swiper-button-prev,
.swiper-button-next {
  transition: transform 0.2s ease;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  transform: scale(1.1);
}
.no-hover-scale .swiper-button-prev:hover,
.no-hover-scale .swiper-button-next:hover {
  transform: scale(1);
}
.swiper-button-prev:focus-visible,
.swiper-button-next:focus-visible {
  transform: scale(1.1);
  outline: 2px solid #007aff;
}
.no-hover-scale .swiper-button-prev:focus-visible,
.no-hover-scale .swiper-button-next:focus-visible {
  transform: scale(1);
}

@media all and (max-width: 1500px) {
.block .swiper-button-next.olive-green-white-background-next-arrow {
	width: 34px;
	height: 34px;
	margin-top: 17px;
}
}

@media all and (max-width: 1024px) {
.block .swiper-button-prev, .block .swiper-button-next {
    width: 17px;
    height: 32px;
}
.block .swiper-button-next, .block .swiper-button-prev {
margin-top: -16px;	
}
}

@media all and (max-width: 900px) {
.block .swiper-button-next.olive-green-white-background-next-arrow {
	width: 34px;
	height: 34px;
}
}
/*=======================================*/
/** Image zoom on hover **/
/*=======================================*/
@media only screen and (min-width: 1025px) {
/* [1] The container */
.img-hover-zoom, .work-post, .post-loop-wrap article .image, .style-lastest-blog-posts .swiper-slide.swiper-slide-active .image, .content-grid-block .container .item .image {
  overflow: hidden; /* [1.2] Hide the overflowing of child elements */
}

/* [2] Transition property for smooth transformation of images */
.img-hover-zoom img, .work-post img, .back-to-our-services .image img {
  transition: transform .2s ease;
}
.post-loop-wrap article img, .style-lastest-blog-posts .swiper-slide.swiper-slide-active img, .content-grid-block .container .item .image img {
  transition: transform .3s ease;
}

/* [3] Finally, transforming the image when container gets hovered */
.img-hover-zoom img:hover, .work-post img:hover, .back-to-our-services .image:hover img, .post-loop-wrap article:hover img {
  transform: scale(1.03);
}
.post-loop-wrap article:hover img, .style-lastest-blog-posts .swiper-slide.swiper-slide-active:hover img, .content-grid-block .container .item:hover .image img {
  transform: scale(1.05);
}
}
/*=======================================*/
/** Pagination **/
/*=======================================*/
.load-more-pagination {
  margin-top: 70px;
}
.load-more-pagination .facetwp-facet {
  margin-bottom: 0;
}
.load-more-pagination .facetwp-type-pager {
  display: flex;
  justify-content: center;
  align-items: center;
}
/*=======================================*/
/** Social Links **/
/*=======================================*/
.social-links {
	margin: 0;
	display: flex;
	align-items: center;
	gap: var(--gutter-s);
}
.social-links-icons a {
	display: flex;
	height: 48px;
	width: 48px;
	border-radius: 100%;
	border: 1px solid var(--colour-white);
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease;
}
.social-links a:hover {
  transform: translateY(-3px);
}

.contact-details .social-links-icons.alt-icons {
	display: flex;
	gap: 12px;
}
.contact-details .social-links-icons.alt-icons div a {
	border: solid 2px #fff;
	border-radius: 25px;
	color: #fff;
	height: 42px;
	min-width: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .3s cubic-bezier(.3,.15,.18,1);
	font-weight: 400;
}
.contact-details .social-links-icons.alt-icons div:hover a {
  background: #fff;
  color: #fff;
	border: 2px solid #fff;
}
.contact-details .social-links-icons.alt-icons div svg path {
    transition: all .3s cubic-bezier(.3,.15,.18,1);
}
.contact-details .social-links-icons.alt-icons div:hover svg path {
  fill: #fff;
}


.social-links-icons-text li a {
	display: inline-flex;
	align-items: center;
	gap: 20px;
}
.social-links-icons-text li svg, .social-links-icons-text li img {
  height: 14px;
  width: auto;
}
.social-links-icons-text li .icon {
  width: 15px;
}
/*=======================================*/
/** Header **/
/*=======================================*/
.site-header {
  z-index: 15;
  position: relative;
  width: 100%;
	transition: none;
	opacity: 1;
}

.site-header::before {
	display: none;
  background: linear-gradient(
  to bottom,
  rgba(1, 28, 28, 0.7) 0%,
  rgba(1, 28, 28, 0) 100%
);
  height: 100%;
  content: "";
  top: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.site-header .header-row {
	width: 100%;
	padding-top: var(--gutter);
	padding-bottom: var(--gutter);
	z-index: 15;
	position: relative;
	background: var(--colour-white);
}
.site-header .block-inner {
	display: grid;
	padding-top: 0;
	padding-bottom: 0;
	align-items: center;
	justify-content: space-between;
	gap: var(--gutter);
	grid-template-columns: auto 1fr;
	position: relative;
}

.header-phone, .header-email {
  display: flex;
  align-items: center;
  gap: 10px;	
}
.header-social-links svg path {
	fill: #ED7D31;
}
.header-phone.icon img, .header-email.icon img {
	height: 13px;
}


.header-main-row {
	width: 100%;
}
.sticky .header-main-row {
	background: #44546a;
	box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.3);
}
.site-header .header-main-row .block-inner {
  display: flex;
  padding-top: 10px;
  padding-bottom: 10px;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

/** Header Logo **/
.header-logo-container {
	display: flex;
	align-items: center;
}
.header-logo-container a::before {
	display: none;
}
.header-logo-container a {
  display: inherit;
}
.header-logo-container :is(svg,img) {
  display: block;
  width: auto;
	height: 66px;
	z-index: 4;
}
.logo-text {
	color: #fff;
	position: relative;
	top: 6px;
	font-size: 1.1em;
}


.header-column.book-container {
display: flex;
  justify-content: flex-end;	
}
.header-column.book-container .lsb-button {
	width: fit-content;
	min-width: 160px;
}
header .buttons-dropdown {
  position: absolute;
  right: 0;
  top: 80px;
  background: #e9e1d6;
  padding: 11px 16px 16px 16px;
  opacity: 0;
  transform: translateY(-10px);
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease-in-out,
    transform 0.3s ease-out,
    visibility 0s linear 0.4s;
}




.site-header.sticky {
  position: fixed;
  left: 0;
  width: 100%;
  top: -100%;
}

.site-header.sticky.animate-in {
  top: -100%;
  opacity: 0;
  transition: none;
}

.site-header.sticky.visible {
	top: 0;
	opacity: 1;
	transition: top 0.3s ease, opacity 500ms ease;
	background: var(--colour-teal);
	z-index: 15;
}
.site-header.sticky.visible::before {
	display: none;
}

.site-header.sticky.hide {
  top: -100%;
  opacity: 0;
  transition: top 0.05s ease, opacity 0.05s ease;
}


.site-header.sticky .header-row {
	padding-top: 12px;
	padding-bottom: 12px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	background: var(--colour-white);
}
.site-header.sticky .header-logo-container :is(svg,img) {
	height: 52px;
}
.header-logo-container a.sticky-logo {
	display: none;
}
.site-header.sticky .header-logo-container a.static-logo {
	display: none;
}
.site-header.sticky .header-logo-container a.sticky-logo {
	display: inherit;
}
.site-header.sticky .header-column.menu-container {
  padding-top: 0;
}
/*.site-header.sticky .menu-primary-menu-container .menu a {
  font-size: var(--font);
}*/
.site-header.sticky .header-contact-details .lsb-button {
	font-size: var(--font-l);
}


.header-column.menu-container {
	display: flex;
	gap: var(--gutter-xl);
	align-items: center;
	justify-content: flex-end;
	padding-top: 10px;
}
.site-header .menu-primary-menu-container .menu {
display: flex;
  gap: var(--gutter-l);	
}
.desk-menu-container .menu-primary-menu-container .menu > li > a > .submenu-toggle {
	display: none;
}
.site-header .menu-primary-menu-container .menu > li > a {
	color: var(--font-colour-dark);
	position: relative;
	font-size: var(--font-l);
}
.site-header .menu-primary-menu-container .menu > li > a:hover {
	color: var(--colour-dark-pink)
}
.site-header .menu-primary-menu-container .menu :is(.current-menu-parent,.current-menu-item,.current-menu-ancestor) > a {
	color: var(--font-colour-dark-pink);
}
.header-contact-details .button-container-inner {
	gap: var(--gutter-l) var(--gutter);
}
.header-contact-details {
	z-index: 4;
	position: relative;
}
.header-contact-details .lsb-button {
	min-width: 128px;
	font-weight: 700;
	font-size: var(--font-xxl);
}
.header-contact-details .mob-menu-btn {
	display: none;
}

@media all and (max-width: 1280px) {
.header-column.menu-container .desk-menu-container ul {
  gap: var(--gutter-l);
}
.header-column.menu-container {
	gap: var(--gutter);
}
}
@media all and (max-width: 1212px) {
.header-logo-container svg, .header-logo-container img {
	height: 60px !important;
}
}
@media all and (max-width: 1156px) {
	.header-column.menu-container .desk-menu-container {
		display: none;
	}
.header-contact-details .button-container-inner {
	gap: var(--gutter-s);
}
.header-contact-details .lsb-button {
	min-width: 120px;
	font-size: initial;
	font-size: var(--font-l);
}
.header-contact-details .mob-menu-btn {
	display: block;
}
.header-contact-details .mob-menu-btn .close-menu {
	display: none;
}
.header-contact-details .mob-menu-btn.open .close-menu {
	display: block;
}
.header-contact-details .mob-menu-btn.open .open-menu {
	display: none;
}
}
@media all and (max-width: 1023px) {
.header-column.menu-container {
	padding-top: 0;
}	
}
@media all and (max-width: 860px) {
.header-logo-container svg, .header-logo-container img {
	height: 55px !important;
}
.site-header.sticky .header-logo-container :is(svg, img) {
	height: 45px !important;
}
}
@media all and (max-width: 525px) {
.header-contact-details .lsb-button {
	min-width: 103px;
	font-size: initial;
}
.header-contact-details .button-container-inner {
	gap: var(--gutter-xs);
}
}
@media all and (max-width: 480px) {
.header-logo-container svg, .header-logo-container img {
	height: 50px !important;
}
}
@media all and (max-width: 413px) {
.header-logo-container svg, .header-logo-container img {
	height: 45px !important;
}
}
/*=======================================*/
/** Desktop menu **/
/*=======================================*/


/* ————————————————
   BACKDROP OVERLAY
   ———————————————— */
.mob-menu-overlay {
	position: fixed;
	inset: 0;
	background: rgba(197, 0, 132, 0.5);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease;
	z-index: 10;
}
.mob-menu-overlay.open {
  opacity: 1;
		visibility: visible;
  pointer-events: all;
}
/*=======================================*/
/** Desktop Sub menu **/
/*=======================================*/
.desk-menu-container .sub-menu-container {
  min-height: 300px;
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  top: calc(100% + var(--gutter) + 20px);
  padding-bottom: var(--gutter-xxl);
  padding-top: var(--gutter-l);
  padding-left: clamp(var(--gutter-l), 7%, 100px);
  padding-right: clamp(var(--gutter-l), 7%, 100px);
  border-radius: var(--border-radius);
  background: var(--colour-white);
	z-index: 3;
  /* transitionable hidden state */
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);         /* optional nice slide */
  pointer-events: none;               /* prevent hover traps */
  transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}
.desk-menu-container .menu > li.menu-item {
display: flex;
  justify-content: center;
}
.desk-menu-container .menu > li.menu-item-has-children.active .sub-menu-container {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity .3s ease, transform .3s ease, visibility 0s; /* no delay on show */
}
.desk-menu-container .sub-menu-container::before {
content: "";
  position: absolute;
  width: 100%;
  height: 53px;
  left: 0;
  top: -53px;
}

.desk-menu-container .sub-menu-container .sub-menu-title {
	color: var(--colour-dark-pink);
	border-bottom: 2px solid var(--colour-dark-pink);
	margin-bottom: 0;
	padding-bottom: var(--margin-bottom-s);
}

.desk-menu-container .menu > li.menu-item-has-children::after {
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
	content: "";
	background-image: url(/wp-content/uploads/2025/10/top-submenu-icon-with-arrow-cropped.svg);
	background-repeat: no-repeat;
height: 32px;
  width: 58px;
	background-size: contain;
	position: absolute;
	top: 70px;
	z-index: 2;
}
.desk-menu-container .menu > li.menu-item-has-children.active::after {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity .3s ease, transform .3s ease, visibility 0s;
}

.desk-menu-container .menu .sub-menu li {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.desk-menu-container .menu .sub-menu li {
	display: flex;
	align-items: center;
}
.desk-menu-container .menu .sub-menu li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
		border-bottom: 1px solid var(--colour-dark-pink);
}
.desk-menu-container .menu .sub-menu a::after {
	display: none;
}
.desk-menu-container .sub-menu.level-one > li.menu-item-has-children .submenu-toggle svg {
height: 20px;
  width: auto;
}
/* --- two-column submenu layout --- */
.sub-menu-levels-wrapper {
	position: relative;
	font-size: var(--font-l);
}
.desk-menu-container .sub-menu.level-one {
	width: 50%;
	height: 100%;
	border-right: 1px solid var(--colour-dark-pink);
}
.desk-menu-container .sub-menu.level-one > li {
  transition: background .1s ease, width .1s ease;
}
.desk-menu-container .sub-menu.level-one > li:hover > a {
background: var(--colour-dark-pink);
}
.desk-menu-container .sub-menu.level-one > li.menu-item-has-children:hover {
  width: calc(100% + 28px);
}
.desk-menu-container .sub-menu > li a {
	  padding: var(--gutter);
	width: 100%;
}
.desk-menu-container .sub-menu.level-one > li.menu-item-has-children:hover > a {
  z-index: 2;
  position: relative;
  border-radius: 0 30px 30px 0;
}
.desk-menu-container .sub-menu.level-one > li.menu-item-has-children:hover .submenu-toggle svg path {
stroke: var(--colour-white);
}
.desk-menu-container .sub-menu.level-one > li:hover > a {
  color: var(--font-colour-white);
}
.desk-menu-container .sub-menu.level-one > li .hover-toggle {
	display: none;
}
.desk-menu-container .sub-menu.level-one > li:hover .static-toggle {
	display: none;
}
.desk-menu-container .sub-menu.level-one > li:hover .hover-toggle {
	display: block;
}

.desk-menu-container .sub-menu.level-one > li.menu-item-has-children > .sub-menu.level-two {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	opacity: 0;
	visibility: hidden;
	transform: translateX(8px);
	pointer-events: none;
transition: opacity .1s ease, transform .1s ease, visibility 0s; /* no delay */
	padding: var(--gutter-l) var(--gutter-xl) var(--gutter-xl) var(--gutter-xxl);
	background: var(--colour-white);
	height: 100%;
}
.desk-menu-container .sub-menu.level-two li a {
	/*padding-left: 0;*/
	z-index: 1;
	position: relative;
}
.desk-menu-container .sub-menu.level-two li:hover a {
	background: var(--colour-dark-pink);
  color: var(--font-colour-white);
}

/* Show the right column when the parent level-one item is hovered/focused */
.desk-menu-container .sub-menu.level-one > li.menu-item-has-children:is(:hover, :focus-within, .hovering) > .sub-menu.level-two {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
transition: opacity .2s ease, transform .2s ease, visibility 0s;
}

/* Prevent flicker: keep the whole container interactive while open */
.desk-menu-container .menu > li.menu-item-has-children.active .sub-menu-container {
  pointer-events: auto;
}


/*=======================================*/
/** Mobile menu **/
/*=======================================*/
@keyframes fadeInRight2 {
	0% {
		opacity:0;
		bottom:20px
	}
	100% {
		opacity:1;
		bottom:0
	}
}
.mob-menu-container.menu--visible ul li {
	animation:.4s forwards fadeInRight2;
	animation-delay:.25s
}
.mob-menu-container.menu--visible ul li:nth-of-type(2) {
	animation-delay:.3s
}
.mob-menu-container.menu--visible ul li:nth-of-type(3) {
	animation-delay:.35s
}
.mob-menu-container.menu--visible ul li:nth-of-type(4) {
	animation-delay:.4s
}
.mob-menu-container.menu--visible ul li:nth-of-type(5) {
	animation-delay:.45s
}
.mob-menu-container.menu--visible ul li:nth-of-type(6) {
	animation-delay:.5s
}
.mob-menu-container.menu--visible ul li:nth-of-type(7) {
	animation-delay:.55s
}
.mob-menu-container.menu--visible ul li:nth-of-type(8) {
	animation-delay:.6s
}
.mob-menu-container.menu--visible ul li {
	opacity:0;
	position:relative
}

/* ————————————————
   BUTTON (hamburger → X)
   ———————————————— */

.mob-menu-btn-wrap {
  display: inline-block;
}
.mob-menu-btn {
  cursor: pointer;
  will-change: transform;
}

/* ————————————————
   SLIDE‑IN MENU
   ———————————————— */
.mob-menu-container {
  position: fixed;
  /*max-height: 100dvh;*/
  width: calc(100% - (var(--gutter) * 2));
background: var(--colour-white);
  box-shadow: 2px 0 12px rgba(0,0,0,.15);
  transform: translateX(-100%) scale(1);
  opacity: 0;
  transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .4s ease;
  will-change: transform, opacity;
  z-index: 1000;
  overflow: auto;           /* scroll inner content, not the page */
  padding: var(--gutter) var(--gutter-l) var(--gutter-xl) var(--gutter-l);
border-radius: var(--border-radius);
margin: 0 auto;
  left: 0;
  right: 0;
  top: calc(92px + var(--gutter));
}

/* Fallbacks for older browsers (optional but nice) */
@supports not (height: 100dvh) {
  .mob-menu-container {
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
  }
}
.mob-menu-container.open {
  transform: translateX(0) scale(1);
  opacity: 1;
}

/* ————————————————
   CLOSE “X” INSIDE MENU
   ———————————————— */
.close-btn {
	position: absolute;
top: var(--gutter);
  right: var(--gutter);
	width: 38px;
	height: 38px;
	cursor: pointer;
	z-index: 1001;
	border-radius: 100%;
	border: 1px solid var(--colour-deep-teal);
}
.close-btn span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 19px;
	height: 2px;
	background: var(--colour-deep-teal);
	border-radius: 1.5px;
	transform-origin: center;
}
.close-btn span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
.close-btn span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* ————————————————
   CHILD ITEMS STAGGER
   ———————————————— */
/*.mob-menu-container .menu-primary-menu-container ul li,
.mob-menu-container .button-container,
.mob-menu-container .phone-email,
.mob-menu-container .address {
  opacity: 0;
  transform: translateX(-20px);
  transition: transform 0.4s ease, opacity 0.4s ease;
}*/

/* 2) Staggered fade/slide in when open */
/* menu items (7 of them) */
/*.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(1) {
  transition-delay: 0.30s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(2) {
  transition-delay: 0.4s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(3) {
  transition-delay: 0.5s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(4) {
  transition-delay: 0.6s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(5) {
  transition-delay: 0.7s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(6) {
  transition-delay: 0.8s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(7) {
  transition-delay: 0.9s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(8) {
  transition-delay: 1s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(9) {
  transition-delay: 1.1s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .menu-primary-menu-container ul li:nth-child(10) {
  transition-delay: 1.2s;
  opacity: 1;
  transform: translateX(0);
}*/

.mob-menu-container .menu-primary-menu-container {
position: relative;
}
.site-header .mob-menu-container .menu-primary-menu-container .menu {
	display: grid;
	gap: 0;
}
.mob-menu-container ul li {
border-bottom: 1px solid var(--colour-dark-pink);
}
.mob-menu-container ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mob-menu-container ul li a {
    padding: var(--gutter) 0 var(--gutter) var(--gutter);
	width: 100%;
}
.mob-menu-container ul li .submenu-toggle {
	height: 100%;
	width: auto;
	display: flex;
	align-items: center;
	padding-right: var(--gutter);
	padding-left: var(--gutter-xs);
	cursor: pointer;
}

.mob-menu-container .close-btn {
	display: none;
}
/* ————————————————
   DISABLE PAGE SCROLL
   ———————————————— */
body.no-scroll {
  overflow: hidden;
  height: 100dvh; /* keeps the viewport locked */
}

/* ————————————————
   Submenu
   ———————————————— */
.mob-menu-container .sub-menu-container {
  height: 0;
  min-height: 0;
  overflow: hidden;
	display: block;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s ease, visibility 0s linear .3s;
	background: var(--colour-white);
}
.mob-menu-container .sub-menu-container .sub-menu-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--gutter) 0 var(--gutter) var(--gutter);
	width: 100%;
	color: var(--colour-dark-pink);
	font-size: var(--font-l);
	border-bottom: 1px solid var(--colour-dark-pink);
	cursor: pointer;
}
.mob-menu-container .sub-menu-container .sub-menu-title .submenu-toggle {
transform: rotate(180deg);
}
.mob-menu-container .sub-menu-levels-wrapper {
  height: auto;
}
.mob-menu-container .sub-menu.level-one {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .1s ease, visibility 0s;
  font-size: initial;
  background: var(--colour-white);
  z-index: 1;
	padding-bottom: var(--gutter-xl);
}

.mob-menu-container .sub-menu.level-one > li.menu-item-has-children > .sub-menu.level-two {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;           /* ← instead of height: 100% */
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .1s ease, visibility 0s;
  font-size: initial;
  background: var(--colour-white);
  z-index: 2;
	padding-bottom: var(--gutter-xl);
}


.mob-menu-container .menu > li.menu-item-has-children.active .sub-menu-container {
  height: 100%;
  min-height: 100%;
  overflow: visible;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity .3s ease, transform .3s ease, visibility 0s;
}

/* LEVEL 1: show first submenu when parent li is .active */
.mob-menu-container li.menu-item-has-children.active
  > .sub-menu-container .sub-menu.level-one {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  transition: opacity .2s ease, transform .2s ease, visibility 0s;
}

/* LEVEL 2: show nested submenu when parent li is .active */
.mob-menu-container .sub-menu.level-one > li.menu-item-has-children.active
  > .sub-menu.level-two {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  transition: opacity .2s ease, transform .2s ease, visibility 0s;
}

/* Optional – keep the whole sub-menu container interactive while open */
.mob-menu-container .menu > li.menu-item-has-children.active .sub-menu-container {
  pointer-events: auto;
}



@media all and (max-width: 1640px) {	
.menu-container-inner {
  padding-left: 50px;
  padding-right: 50px;
}
}
@media all and (max-width:1280px) {
.menu-container-inner {
  padding-left: 40px;
  padding-right: 40px;
}
}	
@media all and (max-width: 1156px) {

}
@media all and (max-width: 1035px) {
.mob-menu-btn-container {
  display: flex;
  align-items: center;
}
.menu-container-inner .button-container-inner {
	flex-flow: column;
	gap: 12px 12px;
}
.menu-container-inner {
	padding-left: clamp(40px, 10%, 150px);
	margin-top: 36px;
}
}
@media all and (max-width: 860px) {
.mob-menu-container {
	top: calc(87px + var(--gutter));
}
}
@media all and (max-width: 768px) {
.close-btn {
	right: 30px;
}
.menu-container-inner {
  padding-left: 30px;
  padding-right: 30px;
}
}
@media all and (max-width: 767px) {
.menu-container-inner .button-container-inner {
	align-items: flex-start;
}
}
@media all and (max-width: 700px) {
.menu-container-inner {
	padding-left: 30px;
	padding-right: 30px;
}
}
@media all and (max-width: 480px) {
.menu-container-inner {
  padding-left: 20px;
  padding-right: 20px;
}
.menu-container-inner {
	padding-left: 20px;
	padding-right: 20px;
}
	.mob-menu-container {
		min-width: auto;
	}
.close-btn {
	right: 20px;
}
.menu-container-inner .flyout-logo svg {
	max-width: 230px;
}
.mob-menu-container {
	top: calc(82px + var(--gutter));
}
}
@media all and (max-width: 413px) {
.menu-container-inner .menu-primary-menu-container ul li {
	font-size: 1.5em;
}
.mob-menu-container {
	top: calc(77px + var(--gutter));
}
}
@media all and (max-width: 365px) {
.menu-container-inner .flyout-logo svg {
	max-width: 220px;
}
.menu-container-inner .menu-primary-menu-container ul li {
	font-size: 1.4em;
}
}
/*=======================================*/
/** Contact forms **/
/*=======================================*/
.fluentform.ff-default .ff-el-form-control {
	border: none;
	border-radius: 40px;
	color: var(--font-colour-dark);
}
.fluentform.ff-default .ff-el-input--content {
	color: var(--font-colour-dark);	
}
.fluentform.ff-default .ff-t-container {
	gap: var(--gutter);
}
.fluentform.ff-default .ff-el-group {
  margin-bottom: 20px;
}
.fluentform.ff-default .ff-message-success {
	border: none;
	box-shadow: none;
	margin-top: var(--gutter-l);
	padding: 0;
	text-align: left;
	font-size: var(--font-xl);
}
.fluentform.ff-default input.ff-el-form-control, .fluentform.ff-default select.ff-el-form-control {
	height: 44px;
	font-size: var(--font-l);
}
.fluentform.ff-default textarea.ff-el-form-control {
	height: 100px;
	padding-top: var(--gutter);
	border-radius: 10px;
}
.fluentform.ff-default .ff-el-input--content :is(input, select, textarea){
    background-color: var(--colour-white);
	transition: background-color 0.1s ease;
}
.fluentform.ff-default .ff-el-input--content :is(input, select, textarea):focus{
}
.fluentform.ff-default .ff_submit_btn_wrapper {
	margin-bottom: 0;
}

.form-divider .divider {
height: 1px;
  background: var(--colour-dark-pink);
  margin: var(--gutter) 0;	
}

.fluentform .ff-el-input--label {
  margin-bottom: var(--gutter-xs);
}

.fluentform .ff-el-help-message {
	color: var(--font-colour-dark);
	font-size: var(--font-s);
}
.fluentform .ff-el-help-message.ff_ahm {
	margin-bottom: var(--gutter-s);
	margin-top: 0;
}
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
	color: var(--colour-dark-pink);
	margin-left: 0;
}

.fluentform.ff-default .select-container .ff-el-input--content {
  position: relative;
}
.fluentform.ff-default .select-container .ff-el-input--content select {
  appearance: none;
  background-color: var(--colour-white);
  background-image: none;
	padding-right: 40px;
}
.fluentform.ff-default .select-container .ff-el-input--content::after {
	content: "";
	position: absolute;
	bottom: 14px;
	right: var(--gutter);
	width: 23px;
	height: 13px;
	background: url('/wp-content/uploads/2025/09/down-pointer-dark-pink-icon.svg') no-repeat center;
	background-size: 21px;
	pointer-events: none;
}

.fluentform.ff-default .ff-el-form-check {
	font-size: var(--font-l);
	margin-bottom: var(--gutter);
}
.fluentform.ff-default .ff-el-input--content .ff-el-form-check:last-of-type {
	margin-bottom: 0;
}
.fluentform.ff-default .ff-el-form-check .ff-el-form-check-label {
	display: flex;
	align-items: center;
}
.fluentform.ff-default .ff-el-form-check input {
	height: 26px;
	width: 26px;
	border: none;
	border-radius: 100%;
	margin-right: 16px;
	appearance: none;
	background-color: var(--colour-white);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
}
.fluentform.ff-default .ff-el-form-check.ff_item_selected input::after {
	content: "";
	background: var(--colour-dark-pink);
	height: 18px;
	width: 18px;
	display: block;
	position: absolute;
	border-radius: 100%;
}
.fluentform.ff-default .ff-el-form-check .ff_t_c {
	padding-right: 0;
}

.fluentform.ff-default .ff_submit_btn_wrapper {
	padding-top: var(--gutter-l);
}
.fluentform.ff-default .ff-btn-submit span {
  z-index: 1;
  position: relative;
}

@media all and (max-width: 768px) {
.fluentform.ff-default .ff-el-group {
	margin-bottom: 16px;
}
.fluentform.ff-default .ff_submit_btn_wrapper {
  margin-bottom: 0;
}
}
/*=======================================*/
/** Accordion **/
/*=======================================*/
.accordion-block .accordion-heading {
	margin-bottom: var(--margin-bottom-xxl);
}
.accordion-block .accordion-heading .heading {
margin: 0;
  text-align: center;
}

.accordion {
	display: grid;
}

.accordion-item .accordion-item-inner {
  transition: background 100ms ease;
}

.accordion-item .row-heading {
margin: 0;
}
.accordion-item .row-heading .accordion-button, .accordion-item.no-content .row-heading {
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	gap: var(--gutter-l);
	border-bottom: 1px solid var(--colour-dark-blue);
}
.accordion-item:first-of-type .row-heading .accordion-button {
	border-top: 1px solid var(--colour-dark-blue);
}
.accordion .accordion-item.active + .accordion-item .row-heading {
	border-top: 1px solid var(--colour-dark-blue);
}
.accordion-item .row-heading .heading-text {
	font-size: var(--font-l);
	font-weight: 600;
	color: var(--font-colour-dark-blue);
}
.accordion-item .row-heading .heading-icon {
	height: 16px;
	width: 16px;
	min-width: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.row-heading .heading-icon #accordion-close {
	display: none;
}
.accordion-item.active .row-heading .heading-icon #accordion-open {
	display: none;
}
.accordion-item.active .row-heading .heading-icon #accordion-close {
	display: flex;
}
.accordion-item .row-content-inner {
  padding: 20px;
}
.accordion-item .row-content {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

/*=======================================*/
/** Split heading wrap **/
/*=======================================*/
.split-heading-wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 40px;
	gap: 28px;
}
.split-heading-wrap .heading {
	margin: 0;
}
.bg-light-blue .split-heading-wrap .heading {
 color: var(--colour-white); 
}
.split-heading-wrap .button-container.link {
position: relative;
  top: -6px;	
}
@media all and (max-width: 767px) {
.split-heading-wrap {
	display: grid;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 28px;
	gap: 20px;
}
  .split-heading-wrap .button-container .button-container-inner {
    align-items: flex-start;
  }
}
/*=======================================*/
/** Media text layout **/
/*=======================================*/
.media-text-block {
	overflow: hidden;
	position: relative;
}
.media-text-container {
	z-index: 2;
	position: relative;
}
.style-image-left .media-text-container {
	display: grid;
	grid-template-columns: 62% 38%;
}
.style-image-right .media-text-container {
	display: grid;
	grid-template-columns: 38% 62%;
}
.style-image-right .media-text-container .column-image {
	order: 2;
}

.block.column-widths-38-62 .media-text-container {
	display: grid;
	grid-template-columns: 62% 38%;
}
.block.column-widths-62-38 .media-text-container {
	display: grid;
	grid-template-columns: 62% 38%;
}
.block.column-widths-25-75 .media-text-container {
	display: grid;
	grid-template-columns: minmax(312px, 25%) minmax(0, 1fr);
}
.block.column-widths-75-25 .media-text-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(312px, 25%);
}


.media-text-container .column-image {
	overflow: hidden;
	position: relative;
}
.media-text-container .column-image img {
	width: 100%;
	height: 100%;
	max-height: 650px;
	aspect-ratio: 735/605;
	object-fit: cover;
	border-radius: var(--border-radius);
	overflow: hidden;
}

.media-text-container .kicker {
	margin-bottom: 8px;
}

.media-text-container .column-textarea {
	display: flex;
	flex-flow: column;
	justify-content: center;
}
.style-image-right .media-text-container .column-textarea {
	padding: 0 var(--gutter-xxl) 0 0;
}
.style-image-left .media-text-container .column-textarea {
	padding: 0 0 0 var(--gutter-xxl);
}

.media-text-container .button-container {
}
.media-text-container .button-container-inner {
	justify-content: flex-start;
	margin-top: var(--gutter-xl);
}
:is(.media-text-slider-block,.latest-blog-posts-block) .media-text-container .button-container-inner {
	margin-top: 0;	
}
.media-text-container .slider-arrows-wrap {
	display: flex;
	margin-left: auto;
	margin-right: 0;
	position: absolute;
	bottom: var(--gutter-l);
	right: var(--gutter-l);
}
.media-text-container :is(.swiper-button-prev,.swiper-button-next) {
position: relative;
  top: 0;
  left: 0;
  right: 0;
	margin: 0;
}
.media-text-container .slider-arrows-wrap :is(.swiper-button-prev, .swiper-button-next) {
	height: 32px;
	width: 44px;
	background-size: 40px;
	background-position: center;
}
.media-text-container .slider-arrows-wrap .swiper-button-prev {
	border-right: none;
}
.media-text-container .swiper-button-prev:hover, .media-text-container .swiper-button-next:hover {
  transform: initial;
}


@media all and (max-width: 1280px) {

}
@media all and (max-width: 900px) {
.media-text-container .column-image {
	margin-bottom: var(--gutter-l);
}
.block.style-image-right .media-text-container {
	grid-template-columns: 1fr !important;
}
.style-image-right .media-text-container .column-image {
	order: 1;
}
.media-text-container .column-image img {
	max-height: 625px;
}
.block.style-image-left .media-text-container {
	grid-template-columns: 1fr !important;
}
.media-text-container .column-textarea {
	order: 2;
}
.block .media-text-container .column-textarea {
	padding: 0;
}
}
@media all and (max-width: 768px) {

}
@media all and (max-width: 480px) {
.media-text-container .button-container {
  flex: 1;
}	
	.media-text-container .single-btn-wrap {
		width: 100%;
	}
.media-text-container .slider-arrows-wrap {
	bottom: var(--gutter);
	right: var(--gutter);
}
}
/*=======================================*/
/** Media text columns **/
/*=======================================*/



.columns-container {
margin-left: auto;
  margin-right: auto;
  position: relative;
}
.columns-container .swiper-container {
			overflow: hidden;
}

.columns-container .column {
height: auto;
  display: flex;
  flex-direction: column;
}

.columns-container .column .images-container {
  overflow: hidden;
  margin-bottom: 24px;
  position: relative;
}
.columns-container .column .image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.columns-container.aspect-ratio-1920-1365 .column .image img {
    aspect-ratio: 1920 / 1365;
}
.columns-container.aspect-ratio-1080-1240 .column .image img {
    aspect-ratio: 1080 / 1240;
}

.columns-container .column .heading {
margin-bottom: 0.8rem;
}

.columns-container .column .button-container {
margin-top: auto;
}
.columns-container .column .button-container-inner {
  justify-content: flex-start;
  flex-flow: column;
  margin-top: 30px;
}

.columns-container .slider-arrows-wrap {
	max-width: calc(1366px + 160px);
	margin: 0 auto;
	position: absolute;
	top: 0;
	width: calc(1366px + 160px);
	height: 100%;
	pointer-events: none;
	display: flex;
	align-items: center;
	left: -80px;
	right: 0;
}
.columns-container.slider-arrows-inner {
	position: relative;
	width: 100%;
	pointer-events: none;
}


.columns-container .slider-arrows-wrap.main-slider .swiper-button-disabled {
  display: none;
}
.columns-container .slider-arrows-wrap.main-slider .swiper-button-prev {
  display: none;
}

@media all and (max-width: 1646px) {
.columns-container .slider-arrows-wrap {
	max-width: calc(100% - 80px);
	width: 100%;
	left: 0;
}
.block .columns-container .slider-arrows-wrap .swiper-button-prev {
	background-image: url('/wp-content/uploads/2025/06/OBH-Icons_Neutral_Circle-Arrow-Left.svg');
	left: 0;
}
.block .columns-container .slider-arrows-wrap .swiper-button-next {
  background-image: url('/wp-content/uploads/2025/06/OBH-Icons_Neutral_Circle-Arrow-Right.svg');
  background-position: right;
  right: 0;
}
}

@media all and (max-width: 1280px) {
.columns-container .slider-arrows-wrap {
	max-width: calc(100% - 60px);
}
}
@media all and (max-width: 768px) {
.columns-container .slider-arrows-wrap {
	max-width: calc(100% - 40px);
}
.columns-container .column .button-container-inner {
	align-items: flex-start;
}
}
@media all and (max-width: 520px) {
	.media-text-columns {
		padding-right: 0;
	}
	.media-text-columns .split-heading-wrap {
		padding-right: 20px;
	}
.columns-container .slider-arrows-wrap {
	max-width: 100%;
}
	.block .columns-container .slider-arrows-wrap .swiper-button-prev {
		display: none;
	}
}
/*=======================================*/
/** Single post and single event **/
/*=======================================*/
.post-content-block .entry-content > :not(.accordion-block) {
	text-align: center;
}
.post-content-block .advanced-paragraph-block .block-inner {
  text-align: center;
}

/*=======================================*/
/** Filters **/
/*=======================================*/
.filter-shortcode .fs-wrap {
	width: 100%;
}
.filter-shortcode .fs-label-wrap {
	background-color: var(--colour-grey);
	border: none;
	border-radius: var(--border-radius);
	font-size: var(--font-l);
}
.filter-shortcode .fs-label-wrap .fs-label {
	height: 44px;
	display: flex;
	align-items: center;
	padding: 6px 22px 6px var(--gutter-m);
}
.filter-shortcode .fs-arrow {
	width: 19px;
	height: auto;
	border-left: 0;
	border-right: 0;
	border-top: 0;
	position: absolute;
	top: 0;
	right: var(--gutter);
	bottom: 0;
	margin: auto;
	transition: none;
	background: url('/wp-content/uploads/2025/09/down-pointer-dark-pink-icon.svg') no-repeat right center;
	background-size: contain;
}
/*=======================================*/
/** Team and key staff **/
/*=======================================*/
.people-filters .filter-shortcode {
max-width: 376px;
  width: 100%;	
}
.people-filters {
	display: flex;
	justify-content: center;
	margin-bottom: var(--gutter-xxl);
}
.people-filter {
	display: flex;
	align-items: center;
	gap: var(--gutter-l);
	width: 100%;
	justify-content: center;
}
.people-filters .filter-title {
	color: var(--font-colour-dark-blue);
	margin-bottom: 0;
}

.people-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
	gap: var(--gutter-xl) var(--gutter);
}
.people-grid .person-media img {
	width: 100%;
	border-radius: var(--border-radius);
	aspect-ratio: 1 /1;
}
.people-grid .person-header {
	text-align: center;
	margin-top: var(--gutter-m);
}
.people-grid .person-title {
	margin-bottom: var(--gutter-s);
	font-size: var(--font-l);
	font-weight: 400;
}
.people-grid .person-role {
	color: var(--font-colour-dark-pink);
	font-style: italic;
	font-size: var(--font-s);
}
.people-grid .person-card .button-container {
	margin-top: var(--gutter-m);
}

.people-grid .person-modal {
	max-width: 980px;
	width: 100%;
	padding: var(--gutter);
	border-radius: var(--border-radius);
	overflow: visible;
}
.people-grid .person-modal-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--gutter-xl);
}
.people-grid .person-modal-media img {
	width: 100%;
	border-radius: var(--border-radius);
	aspect-ratio: 1 /1;	
}
.people-grid .person-modal-content {
	padding: var(--gutter) 0;
}
.people-grid .person-modal-role {
	color: var(--font-colour-dark-pink);
	font-style: italic;
	font-size: var(--font-l);
}

@media all and (max-width: 1280px) {
.people-grid .person-header {
	margin-top: var(--gutter);
}
}
@media all and (max-width: 768px) {
.people-grid {
	grid-template-columns: repeat(3, 1fr);
}
}
@media all and (max-width: 520px) {
.people-grid {
	grid-template-columns: repeat(2, 1fr);
}
}
@media all and (max-width: 315px) {
.people-grid {
	grid-template-columns: 1fr;
}
}
/*=======================================*/
/** Post loop filters **/
/*=======================================*/
.post-loop-filter-wrapper {
	display: grid;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--gutter-l);
	grid-template-columns: auto 1fr;
	gap: var(--gutter);
}
.post-loop-filter-wrapper .heading {
	margin-bottom: 0;
}
.post-loop-filter-wrapper .filters {
	display: flex;
	gap: var(--gutter);
	justify-content: flex-end;
}
.post-loop-filter-wrapper .filters .filter {
	display: flex;
	align-items: center;
	border-radius: 40px;
	background: var(--colour-grey);
	max-width: 376px;
	width: 100%;
	gap: 4px;
	padding: 0 22px;
	height: 44px;
	font-size: var(--font-l);
}
.events-loop-block .post-loop-filter-wrapper .filters .filter {
	max-width: 278px;
}
.post-loop-filter-wrapper .filters .filter .label {
	color: var(--colour-dark-pink);
	white-space: nowrap;
}
.post-loop-filter-wrapper .filters .filter .facetwp-facet {
  flex: 1 1 auto;   /* grow to fill the rest */
  min-width: 0;     /* allow shrinking (important for long labels) */
}
/* have the dropdown stretch inside the facet */
.post-loop-filter-wrapper .filters .filter .facetwp-facet .facetwp-dropdown {
  width: 100%;
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  background: url('/wp-content/uploads/2025/09/down-pointer-dark-pink-icon.svg') no-repeat right center;
  background-size: 22px;
}
.post-loop-filter-wrapper .filters .filter :is(.facetwp-facet-post_date,.facetwp-facet-event_date) .facetwp-dropdown {
  background: url('/wp-content/uploads/2025/10/calendar-dark-pink-icon.svg') no-repeat right center;
  background-size: 17px;
}

@media all and (max-width: 1023px) {
.post-loop-filter-wrapper .filters .filter .label {
	display: none;
}
}
@media all and (max-width: 925px) {
.events-loop-block .post-loop-filter-wrapper {
  grid-template-columns: 1fr;
  flex-wrap: wrap;
}
.events-loop-block .post-loop-filter-wrapper .filters {
	justify-content: flex-start;
}	
}
@media all and (max-width: 767px) {
.post-loop-filter-wrapper {
  grid-template-columns: 1fr;
  flex-wrap: wrap;
}
.post-loop-filter-wrapper .filters {
	justify-content: flex-start;
}
.post-loop-filter-wrapper .filters .filter {
	max-width: 50%;
}
}
@media all and (max-width: 680px) {
.events-loop-block .post-loop-filter-wrapper .filters {
	flex-wrap: wrap;
}
.events-loop-block .post-loop-filter-wrapper .filters .filter {
	max-width: 100%;
	width: 100%;
}
}
@media all and (max-width: 550px) {
.post-loop-filter-wrapper .filters {
	flex-wrap: wrap;
}
.post-loop-filter-wrapper .filters .filter {
	max-width: 100%;
	width: 100%;
}
}
/*=======================================*/
/** Post loop card **/
/*=======================================*/
.post-loop-cards-wrapper {
	--grid-layout-horizontal-gap: var(--gutter);
	--grid-column-count: 4;
	--grid-item--min-width: 250px;
	--gap-count: calc(var(--grid-column-count) - 1);
	--total-gap-width: calc(var(--gap-count) * var(--grid-layout-horizontal-gap));
	--grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
	grid-gap: var(--gutter-xxl) var(--grid-layout-horizontal-gap);
}
.post-loop-cards-wrapper .post-loop-card {
display: flex;
  flex-direction: column;
  height: 100%;
}
.post-loop-cards-wrapper .card-content {
	text-align: center;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.post-loop-cards-wrapper .card-image {
	overflow: hidden;
}
.post-loop-cards-wrapper .card-image img {
	border-radius: var(--border-radius);
	aspect-ratio: 278 / 220;
	width: 100%;
	object-fit: cover;
	height: 100%;
}
.post-loop-cards-wrapper .content-wrap {
	flex: 1;
}
.post-loop-cards-wrapper .content-wrap .heading {
	color: var(--font-colour-dark);
	font-size: var(--font-l);
	margin-bottom: var(--gutter-xs);
	margin-top: var(--gutter-m);
}
.post-loop-cards-wrapper .card-date {
	font-style: italic;
	color: var(--font-colour-dark-pink);
	font-size: var(--font-s);
	display: block;
}
.post-loop-cards-wrapper .button-wrap {
	margin-top: var(--gutter-m);
}
.post-loop-cards-wrapper .button-container-inner {
	justify-content: center;
}

@media all and (max-width: 375px) {

}
/*=======================================*/
/** Share donate block **/
/*=======================================*/
.share-donate-block .button-container-inner {
	justify-content: center;
}