/* Variables */
.has-white-color {
  color: var(--colour-white);
}

.has-white-background-color {
  background-color: var(--colour-white);
}

.has-black-color {
  color: var(--colour-black);
}

.has-black-background-color {
  background-color: var(--colour-black);
}

.has-lightgrey-color {
  color: var(--colour-lightgrey);
}

.has-lightgrey-background-color {
  background-color: var(--colour-lightgrey);
}

.has-darkgrey-color {
  color: var(--colour-darkgrey);
}

.has-darkgrey-background-color {
  background-color: var(--colour-darkgrey);
}

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

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

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

.has-translucent-primary-background-color {
  background-color: var(--colour-translucent-primary);
}

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

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

.has-mildgrey-color {
  color: var(--colour-mildgrey);
}

.has-mildgrey-background-color {
  background-color: var(--colour-mildgrey);
}

.has-midgrey-color {
  color: var(--colour-midgrey);
}

.has-midgrey-background-color {
  background-color: var(--colour-midgrey);
}

:root {
  --spacing-gutter: clamp(1rem, 0.077rem + 2.564vw, 2rem);
  --header-breakpoint: 1024;
  --header-height: 80px;
  --viewport-width: 100vw;
  --content-width-default: 1260px;
  --content-width-wide: 1448px;
  --content-width-max: 2560px;
  --colour-white: #ffffff;
  --colour-black: #54565A;
  --colour-lightgrey: #e6e9ea;
  --colour-darkgrey: #707173;
  --colour-primary: #FDCA00;
  --colour-translucent-primary: rgba(253, 202, 0, 0.2);
  --colour-secondary: #D34814;
  --colour-mildgrey: #E3E5E6;
  --colour-midgrey: #989898;
}

/**
 * Global settings
 */
