@charset "UTF-8";
/*!
Theme Name: Faun Trackway
Author: Harleys
Description: A bespoke site theme for Faun Trackway
Version: 1.1.0
--------------------------------------------------------------*/
:root {
  /* Brand Colour Tokens */
  --colour-a: #809177;
  --colour-b: #6d7674;
  --colour-a: #6c7b63;
  --colour-b: #637270;
  --colour-n0: #ffffff;
  --colour-n1: #faf9f8;
  --colour-n2: #2a2a2a;
  --colour-n3: #000000;
  --colour-n1-100: color-mix(in hsl, var(--colour-n1), var(--colour-n3) 5%);
  --theme-a-colour-background:	var(--colour-a);
  --theme-a-colour-text:	var(--colour-n0);
  --theme-a-colour-border:	var(--colour-n1);
  --theme-b-colour-background:	var(--colour-b);
  --theme-b-colour-text:	var(--colour-n1);
  --theme-b-colour-border:	var(--colour-n1);
  --theme-c-colour-background:	var(--colour-n1);
  --theme-c-colour-text:	var(--colour-n2);
  --theme-c-colour-border:	var(--colour-n2);
  --theme-d-colour-background:	var(--colour-n3);
  --theme-d-colour-text:	var(--colour-n0);
  --theme-d-colour-border:	var(--colour-n0);
  --button-default-colour-background: var(--colour-n3);
  --button-default-colour-text:	var(--colour-n1);
  --button-default-colour-border:	var(--colour-n3);
  --button-type-a-colour-background: var(--theme-a-colour-background);
  --button-type-a-colour-text:	var(--theme-a-colour-text);
  --button-type-a-colour-border:	var(--theme-a-colour-border);
  --button-type-b-colour-background: var(--theme-b-colour-background);
  --button-type-b-colour-text:	var(--theme-b-colour-text);
  --button-type-b-colour-border:	var(--theme-b-colour-border);
  --button-type-c-colour-background: var(--theme-c-colour-background);
  --button-type-c-colour-text:	var(--theme-c-colour-text);
  --button-type-c-colour-border:	var(--theme-c-colour-border);
  /** Semantic Colour Tokens */
  --colour-secondary:	var(--colour-b);
  --footer-background-colour:	var(--colour-n2);
  --footer-background-colour:	var(--colour-b);
  --footer-text-colour:	var(--colour-n1);
  --footer-text-colour--hover:	var(--colour-n3);
  /* Text */
  --text-colour-primary:	var(--colour-n2);
  --text-colour-inverted:	var(--colour-n1);
}
:root .theme-a {
  --theme-colour-background:	var(--theme-a-colour-background);
  --theme-colour-text:	var(--theme-a-colour-text);
  --theme-colour-border:	var(--theme-a-colour-border);
}
:root .theme-b {
  --theme-colour-background:	var(--theme-b-colour-background);
  --theme-colour-text:	var(--theme-b-colour-text);
  --theme-colour-border:	var(--theme-b-colour-border);
}
:root .theme-c {
  --theme-colour-background:	var(--theme-c-colour-background);
  --theme-colour-text:	var(--theme-c-colour-text);
  --theme-colour-border:	var(--theme-c-colour-border);
}
:root .theme-d {
  --theme-colour-background:	var(--theme-d-colour-background);
  --theme-colour-text:	var(--theme-d-colour-text);
  --theme-colour-border:	var(--theme-d-colour-border);
}

:root {
  --font-family-primary: "FrutigerLTPro", Times, serif;
  --font-weight-ultra-black: 1000; /* ultra Black */
  --font-weight-extra-black: 950; /* Extra Black */
  --font-weight-black: 900; /* Black (Heavy) */
  /* --font-weight-extra-bold: 800; Extra Bold (Ultra Bold) */
  --font-weight-bold: 700; /* Bold */
  /* --font-weight-semi-bold: 600; Semi Bold (Demi Bold) */
  /* --font-weight-medium: 500; Medium */
  --font-weight-normal: 400; /* Normal */
  --font-weight-light: 300; /* Light */
  /* --font-weight-extra-light: 200; Extra Light (Ultra Light) */
  /* --font-weight-thin: 100; Thin (Hairline) */
}

:root {
  --content-column-max-width: 107.5rem;
  --content-column-padding: 1.5rem;
  --content-column-padding: 3.5rem;
  /** Base Spacing Scale */
  --base-spacing-100:	.5rem; /* 8px */
  --base-spacing-200:	1rem; /* 16px */
  --base-spacing-300:	1.5rem; /* 24px */
  --base-spacing-400:	2rem; /* 32px */
  --base-spacing-500:	3rem; /* 48px */
  --base-spacing-600:	4rem; /* 64px */
  --base-spacing-700:	5rem; /* 80px */
  --base-spacing-800:	6rem; /* 96px */
  --base-spacing-900:	8rem; /* 128px */
  --base-spacing-1000:	10rem; /* 160px */
  /** Semantic Spacing Tokens */
  --spacing-padding-small:	var(--base-spacing-300);
  --spacing-padding-medium:	var(--base-spacing-600);
  --spacing-padding-large:	var(--base-spacing-700);
  --spacing-margin-small:	var(--base-spacing-300);
  --spacing-margin-medium:	var(--base-spacing-600);
  --spacing-margin-large:	var(--base-spacing-700);
  --section-margin-small:	var(--base-spacing-300);
  --section-margin-medium:	var(--base-spacing-600);
  --section-margin-large:	var(--base-spacing-700);
  --section-padding-small:	var(--base-spacing-300);
  --section-padding-medium:	var(--base-spacing-600);
  --section-padding-large:	var(--base-spacing-700);
  --block-margin-small:	var(--base-spacing-100);
  --block-margin-medium:	var(--base-spacing-200);
  --block-margin-large:	var(--base-spacing-400);
  --block-padding-small:	var(--base-spacing-200);
  --block-padding-medium:	var(--base-spacing-300);
  --block-padding-large:	var(--base-spacing-400);
}
@media (width < 768px) {
  :root {
    --content-column-padding: 1.5rem;
  }
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  container: row/inline-size;
}
.row > br {
  display: none;
}
.row .col > * :first-child {
  margin-top: 0;
}
.row .col > * :last-child {
  margin-bottom: 0;
}
.row .col-1 {
  grid-column: span 1;
}
.row .col-2 {
  grid-column: span 2;
}
.row .col-3 {
  grid-column: span 3;
}
.row .col-4 {
  grid-column: span 4;
}
.row .col-5 {
  grid-column: span 5;
}
.row .col-6 {
  grid-column: span 6;
}
.row .col-7 {
  grid-column: span 7;
}
.row .col-8 {
  grid-column: span 8;
}
.row .col-9 {
  grid-column: span 9;
}
.row .col-10 {
  grid-column: span 10;
}
.row .col-11 {
  grid-column: span 11;
}
.row .col-12 {
  grid-column: span 12;
}
.row .col-mobile-1 {
  grid-column: span 1;
}
.row .col-mobile-2 {
  grid-column: span 2;
}
.row .col-mobile-3 {
  grid-column: span 3;
}
.row .col-mobile-4 {
  grid-column: span 4;
}
.row .col-mobile-5 {
  grid-column: span 5;
}
.row .col-mobile-6 {
  grid-column: span 6;
}
.row .col-mobile-7 {
  grid-column: span 7;
}
.row .col-mobile-8 {
  grid-column: span 8;
}
.row .col-mobile-9 {
  grid-column: span 9;
}
.row .col-mobile-10 {
  grid-column: span 10;
}
.row .col-mobile-11 {
  grid-column: span 11;
}
.row .col-mobile-12 {
  grid-column: span 12;
}
@container row (width > 768px) {
  .row .col-desktop-1 {
    grid-column: span 1;
  }
  .row .col-desktop-2 {
    grid-column: span 2;
  }
  .row .col-desktop-3 {
    grid-column: span 3;
  }
  .row .col-desktop-4 {
    grid-column: span 4;
  }
  .row .col-desktop-5 {
    grid-column: span 5;
  }
  .row .col-desktop-6 {
    grid-column: span 6;
  }
  .row .col-desktop-7 {
    grid-column: span 7;
  }
  .row .col-desktop-8 {
    grid-column: span 8;
  }
  .row .col-desktop-9 {
    grid-column: span 9;
  }
  .row .col-desktop-10 {
    grid-column: span 10;
  }
  .row .col-desktop-11 {
    grid-column: span 11;
  }
  .row .col-desktop-12 {
    grid-column: span 12;
  }
}
.row.gap-0 {
  gap: 0;
}
.row.gap-1 {
  gap: 0.5rem;
}
.row.gap-2 {
  gap: 1rem;
}
.row.gap-3 {
  gap: 1.5rem;
}
.row.gap-4 {
  gap: 2rem;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
.custom-select__trigger,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select,
.custom-select__trigger {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  box-sizing: border-box;
}

/** Put all typography related styles here */
:root {
  font-size: 16px; /* Base font size */
}
@media (width > 2000px) {
  :root {
    font-size: 20px; /* Larger base font size for very large screens */
  }
}

/** Headings */
body {
  font-family: var(--font-family-primary);
  color: var(--text-colour-primary);
}

h1, h2, h3, h4, h5, h6,
.heading-1, .heading-2, .heading-3, .heading-4, .heading-5, .heading-6 {
  clear: both;
  text-transform: uppercase;
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-black);
}
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p,
.heading-1 p, .heading-2 p, .heading-3 p, .heading-4 p, .heading-5 p, .heading-6 p {
  all: inherit;
}

p:first-child, h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, ul:first-child, ol:first-child, li:first-child, blockquote:first-child, pre:first-child {
  margin-top: 0;
}
p:last-child, h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, ul:last-child, ol:last-child, li:last-child, blockquote:last-child, pre:last-child {
  margin-bottom: 0;
}

/* Headings */
h1, .heading-1 {
  font-size: 4.0625rem; /* 65px */
  line-height: 1.1;
  margin-bottom: 0.83em;
}
@media (width < 768px) {
  h1, .heading-1 {
    font-size: 2rem; /* 32px */
  }
}

