@import url("https://use.typekit.net/ums2zmk.css");
:root {
  --animation--duration: 0.4s;
  --animation--delay: 0s;
  --speed--fast: 0.2s;
  --speed--default: 0.4s;
  --speed--slow: 0.8s;
}
.section--block > .content {
  padding-block: var(--space--block);
  padding-inline: var(--space--inline);
}
.section--overlap {
  margin-block: var(--space--block);
}
.section--overlap > .content {
  padding-inline: var(--space--inline);
}
.section_container *[class*="section-"]:first-of-type {
  margin-top: 0;
}
.section_container *[class*="section-"]:first-of-type > .content {
  padding-top: var(--space--block);
}
.section_container *[class*="section-"]:last-of-type {
  margin-bottom: 0;
}
.section_container *[class*="section-"]:last-of-type > .content {
  padding-bottom: var(--space--block);
}
.buttons--acf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--space--3);
}
.hero--home {
  z-index: 1;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--neutral-700);
  background: var(--colour--background);
}
.hero--home * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.hero--home .content {
  z-index: 1;
  position: relative;
  padding-block: var(--space--block);
  padding-inline: var(--space--inline);
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.hero--default {
  z-index: 1;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--neutral-700);
  background: var(--colour--background);
}
.hero--default * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.hero--default .content {
  z-index: 1;
  position: relative;
  padding-block: var(--space--block);
  padding-inline: var(--space--inline);
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
img {
  max-height: 200px;
}
.font--heading {
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
}
.font--body {
  font-family: quasimoda, sans-serif;
  font-weight: 400;
  font-style: normal;
}
.font--default {
  color: var(--colour--font);
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .font--default {
    font-size: 2rem;
  }
}
html {
  font-size: 62.5%;
}
body {
  font-family: quasimoda, sans-serif;
  font-weight: 400;
  font-style: normal;
}
h1,
.h1 {
  color: var(--colour--font);
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
  font-size: 4.8rem;
}
@media screen and (min-width: 768px) {
  h1,
  .h1 {
    font-size: 7.2rem;
  }
}
h2,
.h2 {
  color: var(--colour--font);
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
  font-size: 3.6rem;
}
@media screen and (min-width: 768px) {
  h2,
  .h2 {
    font-size: 4.8rem;
  }
}
h3,
.h3 {
  color: var(--colour--font);
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
  font-size: 2.4rem;
}
@media screen and (min-width: 768px) {
  h3,
  .h3 {
    font-size: 3.6rem;
  }
}
h4,
.h4 {
  color: var(--colour--font);
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  h4,
  .h4 {
    font-size: 3.2rem;
  }
}
h5,
.h5 {
  color: var(--colour--font);
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  h5,
  .h5 {
    font-size: 2.8rem;
  }
}
h6,
.h6 {
  color: var(--colour--font);
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  h6,
  .h6 {
    font-size: 2.4rem;
  }
}
p,
span,
strong,
em,
ol,
ul,
li {
  color: var(--colour--font);
  font-size: 1.8rem;
}
a {
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  cursor: pointer;
  text-decoration: none;
  color: var(--colour--link);
}
a * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
a:hover {
  color: var(--colour--link-hover);
}
.text {
  line-height: 1.5;
  color: var(--colour--font);
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .text {
    font-size: 2rem;
  }
}
.text > *:not(:last-child) {
  margin-bottom: var(--space--3);
}
.text a {
  color: var(--colour--link);
}
.text a:hover {
  color: var(--colour--link-hover);
}
.text blockquote {
  margin-inline: var(--space--4);
  font-weight: 700;
}
.text ol,
.text ul {
  -webkit-padding-start: var(--space--4);
          padding-inline-start: var(--space--4);
}
.text.lorem-ipsum:empty::before {
  content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.';
}
.text--left {
  text-align: left;
}
.text--center {
  width: 100%;
  text-align: center;
}
.text--right {
  width: 100%;
  text-align: right;
}
.text--lowercase {
  text-transform: lowercase;
}
.text--uppercase {
  text-transform: uppercase;
}
.text--shadow {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
}
.number {
  font-variant-numeric: var(--number-style);
}
.no-bullets {
  list-style: none;
}
.link--default {
  color: var(--colour--link);
}
.link--default:hover {
  color: var(--colour--link-hover);
}
.underline {
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  padding-bottom: var(--underline--height);
  text-decoration: none;
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--underline--colour)), to(var(--underline--colour)));
  background-image: linear-gradient(var(--underline--colour), var(--underline--colour));
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0% var(--underline--height);
}
.underline * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.underline:hover,
.underline:focus {
  background-size: 100% var(--underline--height);
}
.underline--center {
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  padding-bottom: var(--underline--height);
  text-decoration: none;
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--underline--colour)), to(var(--underline--colour)));
  background-image: linear-gradient(var(--underline--colour), var(--underline--colour));
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0% var(--underline--height);
  background-position: bottom center;
}
.underline--center * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.underline--center:hover,
.underline--center:focus {
  background-size: 100% var(--underline--height);
}
.underline_container:hover .underline {
  background-size: 100% var(--underline--height);
}
.underline--hover {
  background-size: 100% var(--underline--height);
}
.read-more {
  position: relative;
  overflow: hidden;
  max-height: 180px;
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
  -webkit-transition-property: max-height;
  transition-property: max-height;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.read-more > *:nth-last-child(2) {
  margin-bottom: 80px;
}
.read-more::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 80px;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(var(--colour--background)), to(var(--colour--background)));
  background: linear-gradient(to bottom, transparent, var(--colour--background), var(--colour--background));
}
@media screen and (max-width: 767px) {
  .read-more--mobile {
    position: relative;
    overflow: hidden;
    max-height: 180px;
    -webkit-transition-duration: 2s;
            transition-duration: 2s;
    -webkit-transition-property: max-height;
    transition-property: max-height;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
  }
  .read-more--mobile > *:nth-last-child(2) {
    margin-bottom: 80px;
  }
  .read-more--mobile::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 80px;
    width: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(var(--colour--background)), to(var(--colour--background)));
    background: linear-gradient(to bottom, transparent, var(--colour--background), var(--colour--background));
  }
}
@media screen and (min-width: 768px) {
  .read-more--desktop {
    position: relative;
    overflow: hidden;
    max-height: 180px;
    -webkit-transition-duration: 2s;
            transition-duration: 2s;
    -webkit-transition-property: max-height;
    transition-property: max-height;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
  }
  .read-more--desktop > *:nth-last-child(2) {
    margin-bottom: 80px;
  }
  .read-more--desktop::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 80px;
    width: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(var(--colour--background)), to(var(--colour--background)));
    background: linear-gradient(to bottom, transparent, var(--colour--background), var(--colour--background));
  }
}
button.button--read-more {
  z-index: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  color: var(--colour--link);
}
button.button--read-more:hover {
  color: var(--colour--link-hover);
}
@media screen and (min-width: 768px) {
  .mobile-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .desktop-only {
    display: none;
  }
}
.width--default {
  max-width: var(--content--width);
  width: 100%;
  margin-inline: auto;
}
.width--480 {
  max-width: 480px;
  width: 100%;
  margin-inline: auto;
}
.width--640 {
  max-width: 640px;
  width: 100%;
  margin-inline: auto;
}
.width--720 {
  max-width: 720px;
  width: 100%;
  margin-inline: auto;
}
.width--768 {
  max-width: 768px;
  width: 100%;
  margin-inline: auto;
}
.width--800 {
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
}
.width--900 {
  max-width: 900px;
  width: 100%;
  margin-inline: auto;
}
.width--992 {
  max-width: 992px;
  width: 100%;
  margin-inline: auto;
}
.width--1000 {
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
}
.width--1024 {
  max-width: 1024px;
  width: 100%;
  margin-inline: auto;
}
.width--1080 {
  max-width: 1080px;
  width: 100%;
  margin-inline: auto;
}
.width--1280 {
  max-width: 1280px;
  width: 100%;
  margin-inline: auto;
}
.width--1366 {
  max-width: 1366px;
  width: 100%;
  margin-inline: auto;
}
.width--1440 {
  max-width: 1440px;
  width: 100%;
  margin-inline: auto;
}
.width--1600 {
  max-width: 1600px;
  width: 100%;
  margin-inline: auto;
}
.width--1800 {
  max-width: 1800px;
  width: 100%;
  margin-inline: auto;
}
.width--1920 {
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.width--2560 {
  max-width: 2560px;
  width: 100%;
  margin-inline: auto;
}
:root {
  --colour--background: white;
  --colour--font: var(--colour--neutral-400);
  --colour--icon: var(--colour--font);
  --colour--icon-hover: var(--colour--neutral-400);
  --colour--link: var(--colour--primary-400);
  --colour--link-hover: var(--colour--primary-600);
  --colour--error: red;
  --colour--warning: orange;
  --colour--success: green;
  --colour--primary-100: #5fffab;
  --colour--primary-200: #58ed9f;
  --colour--primary-300: #4fd48e;
  --colour--primary-400: #45b97c;
  --colour--primary-500: #3ca16c;
  --colour--primary-600: #32875b;
  --colour--primary-700: #296e4a;
  --colour--secondary-100: #70e7ff;
  --colour--secondary-200: #39d9fa;
  --colour--secondary-300: #34c3e0;
  --colour--secondary-400: #2eaec8;
  --colour--secondary-500: #2897ad;
  --colour--secondary-600: #228194;
  --colour--secondary-700: #1c6b7a;
  --colour--tertiary-100: unset;
  --colour--tertiary-200: unset;
  --colour--tertiary-300: unset;
  --colour--tertiary-400: unset;
  --colour--tertiary-500: unset;
  --colour--tertiary-600: unset;
  --colour--tertiary-700: unset;
  --colour--neutral-100: #f0f0f0;
  --colour--neutral-200: #c3c3c3;
  --colour--neutral-300: #969696;
  --colour--neutral-400: #696969;
  --colour--neutral-500: #4a4a4a;
  --colour--neutral-600: #2a2a2a;
  --colour--neutral-700: #0a0a0a;
  --gradient: linear-gradient(to right, var(--colour--primary-400), var(--colour--secondary-400));
}
.background--primary-100 {
  --colour--background: var(--colour--primary-100);
  background-color: var(--colour--background);
}
.background--primary-200 {
  --colour--background: var(--colour--primary-200);
  background-color: var(--colour--background);
}
.background--primary-300 {
  --colour--background: var(--colour--primary-300);
  background-color: var(--colour--background);
}
.background--primary-400 {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--primary-400);
  background-color: var(--colour--background);
}
.background--primary-400 * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.background--primary-500 {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--primary-500);
  background-color: var(--colour--background);
}
.background--primary-500 * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.background--primary-600 {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--primary-600);
  background-color: var(--colour--background);
}
.background--primary-600 * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.background--primary-700 {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--primary-700);
  background-color: var(--colour--background);
}
.background--primary-700 * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.background--neutral-100 {
  --colour--background: var(--colour--neutral-100);
  background: var(--colour--background);
}
.background--neutral-200 {
  --colour--background: var(--colour--neutral-200);
  background: var(--colour--background);
}
.background--neutral-300 {
  --colour--background: var(--colour--neutral-300);
  background: var(--colour--background);
}
.background--neutral-400 {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--neutral-400);
  background: var(--colour--background);
}
.background--neutral-400 * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.background--neutral-500 {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--neutral-500);
  background: var(--colour--background);
}
.background--neutral-500 * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.background--neutral-600 {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--neutral-600);
  background: var(--colour--background);
}
.background--neutral-600 * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.background--neutral-700 {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--neutral-700);
  background: var(--colour--background);
}
.background--neutral-700 * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.background--white {
  --colour--background: white;
  background: var(--colour--background);
}
.background--black {
  --colour--background: black;
  background: var(--colour--background);
}
.background--gradient {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--primary-400);
  background: var(--gradient);
}
.background--gradient * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.icon svg * {
  fill: var(--colour--icon);
}
.colour--reverse {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.colour--reverse * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
.colour--un-reverse {
  --colour--font: var(--colour--neutral-700);
  --colour--icon: var(--colour--font);
  --underline--colour: var(--colour--neutral-700);
}
.colour--un-reverse * {
  --colour--font: var(--colour--neutral-700);
  --colour--icon: var(--colour--font);
  --underline--colour: var(--colour--neutral-700);
}
:root {
  --content--width: 1440px;
  --border-radius--small: 2px;
  --border-radius: 4px;
  --border-radius--large: 8px;
  --space--1: 4px;
  --space--2: 8px;
  --space--3: 16px;
  --space--4: 24px;
  --space--5: 32px;
  --space--6: 64px;
  --space--7: 128px;
  --space--block: var(--space--6);
  --space--inline: var(--space--3);
  --number-style: lining-nums tabular-nums;
  --underline--colour: var(--colour--font);
  --underline--height: 0.1em;
  --z-index--dev-tools: 400;
  --z-index--modal: 300;
  --z-index--header: 200;
}
@media screen and (min-width: 768px) {
  :root {
    --space--1: 4px;
    --space--2: 8px;
    --space--3: 24px;
    --space--4: 48px;
    --space--5: 96px;
    --space--6: 128px;
    --space--7: 192px;
  }
}
.margin-inline {
  margin-inline: var(--space--inline);
}
.margin-block {
  margin-block: var(--space--block);
}
.padding-inline {
  padding-inline: var(--space--inline);
}
.padding-block {
  padding-block: var(--space--block);
}
.grid--2 {
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 640px) {
  .grid--2 {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.grid--3 {
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 480px) {
  .grid--3 {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 640px) {
  .grid--3 {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.grid--4 {
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 480px) {
  .grid--4 {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 640px) {
  .grid--4 {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 768px) {
  .grid--4 {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}
/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}
html:not(.html--js) .js-only {
  display: none !important;
}
body:not(.user--administrator) .admin-only,
body:not(.user--administrator) .section--admin {
  display: none !important;
}
.section--hidden {
  display: none !important;
}
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
html,
body {
  scroll-behavior: smooth;
}
html.html--locked {
  position: absolute;
  overflow: hidden;
  height: 100%;
  width: 100%;
}
html figure {
  margin: 0;
  max-width: 100%;
}
body {
  background: var(--colour--background);
}
body main {
  position: relative;
}
dialog {
  border: 0;
  opacity: 0;
  background: transparent;
}
dialog.modal--hidden {
  display: none !important;
}
dialog.modal--visible {
  display: block;
  opacity: 1;
}
.grecaptcha-badge {
  visibility: hidden !important;
}
[id] {
  scroll-margin-top: var(--nav-bar--height);
}
button,
button * {
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  cursor: pointer;
  border: 0;
  background: transparent;
}
button *,
button * * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.button--custom {
  --border: var(--colour--neutral-700);
  --border-hover: var(--colour--neutral-700);
  --font: var(--colour--neutral-700);
  --font-hover: var(--colour--background);
  --icon: var(--colour--neutral-700);
  --icon-hover: var(--colour--background);
  --background: transparent;
  --background-hover: var(--colour--neutral-700);
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  cursor: pointer;
  border-radius: var(--border-radius--small);
  border-color: var(--border);
  border-width: 2px;
  border-style: solid;
  padding-inline: var(--space--3);
  height: 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space--2);
  background-color: var(--background);
  color: var(--font);
  font-size: 1.8rem;
}
.button--custom * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.button--custom span.button__icon {
  height: 20px;
  width: auto;
}
.button--custom span.button__icon svg {
  height: 100%;
  width: 100%;
}
.button--custom span.button__icon svg * {
  fill: var(--icon);
}
.button--custom:hover,
.button--custom:focus {
  border-color: var(--border-hover);
  background-color: var(--background-hover);
  color: var(--font-hover);
}
.button--custom:hover span.button__icon svg *,
.button--custom:focus span.button__icon svg * {
  fill: var(--icon-hover);
}
.button_container:hover *[class*="button--"],
.button_container:focus *[class*="button--"] {
  border-color: var(--border-hover);
  background-color: var(--background-hover);
  color: var(--font-hover);
}
.button_container:hover *[class*="button--"] span.button__icon svg *,
.button_container:focus *[class*="button--"] span.button__icon svg * {
  fill: var(--icon-hover);
}
.button--null {
  pointer-events: none;
  cursor: default;
}
picture {
  overflow: hidden;
  height: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  line-height: 0;
}
picture img {
  border-radius: inherit;
  height: 100%;
  width: 100%;
  display: block;
}
picture img.img--placeholder {
  height: 100%;
  width: 100%;
  background: var(--gradient);
}
picture.picture--background img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
picture.picture--cover img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  height: 100%;
  width: 100%;
}
picture.picture--contain img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  height: 100%;
  width: 100%;
}
picture.picture--circle {
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1;
}
picture.picture--circle img {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
.icon--x {
  display: block;
}
.icon--x span {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 1px;
  height: 2px;
  width: 100%;
  background-color: var(--colour--font);
}
.icon--x span.x__1 {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.icon--x span.x__2 {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.toggle {
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.toggle * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.toggle button.button--toggle {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.toggle button.button--toggle span.icon {
  height: 48px;
  width: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.toggle button.button--toggle span.icon svg {
  height: 24px;
  width: 24px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.toggle button.button--toggle span.icon svg * {
  fill: var(--colour--font);
}
.toggle button.button--toggle:hover h3.question {
  color: var(--colour--primary-400);
}
.toggle button.button--toggle:hover span.icon svg * {
  fill: var(--colour--primary-400);
}
.toggle.toggle--open button.button--toggle span.icon svg {
  -webkit-transform: rotate(90deg) scaleX(-1);
          transform: rotate(90deg) scaleX(-1);
}
.toggle.toggle--open .toggle__content {
  padding-bottom: var(--space--3);
  max-height: 9999px;
  opacity: 1;
}
.toggle.toggle--closed .toggle__content {
  pointer-events: none;
  max-height: 0;
  opacity: 0;
}
dialog {
  border: 0;
  opacity: 0;
  pointer-events: none;
  display: block;
  background: transparent;
  --animation--duration: var(--speed--slow);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
dialog * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
dialog.modal--visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.button--modal-hide {
  z-index: 1;
  cursor: pointer;
  position: absolute;
  top: var(--space--inline);
  right: var(--space--inline);
  height: 40px;
  width: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.button--modal-hide span.icon--x {
  position: relative;
  height: 20px;
  width: 20px;
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.button--modal-hide span.icon--x * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.button--modal-hide span.icon--x span {
  width: 80%;
}
.button--modal-hide span.label {
  font-size: 1rem;
}
.button--modal-hide:hover span.icon--x span {
  width: 100%;
  background-color: var(--colour--primary-400);
}
dialog.modal--default {
  z-index: var(--z-index--modal);
  cursor: pointer;
  position: fixed;
  top: 0;
  left: 0;
  height: 100svh;
  width: 100%;
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
dialog.modal--default * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
dialog.modal--default::after {
  z-index: 0;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 0.6;
  background: black;
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
dialog.modal--default::after * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
dialog.modal--default .modal__container {
  z-index: 1;
  cursor: initial;
  position: relative;
  height: 100%;
  overflow: hidden;
}
dialog.modal--default .modal__container .modal__content_container {
  padding: var(--space--inline);
  height: 100%;
  overflow-y: auto;
}
@media screen and (min-width: 992px) {
  dialog.modal--default {
    padding: var(--space--inline);
  }
  dialog.modal--default .modal__container {
    border-radius: var(--border-radius);
  }
  dialog.modal--default .modal__container .modal__content_container {
    padding: var(--space--inline);
  }
}
header.site-header {
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  z-index: var(--z-index--header);
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
header.site-header * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
a.header__logo {
  z-index: 1;
  position: relative;
  padding-block: var(--space--2);
  height: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
a.header__logo svg {
  height: inherit;
  width: 100%;
}
.dummy--header {
  pointer-events: none;
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: 100%;
}
.dummy--header .dummy--notification {
  height: var(--notification--height);
}
.dummy--header .dummy--nav-bar {
  height: var(--nav-bar--height);
}
body.with--fixed-header header.site-header {
  position: fixed;
}
:root {
  --nav-bar--height: 60px;
}
@media screen and (min-width: 768px) {
  :root {
    --nav-bar--height: 80px;
  }
}
header.site-header:not(.header--with-nav-overlay) .header__nav-bar {
  background-color: white;
  -webkit-filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.1));
}
header.site-header .header__nav-bar {
  z-index: 1;
  pointer-events: all;
  height: var(--nav-bar--height);
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
header.site-header .header__nav-bar .content {
  padding-inline: var(--space--inline);
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space--3);
}
header.site-header .header__nav-bar .content .nav-bar__left {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header.site-header .header__nav-bar .content .nav-bar__right {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space--3);
}
header.site-header .header__nav-bar .content .nav-bar__right nav.nav-bar__menu > ul.menu {
  display: none;
}
nav.nav-bar__menu {
  height: inherit;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
nav.nav-bar__menu > ul.menu {
  padding-bottom: 0;
  height: inherit;
  gap: var(--space--1);
  list-style: none;
}
nav.nav-bar__menu > ul.menu > li.menu-item {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}
nav.nav-bar__menu > ul.menu > li.menu-item > a {
  position: relative;
  height: 40px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space--2);
  font-weight: 700;
}
nav.nav-bar__menu > ul.menu > li.menu-item > a:hover {
  color: var(--colour--primary-400);
}
nav.nav-bar__menu > ul.menu > li.menu-item.current-menu-item > a {
  color: var(--colour--primary-400);
}
nav.nav-bar__menu > ul.menu > li.menu-item.current-menu-item > a:hover {
  color: white;
}
nav.nav-bar__menu > ul.menu > li.menu-item.menu-item-has-children > ul.menu {
  list-style: none;
}
button.header__hamburger {
  cursor: pointer;
  position: relative;
  height: 40px;
  width: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
button.header__hamburger span.icon--hamburger {
  position: relative;
  height: 20px;
  width: 20px;
}
button.header__hamburger span.icon--hamburger span.hamburger__layers span {
  position: absolute;
  border-radius: 1px;
  left: 50%;
  height: 2px;
  width: 100%;
  display: block;
  background-color: var(--colour--primary-400);
}
button.header__hamburger span.icon--hamburger span.hamburger__layers span.hamburger__top {
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
button.header__hamburger span.icon--hamburger span.hamburger__layers span.hamburger__middle {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
button.header__hamburger span.icon--hamburger span.hamburger__layers span.hamburger__bottom {
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
button.header__hamburger span.label {
  font-size: 1rem;
}
button.header__hamburger:hover span.icon--hamburger span.hamburger__layers span {
  background-color: var(--colour--primary-400);
}
button.header__hamburger:hover span.icon--hamburger span.hamburger__layers span.hamburger__top,
button.header__hamburger:hover span.icon--hamburger span.hamburger__layers span.hamburger__bottom {
  width: 80%;
}
header.site-header.header--with-nav-overlay button.header__hamburger span.icon--hamburger span.hamburger__layers span.hamburger__top {
  top: 50%;
  width: 80%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
header.site-header.header--with-nav-overlay button.header__hamburger span.icon--hamburger span.hamburger__layers span.hamburger__middle {
  width: 0;
  opacity: 0;
}
header.site-header.header--with-nav-overlay button.header__hamburger span.icon--hamburger span.hamburger__layers span.hamburger__bottom {
  bottom: 50%;
  width: 80%;
  -webkit-transform: translate(-50%, 50%) rotate(-45deg);
          transform: translate(-50%, 50%) rotate(-45deg);
}
header.site-header.header--with-nav-overlay button.header__hamburger:hover span.icon--hamburger span.hamburger__layers span {
  background-color: var(--colour--primary-400);
}
header.site-header.header--with-nav-overlay button.header__hamburger:hover span.icon--hamburger span.hamburger__layers span.hamburger__top,
header.site-header.header--with-nav-overlay button.header__hamburger:hover span.icon--hamburger span.hamburger__layers span.hamburger__bottom {
  width: 100%;
}
header.site-header.header--with-nav-overlay {
  overflow-y: auto;
  position: fixed !important;
  height: 100svh;
  background: white;
}
dialog.header__nav-overlay {
  z-index: 0;
  pointer-events: all;
  position: relative;
  border: none;
  height: calc(100svh - var(--nav-bar--height));
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background: transparent;
}
dialog.header__nav-overlay .content {
  position: relative;
  padding-inline: var(--space--inline);
  padding-bottom: var(--space--5);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
dialog.header__nav-overlay .content nav.nav-overlay__menu {
  height: 100%;
  width: 100%;
}
dialog.header__nav-overlay .content nav.nav-overlay__menu > ul.menu {
  padding-bottom: var(--space--3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style-type: none;
}
dialog.header__nav-overlay .content nav.nav-overlay__menu > ul.menu > li.menu-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
dialog.header__nav-overlay .content nav.nav-overlay__menu > ul.menu > li.menu-item > a {
  font-family: vendetta, serif;
  font-weight: 800;
  font-style: normal;
  margin-block: var(--space--3);
  display: block;
  text-decoration: none;
  font-size: 3.6rem;
  color: var(--colour--link);
}
dialog.header__nav-overlay .content nav.nav-overlay__menu > ul.menu > li.menu-item > a:hover {
  color: var(--colour--link-hover);
}
dialog.header__nav-overlay .content nav.nav-overlay__menu > ul.menu > li.menu-item.current-menu-item > a {
  pointer-events: none;
  color: var(--colour--font);
}
dialog.header__nav-overlay .content nav.nav-overlay__menu > ul.menu > li.menu-item.current-menu-item > a:hover {
  color: var(--colour--font);
}
:root {
  --notification--height: 40px;
}
header.site-header:not(.header--with-notification) .header__notification {
  display: none;
}
header.site-header.header--with-nav-overlay .header__notification,
html.html--scrolled header.site-header.header--with-notification .header__notification {
  top: calc(var(--notification--height) * -1);
}
header.site-header.header--with-nav-overlay .header__nav-bar,
html.html--scrolled header.site-header.header--with-notification .header__nav-bar {
  top: 0;
}
header.site-header.header--with-nav-overlay .dummy--header .dummy--notification,
html.html--scrolled header.site-header.header--with-notification .dummy--header .dummy--notification {
  height: 0;
}
html:not(.html--scrolled) header.site-header.header--with-notification:not(.header--with-nav-overlay) .header__nav-bar {
  top: var(--notification--height);
}
html:not(.html--scrolled) header.site-header.header--with-notification:not(.header--with-nav-overlay) .dummy--header .dummy--notification {
  height: var(--notification--height);
}
header.site-header.header--with-notification .header__notification {
  pointer-events: all;
  z-index: 1;
  height: var(--notification--height);
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--primary-400);
  background-color: var(--colour--background);
}
header.site-header.header--with-notification .header__notification * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
header.site-header.header--with-notification .header__notification * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
header.site-header.header--with-notification .header__notification .content {
  height: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  color: var(--colour--font);
  font-size: 1.4rem;
}
footer.site-footer {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
  --colour--background: var(--colour--neutral-700);
  background: var(--colour--background);
  position: relative;
}
footer.site-footer > .content {
  padding-block: var(--space--block);
  padding-inline: var(--space--inline);
}
footer.site-footer * {
  --colour--font: white;
  --colour--icon: white;
  --underline--colour: white;
}
footer.site-footer a.footer__logo {
  display: block;
  max-width: 100%;
  width: 200px;
}
footer.site-footer .copyright {
  margin-top: var(--space--4);
}
.social--acf {
  --animation--duration: var(--speed--default);
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--space--3);
}
.social--acf * {
  -webkit-transition-duration: var(--animation--duration);
          transition-duration: var(--animation--duration);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.social--acf a.social__link {
  line-height: 0;
}
.social--acf a.social__link span.icon--social {
  height: 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
}
.social--acf a.social__link span.icon--social svg {
  height: 100%;
  width: 100%;
}
.social--acf a.social__link span.icon--social svg * {
  fill: white;
}
.social--acf a.social__link:hover span.icon--social svg * {
  fill: var(--colour--primary-400);
}
