@charset "UTF-8";
@keyframes plyr-progress {
  to {
    background-position: var(--plyr-progress-loading-size, 25px) 0;
  }
}
@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.plyr {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -ms-flex-align: center;
      align-items: center;
  direction: ltr;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  font-family: var(--plyr-font-family, inherit);
  font-variant-numeric: tabular-nums;
  font-weight: var(--plyr-font-weight-regular, 400);
  line-height: var(--plyr-line-height, 1.7);
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease;
  z-index: 0;
}
.plyr video,
.plyr audio,
.plyr iframe {
  display: block;
  height: 100%;
  width: 100%;
}
.plyr button {
  font: inherit;
  line-height: inherit;
  width: auto;
}
.plyr:focus {
  outline: 0;
}

.plyr--full-ui {
  box-sizing: border-box;
}
.plyr--full-ui *,
.plyr--full-ui *::after,
.plyr--full-ui *::before {
  box-sizing: inherit;
}

.plyr--full-ui a,
.plyr--full-ui button,
.plyr--full-ui input,
.plyr--full-ui label {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

.plyr__badge {
  background: var(--plyr-badge-background, hsl(216, 15%, 34%));
  border-radius: var(--plyr-badge-border-radius, 2px);
  color: var(--plyr-badge-text-color, #fff);
  font-size: var(--plyr-font-size-badge, 9px);
  line-height: 1;
  padding: 3px 4px;
}

.plyr--full-ui ::-webkit-media-text-track-container {
  display: none;
}

.plyr__captions {
  animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  display: none;
  font-size: var(--plyr-font-size-small, 13px);
  left: 0;
  padding: var(--plyr-control-spacing, 10px);
  position: absolute;
  text-align: center;
  transition: transform 0.4s ease-in-out;
  width: 100%;
}
.plyr__captions span:empty {
  display: none;
}
@media (min-width: 480px) {
  .plyr__captions {
    font-size: var(--plyr-font-size-base, 15px);
    padding: calc(var(--plyr-control-spacing, 10px) * 2);
  }
}
@media (min-width: 768px) {
  .plyr__captions {
    font-size: var(--plyr-font-size-large, 18px);
  }
}

.plyr--captions-active .plyr__captions {
  display: block;
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  -ms-transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));
      transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));
}

.plyr__caption {
  background: var(--plyr-captions-background, rgba(0, 0, 0, 0.8));
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  color: var(--plyr-captions-text-color, #fff);
  line-height: 185%;
  padding: 0.2em 0.5em;
  white-space: pre-wrap;
}
.plyr__caption div {
  display: inline;
}

.plyr__control {
  background: transparent;
  border: 0;
  border-radius: var(--plyr-control-radius, 4px);
  color: inherit;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: visible;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
  position: relative;
  transition: all 0.3s ease;
}
.plyr__control svg {
  display: block;
  fill: currentColor;
  height: var(--plyr-control-icon-size, 18px);
  pointer-events: none;
  width: var(--plyr-control-icon-size, 18px);
}
.plyr__control:focus {
  outline: 0;
}
.plyr__control:focus-visible {
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
  outline-offset: 2px;
}

a.plyr__control {
  text-decoration: none;
}
a.plyr__control::after, a.plyr__control::before {
  display: none;
}

.plyr__control:not(.plyr__control--pressed) .icon--pressed,
.plyr__control.plyr__control--pressed .icon--not-pressed,
.plyr__control:not(.plyr__control--pressed) .label--pressed,
.plyr__control.plyr__control--pressed .label--not-pressed {
  display: none;
}

.plyr--full-ui ::-webkit-media-controls {
  display: none;
}

.plyr__controls {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
  text-align: center;
}
.plyr__controls .plyr__progress__container {
  -ms-flex: 1;
      flex: 1;
  min-width: 0;
}
.plyr__controls .plyr__controls__item {
  margin-left: calc(var(--plyr-control-spacing, 10px) / 4);
}
.plyr__controls .plyr__controls__item:first-child {
  margin-left: 0;
  margin-right: auto;
}
.plyr__controls .plyr__controls__item.plyr__progress__container {
  padding-left: calc(var(--plyr-control-spacing, 10px) / 4);
}
.plyr__controls .plyr__controls__item.plyr__time {
  padding: 0 calc(var(--plyr-control-spacing, 10px) / 2);
}
.plyr__controls .plyr__controls__item.plyr__progress__container:first-child, .plyr__controls .plyr__controls__item.plyr__time:first-child, .plyr__controls .plyr__controls__item.plyr__time + .plyr__time {
  padding-left: 0;
}
.plyr__controls:empty {
  display: none;
}

.plyr [data-plyr=captions],
.plyr [data-plyr=pip],
.plyr [data-plyr=airplay],
.plyr [data-plyr=fullscreen] {
  display: none;
}

.plyr--captions-enabled [data-plyr=captions],
.plyr--pip-supported [data-plyr=pip],
.plyr--airplay-supported [data-plyr=airplay],
.plyr--fullscreen-enabled [data-plyr=fullscreen] {
  display: inline-block;
}

.plyr__menu {
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.plyr__menu .plyr__control svg {
  transition: transform 0.3s ease;
}
.plyr__menu .plyr__control[aria-expanded=true] svg {
  -ms-transform: rotate(90deg);
      transform: rotate(90deg);
}
.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
  display: none;
}
.plyr__menu__container {
  animation: plyr-popup 0.2s ease;
  background: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));
  border-radius: var(--plyr-menu-radius, 8px);
  bottom: 100%;
  box-shadow: var(--plyr-menu-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  color: var(--plyr-menu-color, hsl(216, 15%, 34%));
  font-size: var(--plyr-font-size-base, 15px);
  margin-bottom: 10px;
  position: absolute;
  right: -3px;
  text-align: left;
  white-space: nowrap;
  z-index: 3;
}
.plyr__menu__container > div {
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.plyr__menu__container::after {
  border: var(--plyr-menu-arrow-size, 4px) solid transparent;
  border-top-color: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));
  content: "";
  height: 0;
  position: absolute;
  right: calc(var(--plyr-control-icon-size, 18px) / 2 + calc(var(--plyr-control-spacing, 10px) * 0.7) - var(--plyr-menu-arrow-size, 4px) / 2);
  top: 100%;
  width: 0;
}
.plyr__menu__container [role=menu] {
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
}
.plyr__menu__container [role=menuitem],
.plyr__menu__container [role=menuitemradio] {
  margin-top: 2px;
}
.plyr__menu__container [role=menuitem]:first-child,
.plyr__menu__container [role=menuitemradio]:first-child {
  margin-top: 0;
}
.plyr__menu__container .plyr__control {
  -ms-flex-align: center;
      align-items: center;
  color: var(--plyr-menu-color, hsl(216, 15%, 34%));
  display: -ms-flexbox;
  display: flex;
  font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));
  padding: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 1.5) calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5);
  -ms-user-select: none;
      -webkit-user-select: none;
      user-select: none;
  width: 100%;
}
.plyr__menu__container .plyr__control > span {
  -ms-flex-align: inherit;
      align-items: inherit;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.plyr__menu__container .plyr__control::after {
  border: var(--plyr-menu-item-arrow-size, 4px) solid transparent;
  content: "";
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
}
.plyr__menu__container .plyr__control--forward {
  padding-right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);
}
.plyr__menu__container .plyr__control--forward::after {
  border-left-color: var(--plyr-menu-arrow-color, hsl(216, 15%, 52%));
  right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5 - var(--plyr-menu-item-arrow-size, 4px));
}
.plyr__menu__container .plyr__control--forward:focus-visible::after, .plyr__menu__container .plyr__control--forward:hover::after {
  border-left-color: currentColor;
}
.plyr__menu__container .plyr__control--back {
  font-weight: var(--plyr-font-weight-regular, 400);
  margin: calc(var(--plyr-control-spacing, 10px) * 0.7);
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);
  padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);
  position: relative;
  width: calc(100% - calc(var(--plyr-control-spacing, 10px) * 0.7) * 2);
}
.plyr__menu__container .plyr__control--back::after {
  border-right-color: var(--plyr-menu-arrow-color, hsl(216, 15%, 52%));
  left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5 - var(--plyr-menu-item-arrow-size, 4px));
}
.plyr__menu__container .plyr__control--back::before {
  background: var(--plyr-menu-back-border-color, hsl(216, 15%, 88%));
  box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
  content: "";
  height: 1px;
  left: 0;
  margin-top: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
}
.plyr__menu__container .plyr__control--back:focus-visible::after, .plyr__menu__container .plyr__control--back:hover::after {
  border-right-color: currentColor;
}
.plyr__menu__container .plyr__control[role=menuitemradio] {
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7);
}
.plyr__menu__container .plyr__control[role=menuitemradio]::before, .plyr__menu__container .plyr__control[role=menuitemradio]::after {
  border-radius: 100%;
}
.plyr__menu__container .plyr__control[role=menuitemradio]::before {
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 16px;
  margin-right: var(--plyr-control-spacing, 10px);
  transition: all 0.3s ease;
  width: 16px;
}
.plyr__menu__container .plyr__control[role=menuitemradio]::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  -ms-transform: translateY(-50%) scale(0);
      transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: var(--plyr-control-toggle-checked-background, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
  opacity: 1;
  -ms-transform: translateY(-50%) scale(1);
      transform: translateY(-50%) scale(1);
}
.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
  background: rgba(35, 40, 47, 0.1);
}
.plyr__menu__container .plyr__menu__value {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  margin-right: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) - 2px) * -1);
  overflow: hidden;
  padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 3.5);
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);
  color: var(--plyr-range-fill-background, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
  display: block;
  height: calc(var(--plyr-range-thumb-active-shadow-width, 3px) * 2 + var(--plyr-range-thumb-height, 13px));
  margin: 0;
  min-width: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}
.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
          user-select: none;
  background-image: linear-gradient(to right, currentColor var(--value, 0%), transparent var(--value, 0%));
}
.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: var(--plyr-range-thumb-height, 13px);
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: var(--plyr-range-thumb-height, 13px);
  -webkit-appearance: none;
          appearance: none;
  margin-top: calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px)) / 2 * -1);
}
.plyr--full-ui input[type=range]::-moz-range-track {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
}
.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: var(--plyr-range-thumb-height, 13px);
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: var(--plyr-range-thumb-height, 13px);
}
.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
}
.plyr--full-ui input[type=range]::-ms-track {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
      user-select: none;
  color: transparent;
}
.plyr--full-ui input[type=range]::-ms-fill-upper {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
      user-select: none;
}
.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
      user-select: none;
  background: currentColor;
}
.plyr--full-ui input[type=range]::-ms-thumb {
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: var(--plyr-range-thumb-height, 13px);
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: var(--plyr-range-thumb-height, 13px);
  margin-top: 0;
}
.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}
.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}
.plyr--full-ui input[type=range]:focus {
  outline: 0;
}
.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track {
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
  outline-offset: 2px;
}
.plyr--full-ui input[type=range]:focus-visible::-moz-range-track {
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
  outline-offset: 2px;
}
.plyr--full-ui input[type=range]:focus-visible::-ms-track {
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
  outline-offset: 2px;
}

.plyr__poster {
  background-color: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
}

.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster {
  display: none;
}

.plyr__time {
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
}

.plyr__time + .plyr__time::before {
  content: "⁄";
  margin-right: var(--plyr-control-spacing, 10px);
}
@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}