h2, .heading-2 {
  font-size: 3.4375rem; /* 55px */
  line-height: 1.1;
  margin-bottom: 0.83em;
}
@media (width < 768px) {
  h2, .heading-2 {
    font-size: 1.875rem; /* 30px */
  }
}

h3, .heading-3 {
  font-size: 2rem; /* 32px */
  line-height: 1.2;
}
@media (width < 768px) {
  h3, .heading-3 {
    font-size: 1.5rem; /* 24px */
  }
}

h4, .heading-4 {
  font-size: 1.125rem; /* 18px */
  line-height: 1.2;
}
@media (width < 768px) {
  h4, .heading-4 {
    font-size: 1rem; /* 16px */
  }
}

h5, .heading-5 {
  font-size: 1rem; /* 16px */
  line-height: 1.3;
}
@media (width < 768px) {
  h5, .heading-5 {
    font-size: 0.875rem; /* 14px */
  }
}

h6, .heading-6 {
  font-size: 0.875rem; /* 14px */
  line-height: 1.3;
}
@media (width < 768px) {
  h6, .heading-6 {
    font-size: 0.75rem; /* 12px */
  }
}

.page-intro, .body-large {
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: var(--font-weight-light);
}
.page-intro b, .page-intro strong, .body-large b, .body-large strong {
  font-weight: var(--font-weight-black);
}
@media (width < 768px) {
  .page-intro, .body-large {
    font-size: 1.125rem; /* 18px */
  }
}

b, strong {
  font-weight: var(--font-weight-bold);
}

i {
  font-style: italic;
}

.colour-primary {
  color: var(--colour-a);
}

.colour-secondary {
  color: var(--colour-b);
}

.colour-light {
  color: var(--colour-n1);
}

.max-width-xs {
  max-width: 20rem;
}

.max-width-sm {
  max-width: 40rem;
}

.max-width-md {
  max-width: 58rem;
}

.max-width-lg {
  max-width: 76rem;
}

.max-width-xl {
  max-width: 94rem;
}

[class*=max-width-].align-left {
  margin-right: auto;
}

[class*=max-width-].align-right {
  margin-left: auto;
}

[class*=max-width-].align-center {
  margin-left: auto;
  margin-right: auto;
}

@media (width < 768px) {
  .mobile-align-left {
    text-align: left;
  }
  .mobile-align-right {
    text-align: right;
  }
  .mobile-align-center {
    text-align: center;
  }
}
.font-weight-100 {
  font-weight: var(--font-weight-thin);
}

.font-weight-200 {
  font-weight: var(--font-weight-extralight);
}

.font-weight-300 {
  font-weight: var(--font-weight-light);
}

.font-weight-400 {
  font-weight: var(--font-weight-normal);
}

.font-weight-500 {
  font-weight: var(--font-weight-medium);
}

.font-weight-600 {
  font-weight: var(--font-weight-semibold);
}

.font-weight-700 {
  font-weight: var(--font-weight-bold);
}

.font-weight-800 {
  font-weight: var(--font-weight-extrabold);
}

.font-weight-900 {
  font-weight: var(--font-weight-black);
}

.font-weight-950 {
  font-weight: var(--font-weight-extra-black);
}

.font-weight-1000 {
  font-weight: var(--font-weight-ultra-black);
}

p {
  font-size: 1.375rem; /* 22px */
  line-height: 1.375; /* 27.5px */
  font-weight: var(--font-weight-light);
}

p.body-small {
  font-size: 1rem; /* 16px */
  line-height: 1.375; /* 22px */
  font-weight: var(--font-weight-normal);
}

li {
  font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-light);
  line-height: 1.6; /* 25.6px */
}

main li {
  font-size: 1.375rem; /* 22px */
  line-height: 1.375; /* 27.5px */
}

small {
  font-size: 0.75rem; /* 12px */
  font-weight: var(--font-weight-normal);
  line-height: 1.6; /* 19.2px */
}

* {
  text-wrap: pretty;
}

b {
  font-weight: var(--font-weight-bold);
}

strong {
  font-weight: var(--font-weight-black);
}

em {
  font-style: italic;
}

i {
  font-style: italic;
}

pre {
  background: #eee;
  color: #181818;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}
pre > div {
  margin: 1rem;
  outline: 2px dashed steelblue;
  padding: 1rem;
}
pre div {
  white-space: normal;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

ul.list li {
  font-family: var(--font-family-primary);
  font-size: 1rem;
  line-height: 1.375;
  font-weight: var(--font-weight-normal);
  list-style-type: square;
  margin-block-start: 0.375em;
}
ul.list li li {
  list-style-type: none;
  text-indent: -1ch;
}
ul.list li li:before {
  content: "–";
  display: inline-block;
  margin-right: 1ch;
  font-weight: 700;
}

:root {
  --z-index-git-tag: 500;
  --z-index-header: 1000;
  --z-index-footer: 1000;
  --z-index-modal: 10000;
  --header-height: 118px;
}

.target-this {
  outline: 2px dashed red;
}
.target-this > * {
  outline: 2px dashed blue;
}

body {
  background-color: var(--colour-n0);
}

.content-column {
  width: 100%;
  max-width: var(--content-column-max-width);
  margin-inline: auto;
  padding-inline: var(--content-column-padding);
  display: flow-root;
}
.content-column > .alignfull, .content-column * > .alignfull {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.content-column.sm {
  max-width: calc(var(--content-column-max-width) * 0.75);
}

.circled-icon {
  --size: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background-color: var(--fill-color, currentColor);
}
.circled-icon i {
  color: var(--icon-color, var(--colour-secondary));
  font-size: var(--font-size, 1.5rem);
}

.admin-warning {
  background-color: #f8d7da;
  color: #721c24;
  padding: 20px;
  border-radius: 5px;
  margin: 20px 0;
}
.admin-warning *:first-child {
  margin-top: 0;
}
.admin-warning *:last-child {
  margin-bottom: 0;
}

.admin-placeholder {
  background-color: limegreen;
  color: #ffffff;
  border: 4px dashed rgba(255, 255, 255, 0.5333333333);
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin: 2rem auto;
  width: max-content;
  display: flex;
  align-items: center;
  justify-content: center;
}
.admin-placeholder *:first-child {
  margin-top: 0;
}
.admin-placeholder *:last-child {
  margin-bottom: 0;
}

ul {
  list-style: square;
  padding-left: 1em;
}
ul li::marker {
  color: currentColor;
}

ol {
  list-style: decimal;
}

#wpadminbar {
  opacity: 0.4;
}
#wpadminbar ~ .site-header + .site-main {
  padding-top: calc(var(--header-height, 5.875rem) - 2rem);
}

.site-header {
  --color-active: var(--colour-b);
  --background-colour: var(--colour-n0);
  --fade-duration: .2s;
  position: fixed;
  top: 0;
  z-index: var(--z-index-header);
  width: 100%;
  /**
  * Mobile Header Adjustments
  */
  /**
  * Mobile Menu Breakpoint
  */
}
.site-header + .site-main {
  padding-top: var(--header-height, 5.875rem);
}
.site-header .site-branding {
  flex: 0 1 auto;
}
.site-header .site-logo {
  width: 16rem;
  height: auto;
  flex: 1 0;
}
.site-header .site-header-row-a {
  padding: 1rem 0;
  background-color: var(--background-colour);
  position: relative;
}
.site-header .site-header-row-a .content-column .header-grid {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
}
.site-header .site-header-row-a .content-column .header-grid #header-nav {
  flex: 0 0 auto;
}
.site-header .site-header-row-a .content-column .header-grid .group-site-branding {
  display: flex;
  align-items: center;
}
.site-header .site-header-row-a .content-column .header-grid .group-site-navigation {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-end;
}
.site-header .site-header-row-b .mobile-header {
  display: none;
}
.site-header .site-header-row-b .mobile-header .header-secondary-menu .button, .site-header .site-header-row-b .mobile-header .header-secondary-menu input[type=submit], .site-header .site-header-row-b .mobile-header .header-secondary-menu .search-form .search-submit, .search-form .site-header .site-header-row-b .mobile-header .header-secondary-menu .search-submit {
  width: 100%;
}
@media (width < 1280px) {
  .site-header .site-logo {
    width: 10rem;
    max-width: 100%;
  }
  .site-header .site-header-row-a .header-grid {
    align-items: start;
  }
  .site-header .site-header-row-a .header-secondary-menu {
    display: none;
  }
  .site-header .site-header-row-b .mobile-header {
    display: block;
  }
}
.site-header .header-secondary-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.site-header .header-secondary-menu .button, .site-header .header-secondary-menu input[type=submit], .site-header .header-secondary-menu .search-form .search-submit, .search-form .site-header .header-secondary-menu .search-submit {
  text-align: center;
}
@media (width < 1280px) {
  .site-header #header-nav, .site-header .desktop-region-select {
    display: none;
  }
}
@media (width >= 1280px) {
  .site-header .mobile-menu-toggle {
    display: none;
  }
}

body.mobile-menu-open {
  overflow: hidden;
}