html {
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  cursor: default;
  font-family: sans-serif;
  line-height: 1.5;
  overflow-wrap: break-word;
  tab-size: 4;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

/**
 * Box-sizing
 */
*,
*::before,
*::after {
  box-sizing: inherit;
}

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

/**
 * 1. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
 * 2. Add the correct height in Firefox.
 */
hr {
  color: inherit;
  height: 0;
}

/**
 * Add the correct text decoration in Chrome, Edge, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

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

/**
 * 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
 * 2. Correct the odd font sizing in all browsers.
 */
code,
kbd,
samp,
pre {
  font-family: monospace;
  font-size: 1rem;
}

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

/**
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Set image max-width to 100%.
 */
img {
  display: block;
  height: auto;
  max-width: 100%;
}

/**
 * Unset default figure margins.
 */
figure {
  margin: unset;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
 * 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
 */
table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
}

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

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  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.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove  the additional ':invalid' styles in Firefox.
 * See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
fieldset {
  border: 0;
  margin: 0;
}

/**
 * Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
 */
legend {
  padding: 0;
}

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

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-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;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
::-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;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Add the correct display in Chrome and Safari.
 */
details {
  display: block;
}

summary {
  display: list-item;
}

canvas {
  display: inline-block;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

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

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
html:not(.no-js) body.loaded main > *:not(.no-animate), html:not(.no-js) body.loaded .check-in-view {
  opacity: 0;
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  -webkit-transform: translate3d(0, 150px, 0);
          transform: translate3d(0, 150px, 0);
}
html:not(.no-js) body.loaded main > *:not(.no-animate).animate, html:not(.no-js) body.loaded .check-in-view.animate {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.screen-reader-text {
  -webkit-clip-path: inset(50%);
  background: var(--colour-black);
  border: 0;
  color: var(--colour-white);
  clip-path: inset(50%);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-break: normal;
  word-wrap: normal !important;
}

.skip-link:focus {
  max-width: 2560px;
  padding-left: var(--spacing-gutter);
  padding-right: var(--spacing-gutter);
  width: 100%;
  align-items: center;
  background-color: #ccc;
  border-radius: 0;
  -webkit-clip-path: none;
          clip-path: none;
  clip: auto !important;
  color: var(--colour-black);
  display: flex;
  height: 48px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  justify-content: center;
  line-height: normal;
  max-width: 100%;
  padding: 1rem;
  position: fixed !important;
  text-decoration: none;
  top: 0;
  z-index: 10000;
}

*:focus-visible {
  outline: 2px solid currentColor;
}

*:focus:not(:focus-visible) {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}
.resize-pause-transitions * {
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important;
}

@font-face {
  font-family: "Stone Sans";
  src: url("../fonts/Stone Sans Regular.woff2") format("woff2"), url("../fonts/Stone Sans Regular.woff") format("woff"), url("../fonts/Stone Sans Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; /* Ensures text is displayed with fallback font until the custom font loads */
}
@font-face {
  font-family: "Stone Sans";
  src: url("../fonts/Stone Sans Bold.woff2") format("woff2"), url("../fonts/Stone Sans Bold.woff") format("woff"), url("../fonts/Stone Sans Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Stone Sans";
  src: url("../fonts/Stone Sans Italic.woff2") format("woff2"), url("../fonts/Stone Sans Italic.woff") format("woff"), url("../fonts/Stone Sans Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
main {
  flex-grow: 1;
  margin: 0 auto;
  max-width: var(--content-width-max);
  padding-left: var(--spacing-gutter);
  padding-right: var(--spacing-gutter);
  width: 100%;
}
main .alignwide {
  max-width: var(--content-width-wide);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
main .alignfull {
  max-width: var(--content-width-max);
  width: 100%;
}
main > .has-background:last-child {
  margin-bottom: 0 !important;
}
main .is-layout-constrained > * {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
main .is-layout-constrained > *:not(.alignwide, .alignfull) {
  max-width: var(--content-width-default);
}
main > * {
  max-width: var(--content-width-default);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
main > *:first-child:not(.mt-0) {
  margin-top: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem);
}
main > *:last-child:not(.mb-0) {
  margin-bottom: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem);
}
main > *[class^=wp-block]:not(.wp-block-heading, [class*=-accordion], .wp-block-post-date, p, ul, ol), main > *[class*=" wp-block"]:not(.wp-block-heading, [class*=-accordion], .wp-block-post-date, p, ul, ol) {
  margin-top: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem);
  margin-bottom: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem);
}
main > *.is-reusable {
  max-width: none !important;
}
main > *.has-background {
  padding-top: var(--spacing-gutter);
  padding-bottom: var(--spacing-gutter);
  padding-left: var(--spacing-gutter);
  padding-right: var(--spacing-gutter);
}
main > *.alignwide {
  max-width: var(--content-width-wide);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
main > *.alignfull {
  margin-left: calc(-1 * var(--spacing-gutter));
  margin-right: calc(-1 * var(--spacing-gutter));
  max-width: var(--content-width-max);
  width: calc(100% + 2 * var(--spacing-gutter));
}
main > *.alignfull .alignfull {
  max-width: var(--content-width-max);
  width: 100%;
}
main > p.has-text-align-left,
main > ol.has-text-align-left,
main > ul.has-text-align-left {
  margin-left: 0;
}
@media only screen and (min-width: 1448px) {
  main > p.has-text-align-left,
  main > ol.has-text-align-left,
  main > ul.has-text-align-left {
    margin-left: max(0rem, (var(--viewport-width) - var(--content-width-wide)) / 2 - var(--spacing-gutter)) !important;
  }
}
@media only screen and (min-width: 2560px) {
  main > p.has-text-align-left,
  main > ol.has-text-align-left,
  main > ul.has-text-align-left {
    margin-left: min((100% - var(--content-width-wide)) / 2, (var(--content-width-max) - var(--content-width-wide)) / 2 - var(--spacing-gutter)) !important;
  }
}
main > p.has-text-align-right,
main > ol.has-text-align-right,
main > ul.has-text-align-right {
  margin-right: 0;
}
@media only screen and (min-width: 1448px) {
  main > p.has-text-align-right,
  main > ol.has-text-align-right,
  main > ul.has-text-align-right {
    margin-right: max(0rem, (var(--viewport-width) - var(--content-width-wide)) / 2 - var(--spacing-gutter)) !important;
  }
}
@media only screen and (min-width: 2560px) {
  main > p.has-text-align-right,
  main > ol.has-text-align-right,
  main > ul.has-text-align-right {
    margin-right: min((100% - var(--content-width-wide)) / 2, (var(--content-width-max) - var(--content-width-wide)) / 2 - var(--spacing-gutter)) !important;
  }
}

.is-layout-flex {
  display: flex;
  gap: 1rem;
}

@media (min-width: 1280px) {
  .frontend .is-hidden-on-desktop {
    display: none !important;
  }
}
@media (min-width: 640px) and (max-width: 1279.98px) {
  .frontend .is-hidden-on-tablet {
    display: none !important;
  }
}
@media (max-width: 639.98px) {
  .frontend .is-hidden-on-mobile {
    display: none !important;
  }
}

.is-full-height {
  min-height: 100vh;
}

.mt-0 {
  margin-top: 0rem !important;
}

.mb-0 {
  margin-bottom: 0rem !important;
}

.my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.pt-0 {
  padding-top: 0rem !important;
}

.pb-0 {
  padding-bottom: 0rem !important;
}

.py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.mt-1 {
  margin-top: 1rem !important;
}

.mb-1 {
  margin-bottom: 1rem !important;
}

.my-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.pt-1 {
  padding-top: 1rem !important;
}

.pb-1 {
  padding-bottom: 1rem !important;
}

.py-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.mt-2 {
  margin-top: 2rem !important;
}

.mb-2 {
  margin-bottom: 2rem !important;
}

.my-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.pt-2 {
  padding-top: 2rem !important;
}

.pb-2 {
  padding-bottom: 2rem !important;
}

.py-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.mt-3 {
  margin-top: 3rem !important;
}

.mb-3 {
  margin-bottom: 3rem !important;
}

.my-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.pt-3 {
  padding-top: 3rem !important;
}

.pb-3 {
  padding-bottom: 3rem !important;
}

.py-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.mt-4 {
  margin-top: 4rem !important;
}

.mb-4 {
  margin-bottom: 4rem !important;
}

.my-4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.pt-4 {
  padding-top: 4rem !important;
}

.pb-4 {
  padding-bottom: 4rem !important;
}

.py-4 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.mt-5 {
  margin-top: 5rem !important;
}

.mb-5 {
  margin-bottom: 5rem !important;
}

.my-5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.pt-5 {
  padding-top: 5rem !important;
}

.pb-5 {
  padding-bottom: 5rem !important;
}

.py-5 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.mt-6 {
  margin-top: 6rem !important;
}

.mb-6 {
  margin-bottom: 6rem !important;
}

.my-6 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

.pt-6 {
  padding-top: 6rem !important;
}

.pb-6 {
  padding-bottom: 6rem !important;
}

.py-6 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

.mt-7 {
  margin-top: 7rem !important;
}

.mb-7 {
  margin-bottom: 7rem !important;
}

.my-7 {
  margin-top: 7rem !important;
  margin-bottom: 7rem !important;
}

.pt-7 {
  padding-top: 7rem !important;
}

.pb-7 {
  padding-bottom: 7rem !important;
}

.py-7 {
  padding-top: 7rem !important;
  padding-bottom: 7rem !important;
}

.mt-8 {
  margin-top: 8rem !important;
}

.mb-8 {
  margin-bottom: 8rem !important;
}

.my-8 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important;
}

.pt-8 {
  padding-top: 8rem !important;
}

.pb-8 {
  padding-bottom: 8rem !important;
}

.py-8 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

.mt-9 {
  margin-top: 9rem !important;
}

.mb-9 {
  margin-bottom: 9rem !important;
}

.my-9 {
  margin-top: 9rem !important;
  margin-bottom: 9rem !important;
}

.pt-9 {
  padding-top: 9rem !important;
}

.pb-9 {
  padding-bottom: 9rem !important;
}

.py-9 {
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
}

.mt-10 {
  margin-top: 10rem !important;
}

.mb-10 {
  margin-bottom: 10rem !important;
}

.my-10 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.pt-10 {
  padding-top: 10rem !important;
}

.pb-10 {
  padding-bottom: 10rem !important;
}

.py-10 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.my-xs {
  margin-top: clamp(0.586rem, -0.719rem + 3.626vw, 2rem)!important;
  margin-bottom: clamp(0.586rem, -0.719rem + 3.626vw, 2rem)!important;
}

.mt-xs {
  margin-top: clamp(0.586rem, -0.719rem + 3.626vw, 2rem)!important;
}

.mb-xs {
  margin-bottom: clamp(0.586rem, -0.719rem + 3.626vw, 2rem)!important;
}

.my-sm {
  margin-top: clamp(1.172rem, -0.631rem + 5.008vw, 3.125rem)!important;
  margin-bottom: clamp(1.172rem, -0.631rem + 5.008vw, 3.125rem)!important;
}

.mt-sm {
  margin-top: clamp(1.172rem, -0.631rem + 5.008vw, 3.125rem)!important;
}

.mb-sm {
  margin-bottom: clamp(1.172rem, -0.631rem + 5.008vw, 3.125rem)!important;
}

.my-md {
  margin-top: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem)!important;
  margin-bottom: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem)!important;
}

.mt-md {
  margin-top: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem)!important;
}

.mb-md {
  margin-bottom: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem)!important;
}

.my-lg {
  margin-top: clamp(3.516rem, 0.992rem + 7.011vw, 6.25rem)!important;
  margin-bottom: clamp(3.516rem, 0.992rem + 7.011vw, 6.25rem)!important;
}

.mt-lg {
  margin-top: clamp(3.516rem, 0.992rem + 7.011vw, 6.25rem)!important;
}

.mb-lg {
  margin-bottom: clamp(3.516rem, 0.992rem + 7.011vw, 6.25rem)!important;
}

.mt-xl {
  margin-top: clamp(4.688rem, 0.361rem + 12.019vw, 9.375rem)!important;
}

.mb-xl {
  margin-bottom: clamp(4.688rem, 0.361rem + 12.019vw, 9.375rem)!important;
}

.my-xl {
  margin-top: clamp(4.688rem, 0.361rem + 12.019vw, 9.375rem)!important;
  margin-bottom: clamp(4.688rem, 0.361rem + 12.019vw, 9.375rem)!important;
}

.py-xs {
  padding-top: clamp(0.586rem, -0.719rem + 3.626vw, 2rem)!important;
  padding-bottom: clamp(0.586rem, -0.719rem + 3.626vw, 2rem)!important;
}

.pt-xs {
  padding-top: clamp(0.586rem, -0.719rem + 3.626vw, 2rem)!important;
}

.pb-xs {
  padding-bottom: clamp(0.586rem, -0.719rem + 3.626vw, 2rem)!important;
}

.py-sm {
  padding-top: clamp(1.172rem, -0.631rem + 5.008vw, 3.125rem)!important;
  padding-bottom: clamp(1.172rem, -0.631rem + 5.008vw, 3.125rem)!important;
}

.pt-sm {
  padding-top: clamp(1.172rem, -0.631rem + 5.008vw, 3.125rem)!important;
}

.pb-sm {
  padding-bottom: clamp(1.172rem, -0.631rem + 5.008vw, 3.125rem)!important;
}

.py-md {
  padding-top: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem)!important;
  padding-bottom: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem)!important;
}