/* stylelint-disable selector-max-compound-selectors */
.plyr__tooltip {
  background: var(--plyr-tooltip-background, #fff);
  border-radius: var(--plyr-tooltip-radius, 5px);
  bottom: 100%;
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  color: var(--plyr-tooltip-color, hsl(216, 15%, 34%));
  font-size: var(--plyr-font-size-small, 13px);
  font-weight: var(--plyr-font-weight-regular, 400);
  left: 50%;
  line-height: 1.3;
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
  opacity: 0;
  padding: calc(var(--plyr-control-spacing, 10px) / 2) calc(calc(var(--plyr-control-spacing, 10px) / 2) * 1.5);
  pointer-events: none;
  position: absolute;
  -ms-transform: translate(-50%, 10px) scale(0.8);
      transform: translate(-50%, 10px) scale(0.8);
  -ms-transform-origin: 50% 100%;
      transform-origin: 50% 100%;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}
.plyr__tooltip::before {
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control:hover .plyr__tooltip,
.plyr .plyr__control:focus-visible .plyr__tooltip,
.plyr__tooltip--visible {
  opacity: 1;
  -ms-transform: translate(-50%, 0) scale(1);
      transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  -ms-transform: translate(0, 10px) scale(0.8);
      transform: translate(0, 10px) scale(0.8);
  -ms-transform-origin: 0 100%;
      transform-origin: 0 100%;
}
.plyr__controls > .plyr__control:first-child .plyr__tooltip::before,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: calc(var(--plyr-control-icon-size, 18px) / 2 + calc(var(--plyr-control-spacing, 10px) * 0.7));
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  -ms-transform: translate(0, 10px) scale(0.8);
      transform: translate(0, 10px) scale(0.8);
  -ms-transform-origin: 100% 100%;
      transform-origin: 100% 100%;
}
.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: calc(var(--plyr-control-icon-size, 18px) / 2 + calc(var(--plyr-control-spacing, 10px) * 0.7));
  -ms-transform: translateX(50%);
      transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child:focus-visible .plyr__tooltip,
.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible,
.plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control:focus-visible .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible,
.plyr__controls > .plyr__control:last-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:last-child:focus-visible .plyr__tooltip,
.plyr__controls > .plyr__control:last-child .plyr__tooltip--visible {
  -ms-transform: translate(0, 0) scale(1);
      transform: translate(0, 0) scale(1);
}

.plyr__progress {
  left: calc(var(--plyr-range-thumb-height, 13px) * 0.5);
  margin-right: var(--plyr-range-thumb-height, 13px);
  position: relative;
}
.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
  margin-right: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
  width: calc(100% + var(--plyr-range-thumb-height, 13px));
}
.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}
.plyr__progress .plyr__tooltip {
  left: 0;
  max-width: 120px;
  overflow-wrap: break-word;
}

.plyr__progress__buffer {
  -webkit-appearance: none; /* stylelint-disable-line */
  background: transparent;
  border: 0;
  border-radius: 100px;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  margin-top: calc(var(--plyr-range-track-height, 5px) / 2 * -1);
  padding: 0;
  position: absolute;
  top: 50%;
}
.plyr__progress__buffer::-webkit-progress-bar {
  background: transparent;
}
.plyr__progress__buffer::-webkit-progress-value {
  background: currentColor;
  border-radius: 100px;
  min-width: var(--plyr-range-track-height, 5px);
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.plyr__progress__buffer::-moz-progress-bar {
  background: currentColor;
  border-radius: 100px;
  min-width: var(--plyr-range-track-height, 5px);
  -moz-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.plyr__progress__buffer::-ms-fill {
  border-radius: 100px;
  -ms-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr--loading .plyr__progress__buffer {
  animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(-45deg, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 25%, transparent 25%, transparent 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 75%, transparent 75%, transparent);
  background-repeat: repeat-x;
  background-size: var(--plyr-progress-loading-size, 25px) var(--plyr-progress-loading-size, 25px);
  color: transparent;
}

.plyr--video.plyr--loading .plyr__progress__buffer {
  background-color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25));
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
  background-color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6));
}

.plyr__progress__marker {
  background-color: var(--plyr-progress-marker-background, #fff);
  border-radius: 1px;
  height: var(--plyr-range-track-height, 5px);
  position: absolute;
  top: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  width: var(--plyr-progress-marker-width, 3px);
  z-index: 3;
}

.plyr__volume {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.plyr__volume input[type=range] {
  margin-left: calc(var(--plyr-control-spacing, 10px) / 2);
  margin-right: calc(var(--plyr-control-spacing, 10px) / 2);
  max-width: 90px;
  min-width: 60px;
  position: relative;
  z-index: 2;
}

.plyr--audio {
  display: block;
}

.plyr--audio .plyr__controls {
  background: var(--plyr-audio-controls-background, #fff);
  border-radius: inherit;
  color: var(--plyr-audio-control-color, hsl(216, 15%, 34%));
  padding: var(--plyr-control-spacing, 10px);
}

.plyr--audio .plyr__control:focus-visible, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
  background: var(--plyr-audio-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
  color: var(--plyr-audio-control-color-hover, #fff);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}
.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}
.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}
.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1));
}
.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1));
}
.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1));
}

.plyr--audio .plyr__progress__buffer {
  color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6));
}

.plyr--video {
  overflow: hidden;
}
.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
  border-radius: inherit;
  height: 100%;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.plyr__video-embed,
.plyr__video-wrapper--fixed-ratio {
  aspect-ratio: 16/9;
}
@supports not (aspect-ratio: 16/9) {
  .plyr__video-embed,
  .plyr__video-wrapper--fixed-ratio {
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
  }
}

.plyr__video-embed iframe,
.plyr__video-wrapper--fixed-ratio video {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
  padding-bottom: 240%;
  position: relative;
  -ms-transform: translateY(-38.28125%);
      transform: translateY(-38.28125%);
}

.plyr--video .plyr__controls {
  background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75)));
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: var(--plyr-video-control-color, #fff);
  left: 0;
  padding: calc(var(--plyr-control-spacing, 10px) / 2);
  padding-top: calc(var(--plyr-control-spacing, 10px) * 2);
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 3;
}
@media (min-width: 480px) {
  .plyr--video .plyr__controls {
    padding: var(--plyr-control-spacing, 10px);
    padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5);
  }
}

.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  -ms-transform: translateY(100%);
      transform: translateY(100%);
}

.plyr--video .plyr__control:focus-visible, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
  background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
  color: var(--plyr-video-control-color-hover, #fff);
}

.plyr__control--overlaid {
  background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));
  border: 0;
  border-radius: 100%;
  color: var(--plyr-video-control-color, #fff);
  display: none;
  left: 50%;
  opacity: 0.9;
  padding: calc(var(--plyr-control-spacing, 10px) * 1.5);
  position: absolute;
  top: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  transition: 0.3s;
  z-index: 2;
}
.plyr__control--overlaid svg {
  left: 2px;
  position: relative;
}
.plyr__control--overlaid:hover, .plyr__control--overlaid:focus {
  opacity: 1;
}

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden;
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));
}
.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));
}
.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));
}
.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));
}
.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));
}
.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));
}

.plyr--video .plyr__progress__buffer {
  color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25));
}

.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}
.plyr:-ms-fullscreen video {
  height: 100%;
}
.plyr:fullscreen video {
  height: 100%;
}
.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr:-ms-fullscreen.plyr--hide-controls {
  cursor: none;
}
.plyr:fullscreen.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr:-ms-fullscreen .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
  .plyr:fullscreen .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}

.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000000;
}
.plyr--fullscreen-fallback video {
  height: 100%;
}
.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr--fullscreen-fallback.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr--fullscreen-fallback .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}

.plyr__ads {
  border-radius: inherit;
  bottom: 0;
  cursor: pointer;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.plyr__ads > div,
.plyr__ads > div iframe {
  height: 100%;
  position: absolute;
  width: 100%;
}
.plyr__ads::after {
  background: hsl(216, 15%, 16%);
  border-radius: 2px;
  bottom: var(--plyr-control-spacing, 10px);
  color: #fff;
  content: attr(data-badge-text);
  font-size: 11px;
  padding: 2px 6px;
  pointer-events: none;
  position: absolute;
  right: var(--plyr-control-spacing, 10px);
  z-index: 3;
}
.plyr__ads:empty::after {
  display: none;
}

.plyr__cues {
  background: currentColor;
  display: block;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  width: 3px;
  z-index: 3;
}

.plyr__preview-thumb {
  background-color: var(--plyr-tooltip-background, #fff);
  border-radius: var(--plyr-menu-radius, 8px);
  bottom: 100%;
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
  opacity: 0;
  padding: 3px;
  pointer-events: none;
  position: absolute;
  -ms-transform: translate(0, 10px) scale(0.8);
      transform: translate(0, 10px) scale(0.8);
  -ms-transform-origin: 50% 100%;
      transform-origin: 50% 100%;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  z-index: 2;
}
.plyr__preview-thumb--is-shown {
  opacity: 1;
  -ms-transform: translate(0, 0) scale(1);
      transform: translate(0, 0) scale(1);
}
.plyr__preview-thumb::before {
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: "";
  height: 0;
  left: calc(50% + var(--preview-arrow-offset));
  position: absolute;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  width: 0;
  z-index: 2;
}
.plyr__preview-thumb__image-container {
  background: hsl(216, 15%, 79%);
  border-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.plyr__preview-thumb__image-container img, .plyr__preview-thumb__image-container::after {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.plyr__preview-thumb__image-container::after {
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
  content: "";
  pointer-events: none;
}
.plyr__preview-thumb__image-container img {
  max-height: none;
  max-width: none;
}
.plyr__preview-thumb__time-container {
  background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75)));
  border-bottom-left-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  border-bottom-right-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  bottom: 0;
  left: 0;
  line-height: 1.1;
  padding: 20px 6px 6px;
  position: absolute;
  right: 0;
  z-index: 3;
}
.plyr__preview-thumb__time-container span {
  color: #fff;
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
}

.plyr__preview-scrubbing {
  bottom: 0;
  -webkit-filter: blur(1px);
          filter: blur(1px);
  height: 100%;
  left: 0;
  margin: auto;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
  z-index: 1;
}
.plyr__preview-scrubbing--is-shown {
  opacity: 1;
}
.plyr__preview-scrubbing img {
  height: 100%;
  left: 0;
  max-height: none;
  max-width: none;
  object-fit: contain;
  position: absolute;
  top: 0;
  width: 100%;
}

.plyr--no-transition {
  transition: none !important;
}

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  border: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.plyr [hidden] {
  display: none !important;
}

.l-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap-small);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

@media (min-width: 768px) {
  .l-grid {
    grid-template-columns: repeat(12, 1fr);
    row-gap: var(--gap-medium);
    column-gap: var(--gap-medium);
  }
}
@media (min-width: 1280px) {
  .l-grid {
    row-gap: var(--gap-large);
    column-gap: var(--gap-large);
  }
}
.l-page-margin-x {
  padding: 0 var(--page-margin-small);
}
@media (min-width: 768px) {
  .l-page-margin-x {
    padding: 0 var(--page-margin-medium);
  }
}
@media (min-width: 1440px) {
  .l-page-margin-x {
    padding: 0 var(--page-margin-large);
  }
}

.l-page-margin-l {
  padding-left: var(--page-margin-small);
}
@media (min-width: 768px) {
  .l-page-margin-l {
    padding-left: var(--page-margin-medium);
  }
}
@media (min-width: 1440px) {
  .l-page-margin-l {
    padding-left: var(--page-margin-large);
  }
}

:root {
  --page-margin-small: 16px;
  --page-margin-medium: 48px;
  --page-margin-large: 96px;
  --gap-small: 16px;
  --gap-medium: 28px;
  --gap-large: 28px;
  --font-primary: area-normal, sans-serif;
  --colour-primary: #004E93;
  --colour-secondary: #B4BCFF;
  --colour-secondary-rgb: 180, 188, 255;
  --colour-tertiary: #FF4700;
  --colour-white: #ffffff;
  --colour-dark: #2A3447;
  --colour-navy: #213F6B;
  --colour-green: #3BC97D;
  --colour-grey: #EEEDED;
  --ease-1: cubic-bezier(0.51, 0, 0, 1);
}

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

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

.bg-tertiary {
  background-color: var(--colour-tertiary);
}

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

.bg-dark {
  background-color: var(--colour-dark);
}

.bg-navy {
  background-color: var(--colour-navy);
}

.bg-green {
  background-color: var(--colour-green);
}

html:not([data-whatintent=keyboard]) *:focus {
  outline: none;
}

svg {
  fill: currentColor;
}

[data-menu]:not(.is-open) [data-menu-item] {
  transition-delay: 0ms !important;
  transition-duration: 0ms;
  opacity: 0;
  -ms-transform: translateX(4rem);
      transform: translateX(4rem);
}

.site__container {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  min-height: 100vh;
}

.site__main {
  margin-bottom: auto;
}