#header-nav {
  display: inline-flex;
  position: relative;
}
@media (width < 1024px) {
  #header-nav {
    display: none;
  }
}
#header-nav ul {
  margin: 0;
  list-style: none;
}
#header-nav ul li:before {
  content: "";
  display: none;
}
#header-nav a {
  color: currentColor;
  text-decoration: none;
  font-weight: bold;
  line-height: 1;
}
#header-nav ul.header-nav-bar {
  display: inline-flex;
  justify-content: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#header-nav ul.header-nav-bar > li {
  font-size: 1rem;
  position: relative;
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  font-style: normal;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  transition: all var(--fade-duration) ease;
}
#header-nav ul.header-nav-bar > li:hover, #header-nav ul.header-nav-bar > li.current-menu-item {
  background-color: var(--color-active);
}
#header-nav ul.header-nav-bar > li:hover > a, #header-nav ul.header-nav-bar > li:hover > .icon, #header-nav ul.header-nav-bar > li.current-menu-item > a, #header-nav ul.header-nav-bar > li.current-menu-item > .icon {
  color: var(--colour-n0);
}
#header-nav ul.header-nav-bar > li > a {
  padding: calc(0.75rem + 2px) 1rem;
  display: inline-flex;
  text-transform: uppercase;
  font-weight: bold;
}
#header-nav ul.header-nav-bar > li > a:hover, #header-nav ul.header-nav-bar > li > a.active {
  color: var(--colour-n0);
}
#header-nav ul.header-nav-bar > li.menu-item-has-children > a {
  padding-right: 0.75rem;
}
#header-nav ul.header-nav-bar > li > .icon {
  padding: 0.75rem 1rem 0.75rem 0.75rem;
}
#header-nav .drop-down-menu {
  /* outline: 1px dashed tomato; */
  margin: 0;
  padding: 0;
  position: absolute;
  top: 100%;
  left: 0;
  max-width: 60dvw;
  width: max-content;
  z-index: var(--z-index-header);
  /* padding: 1rem; */
  display: grid;
  /* gap: 1rem; */
  grid-template-columns: auto 1fr;
  grid-template-areas: "bucket-left bucket-right";
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: all var(--fade-duration) ease;
  /* .divider {
  	grid-area: divider;
  	width: 1px;
  	height: 100%;
  	background-color: currentColor;
  } */
}
#header-nav .drop-down-menu.right {
  left: auto;
  right: 0;
}
#header-nav .drop-down-menu.active {
  visibility: visible;
  opacity: 1;
}
#header-nav .drop-down-menu.active .bucket-left {
  pointer-events: all;
}
#header-nav .bucket-left, #header-nav .bucket-right {
  background-color: color-mix(in hsl, transparent, var(--background-colour) 90%);
}
#header-nav .bucket-left > .level-container, #header-nav .bucket-right > .level-container {
  padding: 0.25rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
#header-nav .bucket-left > .level-container .menu-item, #header-nav .bucket-right > .level-container .menu-item {
  padding-block: 0.25rem;
}
#header-nav .bucket-left > .level-container .menu-item.current-menu-item, #header-nav .bucket-right > .level-container .menu-item.current-menu-item {
  background-color: var(--color-active);
  color: var(--colour-n0);
}
#header-nav .bucket-left {
  grid-area: bucket-left;
  /* outline: 2px dashed red; */
}
#header-nav .bucket-left > .level-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#header-nav .bucket-left > .level-container > .menu-item {
  padding: 0;
  padding: 0.25rem 0.75rem;
  margin: 0;
  text-transform: uppercase;
  font-weight: bold;
  transition: all var(--fade-duration) ease;
}
#header-nav .bucket-left > .level-container > .menu-item.active {
  /* color: var(--color-active); */
  color: var(--colour-n0);
  background-color: var(--color-active);
}
#header-nav .bucket-left > .level-container > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
#header-nav .bucket-left > .level-container > li a {
  display: inline-flex;
  padding: 0.5em;
  padding-top: 0.6em;
}
#header-nav .bucket-left > .level-container > li a:hover, #header-nav .bucket-left > .level-container > li a.active {
  color: var(--colour-n0);
}
#header-nav .bucket-left > .level-container > li > .icon {
  line-height: 1rem;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5em;
}
#header-nav .bucket-right {
  grid-area: bucket-right;
  padding-left: 1rem;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  /* transition: all var(--fade-duration) ease; */
  height: 0;
}
#header-nav .bucket-right.active {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  height: auto;
}
#header-nav .bucket-right .level-container {
  padding: 0;
}
#header-nav .bucket-right > .level-container > li {
  padding: 0;
  margin: 0;
}
#header-nav .bucket-right [class*=bucket-right-child-level-] {
  /* padding-left: .5rem; */
  /* .level-container {
  	padding-left: .5em;
  } */
}
#header-nav .bucket-right [class*=bucket-right-child-level-] > .level-container > .menu-item {
  padding: 0;
}
#header-nav .bucket-right [class*=bucket-right-child-level-] > .level-container > .menu-item > a {
  display: inline-flex;
  width: 100%;
  padding: 0.75rem;
  padding-left: calc(0.75rem + 0.75rem * (var(--menu-depth) - 1));
  transition: all var(--fade-duration) ease;
}
#header-nav .bucket-right [class*=bucket-right-child-level-] > .level-container > .menu-item:hover > a, #header-nav .bucket-right [class*=bucket-right-child-level-] > .level-container > .menu-item.active > a {
  color: var(--colour-n0);
  background-color: var(--color-active);
}
#header-nav .bucket-right .bucket-right-child-level-1 > .level-container {
  padding-left: 0;
}
#header-nav .bucket-right .bucket-right-child-level-2 ul li a {
  font-weight: 300;
}

.mobile-menu-toggle {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0.625rem;
}
.mobile-menu-toggle .burger-icon {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
}
.mobile-menu-toggle .burger-icon .line {
  width: 1.5625rem;
  height: 0.1875rem;
  background-color: var(--colour-n2);
  border-radius: 0.125rem;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
body.mobile-menu-open .mobile-menu-toggle .burger-icon .line:nth-child(1) {
  transform: translateY(0.5125rem) rotate(45deg);
}
body.mobile-menu-open .mobile-menu-toggle .burger-icon .line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
body.mobile-menu-open .mobile-menu-toggle .burger-icon .line:nth-child(3) {
  transform: translateY(-0.5125rem) rotate(-45deg);
}

#mobile-back-button {
  color: var(--colour-n2);
  pointer-events: none;
  opacity: 0;
  border: 1px solid transparent;
  background: none;
  padding: 0.75rem 1rem;
  cursor: pointer;
  transition: opacity 0.3s ease, background 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
#mobile-back-button.active {
  pointer-events: all;
  opacity: 1;
}
#mobile-back-button:hover {
  background-color: var(--colour-accent);
  color: white;
}
#mobile-back-button:before {
  content: "\f053";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.75em;
}

#mobile-menu {
  --colour-accent: var(--colour-b);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  background-color: white;
  position: fixed;
  opacity: 1;
  top: var(--header-height, 5.875rem);
  left: 0;
  height: calc(100vh - var(--header-height, 5.875rem));
  width: 100%;
  z-index: var(--z-index-mobile-menu);
  overflow: auto;
}
#mobile-menu[aria-hidden=false] {
  display: flex;
}
#mobile-menu[aria-hidden=true] {
  display: none;
}
#mobile-menu .mobile-menu-footer {
  text-align: center;
  padding: 0.75rem;
  color: #888;
  font-size: 0.75rem;
}