.pt-md {
  padding-top: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem)!important;
}

.pb-md {
  padding-bottom: clamp(2.344rem, 0.18rem + 6.01vw, 4.688rem)!important;
}

.py-lg {
  padding-top: clamp(3.516rem, 0.992rem + 7.011vw, 6.25rem)!important;
  padding-bottom: clamp(3.516rem, 0.992rem + 7.011vw, 6.25rem)!important;
}

.pt-lg {
  padding-top: clamp(3.516rem, 0.992rem + 7.011vw, 6.25rem)!important;
}

.pb-lg {
  padding-bottom: clamp(3.516rem, 0.992rem + 7.011vw, 6.25rem)!important;
}

.py-xl {
  padding-top: clamp(4.688rem, 0.361rem + 12.019vw, 9.375rem)!important;
  padding-bottom: clamp(4.688rem, 0.361rem + 12.019vw, 9.375rem)!important;
}

.pt-xl {
  padding-top: clamp(4.688rem, 0.361rem + 12.019vw, 9.375rem)!important;
}

.pb-xl {
  padding-bottom: clamp(4.688rem, 0.361rem + 12.019vw, 9.375rem)!important;
}

.has-text-align-center {
  text-align: center;
}

.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

.aligncenter {
  clear: both;
}

.items-justified-left {
  justify-content: flex-start;
}