.grid_template {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 var(--page-margin-small);
  z-index: 50;
  pointer-events: none;
  display: none;
}
.grid_template .l-grid {
  row-gap: 0 !important;
  height: 100%;
}
.grid_template .col-span-1 {
  background: red;
  opacity: 0.05;
}
.grid_template.grid-template-active {
  display: block;
}
@media (min-width: 768px) {
  .grid_template {
    padding: 0 var(--page-margin-medium);
  }
}
@media (min-width: 1440px) {
  .grid_template {
    padding: 0 var(--page-margin-large);
  }
}

.grid_template_indicator {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 6px 16px;
  font-size: 10px;
  line-height: 1;
  background-color: rgba(59, 130, 246, 0.7);
}
.grid_template_indicator div {
  display: none;
  color: black;
}
@media (max-width: 480px) {
  .grid_template_indicator .breakpoint-xs {
    display: block;
  }
}
@media (min-width: 481px) and (max-width: 640px) {
  .grid_template_indicator .breakpoint-xs-only {
    display: block;
  }
}
@media (min-width: 641px) and (max-width: 768px) {
  .grid_template_indicator .breakpoint-sm-only {
    display: block;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .grid_template_indicator .breakpoint-md-only {
    display: block;
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .grid_template_indicator .breakpoint-lg-only {
    display: block;
  }
}
@media (min-width: 1281px) and (max-width: 1440px) {
  .grid_template_indicator .breakpoint-xl-only {
    display: block;
  }
}
@media (min-width: 1441px) and (max-width: 1800px) {
  .grid_template_indicator .breakpoint-2xl-only {
    display: block;
  }
}
@media (min-width: 1801px) {
  .grid_template_indicator .breakpoint-3xl-only {
    display: block;
  }
}

.grid_template_page_margin {
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  background-color: green;
  opacity: 0.1;
  width: var(--page-margin-small);
}
.grid_template_page_margin:last-child {
  right: 0;
  left: unset;
}
@media (min-width: 768px) {
  .grid_template_page_margin {
    width: var(--page-margin-medium);
  }
}
@media (min-width: 1440px) {
  .grid_template_page_margin {
    width: var(--page-margin-large);
  }
}

@media print {
  @page {
    margin: 0.5cm;
  }
  h1,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
    page-break-after: avoid;
  }
  p {
    orphans: 3;
    widows: 3;
  }
  pre,
  blockquote {
    page-break-inside: avoid;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr {
    page-break-inside: avoid;
  }
}
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/
::-ms-backdrop {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}
::-webkit-file-upload-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}
::-ms-backdrop {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}
::-webkit-file-upload-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}
*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); /* 4 */
  font-feature-settings: var(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: var(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  line-height: inherit;
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

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

/*
  Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}

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

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); /* 4 */
  font-feature-settings: var(--default-mono-font-feature-settings, normal); /* 5 */
  font-variation-settings: var(--default-mono-font-variation-settings, normal); /* 6 */
  font-size: 1em; /* 4 */
}

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

/*
  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)
  3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  1. Inherit the font styles in all browsers.
  2. Remove the default background color.
*/
::-webkit-file-upload-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  background: transparent; /* 2 */
}
button,
input,
optgroup,
select,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  background: transparent; /* 2 */
}

/*
  Reset the default inset border style for form controls to solid.
*/
input:where(:not([type=button], [type=reset], [type=submit])),
select,
textarea {
  border: 1px solid;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button;
          appearance: button;
}
button,
input:where([type=button], [type=reset], [type=submit]),
::file-selector-button {
  -webkit-appearance: button;
          appearance: button;
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}

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

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

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