.mobile-nav {
  --link-colour: #333;
  --link-colour-hover: #fff;
  --link-hover-background: var(--colour-accent);
  --label-colour: #333;
  --label-colour-hover: #fff;
  --label-hover-background: var(--colour-accent);
  --item-spacing: .5rem;
  --item-padding: 1rem;
  --background-colour: white;
  position: relative;
  padding: 0;
  margin: 0;
  width: 100%;
  flex: 1 1 auto;
  overflow: hidden auto;
}
.mobile-nav li {
  list-style: none;
  width: 100%;
  cursor: pointer;
}
.mobile-nav, .mobile-nav .sub-menu {
  display: flex;
  flex-direction: column;
  gap: var(--item-spacing);
  cursor: default;
  background-color: var(--background-colour);
}
.mobile-nav ul.sub-menu {
  margin: 0;
  padding: 0;
  width: 100%;
  max-height: 100%;
  overflow: hidden auto;
  /* Hide scrollbar for Chrome, Safari and Opera */
  /* Hide scrollbar for IE, Edge and Firefox */
}
.mobile-nav ul.sub-menu::-webkit-scrollbar {
  display: none;
}
.mobile-nav ul.sub-menu {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
.mobile-nav ul.sub-menu a + .sub-menu {
  margin-top: var(--item-spacing);
}
.mobile-nav ul.sub-menu[data-depth="1"], .mobile-nav ul.sub-menu[data-depth="2"] {
  position: absolute;
  top: 0;
  left: 0;
  min-height: 100%;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.mobile-nav ul.sub-menu[data-depth="1"].active, .mobile-nav ul.sub-menu[data-depth="2"].active {
  transform: translateX(0);
}
.mobile-nav ul.sub-menu:not(.mobile-nav ul.sub-menu[data-depth="1"], .mobile-nav ul.sub-menu[data-depth="2"]) li > a {
  --indent: calc(var(--depth) - 1);
  padding-left: calc(var(--indent) * var(--item-padding));
}
.mobile-nav .menu-button {
  border: none;
  background: none;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.mobile-nav .menu-button:after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.mobile-nav a, .mobile-nav .menu-button {
  text-decoration: none;
  color: var(--link-colour);
  padding: var(--item-padding);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--item-spacing);
  line-height: 1.4;
  font-size: 1rem;
  cursor: pointer;
}
.mobile-nav a, .mobile-nav a > span, .mobile-nav a:after, .mobile-nav .menu-button, .mobile-nav .menu-button > span, .mobile-nav .menu-button:after {
  transition: background 0.3s ease, color 0.3s ease;
}
.mobile-nav a:hover, .mobile-nav .menu-button:hover {
  background: var(--label-hover-background);
}
.mobile-nav a:hover, .mobile-nav a:hover > span, .mobile-nav a:hover:after, .mobile-nav .menu-button:hover, .mobile-nav .menu-button:hover > span, .mobile-nav .menu-button:hover:after {
  color: var(--label-colour-hover);
}
.mobile-nav .sub-menu-heading a {
  display: flex;
  font-size: 1.25em;
}

footer.site-footer {
  background-color: var(--footer-background-colour);
  color: var(--footer-text-colour);
  padding: 2rem 0 calc(var(--content-column-padding) + 4.5rem);
}
footer.site-footer p {
  font-size: 1rem; /* 16px */
  line-height: 1.375; /* 22px */
  font-weight: var(--font-weight-normal);
}
footer.site-footer .content-column {
  display: grid;
  gap: 1rem;
  justify-items: start;
}
footer.site-footer .footer-nav {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin-bottom: 1rem;
}
footer.site-footer a {
  color: inherit;
  text-decoration: none;
}
footer.site-footer a:hover {
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 0.3em;
}
footer.site-footer .item {
  display: flex;
  gap: 0.75rem;
  align-items: start;
}
@media (width > 768px) {
  footer.site-footer .content-column {
    display: grid;
    grid-template-areas: "nav newsletters" "contact newsletters" "reg socials";
    grid-template-columns: auto 1fr;
    gap: 1rem;
    justify-items: start;
  }
  footer.site-footer .content-column .footer-nav {
    grid-area: nav;
    display: inline-flex;
    flex-direction: row;
    justify-content: start;
    align-self: start;
    align-items: center;
    gap: 1rem 3rem;
    flex-wrap: wrap;
  }
  footer.site-footer .content-column .footer-contact {
    grid-area: contact;
  }
  footer.site-footer .content-column .footer-reg {
    grid-area: reg;
  }
  footer.site-footer .content-column .footer-newsletters {
    grid-area: newsletters;
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 0.5rem;
  }
  footer.site-footer .content-column .footer-newsletters p {
    margin: 0;
  }
  footer.site-footer .content-column .footer-socials {
    grid-area: socials;
  }
  footer.site-footer .content-column .footer-newsletters, footer.site-footer .content-column .footer-socials {
    justify-self: end;
    text-align: right;
  }
}
footer.site-footer .footer-socials {
  display: inline-flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 1.375rem;
}
footer.site-footer .footer-socials a {
  color: inherit;
  border-radius: 50%;
  height: 1.6em;
  width: 1.6em;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}
footer.site-footer .footer-socials a:hover {
  scale: 1.2;
}
footer.site-footer .footer-socials a:focus {
  outline: 2px solid var(--footer-text-colour--hover);
  outline-offset: 2px;
}
footer.site-footer .footer-socials a i {
  font-size: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  transform: translate(-50%, -50%);
}
footer.site-footer .footer-socials a i[class*=facebook] {
  transform: translate(-50%, -50%) scale(1.4) translate(-4%, 13%);
}

hr {
  background-color: var(--colour-n3, black);
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img, video, svg, figure {
  height: auto;
  max-width: 100%;
  display: block;
}

figure {
  margin: 0 0 1em 0;
  max-width: 100% !important;
  width: auto !important;
}
figure figcaption {
  font-size: 0.875rem;
  text-align: center;
  margin-top: 0.5em;
}

/* Links
-------------------------------------------------------------- */
a:where(:not(.no-link-style)) {
  --link-default-colour: var(--colour-a);
  color: var(--colour-accent, var(--link-default-colour));
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-thickness: 0.125em;
  text-underline-offset: 0.175em;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
a:where(:not(.no-link-style)):hover, a:where(:not(.no-link-style)):focus, a:where(:not(.no-link-style)):active {
  color: color-mix(in hsl, var(--colour-accent, var(--link-default-colour)), black 20%);
}
a:where(:not(.no-link-style)):focus {
  outline: thin dotted;
}
a:where(:not(.no-link-style)):hover, a:where(:not(.no-link-style)):active {
  outline: 0;
}

/* Forms
-------------------------------------------------------------- */
button {
  background-color: var(--button-default-colour-background);
  color: var(--button-default-colour-text);
}

.button, input[type=submit], .search-form .search-submit {
  --button-text-colour: var(--button-default-colour-text);
  --button-colour: var(--button-default-colour-background);
  --button-border-colour: var(--button-default-colour-border);
  --mixer-colour-hover: var(--colour-n0);
  --mixer-colour-active: var(--colour-n3);
  border-width: 0.125rem;
  border-style: solid;
  color: var(--button-text-colour);
  background-color: var(--button-colour);
  border-color: var(--button-border-colour);
  cursor: pointer;
  padding: 0.75rem 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 900;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  transition: all 0.2s ease;
}
.button:focus, input[type=submit]:focus, .search-form .search-submit:focus {
  box-shadow: 0 0 0 0.125rem rgba(0, 123, 255, 0.25);
}
.button.primary, input[type=submit], .search-form .search-submit {
  --button-colour: var(--colour-a);
  --button-text-colour: var(--colour-n0);
  --button-border-colour: var(--colour-a);
  --mixer-colour-hover: var(--colour-n0);
  --mixer-colour-active: var(--colour-n3);
}
.button.secondary, input.secondary[type=submit], .search-form .secondary.search-submit {
  --button-colour: var(--colour-b);
  --button-text-colour: var(--colour-n1);
  --button-border-colour: var(--colour-b);
  --mixer-colour-hover: var(--colour-n0);
  --mixer-colour-active: var(--colour-n3);
}
.button.outline, input.outline[type=submit], .search-form .outline.search-submit, .button.outlined, input.outlined[type=submit], .search-form .outlined.search-submit {
  --button-colour: transparent;
  --button-text-colour: var(--colour-n2);
  --button-border-colour: var(--colour-n2);
  --mixer-colour-active: var(--colour-n3);
}
.button.outline:hover, input.outline[type=submit]:hover, .search-form .outline.search-submit:hover, .button.outlined:hover, input.outlined[type=submit]:hover, .search-form .outlined.search-submit:hover {
  --button-border-colour: var(--colour-n2);
  --button-colour: var(--colour-n2);
  --button-text-colour: var(--colour-n0);
}
.button.outline-inverted, input.outline-inverted[type=submit], .search-form .outline-inverted.search-submit, .button.outlined-inverted, input.outlined-inverted[type=submit], .search-form .outlined-inverted.search-submit {
  --button-colour: transparent;
  --button-text-colour: var(--colour-n1);
  --button-border-colour: var(--colour-n1);
  --mixer-colour-active: var(--colour-n3);
}
.button.outline-inverted:hover, input.outline-inverted[type=submit]:hover, .search-form .outline-inverted.search-submit:hover, .button.outlined-inverted:hover, input.outlined-inverted[type=submit]:hover, .search-form .outlined-inverted.search-submit:hover {
  --button-border-colour: var(--colour-n1);
  --button-colour: var(--colour-n1);
  --button-text-colour: var(--colour-n2);
}
.button.ghost, input.ghost[type=submit], .search-form .ghost.search-submit {
  --button-colour: transparent;
  --button-text-colour: var(--colour-n2);
  --button-border-colour: transparent;
  --mixer-colour-active: var(--colour-n0);
}
.button.ghost:hover, input.ghost[type=submit]:hover, .search-form .ghost.search-submit:hover {
  --button-border-colour: var(--colour-n2);
  --button-colour: var(--colour-n2);
  --button-text-colour: var(--colour-n1);
  background-color: var(--button-colour);
  border-color: var(--button-border-colour);
  color: var(--button-text-colour);
}
.button.ghost-inverted, input.ghost-inverted[type=submit], .search-form .ghost-inverted.search-submit {
  --button-colour: transparent;
  --button-text-colour: var(--colour-n1);
  --button-border-colour: transparent;
  --mixer-colour-active: var(--colour-n3);
}
.button.ghost-inverted:hover, input.ghost-inverted[type=submit]:hover, .search-form .ghost-inverted.search-submit:hover {
  --button-border-colour: var(--colour-n1);
  --button-colour: var(--colour-n1);
  --button-text-colour: var(--colour-n2);
  background-color: var(--button-colour);
  border-color: var(--button-border-colour);
  color: var(--button-text-colour);
}
.button:hover, input[type=submit]:hover, .search-form .search-submit:hover, .button.primary:hover, .button.secondary:hover {
  background-color: color-mix(in hsl, var(--button-colour), var(--mixer-colour-hover) 20%);
  border-color: color-mix(in hsl, var(--button-border-colour), var(--mixer-colour-hover) 20%);
  color: var(--button-text-colour);
}
.button:active, input[type=submit]:active, .search-form .search-submit:active, .button.primary:active, .button.secondary:active {
  background-color: color-mix(in hsl, var(--button-colour), var(--mixer-colour-active) 40%);
  border-color: color-mix(in hsl, var(--button-border-colour), var(--mixer-colour-active) 40%);
  color: var(--button-text-colour);
}
.button.outlined:hover, input.outlined[type=submit]:hover, .search-form .outlined.search-submit:hover, .button.outline:hover, input.outline[type=submit]:hover, .search-form .outline.search-submit:hover, .button.outline-inverted:hover, input.outline-inverted[type=submit]:hover, .search-form .outline-inverted.search-submit:hover, .button.outlined-inverted:hover, input.outlined-inverted[type=submit]:hover, .search-form .outlined-inverted.search-submit:hover {
  background-color: var(--button-colour);
  border-color: var(--button-border-colour);
  color: var(--button-text-colour);
}
.button.outlined:active, input.outlined[type=submit]:active, .search-form .outlined.search-submit:active, .button.outline:active, input.outline[type=submit]:active, .search-form .outline.search-submit:active, .button.outline-inverted:active, input.outline-inverted[type=submit]:active, .search-form .outline-inverted.search-submit:active, .button.outlined-inverted:active, input.outlined-inverted[type=submit]:active, .search-form .outlined-inverted.search-submit:active {
  background-color: color-mix(in hsl, var(--button-colour), var(--mixer-colour-active) 40%);
  border-color: color-mix(in hsl, var(--button-border-colour), var(--mixer-colour-active) 40%);
  color: var(--button-text-colour);
}
.button.ghost:hover, input.ghost[type=submit]:hover, .search-form .ghost.search-submit:hover, .button.ghost-inverted:hover, input.ghost-inverted[type=submit]:hover, .search-form .ghost-inverted.search-submit:hover {
  background-color: var(--button-colour);
  border-color: var(--button-border-colour);
  color: var(--button-text-colour);
}
.button.ghost:active, input.ghost[type=submit]:active, .search-form .ghost.search-submit:active, .button.ghost-inverted:active, input.ghost-inverted[type=submit]:active, .search-form .ghost-inverted.search-submit:active {
  background-color: color-mix(in hsl, var(--button-colour), var(--mixer-colour-active) 40%);
  border-color: color-mix(in hsl, var(--button-border-colour), var(--mixer-colour-active) 40%);
  color: var(--button-text-colour);
}

.search-form {
  display: flex;
  gap: 0.5rem;
  margin: 0 auto;
  max-width: 40rem;
}
.search-form > label {
  flex: 1;
}
.search-form input[type=search] {
  max-width: 100%;
}
.button i, input[type=submit] i, .search-form .search-submit i, .link i {
  font-size: 1em;
  line-height: 1;
  margin-top: -0.1em;
}
.button .button-icon, input[type=submit] .button-icon, .search-form .search-submit .button-icon, .link .button-icon {
  position: relative;
  display: grid;
  grid-template-areas: "icon";
}
.button .button-icon i, input[type=submit] .button-icon i, .search-form .search-submit .button-icon i, .link .button-icon i {
  grid-area: icon;
  text-align: center;
  transition: all 0.2s ease;
}
.button .button-icon i:nth-child(1), input[type=submit] .button-icon i:nth-child(1), .search-form .search-submit .button-icon i:nth-child(1), .link .button-icon i:nth-child(1) {
  opacity: 1;
  transform: translateX(0);
}
.button .button-icon i:nth-child(2), input[type=submit] .button-icon i:nth-child(2), .search-form .search-submit .button-icon i:nth-child(2), .link .button-icon i:nth-child(2) {
  opacity: 0;
  transform: translateX(-1em);
}
.button:hover .button-icon i:nth-child(1), input[type=submit]:hover .button-icon i:nth-child(1), .search-form .search-submit:hover .button-icon i:nth-child(1), .link:hover .button-icon i:nth-child(1) {
  opacity: 0;
  transform: translateX(1em);
}
.button:hover .button-icon i:nth-child(2), input[type=submit]:hover .button-icon i:nth-child(2), .search-form .search-submit:hover .button-icon i:nth-child(2), .link:hover .button-icon i:nth-child(2) {
  opacity: 1;
  transform: translateX(0);
}

.download-button {
  display: inline-flex;
  align-items: center;
  gap: 1em;
}
.download-button span {
  font-weight: bold;
  text-transform: uppercase;
}

.link {
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 900;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  word-break: break-word;
  transition: all 0.2s ease;
}
.link span {
  display: inline-block;
  margin-top: 0.1em;
}
.link:has(span:not.button-icon) span.button-icon {
  margin-top: 0.1em;
}
.link i {
  font-size: 1em;
  line-height: 1;
}
.link:hover {
  color: color-mix(in hsl, #292A2A, white 20%);
}
.link:active {
  color: color-mix(in hsl, #292A2A, white 10%);
}
.link:focus {
  outline: 1px dotted;
  outline: -webkit-focus-ring-color auto 5px;
}
.link.secondary {
  color: #4C5C52;
}
.link.secondary:hover {
  color: color-mix(in hsl, #4C5C52, white 20%);
}
.link.secondary:active {
  color: color-mix(in hsl, #4C5C52, white 10%);
}
.link.secondary:focus {
  outline: 1px dotted;
  outline: -webkit-focus-ring-color auto 5px;
}

:root {
  --form-item-border-colour: var(--colour-accent, var(--colour-n3));
  --form-item-border-colour: color-mix(in hsl, var(--colour-a), white 50%);
  --form-item-border-colour--hover: color-mix(in hsl, var(--form-item-border-colour), var(--colour-n2) 100%);
  --form-item-border-colour--hover: var(--colour-a);
  --form-item-border: .125rem solid var(--form-item-border-colour);
  --form-item-padding: .75rem;
}

form:not(.js-cm-form) {
  /* Basic input styling */
  /* Focus states */
  /* Placeholder styling */
  /* Disabled states */
  /* Custom select styling */
  /* Checkboxes and radio buttons */
}
form:not(.js-cm-form) input[type=text],
form:not(.js-cm-form) input[type=email],
form:not(.js-cm-form) input[type=url],
form:not(.js-cm-form) input[type=password],
form:not(.js-cm-form) input[type=search],
form:not(.js-cm-form) input[type=number],
form:not(.js-cm-form) input[type=tel],
form:not(.js-cm-form) input[type=range],
form:not(.js-cm-form) input[type=date],
form:not(.js-cm-form) input[type=month],
form:not(.js-cm-form) input[type=week],
form:not(.js-cm-form) input[type=time],
form:not(.js-cm-form) input[type=datetime],
form:not(.js-cm-form) input[type=datetime-local],
form:not(.js-cm-form) input[type=color],
form:not(.js-cm-form) textarea {
  color: inherit;
  border: 1px solid #ccc;
  border-radius: 0;
  padding: 3px;
}
form:not(.js-cm-form) input[type=text]:focus,
form:not(.js-cm-form) input[type=email]:focus,
form:not(.js-cm-form) input[type=url]:focus,
form:not(.js-cm-form) input[type=password]:focus,
form:not(.js-cm-form) input[type=search]:focus,
form:not(.js-cm-form) input[type=number]:focus,
form:not(.js-cm-form) input[type=tel]:focus,
form:not(.js-cm-form) input[type=range]:focus,
form:not(.js-cm-form) input[type=date]:focus,
form:not(.js-cm-form) input[type=month]:focus,
form:not(.js-cm-form) input[type=week]:focus,
form:not(.js-cm-form) input[type=time]:focus,
form:not(.js-cm-form) input[type=datetime]:focus,
form:not(.js-cm-form) input[type=datetime-local]:focus,
form:not(.js-cm-form) input[type=color]:focus,
form:not(.js-cm-form) textarea:focus {
  color: #000;
}
form:not(.js-cm-form) select, form:not(.js-cm-form) .custom-select__trigger {
  border: 1px solid #ccc;
}
form:not(.js-cm-form) textarea {
  width: 100%;
  overflow: auto;
  resize: vertical;
}
form:not(.js-cm-form) input:not([type]),
form:not(.js-cm-form) input[type=text],
form:not(.js-cm-form) input[type=email],
form:not(.js-cm-form) input[type=password],
form:not(.js-cm-form) input[type=number],
form:not(.js-cm-form) input[type=tel],
form:not(.js-cm-form) input[type=url],
form:not(.js-cm-form) input[type=search],
form:not(.js-cm-form) textarea,
form:not(.js-cm-form) select,
form:not(.js-cm-form) .custom-select__trigger {
  display: block;
  width: 100%;
  max-width: 80ch;
  padding: var(--form-item-padding, 0.5rem);
  border: var(--form-item-border);
  border-width: 0.125rem;
  background-color: var(--colour-n0);
  cursor: pointer;
  color: var(--text-colour-primary);
  font-size: 1rem;
  line-height: 1.5;
  transition: all 0.2s ease;
}
form:not(.js-cm-form) input:not([type=file]):hover, form:not(.js-cm-form) input:not([type=file]):focus,
form:not(.js-cm-form) textarea:hover,
form:not(.js-cm-form) textarea:focus,
form:not(.js-cm-form) select:hover,
form:not(.js-cm-form) .custom-select__trigger:hover,
form:not(.js-cm-form) select:focus,
form:not(.js-cm-form) .custom-select__trigger:focus {
  border-color: var(--form-item-border-colour--hover);
  outline: none;
  box-shadow: 0 3px 4px -2px var(--form-item-border-colour--hover);
}
form:not(.js-cm-form) ::placeholder {
  color: var(--colour-n2);
  opacity: 0.7;
}
form:not(.js-cm-form) input:disabled,
form:not(.js-cm-form) textarea:disabled,
form:not(.js-cm-form) select:disabled,
form:not(.js-cm-form) .custom-select__trigger:disabled {
  border-color: color-mix(in hsl, var(--colour-n2), white 50%);
  color: color-mix(in hsl, var(--colour-n2), white 50%);
  cursor: not-allowed;
  opacity: 0.5;
}
form:not(.js-cm-form) select, form:not(.js-cm-form) .custom-select__trigger {
  appearance: none;
  position: relative;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23333" d="M7 10l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 2em;
  background-color: var(--colour-n0);
  background-clip: padding-box;
  padding-right: 2.5rem;
}
form:not(.js-cm-form) label > input[type=checkbox],
form:not(.js-cm-form) label > input[type=radio] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
form:not(.js-cm-form) label:has(> input[type=checkbox], > input[type=radio]) {
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: start;
  justify-content: start;
  gap: 1ch;
}
form:not(.js-cm-form) label:has(> input[type=checkbox], > input[type=radio]):before {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  height: 1.5rem;
  width: 1.5rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  background-color: var(--colour-n1-100);
  color: color-mix(in hsl, var(--colour-n0), transparent 100%);
  transition: all 0.2s ease;
}
form:not(.js-cm-form) label:has(> input[type=checkbox]):before {
  content: "\f00c";
}
form:not(.js-cm-form) label:has(> input[type=checkbox]:checked):before {
  color: color-mix(in hsl, var(--colour-n0), transparent 0%);
  background-color: var(--colour-a);
}
form:not(.js-cm-form) label:has(> input[type=radio]):before {
  content: "\f111";
  font-size: 0.625em;
  border-radius: 50%;
}
form:not(.js-cm-form) label:has(> input[type=radio]:checked):before {
  color: color-mix(in hsl, var(--colour-n0), transparent 0%);
  background-color: var(--colour-a);
}
form:not(.js-cm-form) label:has(> input[type=checkbox]:focus, > input[type=radio]:focus):before {
  box-shadow: 0 0 0 1px var(--colour-a);
}
form:not(.js-cm-form) label:has(+ input, + textarea, + select, + .custom-select__trigger, + .custom-select) {
  margin-bottom: 0.5em;
  display: inline-block;
}
form:not(.js-cm-form) .checkbox-group,
form:not(.js-cm-form) .radio-group {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

:root body {
  --wpforms-background-color: var(--colour-n1);
  --wpforms-container-padding: 1.5rem;
  --wpforms-field-border-radius: 0;
  --wpforms-button-border-radius: 0;
  --wpforms-field-border-size: .125rem;
  --wpforms-field-size-input-height: 3.25rem;
  --wpforms-field-size-padding-h: .875rem;
  --wpforms-field-border-color: var(--colour-n1-100);
  --wpforms-button-background-color: var(--colour-a);
}
:root body .wpforms-container input.wpforms-field-medium, :root body .wpforms-container select.wpforms-field-medium, :root body .wpforms-container .wpforms-field-medium.custom-select__trigger, :root body .wpforms-container .wpforms-field-row.wpforms-field-medium, :root body .wp-core-ui div.wpforms-container input.wpforms-field-medium, :root body .wp-core-ui div.wpforms-container select.wpforms-field-medium, :root body .wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium {
  max-width: 80ch;
  width: 100%;
}
:root body div.wpforms-container-full input[type=checkbox]:before {
  border-radius: 0;
}
:root body .wpforms-submit-container {
  display: flex;
  justify-content: flex-end;
}
:root body .wpforms-submit-container > .wpforms-field:first-child, :root body .wpforms-submit-container > .wpforms-field[data-field-id="1"] {
  margin-top: 0;
}
:root body .wpforms-submit-container > .wpforms-field:last-child {
  margin-bottom: 0;
}
:root body div.wpforms-container-full input[type=submit], :root body div.wpforms-container-full button[type=submit], :root body div.wpforms-container-full .wpforms-page-button {
  --button-colour: var(--colour-a);
  --button-border-colour: var(--colour-a);
  --button-text-colour: var(--colour-n0);
  --mixer-colour-hover: var(--colour-n0);
}
:root body div.wpforms-container-full input[type=submit]:hover, :root body div.wpforms-container-full input[type=submit]:active, :root body div.wpforms-container-full button[type=submit]:hover, :root body div.wpforms-container-full button[type=submit]:active, :root body div.wpforms-container-full .wpforms-page-button:hover, :root body div.wpforms-container-full .wpforms-page-button:active {
  background: none;
  background-color: color-mix(in hsl, var(--button-colour), white 20%);
  border-color: color-mix(in hsl, var(--button-border-colour), white 20%);
  color: var(--button-text-colour);
}
:root body div.wpforms-container-full .wpforms-confirmation-container-full,
:root body div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
  background: none;
  text-align: center;
  border: 0.125rem solid var(--colour-b);
}
:root body div.wpforms-container-full .wpforms-confirmation-container-full p,
:root body div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) p {
  color: currentColor;
}

.breadcrumbs {
  color: var(--colour-n3);
  display: inline-block;
  text-transform: uppercase;
  --text-underline-offset: 0.25em;
  line-height: 1.8;
}
.breadcrumbs a {
  color: var(--colour-n2);
  text-decoration: none;
  text-underline-offset: var(--text-underline-offset);
  transition: none;
  display: inline-flex;
}
.breadcrumbs a:first-child {
  margin-inline-start: 0;
}
.breadcrumbs a:hover {
  color: var(--colour-a);
  text-decoration: underline;
  text-decoration-style: solid;
}
.breadcrumbs .delimiter {
  display: inline-flex;
  overflow: visible;
  margin-bottom: -0.1em;
}
.breadcrumbs .current {
  color: var(--colour-a);
  text-decoration: underline;
  text-decoration-style: solid;
  text-underline-offset: var(--text-underline-offset);
}

.region-selection-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--z-index-modal);
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
}
.region-selection-modal.show {
  display: flex;
}
.region-selection-modal > .modal-inner {
  background-color: #fff;
  padding: 2rem;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  width: 90%;
  max-width: 600px;
  position: relative;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
.region-selection-modal > .modal-inner h2 {
  margin-top: 0;
}
.region-selection-modal > .modal-inner > *:last-child {
  margin-bottom: 0;
}
.region-selection-modal .close {
  position: absolute;
  top: 0;
  right: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
  color: #333;
}
.region-selection-modal .close:hover {
  color: #000;
}

.page-card-grid {
  max-width: 80rem;
  margin: 0 auto;
}
.page-card-grid .page-card-grid-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
  gap: 1rem;
}
@media (min-width: 80rem) {
  .page-card-grid .page-card-grid-items {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-card-grid .post-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
}
.page-card-grid .post-pagination a {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.page-card-grid .post-pagination a.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.page-card-grid .post-pagination .page-number {
  font-weight: bold;
  margin-left: auto;
}

.page-card-link {
  text-decoration: none;
  color: inherit;
}
.page-card-link:hover .page-card-thumbnail img {
  transform: scale(1.05);
}
.page-card-link .page-card {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.page-card-link .page-card .page-card-body {
  background: var(--colour-n1);
  color: var(--colour-n3);
  padding: 1.5em;
  flex-grow: 1;
}
.page-card-link .page-card .page-card-thumbnail {
  overflow: hidden;
  aspect-ratio: 1.618;
  position: relative;
}
.page-card-link .page-card .page-card-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}
.page-card-link .page-card .page-card-thumbnail.file-download-preview {
  background: var(--colour-n1);
}
.page-card-link .page-card .page-card-thumbnail.file-download-preview img {
  object-fit: contain;
  object-position: center;
}
.page-card-link .page-card[data-post-type=brochure] .page-card-thumbnail img {
  object-fit: contain;
}
.page-card-link .page-card .page-card-meta {
  margin-bottom: 0.5rem;
}
.page-card-link .page-card .page-card-title {
  margin-top: 0;
}
.page-card-link .page-card[data-post-type=news] .page-card-title {
  text-transform: none;
}
.page-card-link .page-card .page-card-excerpt {
  margin-top: 0;
  margin-bottom: 0;
}
.page-card-link .page-card .page-card-button {
  display: flex;
  justify-content: end;
  font-size: 1.25rem;
}
.page-card-link .page-card--simple .page-card-thumbnail {
  aspect-ratio: 1;
}
@media (width < 768px) {
  .page-card-link .page-card--simple .page-card-thumbnail {
    aspect-ratio: 1.618;
  }
}
.page-card-link .page-card--simple .page-card-button {
  background: var(--colour-n1);
  border-color: var(--colour-n1);
  color: var(--colour-n3);
}

.team-members-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
  gap: 2rem;
}
.team-members-list .team-member {
  --transform-duration: .5s;
  --transform-easing: cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.team-members-list .team-member .profile-image {
  max-width: 100%;
  width: 100%;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
  position: relative;
  transition: all var(--transform-duration) var(--transform-easing);
}
.team-members-list .team-member .profile-image img {
  width: 100%;
  height: auto;
  transition: transform var(--transform-duration) var(--transform-easing), filter var(--transform-duration) var(--transform-easing);
}
.team-members-list .team-member:hover .profile-image:after {
  opacity: 1;
}
.team-members-list .team-member:hover .profile-image img {
  filter: contrast(1.2);
  transform: scale(1.1);
}
.team-members-list .team-member .team-member-content {
  padding: 1rem;
}
.team-members-list:has(.team-member:hover) .team-member:not(:hover) .profile-image {
  opacity: 0.6;
}

.team-members-list .team-member {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  background-color: var(--colour-n1);
}

.team-members-list .team-member .team-member-content {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}

.team-members-list .team-member .team-member-content * {
  margin: 0;
}

section {
  position: relative;
}
section[id] {
  scroll-margin-top: calc(var(--header-height) + 1rem);
}
section.section {
  --section-spacing--base: 12rem;
  --section-spacing: var(--section-spacing--base);
  margin-block: var(--section-spacing);
  color: var(--text-colour-primary, #000);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
section.section .block-label {
  position: absolute;
  text-transform: initial;
  margin: 0;
  color: var(--colour-n0);
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  background: color-mix(in hsl, tomato, transparent 50%);
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
}
@media (width < 768px) {
  section.section {
    --section-spacing--base: 8rem;
  }
}
section.section[data-section-vertical-spacing="-5"] {
  --section-spacing: calc(var(--section-spacing--base) + (-5 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="-4"] {
  --section-spacing: calc(var(--section-spacing--base) + (-4 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="-3"] {
  --section-spacing: calc(var(--section-spacing--base) + (-3 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="-2"] {
  --section-spacing: calc(var(--section-spacing--base) + (-2 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="-1"] {
  --section-spacing: calc(var(--section-spacing--base) + (-1 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="0"] {
  --section-spacing: calc(var(--section-spacing--base) + (0 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="1"] {
  --section-spacing: calc(var(--section-spacing--base) + (1 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="2"] {
  --section-spacing: calc(var(--section-spacing--base) + (2 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="3"] {
  --section-spacing: calc(var(--section-spacing--base) + (3 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="4"] {
  --section-spacing: calc(var(--section-spacing--base) + (4 * (var(--section-spacing--base) / 5) ));
}
section.section[data-section-vertical-spacing="5"] {
  --section-spacing: calc(var(--section-spacing--base) + (5 * (var(--section-spacing--base) / 5) ));
}
section.section.bg-filled {
  padding-block: var(--section-spacing);
}
section.section.bg-filled:last-child {
  margin-block-end: 0;
}
section.section.bg-filled:has(+ section.section.bg-filled) {
  margin-block-end: 0;
}
section.section.bg-filled + section.section.bg-filled {
  margin-block-start: 0;
}
section.section .section__blocks > * {
  padding: 0.5rem;
}
section.section .section__blocks .spacer {
  padding: 0;
  margin: 0;
  position: relative;
  height: var(--desktop-height, 0);
}
@media (width < 768px) {
  section.section .section__blocks .spacer {
    height: var(--mobile-height, 0);
  }
  section.section .section__blocks .spacer-mobile-xs {
    height: 1rem;
  }
  section.section .section__blocks .spacer-mobile-sm {
    height: 2rem;
  }
  section.section .section__blocks .spacer-mobile-md {
    height: 3rem;
  }
  section.section .section__blocks .spacer-mobile-lg {
    height: 4rem;
  }
  section.section .section__blocks .spacer-mobile-xl {
    height: 5rem;
  }
}
@media (width >= 768px) {
  section.section .section__blocks .spacer-desktop-xs {
    height: 2rem;
  }
  section.section .section__blocks .spacer-desktop-sm {
    height: 4rem;
  }
  section.section .section__blocks .spacer-desktop-md {
    height: 6rem;
  }
  section.section .section__blocks .spacer-desktop-lg {
    height: 8rem;
  }
  section.section .section__blocks .spacer-desktop-xl {
    height: 10rem;
  }
}
section.section.background-primary, section.section.background-secondary, section.section.background-tertiary {
  padding-block: 6.875rem;
  margin-block: 0;
}
section.section.background-primary {
  background-color: var(--colour-a);
}
section.section.background-secondary {
  background-color: var(--colour-b);
}
section.section.background-tertiary {
  background-color: var(--colour-c);
}
section.section .heading {
  text-align: center;
  max-width: 30ch;
  margin-inline: auto;
  text-wrap: pretty;
}
section.section .heading + .section__blocks {
  margin-top: 4rem;
}

.hero-section.billboard {
  --slide-content-padding-top: 4rem;
  --slide-content-padding-bottom: 5rem;
  --slide-content-padding-left: 2rem;
  --slide-content-padding-right: 2rem;
}
.hero-section.billboard .swiper {
  position: relative;
  width: 100%;
  height: 100%;
  max-height: calc(100dvh - var(--header-height) * 2);
  overflow: hidden;
}
@media (width >= 1024px) {
  .hero-section.billboard .swiper {
    aspect-ratio: 2;
  }
}
@media (width < 1024px) {
  .hero-section.billboard .swiper {
    height: 40dvh;
  }
}
.hero-section.billboard .swiper .swiper-slide {
  width: 100%;
  height: 100%;
  display: flex;
  overflow: auto;
  position: relative;
}
.hero-section.billboard .swiper .swiper-slide > * {
  margin: auto;
}
.hero-section.billboard .swiper-button-next, .hero-section.billboard .swiper-button-prev {
  color: var(--text-colour-inverted);
}
.hero-section.billboard .swiper-pagination-bullet {
  --swiper-pagination-color: var(--colour-a);
  --swiper-pagination-bullet-size: .75rem;
  --swiper-pagination-bullet-inactive-color: var(--colour-n1);
  --swiper-pagination-bullet-inactive-opacity: 1;
}
.hero-section.billboard .swiper-pagination-bullet-active {
  opacity: 1;
}
.hero-section.billboard .swiper-controls {
  position: absolute;
  bottom: 2rem;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  pointer-events: none;
  --swiper-navigation-size: .75rem;
}
@media (width >= 1024px) {
  .hero-section.billboard .swiper-controls {
    align-items: end;
    right: var(--content-column-padding);
    padding-inline: 0.5rem;
  }
}
@media (width < 1024px) {
  .hero-section.billboard .swiper-controls {
    align-items: center;
    right: 50%;
    transform: translateX(50%);
    padding-inline: 1rem;
  }
}
.hero-section.billboard .swiper-controls .swiper-pagination-bullets {
  position: relative;
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  height: auto;
  width: auto;
  display: flex;
  gap: 0.5rem;
  pointer-events: auto;
  color: var(--text-colour-inverted);
}
.hero-section.billboard .swiper-controls .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
}
.hero-section.billboard .swiper-controls .swiper-button-next, .hero-section.billboard .swiper-controls .swiper-button-prev {
  position: relative;
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  pointer-events: auto;
}

.hero-section.billboard .slide-inner.cover-visual {
  width: 100%;
  height: 100%;
  position: relative;
  display: grid;
  grid-template-areas: "stack";
}
.hero-section.billboard .slide-inner.cover-visual > * {
  grid-area: stack;
  isolation: isolate;
}
.hero-section.billboard .slide-inner.cover-visual .background-image,
.hero-section.billboard .slide-inner.cover-visual .background-video {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: var(--background-position, center);
}
.hero-section.billboard .slide-inner.cover-visual .slide-overlay {
  height: 100%;
  width: 100%;
  color: var(--text-colour-inverted);
  padding-top: var(--slide-content-padding-top);
  padding-bottom: var(--slide-content-padding-bottom);
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.6666666667) 0%, rgba(0, 0, 0, 0) 69%);
}
.hero-section.billboard .slide-inner.cover-visual .slide-overlay .content-column {
  height: 100%;
  align-content: end;
}

.hero-section.inline {
  --slide-content-padding-top: 4rem;
  --slide-content-padding-bottom: 5rem;
  --slide-content-padding-left: 2rem;
  --slide-content-padding-right: 2rem;
}
.hero-section.inline .introduction > *:has(svg) {
  display: flex;
  align-items: center;
  gap: 1em;
}
.hero-section.inline .introduction > *:has(svg) svg {
  background: white;
  color: var(--background-colour, black);
  border-radius: 50%;
  padding: 0.25rem;
}
.hero-section.inline .swiper {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.hero-section.inline .swiper .swiper-slide {
  width: 100%;
  display: flex;
  position: relative;
}
.hero-section.inline .swiper .swiper-slide > * {
  margin: auto;
}
.hero-section.inline .swiper-button-next, .hero-section.inline .swiper-button-prev {
  color: var(--text-colour-inverted);
}
.hero-section.inline .swiper-pagination-bullet {
  --swiper-pagination-color: var(--colour-a);
  --swiper-pagination-bullet-size: .75rem;
  --swiper-pagination-bullet-inactive-color: var(--colour-n1);
  --swiper-pagination-bullet-inactive-opacity: 1;
}
.hero-section.inline .swiper-pagination-bullet-active {
  opacity: 1;
}
.hero-section.inline .swiper-controls {
  position: absolute;
  bottom: 2rem;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  pointer-events: none;
  --swiper-navigation-size: .75rem;
}
@media (width >= 1024px) {
  .hero-section.inline .swiper-controls {
    align-items: end;
    right: var(--content-column-padding);
  }
}
@media (width < 1024px) {
  .hero-section.inline .swiper-controls {
    align-items: center;
    right: 50%;
    transform: translateX(50%);
    padding-inline: 1rem;
  }
}
.hero-section.inline .swiper-controls .swiper-pagination-bullets {
  position: relative;
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  height: auto;
  width: auto;
  display: flex;
  gap: 0.5rem;
  pointer-events: auto;
  color: var(--text-colour-inverted);
}
.hero-section.inline .swiper-controls .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
}
.hero-section.inline .swiper-controls .swiper-button-next, .hero-section.inline .swiper-controls .swiper-button-prev {
  position: relative;
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  pointer-events: auto;
}

#page-hero {
  /* Colour theme */
  --background-colour: var(--colour-n1);
  --text-colour-has-bg: var(--text-colour-primary);
  --text-colour-non-bg: var(--text-colour-primary);
  /* Spacings */
  --hero-block-padding: 10rem;
  /* ~~~~~~~~~~~~~~~~~~~~~ */
  /* Layout */
  display: grid;
  grid-template-columns: 1fr min(100%, var(--content-column-max-width)) 1fr;
  grid-template-rows: auto auto 1.618fr [background-end] 1fr auto;
  /* Background element */
  /* Foreground element */
  /* When the hero-visual is present */
  /* When the hero-visual is not present */
}
#page-hero[data-theme=clear] {
  --background-colour: none;
  --text-colour-has-bg: var(--text-colour-primary);
}
#page-hero[data-theme=light] {
  --background-colour: var(--colour-a);
  --text-colour-has-bg: var(--text-colour-inverted);
}
#page-hero[data-theme=deep] {
  --background-colour: var(--colour-b);
  --text-colour-has-bg: var(--text-colour-inverted);
}
#page-hero[data-theme=dark] {
  --background-colour: var(--colour-n2);
  --text-colour-has-bg: var(--text-colour-inverted);
}
@media (width < 768px) {
  #page-hero {
    --hero-block-padding: 4rem;
  }
}
#page-hero .hero-background {
  grid-column: 1/-1;
  grid-row: 1/background-end;
  background-color: var(--background-colour);
  width: 100%;
  height: 100%;
}
#page-hero .hero-foreground {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 2/3;
  grid-template-rows: subgrid;
  grid-row: 1/-1;
  padding-block: var(--hero-block-padding) 2rem;
}
#page-hero .hero-heading, #page-hero .hero-body {
  color: var(--text-colour-has-bg);
}
#page-hero .hero-heading > *, #page-hero .hero-body > * {
  margin: 0;
}
#page-hero .hero-heading a, #page-hero .hero-body a {
  color: var(--text-colour-has-bg);
}
#page-hero .hero-heading a:hover, #page-hero .hero-body a:hover {
  color: var(--text-colour-has-bg);
}
#page-hero .hero-heading .eyebrow, #page-hero .hero-body .eyebrow {
  margin-block-end: 1.625rem;
}
#page-hero .hero-heading .eyebrow a, #page-hero .hero-body .eyebrow a {
  color: currentColor;
  text-decoration: none;
}
#page-hero .hero-heading .eyebrow a:hover, #page-hero .hero-body .eyebrow a:hover {
  text-decoration: underline;
}
#page-hero .hero-heading .title, #page-hero .hero-body .title {
  /* max-width: 22ch; */
  text-wrap: balance;
}
#page-hero .hero-heading .introduction, #page-hero .hero-body .introduction {
  margin-block-start: 3rem;
  max-width: 96ch;
}
#page-hero .hero-visual {
  grid-row: span 2;
}
#page-hero .hero-footer {
  margin-top: 1rem;
  color: var(--text-colour-non-bg);
}
#page-hero:has(.hero-visual) .hero-body {
  margin-bottom: 4rem;
}
#page-hero:not(:has(.hero-visual)) {
  grid-template-rows: auto [background-end] auto;
}
#page-hero:not(:has(.hero-visual)) .hero-body {
  margin-bottom: var(--hero-block-padding);
}
#page-hero:not(:has(.hero-visual)):not(:has(.breadcrumbs)) {
  grid-template-rows: auto auto [background-end];
}
#page-hero .post-type-archive-link {
  margin-bottom: 0.75rem;
}
#page-hero .post-type-archive-link .link:hover {
  color: var(--colour-n0);
}
#page-hero.long-title .title {
  font-size: 2.5rem;
}
#page-hero.right-aligned {
  grid-template-rows: auto auto 1.618fr [background-end] 1fr auto;
}
@media (width > 1440px) {
  #page-hero.right-aligned {
    grid-template-rows: auto 1.618fr [background-end] 1fr auto;
  }
  #page-hero.right-aligned .hero-footer {
    grid-row: 3;
  }
  #page-hero.right-aligned .hero-foreground {
    grid-template-columns: 1.5fr 1fr;
  }
  #page-hero.right-aligned .hero-foreground .hero-heading {
    grid-column: 1/-1;
  }
  #page-hero.right-aligned .hero-foreground .hero-visual {
    margin-block-start: 3rem;
    grid-row: span 3;
    min-width: 0;
  }
}