.items-justified-center {
  justify-content: center;
}

.items-justified-right {
  justify-content: flex-end;
}

.items-justified-space-between {
  justify-content: space-between;
}

.object-position-top-center {
  object-position: top center !important;
}

.object-position-top-left {
  object-position: top left !important;
}

.object-position-top-right {
  object-position: top right !important;
}

.object-position-center-left {
  object-position: center left !important;
}

.object-position-center {
  object-position: center center !important;
}

.object-position-center-right {
  object-position: center right !important;
}

.object-position-bottom-center {
  object-position: bottom center !important;
}

.object-position-bottom-left {
  object-position: bottom left !important;
}

.object-position-bottom-right {
  object-position: bottom right !important;
}

.has-align-top-center {
  align-items: flex-start;
  justify-content: space-around;
}

.has-align-top-left {
  align-items: flex-start;
  justify-content: flex-start;
}

.has-align-top-right {
  align-items: flex-start;
  justify-content: flex-end;
}

.has-align-center-left {
  align-items: center;
  justify-content: flex-start;
}

.has-align-center-center {
  align-items: center;
  justify-content: space-around;
}

.has-align-center-right {
  align-items: center;
  justify-content: flex-end;
}

.has-align-bottom-center {
  align-items: flex-end;
  justify-content: space-around;
}