/*
  Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/
ol,
ul,
menu {
  list-style: none;
}

/*
  Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}

/*
  1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
  2. Set the default placeholder color to a semi-transparent version of the current text color.
*/
:-ms-input-placeholder {
  opacity: 1; /* 1 */
  color: color-mix(in srgb, currentColor 50%, transparent); /* 2 */
}
::-webkit-input-placeholder {
  opacity: 1; /* 1 */
  color: color-mix(in srgb, currentColor 50%, transparent); /* 2 */
}
::placeholder {
  opacity: 1; /* 1 */
  color: color-mix(in srgb, currentColor 50%, transparent); /* 2 */
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
     This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/
[hidden] {
  display: none !important;
}

html {
  font-family: var(--font-primary);
  color: var(--colour-dark);
  font-size: 16px;
}

.t-h1 {
  font-weight: 800;
  font-style: normal;
  font-size: 36px;
  line-height: 1.15;
}
@media (min-width: 1024px) {
  .t-h1 {
    font-size: 52px;
  }
}

.t-h2, .t-copy h2, .t-copy-base h2, .t-copy-feature h2 {
  font-weight: 800;
  font-style: normal;
  font-size: 30px;
  line-height: 1.15;
}
@media (min-width: 1024px) {
  .t-h2, .t-copy h2, .t-copy-base h2, .t-copy-feature h2 {
    font-size: 44px;
  }
}

.t-h3, .t-copy h3, .t-copy-base h3, .t-copy-feature h3 {
  font-weight: 800;
  font-style: normal;
  font-size: 22px;
  line-height: 1.15;
}
@media (min-width: 1024px) {
  .t-h3, .t-copy h3, .t-copy-base h3, .t-copy-feature h3 {
    font-size: 28px;
  }
}

.t-h4, .t-copy h4, .t-copy-base h4, .t-copy-feature h4 {
  font-weight: 800;
  font-style: normal;
  font-size: 18px;
  line-height: 1.4;
}
@media (min-width: 1024px) {
  .t-h4, .t-copy h4, .t-copy-base h4, .t-copy-feature h4 {
    font-size: 20px;
  }
}

.t-copy-feature {
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .t-copy-feature {
    font-size: 26px;
  }
}
.t-copy-feature > *:not(:first-child) {
  margin-top: 1rem;
}
.t-copy-feature a:not(.button) {
  color: currentColor;
  text-decoration: underline;
}
.t-copy-feature a:not(.button):hover, .t-copy-feature a:not(.button):focus, .t-copy-feature a:not(.button):focus-visible {
  /* Add hover/focus styles if needed */
}
.t-copy-feature b, .t-copy-feature strong {
  font-weight: 800;
}
.t-copy-feature em {
  font-style: italic;
}
.t-copy-feature ul,
.t-copy-feature ol {
  position: relative;
  padding-left: 1.5rem;
}
.t-copy-feature ul ul,
.t-copy-feature ul ol,
.t-copy-feature ol ul,
.t-copy-feature ol ol {
  margin-top: 0.5rem;
}
.t-copy-feature li:not(:first-child) {
  margin-top: 0.5rem;
}
.t-copy-feature li:before {
  content: "";
  position: absolute;
  left: 0;
}
.t-copy-feature ul > li:before {
  width: 0.5rem;
  height: 0.5rem;
  background-color: currentColor;
  margin-top: 0.6em;
  color: var(--colour-primary);
}
.t-copy-feature ol {
  counter-reset: list-counter;
}
.t-copy-feature ol li {
  counter-increment: list-counter;
}
.t-copy-feature ol li:before {
  content: counter(list-counter) ". ";
}
.t-copy-feature b, .t-copy-feature strong {
  color: var(--colour-primary);
}

.t-copy-base {
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .t-copy-base {
    font-size: 16px;
  }
}
.t-copy-base > *:not(:first-child) {
  margin-top: 1rem;
}
.t-copy-base a:not(.button) {
  color: currentColor;
  text-decoration: underline;
}
.t-copy-base a:not(.button):hover, .t-copy-base a:not(.button):focus, .t-copy-base a:not(.button):focus-visible {
  /* Add hover/focus styles if needed */
}
.t-copy-base b, .t-copy-base strong {
  font-weight: 800;
}
.t-copy-base em {
  font-style: italic;
}
.t-copy-base ul,
.t-copy-base ol {
  position: relative;
  padding-left: 1.5rem;
}
.t-copy-base ul ul,
.t-copy-base ul ol,
.t-copy-base ol ul,
.t-copy-base ol ol {
  margin-top: 0.5rem;
}
.t-copy-base li:not(:first-child) {
  margin-top: 0.5rem;
}
.t-copy-base li:before {
  content: "";
  position: absolute;
  left: 0;
}
.t-copy-base ul > li:before {
  width: 0.5rem;
  height: 0.5rem;
  background-color: currentColor;
  margin-top: 0.6em;
  color: var(--colour-primary);
}
.t-copy-base ol {
  counter-reset: list-counter;
}
.t-copy-base ol li {
  counter-increment: list-counter;
}
.t-copy-base ol li:before {
  content: counter(list-counter) ". ";
}

.t-copy-small {
  font-weight: 600;
  font-style: normal;
  font-size: 12px;
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .t-copy-small {
    font-size: 12px;
  }
}

.t-copy {
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .t-copy {
    font-size: 20px;
  }
}
.t-copy > *:not(:first-child) {
  margin-top: 1rem;
}
.t-copy a:not(.button) {
  color: currentColor;
  text-decoration: underline;
}
.t-copy a:not(.button):hover, .t-copy a:not(.button):focus, .t-copy a:not(.button):focus-visible {
  /* Add hover/focus styles if needed */
}
.t-copy b, .t-copy strong {
  font-weight: 800;
}
.t-copy em {
  font-style: italic;
}
.t-copy ul,
.t-copy ol {
  position: relative;
  padding-left: 1.5rem;
}
.t-copy ul ul,
.t-copy ul ol,
.t-copy ol ul,
.t-copy ol ol {
  margin-top: 0.5rem;
}
.t-copy li:not(:first-child) {
  margin-top: 0.5rem;
}
.t-copy li:before {
  content: "";
  position: absolute;
  left: 0;
}
.t-copy ul > li:before {
  width: 0.5rem;
  height: 0.5rem;
  background-color: currentColor;
  margin-top: 0.6em;
  color: var(--colour-primary);
}
.t-copy ol {
  counter-reset: list-counter;
}
.t-copy ol li {
  counter-increment: list-counter;
}
.t-copy ol li:before {
  content: counter(list-counter) ". ";
}

.o-btn {
  display: -ms-inline-flexbox;
  display: inline-flex;
  white-space: nowrap;
  text-align: center;
  padding: 6px 16px 8px;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  border-radius: 6px;
  text-decoration: none;
  font-family: var(--font-primary);
  font-weight: 600;
  min-width: 8rem;
  font-size: 14px;
  transition: all 250ms var(--ease-1);
}
@media (min-width: 1280px) {
  .o-btn {
    padding: 10px 20px 12px;
    font-size: 16px;
  }
}
.o-btn:hover {
  background: var(--colour-tertiary);
  border-color: var(--colour-tertiary);
  color: var(--colour-white);
}

.o-btn--solid-primary {
  background: var(--colour-primary);
  color: var(--colour-white);
  border: 2px solid var(--colour-primary);
}

.o-btn--solid-secondary {
  background: var(--colour-secondary);
  color: var(--colour-primary);
  border: 2px solid var(--colour-secondary);
}

.o-btn--solid-white {
  background: var(--colour-white);
  color: var(--colour-primary);
  border: 2px solid var(--colour-white);
}

.o-btn--outline-secondary {
  background: transparent;
  color: var(--colour-primary);
  border: 2px solid var(--colour-secondary);
}

[class^=o-icon-],
[class*=" o-icon-"] {
  display: inline-block;
}

.o-icon {
  fill: currentColor;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
}

.o-icon-stroke {
  fill: none;
  stroke: currentColor;
  stroke-width: 1px;
}

.o-icon-stroke-2 {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
}

.o-icon-services {
  fill: none;
  stroke: currentColor;
  stroke-width: 3px;
}
@media (min-width: 1024px) {
  .o-icon-services {
    stroke-width: 4px;
  }
}

.o-icon-combo-block, .o-icon-banner {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
}
@media (min-width: 1440px) {
  .o-icon-combo-block, .o-icon-banner {
    stroke-width: 4px;
  }
}

.o-icon-industries {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
}
@media (min-width: 1440px) {
  .o-icon-industries {
    stroke-width: 3px;
  }
}

.o-picture {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  overflow: hidden;
  background-color: rgba(var(--colour-secondary-rgb), 0.2);
}
.o-picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.o-picture.rounded {
  overflow: hidden;
  border-radius: 14px;
}
@media (min-width: 768px) {
  .o-picture.rounded {
    border-radius: 20px;
  }
}
.o-picture.h-full {
  height: 100%;
}
.o-picture.no-bg {
  background-color: transparent !important;
}

.o-spinner {
  display: block;
  height: 1em;
  width: 1em;
  border-radius: 50%;
  border: solid 0.15em currentColor;
  border-left-color: transparent;
  border-right-color: transparent;
  animation: clockwise 1000ms linear infinite;
}

@keyframes clockwise {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.banner {
  position: relative;
}
.banner .l-grid {
  -ms-flex-align: center;
      align-items: center;
  row-gap: 3rem;
}

.banner__gradient {
  position: absolute;
  left: -25%;
  top: 10rem;
  width: 70vw;
  height: 70vw;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(50% 50% at 50% 50%, rgba(180, 188, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
}
@media (min-width: 640px) {
  .banner__gradient {
    top: 16rem;
  }
}
@media (min-width: 768px) {
  .banner__gradient {
    top: 50%;
    left: -20%;
    width: 40vw;
    height: 40vw;
  }
}
@media (min-width: 1440px) {
  .banner__gradient {
    left: -15%;
    width: 30vw;
    height: 30vw;
  }
}

.banner__content {
  padding-top: 2rem;
  grid-column: span 4/span 4;
}
.banner__content > *:not(:last-child) {
  margin-bottom: 1rem;
}
@media (min-width: 640px) {
  .banner__content {
    grid-column: span 3/span 3;
  }
}
@media (min-width: 768px) {
  .banner__content {
    padding: 2rem 0;
    grid-column: span 6/span 6;
  }
  .banner__content > *:not(:last-child) {
    margin-bottom: 3rem;
  }
}
@media (min-width: 1024px) {
  .banner__content {
    padding: 4rem 0;
    grid-column: 2/span 4;
  }
}
.banner__content h2 {
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 0.5rem !important;
  color: var(--colour-navy);
}
@media (min-width: 640px) {
  .banner__content h2 {
    font-size: 16px;
  }
}
.banner__content .t-h1 {
  display: inline-block;
  color: var(--colour-primary);
  opacity: 0;
  -webkit-font-kerning: none;
          font-kerning: none;
  -webkit-text-rendering: optimizeSpeed;
  text-rendering: optimizeSpeed;
  transform: translateZ(0);
  overflow: hidden;
  padding-bottom: 0.2em;
}
.banner__content .t-h1 .line {
  overflow: hidden;
  margin-bottom: -0.2em;
  padding-bottom: 0.2em;
}
.banner__content .t-h1 .word {
  -webkit-font-kerning: none;
          font-kerning: none;
  -webkit-text-rendering: optimizeSpeed;
  text-rendering: optimizeSpeed;
  transform: translateZ(0);
}

.banner__buttons {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}

.banner__media {
  position: relative;
  height: 100%;
  grid-column: span 4/span 4;
  margin-right: calc(-1 * var(--page-margin-small));
}
@media (min-width: 768px) {
  .banner__media {
    grid-column: 7/span 6;
    margin-right: calc(-1 * var(--page-margin-medium));
  }
}
@media (min-width: 1440px) {
  .banner__media {
    margin-right: calc(-1 * var(--page-margin-large));
    min-height: 50vh;
  }
}
@media (min-width: 1800px) {
  .banner__media {
    min-height: 42vh;
  }
}
.banner__media .o-picture {
  background-color: rgba(var(--colour-secondary-rgb), 0.2);
  overflow: hidden;
  border-top-left-radius: 14px;
  border-bottom-left-radius: 14px;
  padding-bottom: 56.25%;
}
@media (min-width: 768px) {
  .banner__media .o-picture {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
}
@media (min-width: 1440px) {
  .banner__media .o-picture {
    padding-bottom: 0;
  }
}

.banner__media-advanced {
  position: relative;
  height: 100%;
  grid-column: span 4/span 4;
  margin-right: calc(-1 * var(--page-margin-small));
}
@media (min-width: 768px) {
  .banner__media-advanced {
    grid-column: 7/span 6;
    margin-right: calc(-1 * var(--page-margin-medium));
  }
}
@media (min-width: 1440px) {
  .banner__media-advanced {
    margin-right: calc(-1 * var(--page-margin-large));
    min-height: 50vh;
  }
}
@media (min-width: 1800px) {
  .banner__media-advanced {
    min-height: 51rem;
  }
}
.banner__media-advanced .banner__icon {
  top: 10rem;
  left: 0;
}
.banner__media-advanced .o-picture {
  background-color: rgba(var(--colour-secondary-rgb), 0.2);
  overflow: hidden;
  padding-bottom: 80%;
}
@media (min-width: 768px) {
  .banner__media-advanced .o-picture {
    padding-bottom: 0;
  }
}

.banner__icon {
  --size: 42px;
  --size-lg: 72px;
  position: absolute;
  right: 2rem;
  top: calc(-1 * var(--size) / 2);
  padding: calc(var(--size) / 4);
  z-index: 1;
  color: var(--colour-white);
  border-radius: 10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: var(--size);
  height: var(--size);
  font-size: var(--size);
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 768px) {
  .banner__icon {
    top: 4rem;
    left: calc(-1 * var(--size) / 2);
  }
}
@media (min-width: 1440px) {
  .banner__icon {
    width: var(--size-lg);
    height: var(--size-lg);
    font-size: var(--size-lg);
    left: calc(-1 * var(--size-lg) / 2);
  }
}

.banner__media-image {
  --size: 42px;
  --size-lg: 72px;
  height: 100%;
  padding: 8rem 0 8rem calc(var(--size) / 2);
}
@media (min-width: 1440px) {
  .banner__media-image {
    padding: 8rem 0 8rem calc(var(--size-lg) / 2);
  }
}
.banner__media-image .o-picture {
  box-shadow: 0 0 3rem 5px rgba(180, 188, 255, 0.8);
  border-top-left-radius: 14px;
  border-bottom-left-radius: 14px;
}
@media (min-width: 768px) {
  .banner__media-image .o-picture {
    box-shadow: 0 0 8rem 5px rgba(180, 188, 255, 0.8);
    min-height: 20rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
}

.banner__media-image-phone {
  position: absolute;
  top: 0;
  right: 0.5rem;
  width: 12vw;
  min-width: 8rem;
  max-width: 16rem;
}
@media (min-width: 1280px) {
  .banner__media-image-phone {
    min-width: 10rem;
    right: 4rem;
  }
}
.banner__media-image-phone .banner__media-image-phone__content {
  width: 70%;
  position: absolute;
  top: 2.75rem;
  left: -100%;
}
@media (min-width: 1024px) {
  .banner__media-image-phone .banner__media-image-phone__content {
    left: -85%;
  }
}
@media (min-width: 1280px) {
  .banner__media-image-phone .banner__media-image-phone__content {
    left: -50%;
  }
}
.banner__media-image-phone .banner__media-image-phone__content .banner__media-image-phone__copy {
  background: rgba(255, 255, 255, 0.4);
  position: relative;
  padding: 0.6rem 1.5rem 0.6rem 1.75rem;
  margin: 0 auto;
  font-size: 12px;
  border-radius: 10px;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  min-width: 10rem;
}
.banner__media-image-phone .banner__media-image-phone__content .banner__media-image-phone__icon {
  --size: 32px;
  --size-lg: 38px;
  position: absolute;
  top: calc(-1 * var(--size) / 2);
  left: calc(-1 * var(--size) / 2);
  padding: calc(var(--size) / 4);
  z-index: 1;
  color: var(--colour-white);
  border-radius: 10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: var(--size);
  height: var(--size);
  font-size: var(--size);
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 1440px) {
  .banner__media-image-phone .banner__media-image-phone__content .banner__media-image-phone__icon {
    width: var(--size-lg);
    height: var(--size-lg);
    font-size: var(--size-lg);
  }
}

.banner__media-image-bottom {
  position: absolute;
  bottom: 0;
  left: 25%;
  width: 50%;
  min-width: 10rem;
  max-width: 16rem;
}
.banner__media-image-bottom .o-picture {
  overflow: hidden;
  border-radius: 14px;
}
@media (min-width: 768px) {
  .banner__media-image-bottom .o-picture {
    border-radius: 20px;
  }
}
@media (min-width: 768px) {
  .banner__media-image-bottom {
    left: calc(50% - var(--page-margin-medium));
  }
}
@media (min-width: 1280px) {
  .banner__media-image-bottom {
    min-width: 10rem;
    left: 8rem;
  }
}
.banner__media-image-bottom .banner__media-image-bottom__content {
  width: 70%;
  position: absolute;
  bottom: 1.5rem;
  left: -40%;
}
@media (min-width: 1024px) {
  .banner__media-image-bottom .banner__media-image-bottom__content {
    left: -50%;
    top: 4rem;
  }
}
@media (min-width: 1280px) {
  .banner__media-image-bottom .banner__media-image-bottom__content {
    left: -60%;
  }
}
.banner__media-image-bottom .banner__media-image-bottom__content .banner__media-image-bottom__copy {
  background: rgba(255, 255, 255, 0.4);
  position: relative;
  padding: 0.6rem 1.5rem 0.6rem 1.75rem;
  margin: 0 auto;
  font-size: 12px;
  border-radius: 10px;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  min-width: 12rem;
}
.banner__media-image-bottom .banner__media-image-bottom__content .banner__media-image-bottom__icon {
  --size: 32px;
  --size-lg: 38px;
  position: absolute;
  top: calc(-1 * var(--size) / 2);
  left: calc(-1 * var(--size) / 2);
  padding: calc(var(--size) / 4);
  z-index: 1;
  color: var(--colour-white);
  border-radius: 10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: var(--size);
  height: var(--size);
  font-size: var(--size);
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 1440px) {
  .banner__media-image-bottom .banner__media-image-bottom__content .banner__media-image-bottom__icon {
    width: var(--size-lg);
    height: var(--size-lg);
    font-size: var(--size-lg);
  }
}

.block__banner {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .block__banner {
    margin-bottom: 4rem;
  }
}
@media (min-width: 1280px) {
  .block__banner {
    margin-bottom: 6rem;
  }
}

.blocks {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .blocks {
    margin-bottom: 4rem;
  }
}
@media (min-width: 1280px) {
  .blocks {
    margin-bottom: 6rem;
  }
}
.blocks .block {
  margin: 0;
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .blocks .block {
    padding-top: 4rem;
  }
}
@media (min-width: 1280px) {
  .blocks .block {
    padding-top: 6rem;
  }
}
.blocks .block:first-child:not(.block__coBrandedContent) {
  padding-top: 0;
}
.blocks .block__iconCards {
  padding-top: 0;
}

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

.footer__top__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  gap: var(--gap-large);
  padding-top: var(--gap-large);
  padding-bottom: var(--gap-large);
}
@media (min-width: 768px) {
  .footer__top__inner {
    gap: var(--gap-large);
    padding-top: var(--gap-large);
    padding-bottom: var(--gap-large);
  }
}

.footer__top__list {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  gap: 2rem;
  padding: 0;
  margin: 0;
}
@media (min-width: 1024px) {
  .footer__top__list {
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .footer__top__list li:nth-child(2) {
    margin-left: auto;
  }
}
.footer__top__list .o-btn--outline-secondary {
  color: var(--colour-secondary);
}
.footer__top__list .o-btn--outline-secondary:hover {
  color: var(--colour-white);
}
.footer__top__list .o-btn--solid-secondary {
  color: var(--colour-dark);
}
.footer__top__list .o-btn--solid-secondary:hover {
  color: var(--colour-white);
}

.footer__top__copy {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 1rem;
  padding: 3rem;
  text-align: center;
}
@media (min-width: 640px) {
  .footer__top__copy {
    padding: 6rem;
  }
}

@media (min-width: 1024px) {
  .footer__top__copy__inner {
    max-width: 50%;
    margin: 0 auto;
  }
}

.footer__top__nav ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  row-gap: var(--gap-small);
  column-gap: var(--gap-small);
  padding: 0;
  margin: 0;
  grid-column: span 2/span 2;
}
@media (min-width: 768px) {
  .footer__top__nav ul {
    -ms-flex-direction: row;
        flex-direction: row;
    grid-column: span 6/span 6;
  }
}
.footer__top__nav ul:last-child {
  text-align: right;
}
@media (min-width: 768px) {
  .footer__top__nav ul:last-child {
    -ms-flex-pack: end;
        justify-content: flex-end;
  }
}
.footer__top__nav li a {
  position: relative;
  text-decoration: none;
  background-repeat: no-repeat;
  transition: all 500ms var(--ease-1);
  width: calc(100% + 1px);
  padding-bottom: 1px;
  background-image: linear-gradient(to right, var(--colour-tertiary) 0%, var(--colour-tertiary) 100%), linear-gradient(to right, transparent 0%, transparent 100%);
  background-repeat: no-repeat;
  background-size: 0% 1px, 100% 1px;
  background-position: 0 100%, 0 100%;
  color: var(--colour-white);
}
.footer__top__nav li a:hover, .footer__top__nav li a:focus, .footer__top__nav li a:focus-visible {
  background-size: 100% 1px, 100% 1px;
  background-position: 0 100%, 0 100%;
}

.footer__top__text {
  width: 100%;
  padding-top: var(--gap-large);
  text-align: center;
  border-top: 2px solid var(--colour-secondary);
}
.footer__top__text p:first-child {
  margin-bottom: 1rem;
}
.footer__top__text p:last-child {
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .footer__top__text p:last-child {
    margin-top: 0;
  }
}

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

.footer__bottom__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  gap: 1rem;
  padding-top: var(--gap-small);
  padding-bottom: var(--gap-small);
}
@media (min-width: 768px) {
  .footer__bottom__inner {
    -ms-flex-direction: row;
        flex-direction: row;
    gap: var(--gap-large);
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
.footer__bottom__inner svg {
  max-width: 110px;
}
.footer__bottom__inner p {
  margin: 0;
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 12px;
}

.hamburger {
  position: relative;
  padding: 0;
  width: 26px;
  height: 18px;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-appearance: none;
          appearance: none;
  border: none;
  background: none;
  cursor: pointer;
}
.hamburger:after {
  content: "";
  position: absolute;
  width: 140%;
  height: 200%;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
}
@media (min-width: 1024px) {
  .hamburger {
    display: none;
  }
}
.hamburger.is-active span:nth-child(1) {
  -ms-transform: translateY(0.5em) rotate(45deg);
      transform: translateY(0.5em) rotate(45deg);
}
.hamburger.is-active span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-active span:nth-child(3) {
  -ms-transform: translateY(0.5em) rotate(-45deg);
      transform: translateY(0.5em) rotate(-45deg);
}
.hamburger span {
  position: absolute;
  z-index: 10;
  width: 100%;
  inset: 0;
  background-color: var(--colour-primary);
  height: 2px;
  transition: all 0.3s var(--ease-1);
}
.hamburger span:nth-child(1) {
  -ms-transform: translateY(0);
      transform: translateY(0);
}
.hamburger span:nth-child(2) {
  -ms-transform: translateY(0.5em);
      transform: translateY(0.5em);
}
.hamburger span:nth-child(3) {
  -ms-transform: translateY(1em);
      transform: translateY(1em);
}

.site__header {
  width: 100%;
  height: 70px;
  position: relative;
  z-index: 30;
}
@media (min-width: 1024px) {
  .site__header {
    height: 90px;
  }
}
@media (min-width: 1440px) {
  .site__header {
    height: 120px;
  }
}

.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  transition: opacity 300ms;
}

.mobile__menu {
  position: fixed;
  width: 100%;
  height: 100%;
  background: var(--colour-white);
  color: var(--colour-primary);
  -ms-flex-direction: column;
      flex-direction: column;
  opacity: 0;
  pointer-events: none;
  top: 70px;
}
.mobile__menu.is-open {
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 1024px) {
  .mobile__menu.is-open {
    display: none;
  }
}

.mobile__menu__outer {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  -ms-flex-positive: 1;
      flex-grow: 1;
}

.mobile__menu__inner {
  position: absolute;
  width: 100%;
  height: calc(100% - 70px);
  padding-bottom: 2rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-pack: justify;
      justify-content: space-between;
  overflow: auto;
}

.mobile__menu-ul {
  list-style: none;
  padding: 2rem 0;
  margin: 0;
}

.mobile__menu-li {
  -ms-transform: translateX(4rem);
      transform: translateX(4rem);
  opacity: 0;
  transition: all 700ms var(--ease-1);
}
.is-open .mobile__menu-li {
  -ms-transform: translateX(0);
      transform: translateX(0);
  opacity: 1;
}
.mobile__menu-li ul {
  display: grid;
  transition: all 500ms var(--ease-1);
  padding: 0;
  margin: 0;
  grid-template-rows: 0fr;
}
.mobile__menu-li.dropdown-is-open ul {
  grid-template-rows: 1fr;
  padding-bottom: 2rem;
}

.mobile__menu-li__inner {
  position: relative;
  color: var(--colour-primary);
}

.mobile__menu-li__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  gap: 1.5rem;
  padding-top: 2rem;
  padding-bottom: 3rem;
  border-top: 2px solid var(--colour-secondary);
}
.mobile__menu-li__item a {
  font-family: var(--font-primary);
  line-height: 1;
  font-size: 20px;
  font-weight: 600;
  font-style: normal;
  text-decoration: none;
}
.mobile__menu-li__item button {
  position: relative;
  padding: 0;
  font-size: 23px;
  color: var(--colour-primary);
  transition: transform 300ms var(--ease-1);
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-appearance: none;
          appearance: none;
  border: none;
  background: none;
  cursor: pointer;
}
.mobile__menu-li__item button:after {
  content: "";
  position: absolute;
  width: 140%;
  height: 200%;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
}
.dropdown-is-open .mobile__menu-li__item button {
  -ms-transform: rotate(180deg);
      transform: rotate(180deg);
}

.mobile__menu-li__child {
  overflow: hidden;
}
.mobile__menu-li__child li {
  list-style: none;
  margin: 0;
}
.mobile__menu-li__child li div {
  position: relative;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-top: 2px solid rgba(var(--colour-secondary-rgb), 0.3);
}
.mobile__menu-li__child li a {
  line-height: 1;
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  text-decoration: none;
}

.mobile__menu__footer {
  list-style: none;
  margin: 0;
}
.mobile__menu__footer li {
  grid-column: span 4/span 4;
  -ms-transform: translateX(4rem);
      transform: translateX(4rem);
  opacity: 0;
  transition: all 700ms var(--ease-1);
}
.is-open .mobile__menu__footer li {
  -ms-transform: translateX(0);
      transform: translateX(0);
  opacity: 1;
}
.mobile__menu__footer li a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  gap: 1rem;
}
.mobile__menu__footer li svg {
  font-size: 26px;
}

.navbar__container {
  background: var(--colour-white);
  width: 100%;
  height: 100%;
}

.navbar__inner {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  grid-column: span 4/span 4;
  gap: 2rem;
}
@media (min-width: 768px) {
  .navbar__inner {
    grid-column: span 12/span 12;
  }
}
@media (min-width: 1024px) {
  .navbar__inner {
    gap: 1.5rem;
    grid-column: span 11/span 11;
  }
}
@media (min-width: 1440px) {
  .navbar__inner {
    gap: 4rem;
  }
}

.navbar__logo {
  display: -ms-flexbox;
  display: flex;
}
.navbar__logo img {
  min-width: 120px;
  max-width: 168px;
  width: 100%;
}
@media (min-width: 1024px) {
  .navbar__logo img {
    max-width: 168px;
  }
}
@media (min-width: 1440px) {
  .navbar__logo img {
    max-width: 244px;
  }
}

.navbar {
  display: none;
}
.navbar .o-btn {
  padding: 6px 16px;
  font-size: 14px;
}
@media (min-width: 1024px) {
  .navbar {
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
  }
}
@media (min-width: 1800px) {
  .navbar {
    gap: 3rem;
  }
}

.nav__primary {
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 1800px) {
  .nav__primary {
    gap: 3rem;
  }
}

.nav__primary-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  cursor: pointer;
}
.nav__primary-item:hover .nav__primary-item__title span:after, .nav__primary-item:focus .nav__primary-item__title span:after, .nav__primary-item:focus-visible .nav__primary-item__title span:after {
  width: 100%;
  opacity: 1;
}
.nav__primary-item:first-child {
  padding-left: 2rem;
}
.nav__primary-item.is-current .nav__primary-item__title span:after {
  width: 100%;
  opacity: 1;
  background: var(--colour-primary);
}

.nav__primary-item__title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  height: 100%;
}
.nav__primary-item__title span {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  text-align: center;
  color: var(--colour-dark);
  font-family: var(--font-primary);
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.nav__primary-item__title span:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  height: 2px;
  background: var(--colour-tertiary);
  opacity: 0;
  width: 0;
  transition: all 500ms var(--ease-1);
}

.nav__top {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 1800px) {
  .nav__top {
    gap: 3rem;
  }
}

.navbar__globals {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-pack: end;
      justify-content: flex-end;
  gap: var(--gap-small);
}
@media (min-width: 1024px) {
  .navbar__globals {
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    position: absolute;
    right: 0;
  }
}

.navbar__login {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0.5rem;
  -ms-flex-pack: justify;
      justify-content: space-between;
  gap: 1rem;
  background: var(--colour-secondary);
  color: var(--colour-primary);
  text-decoration: none;
  border: 2px solid var(--colour-secondary);
  border-radius: 6px;
  font-family: var(--font-primary);
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  cursor: pointer;
  transition: all 250ms var(--ease-1);
}
@media (min-width: 1024px) {
  .navbar__login {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (min-width: 1280px) {
  .navbar__login {
    padding: 6px 16px;
  }
}
.navbar__login:hover {
  border-color: var(--colour-tertiary);
  background: var(--colour-tertiary);
  color: var(--colour-white);
}
.navbar__login svg {
  font-size: 18px;
}
.navbar__login span {
  display: none;
}
@media (min-width: 1280px) {
  .navbar__login span {
    display: block;
  }
}

.mega__menu-item {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  min-height: 315px;
  padding-top: 3rem;
  padding-bottom: 4rem;
  background: var(--colour-white);
  color: var(--colour-dark);
  pointer-events: none;
  opacity: 0;
  z-index: -10;
  -ms-transform: translateY(-40px);
      transform: translateY(-40px);
  transition: all 700ms var(--ease-1);
  box-shadow: 0px 4px 40px 0px rgba(180, 188, 255, 0.5);
  cursor: default;
}
.mega__menu--open .mega__menu-item {
  -ms-transform: translateY(0);
      transform: translateY(0);
  pointer-events: auto;
  opacity: 1;
}

.mega__menu-ul {
  padding: 0;
  list-style: none;
}
.mega__menu-ul .mega__menu-li {
  grid-column: span 4/span 4;
}
.mega__menu-ul .mega__menu-li .mega__menu-li__default {
  height: 100%;
  padding-top: 2rem;
  display: block;
  text-decoration: none;
  padding-right: 20%;
  position: relative;
  text-decoration: none;
  background-repeat: no-repeat;
  transition: all 500ms var(--ease-1);
  width: calc(100% + 1px);
  padding-bottom: 2px;
  background-image: linear-gradient(to right, var(--colour-tertiary) 0%, var(--colour-tertiary) 100%), linear-gradient(to right, var(--colour-secondary) 0%, var(--colour-secondary) 100%);
  background-repeat: no-repeat;
  background-size: 0% 2px, 100% 2px;
  background-position: 0 0, 0 0;
}
.mega__menu-ul .mega__menu-li .mega__menu-li__default > *:not(:last-child) {
  margin-bottom: 0.75rem;
}
.mega__menu-ul .mega__menu-li .mega__menu-li__default:hover, .mega__menu-ul .mega__menu-li .mega__menu-li__default:focus, .mega__menu-ul .mega__menu-li .mega__menu-li__default:focus-visible {
  background-size: 100% 2px, 100% 2px;
  background-position: 0 0, 0 0;
}
.mega__menu-ul .mega__menu-li .mega__menu-li__featured {
  position: relative;
  display: block;
  text-decoration: none;
  padding: var(--gap-large);
  border: none;
  border-radius: 10px;
}
.mega__menu-ul .mega__menu-li .mega__menu-li__featured > *:not(:last-child) {
  margin-bottom: 0.75rem;
}
.mega__menu-ul .mega__menu-li .mega__menu-li__featured svg {
  transition: transform 700ms var(--ease-1);
}
.mega__menu-ul .mega__menu-li .mega__menu-li__featured:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 1;
  transition: opacity 700ms var(--ease-1);
  z-index: -1;
  border-radius: 10px;
  background: linear-gradient(0deg, rgba(180, 188, 255, 0.1) 0%, rgba(180, 188, 255, 0.5) 100%);
}
.mega__menu-ul .mega__menu-li .mega__menu-li__featured:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 700ms var(--ease-1);
  z-index: -2;
  border-radius: 10px;
  background: linear-gradient(0deg, rgba(255, 71, 0, 0.1) 0%, rgba(255, 71, 0, 0.5) 100%);
}
.mega__menu-ul .mega__menu-li .mega__menu-li__featured:hover:before {
  opacity: 0;
}
.mega__menu-ul .mega__menu-li .mega__menu-li__featured:hover:after {
  opacity: 1;
}
.mega__menu-ul .mega__menu-li .mega__menu-li__featured:hover svg {
  -ms-transform: translateX(0.5rem);
      transform: translateX(0.5rem);
}
.mega__menu-ul .mega__menu-li h3 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  gap: 2rem;
  font-family: var(--font-primary);
  font-weight: 600;
  font-style: normal;
  font-size: 20px;
  line-height: 1.4;
  color: var(--colour-primary);
}
.mega__menu-ul .mega__menu-li h3 span {
  color: var(--colour-primary);
}
.mega__menu-ul .mega__menu-li span {
  color: var(--colour-dark);
}