.hero-section.inline .slide-inner.cover-visual {
  width: 100%;
  position: relative;
  display: grid;
  grid-template-areas: "stack";
}
.hero-section.inline .slide-inner.cover-visual > * {
  grid-area: stack;
  isolation: isolate;
}
.hero-section.inline .slide-inner.cover-visual .background-image,
.hero-section.inline .slide-inner.cover-visual .background-video {
  z-index: -1;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: var(--background-position, center);
}
.hero-section.inline .slide-inner.cover-visual .slide-overlay {
  height: 100%;
  width: 100%;
  color: var(--text-colour-inverted);
  padding-top: var(--slide-content-padding-top);
  padding-bottom: var(--slide-content-padding-bottom);
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.6666666667) 0%, rgba(0, 0, 0, 0) 69%);
}
.hero-section.inline .slide-inner.cover-visual .slide-overlay .content-column {
  height: 100%;
  align-content: end;
  justify-items: start;
}

.accordion-item:not(:first-child) {
  border-top: 1px solid currentcolor;
}
.accordion-item .header {
  font-size: 1.5rem;
  padding: 0.75rem 0;
  cursor: pointer;
}
.accordion-item .header .content-icon {
  float: left;
  margin-right: 0.75em;
  vertical-align: middle;
  height: 1em;
  width: 1em;
  position: relative;
}
.accordion-item .header .content-icon svg {
  height: 1.25em !important;
  width: 1.25em !important;
  max-width: unset;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.accordion-item .icon-wrap {
  float: right;
  transition: transform 0.3s ease;
  display: grid;
  grid-template-areas: "icon";
  place-items: center;
}
.accordion-item .icon-wrap i {
  grid-area: icon;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.accordion-item .icon-wrap .fa-plus {
  opacity: 1;
}
.accordion-item[aria-expanded=true] .icon-wrap {
  transform: rotate(180deg);
}
.accordion-item[aria-expanded=true] .icon-wrap .fa-plus {
  opacity: 0;
}
.accordion-item[aria-expanded=true] .icon-wrap .fa-minus {
  opacity: 1;
}
.accordion-item .detail {
  overflow: hidden;
  height: 0;
}
.accordion-item .detail-inner {
  padding: 0 0 1rem 0;
}

.block.page-intro .block-content {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.block.page-intro .block-content .cta-text {
  max-width: 66ch;
  margin: 0 auto;
}
.block.page-intro .block-content .intro-cta {
  margin-top: 2.25rem;
}

.block.wysiwyg img {
  width: 100%;
  height: auto;
  display: block;
}
.block.wysiwyg img:last-child {
  margin-bottom: 0;
}

.block.block-cta-ribbon .block-content {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.block.block-cta-ribbon .block-content .cta-icon {
  margin: 0 auto;
  width: auto;
  height: auto;
  border-radius: 50%;
  overflow: hidden;
}
.block.block-cta-ribbon .block-content .cta-text {
  margin: 2.5rem auto 2.25rem;
  margin: 0 auto 2.25rem;
}
.block.block-cta-ribbon .block-content .cta-text p {
  max-width: 60ch;
  text-wrap: balance;
}

.block.latest-news {
  --card-text-colour: var(--theme-c-colour-text);
  --card-background-colour: var(--theme-c-colour-background);
  max-width: calc(var(--content-column-max-width) * 10 / 12);
  margin-inline: auto;
}
.block.latest-news .news-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.25rem;
  margin-bottom: 4rem;
}
.block.latest-news .news-card {
  display: flex;
  flex-direction: column;
}
.block.latest-news .news-card .card-visual {
  overflow: hidden;
}
.block.latest-news .news-card .card-visual img {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease-in-out;
}
.block.latest-news .news-card .card-content {
  color: var(--card-text-colour);
  background-color: var(--card-background-colour);
  flex-grow: 1;
  padding: 2rem;
}
.block.latest-news .news-card .card-content p {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.block.latest-news .news-card .card-content p:last-child {
  margin-bottom: 0;
}
.block.latest-news .news-card .card-cta {
  padding-block: 1.25rem;
  text-align: right;
}
.block.latest-news .news-card .card-cta .link:hover {
  color: inherit;
}
.block.latest-news .news-card:hover .card-visual img {
  transform: scale(1.05);
}
.block.latest-news .more-news-cta {
  display: flex;
  align-items: center;
  justify-content: center;
}

.block.page-card-list {
  --card-max-width: 18.75rem;
  padding-block: 2rem;
}
.block.page-card-list .page-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--card-max-width), 1fr));
  gap: 3.125rem 1.25rem;
  max-width: calc(var(--content-column-max-width) * 10 / 12);
  margin-inline: auto;
}
@media (width < 768px) {
  .block.page-card-list .page-cards {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.block.page-card-list.block-style-detailed {
  --card-max-width: 30rem;
  --card-max-width: 22rem;
}

section.news-article .post-content {
  max-width: 60rem;
  margin: 0 auto;
  /* > * {
  	margin-block: 2rem;
  	&:first-child {
  		margin-top: 0;
  	}
  	&:last-child {
  		margin-bottom: 0;
  	}
  } */
}
section.news-article .post-content p {
  margin-block: 1.75rem;
  line-height: 1.6;
}
section.news-article .post-content p:first-child {
  margin-top: 0;
}
section.news-article .post-content p:last-child {
  margin-bottom: 0;
}
section.news-article .post-content img.alignnone.size-full {
  width: 100%;
}
section.news-article .post-content .full-width {
  width: 100%;
  max-width: 100%;
}
section.news-article .post-content .faun-media-gallery {
  margin: 4rem auto;
  max-width: 100%;
}
section.news-article .post-content .faun-media-gallery-carousel {
  margin: 4rem auto;
  max-width: 100%;
}
section.news-article .post-content .youtube-embed {
  margin: 2.5rem auto;
  max-width: 100%;
}

.post-navigation {
  width: 100%;
  padding-block: 1rem;
}
.post-navigation .nav-links {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.post-navigation .nav-previous .label, .post-navigation .nav-next .label {
  width: 48ch;
  white-space: nowrap;
  /* line-height: 1.4;
  max-height: calc(2em * 1.4); */
  overflow: hidden;
  text-overflow: ellipsis;
}
.post-navigation .nav-next {
  text-align: right;
}

div.blockquote {
  margin: 4rem 0;
  padding: 1.125rem 2rem;
  border-left: 0.25rem solid var(--colour-a);
}
div.blockquote blockquote {
  margin: 0;
  padding: 0;
  font-style: italic;
  font-size: 1.5rem;
  line-height: 1.6;
  background: none;
  border: none;
}
div.blockquote blockquote:before {
  content: "“";
}
div.blockquote blockquote:after {
  content: "”";
}
div.blockquote blockquote:before, div.blockquote blockquote:after {
  font-size: 2rem;
  color: var(--colour-a);
  margin-right: 0.25rem;
  line-height: 0;
}
div.blockquote cite {
  display: block;
  margin-top: 1rem;
  font-size: 1rem;
  color: var(--colour-a);
  font-style: normal;
  text-align: right;
}
div.blockquote cite:before {
  content: "— ";
  color: var(--colour-b);
}
@media (width < 768px) {
  div.blockquote {
    padding: 1rem;
  }
  div.blockquote blockquote {
    font-size: 1.125rem;
  }
  div.blockquote blockquote:before, div.blockquote blockquote:after {
    font-size: 1.25rem;
  }
  div.blockquote cite {
    font-size: 0.75rem;
  }
}

.custom-select {
  /* Adjustable design tokens */
  --select-width: 100%;
  --select-font: sans-serif;
  --select-font-size: 1rem;
  --select-bg: #fff;
  --select-border: #ccc;
  --select-border-radius: 0.125rem;
  --select-border-radius: 0rem;
  --select-text-color: #333;
  --select-padding: .5rem 1.75rem .5rem .75rem;
  --select-hover-bg: color-mix(in srgb, var(--colour-a), white 75%);
  --select-selected-bg: #e6f0ff;
  --select-selected-bg: var(--colour-a);
  --select-arrow-size: 6px;
  position: relative;
  display: inline-block;
  width: var(--select-width);
  font-family: var(--select-font);
  font-size: var(--select-font-size);
  color: var(--select-text-color);
  text-align: initial;
  cursor: pointer;
}
.custom-select__trigger {
  background: var(--select-bg);
  border: 1px solid var(--select-border);
  border-radius: var(--select-border-radius);
  padding: var(--select-padding);
  line-height: 1.4;
  position: relative;
}
.custom-select__options {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--select-bg);
  border: 1px solid var(--select-border);
  border-radius: var(--select-border-radius);
  margin-top: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  display: none;
  z-index: 10;
  max-height: 180px;
  overflow-y: auto;
}
.custom-select__option {
  padding: 10px 12px;
  transition: background 0.2s;
}
.custom-select__option:hover {
  background: var(--select-hover-bg);
}
.custom-select__option.selected {
  background: var(--select-selected-bg);
  color: white;
}
.custom-select.open .custom-select__options {
  display: block;
}

.custom-select__option.highlight {
  background: var(--select-hover-bg);
  color: initial;
}

.break-desktop {
  display: none;
}

@media (min-width: 768px) {
  .break-desktop {
    display: inline;
  }
}
.break-mobile {
  display: inline;
}

@media (min-width: 768px) {
  .break-mobile {
    display: none;
  }
}
.break-tablet {
  display: none;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .break-tablet {
    display: inline;
  }
}

/*# sourceMappingURL=style.css.map */