.has-align-bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}

.has-align-bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}

.has-opacity-0 {
  opacity: 0;
}

.has-opacity-10 {
  opacity: 0.1;
}

.has-opacity-20 {
  opacity: 0.2;
}

.has-opacity-30 {
  opacity: 0.3;
}

.has-opacity-40 {
  opacity: 0.4;
}

.has-opacity-50 {
  opacity: 0.5;
}

.has-opacity-60 {
  opacity: 0.6;
}

.has-opacity-70 {
  opacity: 0.7;
}

.has-opacity-80 {
  opacity: 0.8;
}

.has-opacity-90 {
  opacity: 0.9;
}

.has-opacity-100 {
  opacity: 1;
}

#admin_role_selector {
  background-color: #fff !important;
  padding-left: 1rem;
  padding-right: 2.25rem;
}

.d-none {
  display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
p,
ol,
ul {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: var(--colour-darkgrey);
}

h1,
.h1 {
  font-size: clamp(3.5rem, 3.038rem + 1.282vw, 4rem);
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}

h2,
.h2 {
  font-size: clamp(2.078rem, 1.804rem + 0.761vw, 2.375rem);
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

h3,
.h3 {
  font-size: clamp(1.422rem, 1.234rem + 0.521vw, 1.625rem);
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}

h4,
.h4 {
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}

h5,
.h5 {
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

h6,
.h6 {
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

p {
  margin-bottom: 1.5rem;
}
p + h1,
p + h2,
p + h3,
p + h4,
p + h5,
p + h6 {
  margin-top: clamp(1.5rem, 1.038rem + 1.282vw, 2rem);
}
p.has-background {
  padding-left: var(--spacing-gutter);
  padding-right: var(--spacing-gutter);
}

ol,
ul {
  margin-bottom: 1.5rem;
  padding: 0;
}
ol + h1,
ol + h2,
ol + h3,
ol + h4,
ol + h5,
ol + h6,
ul + h1,
ul + h2,
ul + h3,
ul + h4,
ul + h5,
ul + h6 {
  margin-top: clamp(1.5rem, 1.038rem + 1.282vw, 2rem);
}

.has-x-small-font-size {
  font-size: 0.75rem;
}

.has-small-font-size {
  font-size: 0.875rem;
}

.has-medium-font-size {
  font-size: 1rem;
}

.has-large-font-size {
  font-size: clamp(1.203rem, 1.044rem + 0.441vw, 1.375rem);
  line-height: 1.4;
}

.has-x-large-font-size {
  font-size: clamp(1.531rem, 1.329rem + 0.561vw, 1.75rem);
  line-height: 1.5;
}

body.login.login-action-lostpassword {
  padding: 0;
  background-color: var(--colour-lightgrey) !important;
  background-image: url("../bg/login.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
body.login.login-action-lostpassword #login {
  max-width: min(520px, 90vw) !important;
  width: 100% !important;
  background-color: var(--colour-lightgrey);
  padding: min(100px, 18vw);
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
  height: auto;
  min-height: unset;
  margin: 0;
}
body.login.login-action-lostpassword #login h1 a {
  display: none;
}
body.login.login-action-lostpassword #login .notice {
  text-align: center;
  background: transparent;
  padding: 0;
  border: none;
  box-shadow: none;
}
body.login.login-action-lostpassword #login input {
  margin-top: 0.75rem !important;
  background-color: var(--colour-mildgrey);
  border: none !important;
  outline: none !important;
  padding: 0.9275rem 1.875rem !important;
}
body.login.login-action-lostpassword #login input::-webkit-input-placeholder {
  color: var(--colour-darkgrey);
}
body.login.login-action-lostpassword #login input::placeholder {
  color: var(--colour-darkgrey);
}
body.login.login-action-lostpassword #login input:focus, body.login.login-action-lostpassword #login input:hover, body.login.login-action-lostpassword #login input:active {
  outline: none !important;
}
body.login.login-action-lostpassword #login .button.button-primary.button-large {
  width: 100% !important;
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
  border: 2px solid var(--colour-black) !important;
  color: var(--colour-black);
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: bold;
  justify-content: center;
  padding: 0.875rem 1.25rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
}
body.login.login-action-lostpassword #login .button.button-primary.button-large:hover, body.login.login-action-lostpassword #login .button.button-primary.button-large:focus-visible {
  background: var(--colour-black);
  color: var(--colour-white);
  outline-color: var(--colour-black);
}
body.login.login-action-lostpassword #login form {
  margin: 0;
  padding: 1px;
  background: transparent;
  border: none;
}
body.login.login-action-lostpassword #login label {
  visibility: hidden;
  position: absolute;
  z-index: -1;
}
body.login.login-action-lostpassword #login #nav a {
  display: none;
}
body.login.login-action-lostpassword #login #backtoblog {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.login.login-action-lostpassword #login #backtoblog a {
  color: var(--colour-darkgrey);
  text-decoration: none;
  font-size: 1rem;
  font-family: "Stone Sans", Arial, "Roboto", "Helvetica Neue", "sans-serif";
}
body.login.login-action-lostpassword #login #backtoblog a:hover, body.login.login-action-lostpassword #login #backtoblog a:focus, body.login.login-action-lostpassword #login #backtoblog a:active {
  color: var(--colour-black);
}
body.login.login-action-lostpassword #login .privacy-policy-page-link {
  margin-top: 1rem;
  margin-bottom: 0;
}
body.login.login-action-lostpassword #login .privacy-policy-page-link a {
  color: var(--colour-darkgrey);
  text-decoration: none;
  font-size: 1rem;
  font-family: "Stone Sans", Arial, "Roboto", "Helvetica Neue", "sans-serif";
}
body.login.login-action-lostpassword #login .privacy-policy-page-link a:hover, body.login.login-action-lostpassword #login .privacy-policy-page-link a:focus, body.login.login-action-lostpassword #login .privacy-policy-page-link a:active {
  color: var(--colour-black);
}
body.login.login-action-lostpassword .nucleo-login-footer {
  display: none !important;
}