.ribbon__alert {
  min-height: 4rem;
  position: relative;
  background: var(--colour-secondary);
  padding: 1rem 3.5rem 1rem 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 768px) {
  .ribbon__alert {
    padding: 1rem 60px 1rem var(--page-margin-medium);
  }
}
@media (min-width: 1440px) {
  .ribbon__alert {
    text-align: center;
    padding: 1rem var(--page-margin-large);
  }
}
.ribbon__alert--hidden {
  display: none;
}
.ribbon__alert:not(.ribbon__alert--hidden) + .ribbon__alert {
  margin-top: 1px;
}
.ribbon__alert .t-copy-base p {
  margin: 0;
  color: var(--colour-dark);
}

.ribbon__close__container {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ribbon__close {
  position: relative;
  background: var(--colour-white);
  color: var(--colour-primary);
  padding: 0;
  width: 2rem;
  height: 2rem;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-appearance: none;
          appearance: none;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s var(--ease-1);
}
.ribbon__close:after {
  content: "";
  position: absolute;
  width: 140%;
  height: 200%;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
}
.ribbon__close:hover {
  background: var(--colour-tertiary);
  color: var(--colour-white);
}
.ribbon__close span {
  position: absolute;
  z-index: 10;
  width: 70%;
  top: 50%;
  left: 50%;
  background-color: currentColor;
  height: 1px;
}
.ribbon__close span:nth-child(1) {
  -ms-transform: translate(-50%, -50%) rotate(45deg);
      transform: translate(-50%, -50%) rotate(45deg);
}
.ribbon__close span:nth-child(2) {
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
      transform: translate(-50%, -50%) rotate(-45deg);
}

/**
 * Swiper 11.1.12
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 1, 2024
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  -ms-flex-direction: column;
      flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.swiper-vertical {
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  -ms-flex-align: start;
      align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      -webkit-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      -webkit-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  -ms-scroll-snap-type: none;
      -webkit-scroll-snap-type: none;
      scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-order: 9999;
      order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -ms-transform-origin: 50%;
      transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  -ms-transform-origin: center;
      transform-origin: center;
}
.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  -ms-transform: rotate(180deg);
      transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -ms-transform: scale(0.33);
      transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -ms-transform: scale(1);
      transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -ms-transform: scale(1);
      transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -ms-transform: scale(0.66);
      transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -ms-transform: scale(0.33);
      transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -ms-transform: scale(0.66);
      transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -ms-transform: scale(0.33);
      transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -ms-transform: scale(0);
      transform: scale(0);
  -ms-transform-origin: left top;
      transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -ms-transform-origin: right top;
      transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.carousel {
  opacity: 0;
  transition: opacity 0.3s var(--ease-1);
}
.carousel.is-active {
  opacity: 1;
}
.carousel.is-spaced .swiper-container {
  margin-right: calc(var(--gap-small) * -1); /* Negative margin for small screens */
}
@media (min-width: 768px) {
  .carousel.is-spaced .swiper-container {
    margin-right: calc(var(--gap-medium) * -1); /* Negative margin for medium screens */
  }
}
@media (min-width: 1280px) {
  .carousel.is-spaced .swiper-container {
    margin-right: calc(var(--gap-large) * -1); /* Negative margin for large screens */
  }
}
@media (min-width: 768px) {
  .carousel.is-spaced .swiper-wrapper {
    -ms-flex-align: center;
        align-items: center;
  }
}
.carousel.is-spaced .swiper-slide {
  padding-right: var(--gap-small);
}
@media (min-width: 768px) {
  .carousel.is-spaced .swiper-slide {
    padding-right: var(--gap-medium);
  }
}
@media (min-width: 1280px) {
  .carousel.is-spaced .swiper-slide {
    padding-right: var(--gap-large);
  }
}

.carousel_pagination {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  padding-top: 1.5rem; /* Tailwind's pt-6 */
}
.carousel_pagination .swiper-pagination-bullet {
  width: 0.75rem; /* Tailwind's w-3 */
  height: 0.75rem; /* Tailwind's h-3 */
  background-color: var(--primary); /* Assuming a custom property for primary color */
  border-radius: 50%;
  opacity: 0.25;
}
.carousel_pagination .swiper-pagination-bullet:not(:first-child) {
  margin-left: 0.5rem; /* Tailwind's ml-2 */
}
.carousel_pagination .swiper-pagination-bullet-active {
  opacity: 1; /* Tailwind's opacity-100 */
}

.carousel_next, .carousel_previous {
  width: 3rem; /* Tailwind's w-12 */
  height: 3rem; /* Tailwind's h-12 */
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  z-index: 20;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  font-size: 1.125rem; /* Tailwind's text-lg */
  color: #ffffff; /* Tailwind's text-white */
  cursor: pointer;
}

.carousel_previous {
  left: 0;
}

.carousel_next {
  right: 0;
}

.accordion {
  grid-column: span 4/span 4;
}
@media (min-width: 768px) {
  .accordion {
    grid-column: 3/span 8;
  }
}

.accordion__item {
  border-bottom: 2px solid var(--colour-secondary);
  padding-bottom: var(--accordion-gap);
}
.accordion__item.is-selected .accordion__button-arrow i:last-child {
  -ms-transform: rotate(180deg);
      transform: rotate(180deg);
  opacity: 0;
}
.accordion__item.is-selected .accordion__content {
  grid-template-rows: repeat(1, minmax(0, 1fr));
  padding-bottom: 1.5rem;
}
.accordion__item.is-selected .accordion__content-inner {
  opacity: 1;
}
.accordion__item.is-selected .accordion__button-arrow i:last-child {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 0;
}

.accordion__button {
  position: relative;
  width: 100%;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-right: 3rem;
  text-align: left;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
}
.accordion__button .t-h4, .accordion__button .t-copy-feature h4, .t-copy-feature .accordion__button h4, .accordion__button .t-copy-base h4, .t-copy-base .accordion__button h4, .accordion__button .t-copy h4, .t-copy .accordion__button h4 {
  display: block;
}

.accordion__button-arrow {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  position: absolute;
  top: 1.5rem;
  right: 0;
  transition: transform 500ms ease-out;
  width: 2rem;
  height: 2rem;
}
.accordion__button-arrow i {
  position: absolute;
  z-index: 1;
  width: 1.5rem;
  height: 2px;
  background: currentColor;
  transition: all 300ms ease-out;
}
.accordion__button-arrow i:last-child {
  -ms-transform: rotate(90deg);
      transform: rotate(90deg);
}

.accordion__content {
  display: grid;
  grid-template-rows: repeat(1, minmax(0, 0fr));
  transition: all 500ms ease-out;
}

.accordion__content-outer {
  overflow: hidden;
}

.accordion__content-inner {
  opacity: 0;
  transition: all 500ms 300ms ease-out;
}

.callout__boxes.has-image .callout__boxes__content-outer {
  margin-top: -4rem;
}
@media (min-width: 768px) {
  .callout__boxes.has-image .callout__boxes__content-outer {
    margin-top: -10vw;
  }
}
@media (min-width: 1800px) {
  .callout__boxes.has-image .callout__boxes__content-outer {
    margin-top: -8vw;
  }
}

.callout__boxes__content-outer {
  position: relative;
}
.callout__boxes__content-outer.has-logo {
  padding-top: 2.5rem;
}