body.login.login-action-resetpass,
body.login.login-action-login,
body.login.login-action-checkemail,
body.login.login-action-rp {
  padding: 0;
  background-color: var(--colour-lightgrey) !important;
  background-image: url("../bg/login.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
body.login.login-action-resetpass #login,
body.login.login-action-login #login,
body.login.login-action-checkemail #login,
body.login.login-action-rp #login {
  max-width: min(520px, 90vw) !important;
  width: 100% !important;
  background-color: var(--colour-lightgrey);
  padding: min(100px, 18vw);
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
  height: auto;
  min-height: unset;
  margin: 0;
}
body.login.login-action-resetpass #login h1 a,
body.login.login-action-login #login h1 a,
body.login.login-action-checkemail #login h1 a,
body.login.login-action-rp #login h1 a {
  display: none;
}
body.login.login-action-resetpass #login .notice,
body.login.login-action-login #login .notice,
body.login.login-action-checkemail #login .notice,
body.login.login-action-rp #login .notice {
  text-align: center;
  background: transparent;
  padding: 0;
  border: none;
  box-shadow: none;
}
body.login.login-action-resetpass #login .forgetmenot,
body.login.login-action-login #login .forgetmenot,
body.login.login-action-checkemail #login .forgetmenot,
body.login.login-action-rp #login .forgetmenot {
  display: flex;
  align-items: center;
}
body.login.login-action-resetpass #login .forgetmenot #rememberme,
body.login.login-action-login #login .forgetmenot #rememberme,
body.login.login-action-checkemail #login .forgetmenot #rememberme,
body.login.login-action-rp #login .forgetmenot #rememberme {
  margin: 0 !important;
  height: 1rem;
  width: 1rem;
  padding: 1px !important;
}
body.login.login-action-resetpass #login .forgetmenot label,
body.login.login-action-login #login .forgetmenot label,
body.login.login-action-checkemail #login .forgetmenot label,
body.login.login-action-rp #login .forgetmenot label {
  position: static;
  color: var(--colour-black);
  margin-left: 0.25rem;
  z-index: 1;
  visibility: visible;
  margin-bottom: 0;
}
body.login.login-action-resetpass #login .button.wp-hide-pw,
body.login.login-action-login #login .button.wp-hide-pw,
body.login.login-action-checkemail #login .button.wp-hide-pw,
body.login.login-action-rp #login .button.wp-hide-pw {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
body.login.login-action-resetpass #login input,
body.login.login-action-login #login input,
body.login.login-action-checkemail #login input,
body.login.login-action-rp #login input {
  margin-top: 0.75rem !important;
  background-color: var(--colour-mildgrey);
  border: none !important;
  outline: none !important;
  padding: 0.9275rem 1.875rem !important;
}
body.login.login-action-resetpass #login input::-webkit-input-placeholder, body.login.login-action-login #login input::-webkit-input-placeholder, body.login.login-action-checkemail #login input::-webkit-input-placeholder, body.login.login-action-rp #login input::-webkit-input-placeholder {
  color: var(--colour-darkgrey);
}
body.login.login-action-resetpass #login input::placeholder,
body.login.login-action-login #login input::placeholder,
body.login.login-action-checkemail #login input::placeholder,
body.login.login-action-rp #login input::placeholder {
  color: var(--colour-darkgrey);
}
body.login.login-action-resetpass #login input:focus, body.login.login-action-resetpass #login input:hover, body.login.login-action-resetpass #login input:active,
body.login.login-action-login #login input:focus,
body.login.login-action-login #login input:hover,
body.login.login-action-login #login input:active,
body.login.login-action-checkemail #login input:focus,
body.login.login-action-checkemail #login input:hover,
body.login.login-action-checkemail #login input:active,
body.login.login-action-rp #login input:focus,
body.login.login-action-rp #login input:hover,
body.login.login-action-rp #login input:active {
  outline: none !important;
}
body.login.login-action-resetpass #login .button.button-primary.button-large,
body.login.login-action-login #login .button.button-primary.button-large,
body.login.login-action-checkemail #login .button.button-primary.button-large,
body.login.login-action-rp #login .button.button-primary.button-large {
  width: 100% !important;
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
  border: 2px solid var(--colour-black) !important;
  color: var(--colour-black);
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: bold;
  justify-content: center;
  padding: 0.875rem 1.25rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
}
body.login.login-action-resetpass #login .button.button-primary.button-large:hover, body.login.login-action-resetpass #login .button.button-primary.button-large:focus-visible,
body.login.login-action-login #login .button.button-primary.button-large:hover,
body.login.login-action-login #login .button.button-primary.button-large:focus-visible,
body.login.login-action-checkemail #login .button.button-primary.button-large:hover,
body.login.login-action-checkemail #login .button.button-primary.button-large:focus-visible,
body.login.login-action-rp #login .button.button-primary.button-large:hover,
body.login.login-action-rp #login .button.button-primary.button-large:focus-visible {
  background: var(--colour-black);
  color: var(--colour-white);
  outline-color: var(--colour-black);
}
body.login.login-action-resetpass #login form,
body.login.login-action-login #login form,
body.login.login-action-checkemail #login form,
body.login.login-action-rp #login form {
  margin: 0;
  padding: 1px;
  background: transparent;
  border: none;
}
body.login.login-action-resetpass #login label,
body.login.login-action-login #login label,
body.login.login-action-checkemail #login label,
body.login.login-action-rp #login label {
  visibility: hidden;
  position: absolute;
  z-index: -1;
}
body.login.login-action-resetpass #login #nav a,
body.login.login-action-login #login #nav a,
body.login.login-action-checkemail #login #nav a,
body.login.login-action-rp #login #nav a {
  display: none;
}
body.login.login-action-resetpass #login #backtoblog,
body.login.login-action-login #login #backtoblog,
body.login.login-action-checkemail #login #backtoblog,
body.login.login-action-rp #login #backtoblog {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.login.login-action-resetpass #login #backtoblog a,
body.login.login-action-login #login #backtoblog a,
body.login.login-action-checkemail #login #backtoblog a,
body.login.login-action-rp #login #backtoblog a {
  color: var(--colour-darkgrey);
  text-decoration: none;
  font-size: 1rem;
  font-family: "Stone Sans", Arial, "Roboto", "Helvetica Neue", "sans-serif";
}
body.login.login-action-resetpass #login #backtoblog a:hover, body.login.login-action-resetpass #login #backtoblog a:focus, body.login.login-action-resetpass #login #backtoblog a:active,
body.login.login-action-login #login #backtoblog a:hover,
body.login.login-action-login #login #backtoblog a:focus,
body.login.login-action-login #login #backtoblog a:active,
body.login.login-action-checkemail #login #backtoblog a:hover,
body.login.login-action-checkemail #login #backtoblog a:focus,
body.login.login-action-checkemail #login #backtoblog a:active,
body.login.login-action-rp #login #backtoblog a:hover,
body.login.login-action-rp #login #backtoblog a:focus,
body.login.login-action-rp #login #backtoblog a:active {
  color: var(--colour-black);
}
body.login.login-action-resetpass #login .privacy-policy-page-link,
body.login.login-action-login #login .privacy-policy-page-link,
body.login.login-action-checkemail #login .privacy-policy-page-link,
body.login.login-action-rp #login .privacy-policy-page-link {
  margin-top: 1rem;
  margin-bottom: 0;
}
body.login.login-action-resetpass #login .privacy-policy-page-link a,
body.login.login-action-login #login .privacy-policy-page-link a,
body.login.login-action-checkemail #login .privacy-policy-page-link a,
body.login.login-action-rp #login .privacy-policy-page-link a {
  color: var(--colour-darkgrey);
  text-decoration: none;
  font-size: 1rem;
  font-family: "Stone Sans", Arial, "Roboto", "Helvetica Neue", "sans-serif";
}
body.login.login-action-resetpass #login .privacy-policy-page-link a:hover, body.login.login-action-resetpass #login .privacy-policy-page-link a:focus, body.login.login-action-resetpass #login .privacy-policy-page-link a:active,
body.login.login-action-login #login .privacy-policy-page-link a:hover,
body.login.login-action-login #login .privacy-policy-page-link a:focus,
body.login.login-action-login #login .privacy-policy-page-link a:active,
body.login.login-action-checkemail #login .privacy-policy-page-link a:hover,
body.login.login-action-checkemail #login .privacy-policy-page-link a:focus,
body.login.login-action-checkemail #login .privacy-policy-page-link a:active,
body.login.login-action-rp #login .privacy-policy-page-link a:hover,
body.login.login-action-rp #login .privacy-policy-page-link a:focus,
body.login.login-action-rp #login .privacy-policy-page-link a:active {
  color: var(--colour-black);
}
body.login.login-action-resetpass #login .button.wp-generate-pw,
body.login.login-action-login #login .button.wp-generate-pw,
body.login.login-action-checkemail #login .button.wp-generate-pw,
body.login.login-action-rp #login .button.wp-generate-pw {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: var(--colour-black);
  border-radius: 0;
  border: 2px solid var(--colour-black) !important;
  color: var(--colour-white);
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: bold;
  justify-content: center;
  padding: 0.875rem 1.25rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: "Titillium Web", Arial, "Roboto", "Helvetica Neue", "sans-serif";
}
body.login.login-action-resetpass #login .button.wp-generate-pw:hover, body.login.login-action-resetpass #login .button.wp-generate-pw:focus-visible,
body.login.login-action-login #login .button.wp-generate-pw:hover,
body.login.login-action-login #login .button.wp-generate-pw:focus-visible,
body.login.login-action-checkemail #login .button.wp-generate-pw:hover,
body.login.login-action-checkemail #login .button.wp-generate-pw:focus-visible,
body.login.login-action-rp #login .button.wp-generate-pw:hover,
body.login.login-action-rp #login .button.wp-generate-pw:focus-visible {
  background: transparent;
  color: var(--colour-black);
  outline-color: var(--colour-black);
}
body.login.login-action-resetpass .nucleo-login-footer,
body.login.login-action-login .nucleo-login-footer,
body.login.login-action-checkemail .nucleo-login-footer,
body.login.login-action-rp .nucleo-login-footer {
  display: none !important;
}