.callout__boxes__content {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: var(--gap-small);
  grid-column: span 4/span 4;
  padding: 2rem;
  border-radius: 20px;
  overflow: hidden;
}
@media (min-width: 640px) {
  .callout__boxes__content {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media (min-width: 768px) {
  .callout__boxes__content {
    gap: var(--gap-medium);
    grid-column: 2/span 10;
  }
}
@media (min-width: 1280px) {
  .callout__boxes__content {
    padding: 3rem;
    gap: 4rem;
  }
}
.theme--primary .callout__boxes__content {
  background-color: var(--colour-primary);
}
.theme--primary .callout__boxes__content h2, .theme--primary .callout__boxes__content h3 {
  color: var(--colour-secondary);
}
.theme--primary .callout__boxes__content .t-copy {
  color: var(--colour-white);
}
.theme--secondary .callout__boxes__content {
  background-color: var(--colour-secondary);
}
.theme--secondary .callout__boxes__content h2, .theme--secondary .callout__boxes__content h3 {
  color: var(--colour-primary);
}

.callout__boxes__image picture {
  padding-bottom: 60%;
}
@media (min-width: 768px) {
  .callout__boxes__image picture {
    padding-bottom: 56.25%;
  }
}
@media (min-width: 1280px) {
  .callout__boxes__image picture {
    padding-bottom: 41.8%;
  }
}

.callout__boxes__content-left {
  grid-column: span 1/span 1;
}
@media (min-width: 640px) {
  .callout__boxes__content-left {
    grid-column: span 3/span 3;
  }
}

@media (min-width: 640px) {
  .callout__boxes__content--centre {
    padding-left: 0;
    padding-right: 0;
    gap: var(--gap-large);
    grid-template-columns: repeat(10, 1fr);
  }
  .callout__boxes__content--centre .callout__boxes__content-left {
    grid-column: 3/span 6;
    text-align: center;
  }
}

.callout__boxes__content-right {
  grid-column: span 1/span 1;
}
@media (min-width: 640px) {
  .callout__boxes__content-right {
    grid-column: span 5/span 5;
  }
}
@media (min-width: 1280px) {
  .callout__boxes__content-right {
    grid-column: span 4/span 4;
  }
}

.callout__boxes__logo {
  max-width: 75px;
  position: absolute;
  top: 0;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}

.block__coBrandedContent {
  overflow: hidden;
}
@media (min-width: 768px) {
  .block__coBrandedContent {
    padding-bottom: 4rem;
  }
}
@media (min-width: 1280px) {
  .block__coBrandedContent {
    padding-bottom: 6rem;
  }
}

.coBranded__content-outer {
  position: relative;
}

.coBranded__content {
  position: relative;
  grid-column: span 4/span 4;
  padding: 2rem;
  border-radius: 20px;
  min-height: 12rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap-small);
}
@media (min-width: 768px) {
  .coBranded__content {
    grid-template-columns: repeat(8, 1fr);
    grid-column: 3/span 8;
    gap: var(--gap-medium);
  }
}
@media (min-width: 1280px) {
  .coBranded__content {
    padding: 6rem var(--gap-large);
    gap: var(--gap-large);
  }
}
.coBranded__content .coBranded__content__copy {
  grid-column: span 4/span 4;
  text-align: center;
}
@media (min-width: 768px) {
  .coBranded__content .coBranded__content__copy {
    grid-column: 2/span 6;
  }
}
.theme--primary .coBranded__content {
  background-color: var(--colour-primary);
}
.theme--primary .coBranded__content h2, .theme--primary .coBranded__content h3 {
  color: var(--colour-secondary);
}
.theme--primary .coBranded__content .t-copy {
  color: var(--colour-white);
}
.theme--secondary .coBranded__content {
  background-color: var(--colour-secondary);
}
.theme--secondary .coBranded__content h2, .theme--secondary .coBranded__content h3 {
  color: var(--colour-primary);
}

.coBranded__logo {
  display: none;
}
.coBranded__logo svg {
  fill: none;
}
@media (min-width: 768px) {
  .coBranded__logo {
    display: block;
    position: absolute;
    left: -4.25rem;
    bottom: 3rem;
    width: 160px;
    z-index: 2;
  }
}
@media (min-width: 1280px) {
  .coBranded__logo {
    left: -4.25rem;
    bottom: 4.5rem;
    width: 200px;
  }
}

.coBranded__image-left {
  display: none;
  background: var(--colour-grey);
  box-shadow: 0px 0px 8px 0px rgba(1, 63, 117, 0.25);
  border-radius: 16px;
}
@media (min-width: 768px) {
  .coBranded__image-left {
    display: block;
    position: absolute;
    left: -8rem;
    bottom: -4rem;
    width: 160px;
    z-index: 1;
  }
}
@media (min-width: 1280px) {
  .coBranded__image-left {
    width: 220px;
    left: -10rem;
    bottom: -5rem;
  }
}

.coBranded__image {
  display: none;
}
@media (min-width: 768px) {
  .coBranded__image {
    display: block;
    position: absolute;
    right: -6rem;
    top: -4rem;
    width: 160px;
    z-index: 1;
  }
}
@media (min-width: 1280px) {
  .coBranded__image {
    width: 200px;
    top: -6rem;
  }
}

.coBranded__image-mobile {
  grid-column: span 4/span 4;
}
@media (min-width: 768px) {
  .coBranded__image-mobile {
    display: none;
  }
}

.comboBlock .l-grid {
  -ms-flex-align: center;
      align-items: center;
}

.comboBlock__media {
  position: relative;
  grid-column: span 4/span 4;
}
@media (min-width: 768px) {
  .comboBlock__media {
    grid-column: span 6/span 6;
  }
}
@media (min-width: 1024px) {
  .comboBlock__media {
    grid-column: 2/span 6;
  }
}
@media (min-width: 768px) {
  .comboBlock--alternateLayout .comboBlock__media {
    -ms-flex-order: 2;
        order: 2;
  }
}
@media (min-width: 1024px) {
  .comboBlock--alternateLayout .comboBlock__media {
    grid-column: 6/span 6;
  }
}
.comboBlock__media .comboBlock__icon {
  --size: 42px;
  --size-lg: 72px;
  position: absolute;
  right: 2rem;
  top: calc(-1 * var(--size) / 2);
  padding: calc(var(--size) / 4);
  z-index: 1;
  background-color: var(--colour-tertiary);
  color: var(--colour-white);
  border-radius: 10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: var(--size);
  height: var(--size);
  font-size: var(--size);
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 1440px) {
  .comboBlock__media .comboBlock__icon {
    width: var(--size-lg);
    height: var(--size-lg);
    font-size: var(--size-lg);
    right: calc(-1 * var(--size-lg) / 2);
    top: 4rem;
  }
  .comboBlock--alternateLayout .comboBlock__media .comboBlock__icon {
    left: calc(-1 * var(--size-lg) / 2);
    right: unset;
  }
}

.comboBlock__content {
  grid-column: span 4/span 4;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  color: var(--colour-primary);
}
.comboBlock__content h2, .comboBlock__content h3 {
  color: var(--colour-navy);
}
.comboBlock__content > *:not(:last-child) {
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .comboBlock__content {
    grid-column: span 6/span 6;
  }
  .comboBlock__content > *:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media (min-width: 1024px) {
  .comboBlock__content {
    grid-column: 8/span 4;
  }
}
@media (min-width: 1440px) {
  .comboBlock__content {
    grid-column: 9/span 3;
  }
}
@media (min-width: 768px) {
  .comboBlock--alternateLayout .comboBlock__content {
    -ms-flex-order: 1;
        order: 1;
    grid-column: span 6/span 6;
  }
}
@media (min-width: 1024px) {
  .comboBlock--alternateLayout .comboBlock__content {
    grid-column: 2/span 4;
  }
}
@media (min-width: 1440px) {
  .comboBlock--alternateLayout .comboBlock__content {
    grid-column: 2/span 3;
  }
}

.comboBlock__actions {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}

.copy {
  grid-column: span 4/span 4;
  text-align: center;
  -ms-flex-pack: center;
      justify-content: center;
}
.copy > *:not(:last-child) {
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .copy {
    grid-column: 3/span 8;
  }
  .copy > *:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.copy h2, .copy h3 {
  color: var(--colour-primary);
}
.copy .copy__actions {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  gap: 1rem;
}

.icon__cards {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
  background-image: url("../images/pattern-secondary.png");
  background-repeat: repeat;
  background-size: 1550px 940px;
  background-position: center center;
}
.icon__cards:before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 6rem;
  background: linear-gradient(to bottom, var(--colour-white) 20%, transparent 100%);
}
.icon__cards:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 6rem;
  background: linear-gradient(to top, var(--colour-white) 20%, transparent 90%);
}
.icon__cards .l-grid {
  row-gap: 2.5rem;
}
@media (min-width: 768px) {
  .icon__cards .l-grid {
    row-gap: 4rem;
  }
}
@media (min-width: 768px) {
  .icon__cards {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media (min-width: 1280px) {
  .icon__cards {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.icon__card__item {
  background: var(--colour-white);
  opacity: 0;
  position: relative;
  grid-column: span 4/span 4;
  padding: 2rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  box-shadow: 0px 0px 8px 2px rgba(0, 64, 120, 0.12);
  border-radius: 20px;
  text-align: center;
  color: var(--colour-primary);
  min-height: 14rem;
  z-index: 1;
}
@media (min-width: 480px) {
  .icon__card__item {
    grid-column: span 2/span 2;
  }
}
@media (min-width: 768px) {
  .icon__card__item {
    grid-column: span 4/span 4;
    padding: 4vw 3vw;
  }
}
@media (min-width: 1440px) {
  .icon__card__item {
    padding: 3vw;
  }
}
@media (min-width: 1800px) {
  .icon__card__item {
    min-height: 12vw;
  }
}
.icon__card__item .card__icon {
  --size: 46px;
  width: var(--size);
  height: var(--size);
  font-size: var(--size);
  background-color: rgba(var(--colour-secondary-rgb), 0.7);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 8px;
  color: var(--colour-tertiary);
  border-radius: 8px;
  overflow: hidden;
  position: absolute;
  top: calc(-1 * var(--size) / 2);
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}

.block__image-content {
  text-align: center;
  -ms-flex-pack: center;
      justify-content: center;
}

.block__image-content--narrow {
  grid-column: span 4/span 4;
}
@media (min-width: 768px) {
  .block__image-content--narrow {
    grid-column: 3/span 8;
  }
}

.block__image-content--wide {
  grid-column: span 4/span 4;
}
@media (min-width: 768px) {
  .block__image-content--wide {
    grid-column: span 12/span 12;
  }
}

.block__image-content--fullWidth {
  grid-column: span 4/span 4;
}
@media (min-width: 768px) {
  .block__image-content--fullWidth {
    grid-column: span 12/span 12;
  }
}
.block__image-content--fullWidth picture {
  padding-bottom: 60%;
}
@media (min-width: 768px) {
  .block__image-content--fullWidth picture {
    padding-bottom: 56.25%;
  }
}
@media (min-width: 1280px) {
  .block__image-content--fullWidth picture {
    padding-bottom: 41.8%;
  }
}

.industries__heading {
  text-align: center;
  color: var(--colour-primary);
}
@media (max-width: 639px) {
  .industries__heading br {
    display: none;
  }
}

.industries__list {
  padding: 2rem 0 0 0;
  row-gap: 4rem !important;
}
@media (min-width: 1024px) {
  .industries__list {
    padding: 4rem 0 0 0;
  }
}

.industries__item {
  grid-column: span 4/span 4;
  opacity: 0;
  position: relative;
}
.industries__item > *:not(:last-child) {
  margin-bottom: 1rem;
}
@media (min-width: 1024px) {
  .industries__item {
    grid-column: span 3/span 3;
  }
}

.industries__item__image {
  padding-bottom: 100%;
  position: relative;
}
.industries__item__image.has-image {
  padding-bottom: 0;
}
.industries__item__image .image__blank {
  position: absolute;
  inset: 0;
  background-color: rgba(var(--colour-secondary-rgb), 0.2);
  overflow: hidden;
  border-radius: 14px;
}
@media (min-width: 768px) {
  .industries__item__image .image__blank {
    border-radius: 20px;
  }
}

.industries__item__icon {
  --size: 42px;
  --size-lg: 56px;
  position: absolute;
  right: 2rem;
  top: calc(-1 * var(--size) / 2);
  padding: calc(var(--size) / 4);
  z-index: 1;
  background-color: var(--colour-tertiary);
  color: var(--colour-white);
  border-radius: 10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: var(--size);
  height: var(--size);
  font-size: var(--size);
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 1440px) {
  .industries__item__icon {
    width: var(--size-lg);
    height: var(--size-lg);
    font-size: var(--size-lg);
  }
}

.industries__item__content > *:not(:last-child) {
  margin-bottom: 1rem;
}
.industries__item__content h3 {
  color: var(--colour-primary);
}

.logo__carousel {
  padding: 0;
}
@media (min-width: 1024px) {
  .logo__carousel {
    padding: 2rem 0;
  }
}

.marquee {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -ms-user-select: none;
      -webkit-user-select: none;
      user-select: none;
  gap: var(--gap-large);
}
.marquee:hover .marquee__content {
  animation-play-state: paused;
}

.marquee__content {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  min-width: 100%;
  gap: var(--gap-large);
  animation: scroll 40s linear infinite;
}

.marquee__item {
  display: block;
  width: 160px;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--gap-large)));
  }
}
.block__mapLinks .t-copy {
  text-align: center;
  padding-bottom: 2rem;
  grid-column: span 4/span 4;
}
.block__mapLinks .t-copy h2, .block__mapLinks .t-copy h3 {
  color: var(--colour-primary);
}
@media (min-width: 768px) {
  .block__mapLinks .t-copy {
    grid-column: 4/span 6;
  }
}

.mapLinks {
  position: relative;
  grid-column: span 4/span 4;
}
@media (min-width: 768px) {
  .mapLinks {
    grid-column: 3/span 8;
  }
}
@media (min-width: 1024px) {
  .mapLinks {
    grid-column: 4/span 6;
  }
}
.mapLinks img {
  display: none;
}
@media (min-width: 768px) {
  .mapLinks img {
    pointer-events: none;
    display: block;
    width: 100%;
  }
}
.mapLinks li {
  border-bottom: 2px solid var(--colour-secondary);
}
.mapLinks li:first-child {
  border-top: 2px solid var(--colour-secondary);
}
@media (min-width: 768px) {
  .mapLinks li {
    border: 0 !important;
  }
}
.mapLinks li a {
  opacity: 0;
  display: block;
  text-align: center;
  padding: 0.5rem 0;
}
@media (min-width: 768px) {
  .mapLinks li a {
    background: #E8EAFF;
    border-radius: 6px;
    padding: 6px 16px 8px;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
    position: absolute;
    transition: all 250ms var(--ease-1);
  }
  .mapLinks li a span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .mapLinks li a.state-nt {
    top: 6%;
    right: 60%;
  }
  .mapLinks li a.state-nt:before {
    top: -10px;
    right: -10px;
  }
  .mapLinks li a.state-qld {
    bottom: 58%;
    right: 5%;
  }
  .mapLinks li a.state-qld:before {
    bottom: -10px;
    right: -10px;
  }
  .mapLinks li a.state-wa {
    bottom: 36%;
    right: 94%;
  }
  .mapLinks li a.state-wa:before {
    bottom: -10px;
    right: -10px;
  }
  .mapLinks li a.state-sa {
    top: 72%;
    right: 43%;
  }
  .mapLinks li a.state-sa:before {
    top: -10px;
    right: -10px;
  }
  .mapLinks li a.state-nsw {
    bottom: 35%;
    left: 95%;
  }
  .mapLinks li a.state-nsw:before {
    bottom: -10px;
    left: -10px;
  }
  .mapLinks li a.state-vic {
    bottom: 19%;
    left: 76%;
  }
  .mapLinks li a.state-vic:before {
    bottom: -10px;
    left: -10px;
  }
  .mapLinks li a.state-tas {
    bottom: 4%;
    left: 80%;
  }
  .mapLinks li a.state-tas:before {
    bottom: -10px;
    left: -10px;
  }
  .mapLinks li a.state-act {
    bottom: 32%;
    right: 13%;
  }
  .mapLinks li a.state-act:before {
    bottom: -10px;
    right: -10px;
  }
}
@media (min-width: 768px) and (min-width: 1280px) {
  .mapLinks li a {
    padding: 10px 20px 12px;
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .mapLinks li a:before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    background: var(--colour-navy);
  }
  .mapLinks li a:hover {
    background: var(--colour-secondary);
  }
}

.product__panels {
  background-color: rgba(var(--colour-secondary-rgb), 0.2);
  overflow: hidden;
  padding: 32px 0;
}
@media (min-width: 768px) {
  .product__panels {
    padding: 64px 0;
  }
}
@media (min-width: 1280px) {
  .product__panels {
    padding: 96px 0;
  }
}
.product__panels .product__panels__copy {
  text-align: center;
  padding-bottom: 2rem;
  grid-column: span 4/span 4;
}
.product__panels .product__panels__copy h2, .product__panels .product__panels__copy h3 {
  color: var(--colour-primary);
}
@media (min-width: 768px) {
  .product__panels .product__panels__copy {
    grid-column: 4/span 6;
  }
}

.panels {
  position: relative;
  width: 100%;
  grid-column: span 4/span 4;
}
.panels > *:not(:last-child) {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .panels {
    grid-column: 2/span 10;
  }
}
@media (min-width: 1280px) {
  .panels > *:not(:last-child) {
    margin-bottom: 6rem;
  }
}

.panel.is-last {
  padding-bottom: 398px;
}
.panel .panel__item {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  perspective: 500px;
  -ms-flex-direction: column;
      flex-direction: column;
  gap: var(--gap-large);
  padding: var(--gap-large);
  background-color: var(--colour-dark);
  border-radius: 30px;
  overflow: auto;
  max-height: 85dvh;
  /* Scrollbar for Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--colour-secondary-rgb), 0.3) transparent;
}
@media (min-width: 768px) {
  .panel .panel__item {
    -ms-flex-direction: row;
        flex-direction: row;
    padding: calc(var(--gap-large) * 2);
  }
}
.panel .panel__item::-webkit-scrollbar {
  width: 12px;
}
.panel .panel__item::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 6px;
}
.panel .panel__item::-webkit-scrollbar-thumb {
  background-color: rgba(var(--colour-secondary-rgb), 0.3);
  border: 3px solid transparent;
}
.panel .panel__item::-webkit-scrollbar-thumb:hover {
  background-color: rgba(var(--colour-secondary-rgb), 0.3);
}
.panel .panel__content {
  padding-top: 2rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.panel .panel__content > *:not(:last-child) {
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .panel .panel__content > *:not(:last-child) {
    margin-bottom: 3rem;
  }
}
@media (min-width: 1440px) {
  .panel .panel__content {
    padding-right: 8vw;
  }
}
.panel .panel__content .t-h3, .panel .panel__content .t-copy-feature h3, .t-copy-feature .panel .panel__content h3, .panel .panel__content .t-copy-base h3, .t-copy-base .panel .panel__content h3, .panel .panel__content .t-copy h3, .t-copy .panel .panel__content h3 {
  color: var(--colour-secondary);
}
.panel .panel__content .t-copy {
  color: var(--colour-white);
}
.panel .panel__content .panel__actions {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-top: auto;
}
.panel .panel__content .panel__actions .o-btn--outline-secondary {
  color: var(--colour-secondary);
}
.panel .panel__content .panel__actions .o-btn--outline-secondary:hover {
  color: var(--colour-white);
}
.panel .panel__media {
  position: relative;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.panel .panel__media .panel__media-image {
  height: 100%;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: grey;
}
@media (min-width: 768px) {
  .panel .panel__media .panel__media-image {
    width: calc(100% - 1.5rem);
    margin-left: auto;
  }
}
.panel .panel__media .panel__media-image .o-picture {
  height: 100%;
  min-height: 16rem;
}
@media (min-width: 1440px) {
  .panel .panel__media .panel__media-image .o-picture {
    min-height: 50vh;
  }
}
.panel .panel__media .panel__media-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.panel .panel__media-icon {
  position: absolute;
  right: 2rem;
  top: -1.5rem;
  padding: 0.5rem;
  z-index: 1;
  background-color: var(--colour-tertiary);
  color: var(--colour-white);
  border-radius: 10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: 3rem;
  height: 3rem;
  font-size: 3rem;
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 768px) {
  .panel .panel__media-icon {
    left: 0;
    top: 4rem;
  }
}

.scrolling__text {
  overflow: hidden;
  border-top: 1px solid var(--colour-primary);
  border-bottom: 1px solid var(--colour-primary);
  width: 100%;
  height: 50vh;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.scrolling__text .scrolling__text__content {
  display: -ms-flexbox;
  display: flex;
  color: var(--colour-primary);
}
.scrolling__text .scrolling__text__content h4 {
  white-space: nowrap;
  padding-right: 4rem;
}

.services__heading {
  text-align: center;
  color: var(--colour-primary);
}

.services__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--gap-small);
  padding: 2rem 0 0 0;
}
@media (min-width: 768px) {
  .services__list {
    gap: var(--gap-medium);
  }
}
@media (min-width: 1024px) {
  .services__list {
    padding: 4rem 0 0 0;
  }
}
@media (min-width: 1280px) {
  .services__list {
    gap: var(--gap-large);
  }
}

.services__item {
  opacity: 0;
  position: relative;
  width: 100%;
}
@media (min-width: 430px) {
  .services__item {
    width: calc(50% - var(--gap-small) * 1 / 2);
  }
}
@media (min-width: 768px) {
  .services__item {
    width: calc(33.33% - var(--gap-medium) * 2 / 3);
  }
}
@media (min-width: 1280px) {
  .services__item {
    width: calc(20% - var(--gap-large) * 4 / 5);
  }
}
.services__item:hover .services__item__card__pattern {
  opacity: 0.15;
}

.services__item__card__pattern {
  opacity: 0.8;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/pattern.png");
  background-repeat: repeat;
  background-size: 300px 600px;
  background-position: center center;
  pointer-events: none;
  transition: opacity 700ms var(--ease-1);
}

.services__item__card {
  position: relative;
  height: 100%;
  min-height: 60vw;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  width: 100%;
  border-radius: 15px;
  color: var(--colour-primary);
  padding: var(--gap-small);
}
.services__item__card > *:not(:last-child) {
  margin-bottom: 1rem;
}
@media (min-width: 430px) {
  .services__item__card {
    min-height: 50vw;
  }
}
@media (min-width: 768px) {
  .services__item__card {
    min-height: 33vw;
    padding: 1.5rem;
  }
}
@media (min-width: 1280px) {
  .services__item__card {
    padding: var(--gap-large);
  }
}
@media (min-width: 1440px) {
  .services__item__card {
    min-height: 20vw;
  }
}
.services__item__card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 1;
  transition: opacity 700ms var(--ease-1);
  z-index: -1;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(180, 188, 255, 0.1) 0%, rgba(180, 188, 255, 0.5) 100%);
}
.services__item__card:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 700ms var(--ease-1);
  z-index: -2;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 71, 0, 0.1) 0%, rgba(255, 71, 0, 0.9) 100%);
}
.services__item__card:hover:before, .services__item__card:focus:before, .services__item__card:focus-visible:before {
  opacity: 0;
}
.services__item__card:hover:after, .services__item__card:focus:after, .services__item__card:focus-visible:after {
  opacity: 1;
}
.services__item__card:hover h4, .services__item__card:focus h4, .services__item__card:focus-visible h4 {
  color: var(--colour-white);
}
.services__item__card:hover .services__item__card-button span, .services__item__card:focus .services__item__card-button span, .services__item__card:focus-visible .services__item__card-button span {
  color: var(--colour-white);
}
.services__item__card:hover .services__item__card-button span:after, .services__item__card:focus .services__item__card-button span:after, .services__item__card:focus-visible .services__item__card-button span:after {
  width: 100%;
  opacity: 1;
}
.services__item__card svg {
  z-index: 3;
  font-size: 30px;
  color: var(--colour-tertiary);
}
@media (min-width: 1024px) {
  .services__item__card svg {
    font-size: 40px;
  }
}
.services__item__card h4 {
  margin-top: auto;
  font-weight: 800;
  font-style: normal;
  font-size: clamp(16px, 10vw, 20px);
  line-height: 1.15;
  transition: color 700ms var(--ease-1);
  z-index: 3;
}
@media (min-width: 1024px) {
  .services__item__card h4 {
    font-size: clamp(24px, 1.5vw, 26px);
  }
}
@media (min-width: 1800px) {
  .services__item__card h4 {
    font-size: clamp(20px, 1.5vw, 28px);
  }
}
.services__item__card .services__item__card-button {
  display: -ms-flexbox;
  display: flex;
  z-index: 3;
}
.services__item__card .services__item__card-button span {
  position: relative;
  display: block;
  font-weight: 600;
  transition: color 500ms var(--ease-1);
}
.services__item__card .services__item__card-button span:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 1px;
  background: var(--colour-primary);
  width: 100%;
  transition: all 500ms var(--ease-1);
}
.services__item__card .services__item__card-button span:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 1px;
  background: var(--colour-white);
  width: 0;
  transition: all 500ms var(--ease-1);
}

.stats__card__grid .l.grid {
  grid-auto-rows: 10px;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.stats__card__grid .stats__card__item {
  grid-column: span 4/span 4;
  grid-row: span 1;
  padding: 2rem;
  border-radius: 20px;
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
  -ms-flex-align: center;
      align-items: center;
  color: var(--colour-white);
  opacity: 0;
  transition: opacity 0.5s;
  gap: 1rem;
}
.stats__card__grid .stats__card__item.has-image {
  grid-row: span 2;
  padding: 0;
  display: none;
}
@media (min-width: 768px) {
  .stats__card__grid .stats__card__item.has-image {
    display: -ms-flexbox;
    display: flex;
  }
}
.stats__card__grid .stats__card__item.has-image.image-span-1 {
  grid-row: span 1;
}
.stats__card__grid .stats__card__item svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--colour-tertiary);
  font-size: 24px;
}
@media (min-width: 480px) {
  .stats__card__grid .stats__card__item {
    -ms-flex-direction: row;
        flex-direction: row;
  }
}
@media (min-width: 768px) {
  .stats__card__grid .stats__card__item {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: start;
        align-items: flex-start;
    grid-column: span 6/span 6;
  }
}
@media (min-width: 1280px) {
  .stats__card__grid .stats__card__item {
    grid-column: span 3/span 3;
  }
}

.testimonials {
  overflow: hidden;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.testimonial-item {
  box-shadow: 0 0 16px 0 rgba(0, 78, 147, 0.25);
  border-radius: 20px;
  padding: 2rem;
  -ms-transform: scale(0.9);
      transform: scale(0.9);
  transition: transform 0.3s var(--ease-1);
}
@media (min-width: 768px) {
  .testimonial-item {
    padding: calc(var(--gap-medium) * 2);
    -ms-transform: scale(0.8);
        transform: scale(0.8);
  }
}
.swiper-slide-active .testimonial-item {
  -ms-transform: scale(1);
      transform: scale(1);
}

.testimonial-item__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
}
.testimonial-item__inner > *:not(:last-child) {
  margin-bottom: 2rem;
}
.testimonial-item__inner .t-copy {
  text-align: center;
}
.testimonial-item__inner cite {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  font-style: normal;
  text-align: center;
  line-height: 1.3;
}
.testimonial-item__inner cite span {
  font-weight: 600;
}
.testimonial-item__inner cite strong {
  color: var(--colour-primary);
}
