@charset "UTF-8";
/* Fluid sizes - in pixels */
/* convert to em from px */
/* convert to rem from px */
/* unit conversion used by font size */
/* media query mixins that use breakpoints set in constants.scss */
/* Slightly lighten a color
 * @access public
 * @param {Color} $color - color to tint
 * @param {Number} $percentage - percentage of `$color` in returned color
 * @return {Color}
 */
/* Slightly darken a color
 * @access public
 * @param {Color} $color - color to shade
 * @param {Number} $percentage - percentage of `$color` in returned color
 * @return {Color}
 */
@keyframes simpleRotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #FF0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */ /* 2 */
  box-sizing: border-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #C0C0C0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

body {
  position: relative;
  width: 100%;
  color: #084563;
  background-color: #FFF;
}

body.cancel-transitions * {
  transition: none !important;
}

body.-fixed {
  position: fixed;
}

body.modal-active {
  overflow: hidden;
}

* {
  box-sizing: border-box;
}

section {
  position: relative;
}

.inline {
  display: inline-block;
}

strong {
  font-weight: bold;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.overlay-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.svg-sprite {
  display: none;
}

main,
section.content {
  margin-top: 0;
  padding-top: var(--siteHeaderHeight);
  transition: padding-top 0.25s ease;
}

.site-header.scrolling ~ section.content,
.generic-header.scrolling ~ section.content {
  --siteHeaderHeight: 62px;
}

.container,
.newsletter > * {
  position: relative;
  width: 100%;
  max-width: 1404px;
  margin: 0 auto;
  padding: 0 20px;
}

.container--grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px;
}

.container--lg {
  max-width: 1052px;
}

.container--xl {
  max-width: 1240px;
}

.umb-grid > .grid-section > div > .container {
  max-width: none;
  padding: 0;
}

html {
  font-size: 16px;
  line-height: 1.4;
}

body {
  font-family: "Sora", sans-serif;
  font-weight: 300;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  display: block;
  margin-top: 0;
  font-weight: normal;
}

h1,
h2,
h3,
h4,
h5,
.h1,
.h2,
.h3,
.h4,
.h5 {
  margin-bottom: 2rem;
  font-weight: 700;
  line-height: 0.8;
}

h1--mb-1,
h2--mb-1,
h3--mb-1,
h4--mb-1,
h5--mb-1,
.h1--mb-1,
.h2--mb-1,
.h3--mb-1,
.h4--mb-1,
.h5--mb-1 {
  margin-bottom: 1rem;
}

h1--mb-3,
h2--mb-3,
h3--mb-3,
h4--mb-3,
h5--mb-3,
.h1--mb-3,
.h2--mb-3,
.h3--mb-3,
.h4--mb-3,
.h5--mb-3 {
  margin-bottom: 3rem;
}

h1,
.h1 {
  font-size: clamp(2rem, 1.7928921569rem + 0.8496732026vw, 2.8125rem);
  line-height: clamp(2.125rem, 1.9019607843rem + 0.9150326797vw, 3rem);
  font-weight: 800;
}

h2,
.h2 {
  font-size: clamp(1.625rem, 1.4816176471rem + 0.5882352941vw, 2.1875rem);
  line-height: clamp(1.75rem, 1.5906862745rem + 0.6535947712vw, 2.375rem);
}

h3,
.h3 {
  font-size: clamp(1.25rem, 1.1225490196rem + 0.522875817vw, 1.75rem);
  line-height: clamp(1.375rem, 1.2316176471rem + 0.5882352941vw, 1.9375rem);
}

p a, li a {
  color: inherit;
}

p {
  margin-top: 0;
}

p b, p strong {
  font-weight: 700;
}

address,
cite {
  font-style: normal;
}

blockquote {
  position: relative;
  margin: 0;
}

blockquote:before {
  content: "“";
}

blockquote:after {
  content: "”";
}

cite {
  display: block;
}

:root {
  --siteHeaderHeight: 95px;
}

@media all and (min-width: 769px) {
  :root .site-header.scrolling {
    --siteHeaderHeight: 70px;
  }
}
@media all and (max-width: 768px) {
  :root {
    --siteHeaderHeight: 70px;
  }
}
.site-header,
.generic-header {
  position: fixed;
  top: 0;
  left: 0;
  height: var(--siteHeaderHeight);
  width: 100%;
  background-color: #084563;
  transition: padding 0.25s cubic-bezier(0.76, 0, 0.24, 1);
  z-index: 10;
}

.site-header__container,
.desktop-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-block: clamp(0.875rem, 0.6838235294rem + 0.7843137255vw, 1.625rem);
  background-image: url(/media/ao3mlbvc/ribbon-graphic.svg);
  background-position: right center;
  background-size: auto 100%;
  background-repeat: no-repeat;
}

@media all and (min-width: 769px) {
  .site-header.scrolling .site-header__container, .generic-header.scrolling .site-header__container,
  .site-header.scrolling .desktop-menu,
  .generic-header.scrolling .desktop-menu {
    padding-block: 14px;
  }
}
.site-header__logo,
.header-logo-link {
  position: relative;
  display: block;
  width: auto;
}

.site-header__logo-image,
.header-logo {
  width: clamp(14.375rem, 12.574754902rem + 7.385620915vw, 21.4375rem);
  max-width: none;
  height: auto;
}

.site-header__menu-toggle {
  display: none;
  position: relative;
  background: none;
  padding: 0;
  margin: 0;
  opacity: 1;
  transition: opacity 0.25s cubic-bezier(0.76, 0, 0.24, 1);
}

@media all and (max-width: 768px) {
  .site-header__menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.site-header__menu-toggle.nav-open {
  transform: translateY(0);
  opacity: 0;
}

/* Umbraco version */
:root {
  --siteFooterBottomHeight: 69px;
}

.generic-footer,
.generic-footer-inner {
  position: relative;
  display: grid;
  grid-template-columns: auto;
  -moz-column-gap: clamp(2.5rem, 1.5441176471rem + 3.9215686275vw, 6.25rem);
  column-gap: clamp(2.5rem, 1.5441176471rem + 3.9215686275vw, 6.25rem);
  row-gap: clamp(1.25rem, 0.931372549rem + 1.3071895425vw, 2.5rem);
  justify-content: center;
  text-align: center;
}

@media all and (min-width: 769px) {
  .generic-footer,
  .generic-footer-inner {
    grid-template-columns: repeat(2, 1fr);
    justify-content: flex-start;
    text-align: left;
  }
}
@media all and (min-width: 1021px) {
  .generic-footer,
  .generic-footer-inner {
    display: flex;
  }
}
.generic-footer {
  -moz-column-gap: 0;
  column-gap: 0;
  row-gap: 0;
  padding-block: 0;
  padding-inline: max(20px, (100% - 1364px) / 2);
  background-color: #FFF;
  color: #FFF;
  overflow: hidden;
}

@media all and (min-width: 769px) {
  .generic-footer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: flex-start;
    text-align: left;
  }
}
.generic-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - var(--siteFooterBottomHeight));
  background-color: #084563;
}

.generic-footer-inner {
  max-width: none;
  margin-inline: 0;
  padding-block: clamp(2.5rem, 1.862745098rem + 2.614379085vw, 5rem);
  padding-inline: 0;
  text-align: center;
}

.generic-footer-inner:first-child {
  order: 1;
  padding: 0 0 40px;
}

@media all and (min-width: 769px) {
  .generic-footer-inner:first-child {
    grid-column: span 3;
  }
}
.generic-footer-inner:nth-child(2) {
  order: 0;
}

@media all and (min-width: 769px) {
  .generic-footer-inner:nth-child(2) {
    grid-column: span 3;
  }
}
@media all and (max-width: 768px) {
  .generic-footer-column {
    text-align: center;
  }
}
.generic-footer-column h2 {
  margin-bottom: 12px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16px;
  line-height: 28px;
  color: #03BFA6;
}

.generic-footer-column ul {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  list-style: none;
  padding: 0;
}

.generic-footer-column ul li {
  font-weight: 200;
}

.generic-footer-column ul a {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: text-decoration-color 0.25s cubic-bezier(0.76, 0, 0.24, 1);
}

.generic-footer-column ul a:hover {
  text-decoration-color: #FFF;
}

.generic-footer-bottom {
  order: 2;
  position: relative;
  height: var(--siteFooterBottomHeight);
  margin: 0;
  padding: 20px;
  background-color: #FFF;
  color: #0E1111;
  text-align: center;
}

@media all and (min-width: 769px) {
  .generic-footer-bottom {
    grid-column: span 3;
  }
}
.generic-footer-bottom p {
  color: #084563;
}

.primary-navigation {
  position: relative;
  margin-inline: auto;
}

@media all and (max-width: 768px) {
  .primary-navigation {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    height: 100dvh;
    width: 100%;
    max-width: 312px;
    padding: 90px 20px 20px;
    pointer-events: none;
  }
  .primary-navigation::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(14, 17, 17, 0.9);
    z-index: -1;
    transform-origin: 100% 0;
    transform: scale(0);
    transition: transform 0.4s cubic-bezier(0.76, 0, 0.24, 1);
  }
  .primary-navigation.nav-open {
    pointer-events: auto;
  }
  .primary-navigation.nav-open::before {
    transform: scale(1);
  }
}
.primary-navigation ul {
  font-size: inherit;
}

@media all and (min-width: 1021px) {
  .primary-navigation ul {
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
}
.primary-navigation ul > li > a {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: text-decoration-color 0.25s cubic-bezier(0.76, 0, 0.24, 1);
}

.primary-navigation ul > li > a:hover {
  text-decoration-color: #FFF;
}

.primary-navigation__menu-close {
  display: none;
  position: absolute;
  top: 25px;
  right: 20px;
  background: none;
  padding: 0;
  margin: 0;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.76, 0, 0.24, 1);
}

@media all and (max-width: 768px) {
  .primary-navigation__menu-close {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .primary-navigation.nav-open .primary-navigation__menu-close {
    opacity: 1;
  }
}
.primary-navigation__list,
.hamburger-menu-list {
  display: flex;
  align-items: center;
  -moz-column-gap: 20px;
  column-gap: 20px;
  list-style: none;
  padding: 0;
}

@media all and (max-width: 768px) {
  .primary-navigation__list,
  .hamburger-menu-list {
    flex-direction: column;
    align-items: flex-start;
    -moz-column-gap: 0;
    column-gap: 0;
    row-gap: 36px;
    padding-inline: 20px;
  }
}
.primary-navigation__list > li,
.hamburger-menu-list > li {
  font-size: 18px;
  line-height: normal;
  color: #FFF;
}

.primary-navigation__list > li > a,
.hamburger-menu-list > li > a {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: text-decoration-color 0.25s cubic-bezier(0.76, 0, 0.24, 1);
}

.primary-navigation__list > li > a:hover,
.hamburger-menu-list > li > a:hover {
  text-decoration-color: #FFF;
}

@media all and (min-width: 769px) {
  .primary-navigation__list > li .button--small,
  .hamburger-menu-list > li .button--small {
    position: relative;
    top: -2px;
  }
}
@media all and (max-width: 768px) {
  .primary-navigation__list > li .button--small,
  .hamburger-menu-list > li .button--small {
    width: 100%;
    height: 54px;
    max-height: 54px;
    padding: 0 12px;
    font-size: 20px;
    line-height: 28px;
  }
}
.header-actions {
  margin-left: auto;
}

.header-actions .hamburger-menu-toggle {
  padding: 0;
}

.hamburger-menu {
  background-color: #06354b;
}

.hamburger-menu a {
  padding-right: 0;
}

@media all and (max-width: 768px) {
  .hamburger-menu .hamburger-menu-toggle {
    padding: 20px;
  }
}
.hamburger-menu .primary-navigation__list,
.hamburger-menu .hamburger-menu-list {
  flex-direction: column;
  align-items: flex-start;
  row-gap: 12px;
}

@media all and (min-width: 769px) {
  .hamburger-menu .primary-navigation__list,
  .hamburger-menu .hamburger-menu-list {
    margin-top: 24px;
  }
}
.hamburger-menu .primary-navigation__list > li,
.hamburger-menu .hamburger-menu-list > li {
  padding: 0;
}

.hamburger-menu .primary-navigation__list > li > a,
.hamburger-menu .hamburger-menu-list > li > a {
  padding: 0;
}

.login-item button {
  background: none;
  padding: 0;
}

.cart-link {
  position: relative;
  display: inline-flex;
}

.cart-link .numItemsCart {
  background-color: #F1F6FF;
  color: #0E1111;
}

.accordion:not(:last-child) {
  margin-bottom: 44px;
}

.accordion-heading {
  border-bottom: 1px solid #084563;
  margin-bottom: 12px;
}

.accordion-heading__text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 12px;
  column-gap: 12px;
  font-size: clamp(1.625rem, 1.5294117647rem + 0.3921568627vw, 2rem);
  line-height: clamp(2.1875rem, 2.0600490196rem + 0.522875817vw, 2.6875rem);
  cursor: pointer;
}

.accordion-toggle {
  position: relative;
  width: 26px;
  height: 26px;
  top: -3px;
  flex-shrink: 0;
}

.accordion-toggle::before, .accordion-toggle::after {
  content: "";
  position: absolute;
  background-color: #084563;
  transition: opacity 0.3s ease;
}

.accordion-toggle::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
}

.accordion-toggle::after {
  content: "";
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  transform: translateX(-50%);
}

.accordion.active .accordion-toggle::after {
  opacity: 0;
}

.accordion-content {
  display: none;
}

.accordion-content > *:last-child {
  margin-bottom: 0;
}

.accordion-content p, .accordion-content li {
  font-size: clamp(1rem, 0.9362745098rem + 0.2614379085vw, 1.25rem);
  line-height: clamp(1.3125rem, 1.2169117647rem + 0.3921568627vw, 1.6875rem);
}

.button,
.btn.primary,
.newsletter-block .submit-button,
.newsletter.umbraco-forms-form .submit-button,
.sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-page input[type=submit] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: clamp(2.625rem, 2.4338235294rem + 0.7843137255vw, 3.375rem);
  padding: 5px clamp(1.25rem, 0.931372549rem + 1.3071895425vw, 2.5rem);
  background-color: #03BFA6;
  color: #FFF;
  font-size: clamp(1rem, 0.9522058824rem + 0.1960784314vw, 1.1875rem);
  line-height: normal;
  font-weight: 700;
  border: 2px solid #03BFA6;
  border-radius: 10px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.button:hover,
.btn.primary:hover,
.newsletter-block .submit-button:hover,
.newsletter.umbraco-forms-form .submit-button:hover,
.sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-page input[type=submit]:hover {
  background-color: #FFF;
  color: #03BFA6;
}

@media all and (min-width: 577px) {
  .button--large,
  .btn.primary--large {
    font-size: 24px;
    height: 73px;
    padding: 15px 45px;
  }
}
.text-link {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: text-decoration-color 0.25s cubic-bezier(0.76, 0, 0.24, 1);
}

.text-link:hover {
  text-decoration-color: #FFF;
}

.text-link--uppercase {
  text-transform: uppercase;
}

/*** Global and page-specific form style ***/
fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

fieldset > *:last-child {
  margin-bottom: 0;
}

fieldset [class^=col] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

label {
  display: block;
  margin-bottom: 0.5rem;
}

label.hidden {
  visibility: hidden;
  height: 0 !important;
  width: 0 !important;
  font-size: 0 !important;
  margin: 0 !important;
}

button {
  border: none;
}

textarea {
  width: 100%;
}

input {
  display: block;
  width: 100%;
}

input[type=radio], input[type=checkbox] {
  height: auto;
}

input[type=submit] {
  width: auto;
  border: none;
}

.input-wrap {
  position: relative;
}

input,
textarea,
.textarea,
select {
  height: 54px;
  padding: 0 12px;
  margin-bottom: 1rem;
  font-size: clamp(1rem, 0.9362745098rem + 0.2614379085vw, 1.25rem);
  border: 1px solid #084563;
  background-color: white;
  color: #084563;
}

@media all and (max-width: 576px) {
  input,
  textarea,
  .textarea,
  select {
    padding: 6px 14px 2px;
    height: 46px;
  }
}
input:disabled,
textarea:disabled,
.textarea:disabled,
select:disabled {
  background-color: rgba(14, 17, 17, 0.2);
}

textarea,
.textarea {
  padding-block: 12px;
  min-height: 140px;
}

input[type=range] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 10px;
  padding: 0;
  background: linear-gradient(90deg, blue 0%, blue 50%, rgba(14, 17, 17, 0.3) 50%);
  outline: none;
  border: none;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 26px;
  height: 26px;
  background: blue;
  border: 2px solid #0E1111;
  border-radius: 100%;
  cursor: pointer;
}

.select-wrapper,
select {
  width: 100%;
}

select {
  padding: 8px;
}

.select-wrapper {
  position: relative;
}

.select-wrapper .select-arrow {
  position: absolute;
  top: 10px;
  right: 4px;
  width: 26px;
  height: 26px;
  background-color: #FFF;
  pointer-events: none;
}

.select-wrapper .select-arrow::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 6px;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #0E1111;
  border-right: 2px solid #0E1111;
  transform: rotate(45deg);
}

.select-wrapper--secondary select {
  font-size: 1.125rem;
  line-height: 1.625rem;
  border-radius: 50px;
  border-color: #0E1111;
}

.select-wrapper--secondary .select-arrow {
  top: 7px;
  right: 6px;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background-color: blue;
}

.select-wrapper--secondary .select-arrow::before {
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%) translateY(-2px) rotate(45deg);
}

input[type=radio],
input[type=checkbox] {
  position: absolute;
  left: -9999px;
}

.radio-wrapper label {
  font-size: 1.125rem;
  line-height: 1.4375rem;
  color: #0E1111;
  cursor: pointer;
}

.radio-wrapper--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.radio-wrapper--inline label {
  margin: 0 10px 1rem;
  padding: 0.5rem 1rem;
  min-width: 150px;
  border: 2px solid #0E1111;
  border-radius: 25px;
  opacity: 0.5;
  transition-property: opacity, border-color, background-color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}

.radio-wrapper--inline label:hover {
  opacity: 1;
}

.radio-wrapper--inline input[type=radio]:checked + label,
.radio-wrapper--inline input[type=radio]:checked + input + label {
  background-color: blue;
  border-color: blue;
  opacity: 1;
}

.checkbox-wrapper label {
  font-size: 1.125rem;
  line-height: 1.4375rem;
  color: #0E1111;
  cursor: pointer;
  margin: 0 10px 1rem;
  padding: 0.5rem 1rem;
  min-width: 150px;
  border: 2px solid #0E1111;
  border-radius: 25px;
  opacity: 0.5;
  transition-property: opacity, border-color, background-color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}

.checkbox-wrapper label:hover {
  opacity: 1;
}

.checkbox-wrapper--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.checkbox-wrapper--block {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.checkbox-wrapper--block label {
  width: 100%;
  margin-left: 0;
}

.checkbox-wrapper input[type=checkbox]:checked + label,
.checkbox-wrapper input[type=checkbox]:checked + input + label {
  background-color: blue;
  border-color: blue;
  opacity: 1;
}

.input-validation-error {
  border-color: #DC3545;
}

.umbraco-forms-form .field-validation-error {
  display: block;
  color: #DC3545;
  padding: 0 0 15px !important;
}

.umbraco-forms-form input:not([type=submit]):not([type=checkbox]),
.umbraco-forms-form textarea,
.umbraco-forms-form .textarea,
.umbraco-forms-form select {
  padding: 12px !important;
  margin: 0 0 12px !important;
  border: 1px solid #084563 !important;
}

.umbraco-forms-form select {
  padding-inline: 8px !important;
}

.umbraco-forms-navigation {
  margin-top: 24px;
  text-align: right;
}

.umbraco-forms-navigation .btn {
  margin-bottom: 0;
}

.umbraco-forms-hidden {
  display: none;
}

.icon-facebook {
  width: 10px;
  height: 21px;
}

.icon-instagram {
  width: 18px;
  height: 18px;
}

.icon-linkedin {
  width: 19px;
  height: 19px;
}

.icon-tiktok {
  width: 17px;
  height: 19px;
}

.icon-vimeo {
  width: 20px;
  height: 17px;
}

.icon-youtube {
  width: 20px;
  height: 14px;
}

.icon-menu {
  width: 28px;
  height: 20px;
  cursor: pointer;
}

.icon-menu-close {
  width: 22px;
  height: 22px;
}

.icon-chevron-down {
  width: 30px;
  height: 15px;
}

.rich-text {
  /* We're using an inner-outer file structure here so that the umbraco text 
    editor in the CMS can use a different scss file which imports the inner 
    file but not the outer file. richtext-rte will be used by the site as well
    as the CMS, the code here will only be used by the site, not the cms. So code
    being used by the CMS text editor should NOT be put here
  */
  /* We're using an inner-outer file structure here so that the umbraco text
    editor in the CMS can use a different scss file which imports the inner
    file but not the outer file. This file will be used by the site as well
    as the CMS, richtext.scss will only be used by the site, not the cms
  */
}

.rich-text .left-float {
  margin: 0 10px 10px 0;
}

.rich-text .right-float {
  margin: 0 0 10px 10px;
}

.rich-text > p {
  margin-bottom: 2rem;
}

.rich-text > p a {
  transition: color 0.2s ease-in;
}

.rich-text > p a:hover {
  text-decoration: none;
}

.rich-text > p + h2, .rich-text > p h3, .rich-text > p h4, .rich-text > p h5, .rich-text > p h6 {
  margin-top: 4rem;
}

.rich-text > img {
  margin-bottom: 1rem;
  border-radius: 30px;
}

.rich-text > ul {
  list-style: disc outside;
  padding-left: 1.5em;
}

.rich-text > ol {
  list-style: decimal outside;
  padding-left: 1.5em;
}

.rich-text > ul > li, .rich-text > ol > li {
  padding-bottom: 0.5rem;
}

.rich-text .card--video {
  width: 100%;
}

.rich-text .card--video .card__content {
  max-width: 560px;
}

.sign-up-block {
  position: relative;
  padding: clamp(5rem, 4.362745098rem + 2.614379085vw, 7.5rem) 0;
  background-color: #0E1111;
}

.sign-up-block__container {
  display: flex;
  gap: clamp(1.25rem, 1.0906862745rem + 0.6535947712vw, 1.875rem);
}

@media all and (max-width: 1020px) {
  .sign-up-block__container {
    flex-direction: column;
  }
}
.sign-up-block__content > *:last-child {
  margin-bottom: 0;
}

@media all and (min-width: 577px) {
  .sign-up-block__content {
    width: 350px;
  }
}
.sign-up-block__content h2 {
  margin-bottom: 1rem;
  font-size: 32px;
  line-height: 40px;
  text-transform: uppercase;
}

.sign-up-block__content p {
  font-size: clamp(1rem, 0.9362745098rem + 0.2614379085vw, 1.25rem);
  line-height: clamp(1.5rem, 1.4362745098rem + 0.2614379085vw, 1.75rem);
}

.sign-up-block__form {
  flex-grow: 1;
}

.sign-up-block__form .fieldset {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.25rem, 1.0906862745rem + 0.6535947712vw, 1.875rem);
}

@media all and (max-width: 576px) {
  .sign-up-block__form .fieldset {
    grid-template-columns: auto;
  }
}
.sign-up-block__form input {
  margin-bottom: 0;
}

.sign-up-block__form .button {
  flex-shrink: 0;
  text-transform: uppercase;
  max-height: 54px;
  font-size: 18px;
  padding: 16px 12px 12px;
  letter-spacing: 0.2em;
}

/* Umbraco Forms required styles */
.sign-up-block .umbraco-forms-form.newsletter {
  display: flex;
  gap: clamp(1.25rem, 1.0906862745rem + 0.6535947712vw, 1.875rem);
  width: 100%;
}

@media all and (max-width: 1020px) {
  .sign-up-block .umbraco-forms-form.newsletter {
    flex-direction: column;
  }
}
.sign-up-block .umbraco-forms-form.newsletter .newsletter-header {
  flex-shrink: 0;
}

.sign-up-block .umbraco-forms-form.newsletter .newsletter-header > *:last-child {
  margin-bottom: 0;
}

@media all and (min-width: 577px) {
  .sign-up-block .umbraco-forms-form.newsletter .newsletter-header {
    width: 350px;
  }
}
.sign-up-block .umbraco-forms-form.newsletter .newsletter-header h2 {
  margin-bottom: 1rem;
  font-size: 32px;
  line-height: 40px;
  text-transform: uppercase;
}

.sign-up-block .umbraco-forms-form.newsletter .newsletter-header p {
  font-size: clamp(1rem, 0.9362745098rem + 0.2614379085vw, 1.25rem);
  line-height: clamp(1.5rem, 1.4362745098rem + 0.2614379085vw, 1.75rem);
}

.sign-up-block .umbraco-forms-form.newsletter .newsletter-header > *:last-child > *:last-child {
  margin-bottom: 0;
}

.sign-up-block .umbraco-forms-form.newsletter > form {
  flex-grow: 1;
}

.sign-up-block .umbraco-forms-form.newsletter:not(.expanded) .umbraco-forms-fieldset:nth-child(2) {
  display: none;
}

@media all and (min-width: 577px) {
  .sign-up-block .umbraco-forms-form.newsletter:not(.expanded) .umbraco-forms-page {
    flex-direction: row;
  }
}
.sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-page {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 1.0906862745rem + 0.6535947712vw, 1.875rem);
}

.sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-page > * {
  flex-grow: 1;
}

.sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-page input[type=submit] {
  margin: 0;
  width: 100%;
  flex-shrink: 0;
  text-transform: uppercase;
  max-height: 54px;
  font-size: 18px;
  padding: 13px 12px 12px !important;
  letter-spacing: 0.2em;
  border: 1px solid #084563;
  background-color: transparent;
  color: #084563;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-page input[type=submit]::after {
  display: none;
}

.sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-page input[type=submit]:hover {
  background-color: #084563;
  color: #0E1111;
}

@media all and (max-width: 576px) {
  .sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-page input[type=submit] {
    padding: 9px 12px !important;
  }
}
.sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-fieldset:nth-child(2) .umbraco-forms-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.25rem, 1.0906862745rem + 0.6535947712vw, 1.875rem);
}

@media all and (max-width: 576px) {
  .sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-fieldset:nth-child(2) .umbraco-forms-container {
    grid-template-columns: auto;
  }
}
@media all and (min-width: 577px) {
  .sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-fieldset:nth-child(2) .umbraco-forms-field.dropdown,
  .sign-up-block .umbraco-forms-form.newsletter .umbraco-forms-fieldset:nth-child(2) .umbraco-forms-field.legaldisclaimer {
    grid-column: span 2;
  }
}
.sign-up-block .umbraco-forms-form {
  padding: 0;
}

.sign-up-block .umbraco-forms-form fieldset,
.sign-up-block .umbraco-forms-form .umbraco-forms-navigation {
  padding: 0;
  margin: 0;
}

.sign-up-block .umbraco-forms-form input.text,
.sign-up-block .umbraco-forms-form textarea,
.sign-up-block .umbraco-forms-form select {
  width: 100%;
  max-width: none !important;
  margin: 0;
}

.social-links,
.social-media-img {
  display: flex;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
  margin-top: 24px;
}

@media all and (max-width: 768px) {
  .social-links,
  .social-media-img {
    justify-content: center;
  }
}
.social-links a,
.social-media-img a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background-color: #084563;
  border-radius: 100%;
  border: 2px solid #03BFA6;
  text-decoration: none;
  transition: background-color 0.25s cubic-bezier(0.76, 0, 0.24, 1), border-color 0.25s cubic-bezier(0.76, 0, 0.24, 1);
}

.social-links a:hover,
.social-media-img a:hover {
  background-color: #03BFA6;
}

.social-links a img,
.social-media-img a img {
  filter: invert(1);
  max-width: 50%;
  max-height: 50%;
}

.youtube-player-wrapper .yt-thumb,
.youtube-player-wrapper .video-wrapper-play,
.video-wrapper .yt-thumb,
.video-wrapper .video-wrapper-play {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: auto;
  cursor: pointer;
}

.youtube-player-wrapper .yt-thumb.hide-thumb,
.youtube-player-wrapper .video-wrapper-play.hide-thumb,
.video-wrapper .yt-thumb.hide-thumb,
.video-wrapper .video-wrapper-play.hide-thumb {
  pointer-events: none;
}

.youtube-player-wrapper .yt-thumb.hide-thumb img, .youtube-player-wrapper .yt-thumb.hide-thumb .play,
.youtube-player-wrapper .video-wrapper-play.hide-thumb img,
.youtube-player-wrapper .video-wrapper-play.hide-thumb .play,
.video-wrapper .yt-thumb.hide-thumb img,
.video-wrapper .yt-thumb.hide-thumb .play,
.video-wrapper .video-wrapper-play.hide-thumb img,
.video-wrapper .video-wrapper-play.hide-thumb .play {
  opacity: 0;
}

.youtube-player-wrapper {
  position: relative;
  padding-bottom: 56.23%;
  /* Use 75% for 4:3 videos */
  height: 0;
  overflow: hidden;
  max-width: 100%;
  z-index: 1;
}

.youtube-player-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 1;
}

.video-wrapper {
  position: relative;
  height: 0;
  padding-top: 56.23%;
  overflow: hidden;
}

.video-wrapper iframe,
.video-wrapper video,
.video-wrapper [data-vimeo-id] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.video-wrapper video,
.video-wrapper [data-vimeo-id] {
  opacity: 0;
  will-change: opacity;
  transition: opacity 0.25s ease;
}

.video-wrapper.playing video,
.video-wrapper.playing [data-vimeo-id] {
  opacity: 1;
  pointer-events: auto;
}

.video-wrapper.playing .video-wrapper-play {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80vh;
  height: 80dvh;
}

@media all and (min-width: 769px) {
  .hero {
    height: 551px;
    max-height: 90vh;
    max-height: 90dvh;
  }
}
.hero--short {
  height: 40vh;
  height: 40dvh;
}

@media all and (min-width: 769px) {
  .hero--short {
    height: 300px;
  }
}
.hero__bg,
.hero__bg::before,
.hero__bg::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero__bg::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.2);
}

.hero__bg::after {
  content: "";
  background-color: rgba(8, 69, 99, 0.4);
}

.hero__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.hero__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  row-gap: clamp(2rem, 1.6495098039rem + 1.4379084967vw, 3.375rem);
}

.hero__container h1 {
  margin-bottom: 0;
  color: #FFF;
}

.hero__container h1 span {
  color: #03BFA6;
}

.fifty-fifty-block {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
  padding-block: clamp(2.5rem, 1.862745098rem + 2.614379085vw, 5rem);
  background-color: #FFF;
}

.fifty-fifty-block__container {
  display: grid;
  grid-template-columns: auto;
  align-items: center;
  -moz-column-gap: clamp(2.8125rem, 2.0955882353rem + 2.9411764706vw, 5.625rem);
  column-gap: clamp(2.8125rem, 2.0955882353rem + 2.9411764706vw, 5.625rem);
}

@media all and (min-width: 769px) {
  .fifty-fifty-block__container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (min-width: 769px) {
  .fifty-fifty-block__container:nth-child(even) .fifty-fifty-block__content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    order: 1;
  }
}
.fifty-fifty-block__content > *:last-child {
  margin-bottom: 0;
}

.fifty-fifty-block__content h2 {
  color: #03BFA6;
}

.fifty-fifty-block__content h2 span {
  color: #084563;
}

@media all and (max-width: 768px) {
  .fifty-fifty-block__content h2 {
    margin-bottom: 1rem;
  }
}
.fifty-fifty-block__content p {
  max-width: 560px;
}

@media all and (min-width: 769px) {
  .fifty-fifty-block__content p {
    font-size: 18px;
  }
}
.fifty-fifty-block__image {
  border-radius: 0 10px;
  overflow: hidden;
}

@media all and (max-width: 768px) {
  .fifty-fifty-block__image {
    margin-top: 20px;
  }
}
.fifty-fifty-block__image img {
  max-width: none;
  width: 100%;
  height: auto;
}

.usp-block {
  background-color: #03BFA6;
  padding-top: clamp(2.5rem, 2.181372549rem + 1.3071895425vw, 3.75rem);
  padding-bottom: clamp(2.5rem, 1.862745098rem + 2.614379085vw, 5rem);
}

.usp-block h2 {
  margin-bottom: clamp(2rem, 1.4901960784rem + 2.091503268vw, 4rem);
}

.usp-block h2 span {
  color: #FFF;
}

.usp-block__container {
  display: grid;
  grid-template-columns: auto;
  gap: clamp(1.25rem, 1.0269607843rem + 0.9150326797vw, 2.125rem);
}

@media all and (min-width: 577px) {
  .usp-block__container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (min-width: 1021px) {
  .usp-block__container {
    grid-template-columns: repeat(4, 1fr);
  }
}
.usp-block__item {
  background-color: #084563;
  border-radius: 0 20px 30px 30px;
  overflow: hidden;
}

.usp-block__item-image {
  border-radius: 0 0 0 20px;
  border-left: 4px solid #03BFA6;
  border-bottom: 4px solid #03BFA6;
  aspect-ratio: 16/9;
  overflow: hidden;
}

@media all and (min-width: 1021px) {
  .usp-block__item-image {
    aspect-ratio: 470/376;
  }
}
.usp-block__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.usp-block__item-content {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(1rem, 0.8725490196rem + 0.522875817vw, 1.5rem);
  padding: 32px 16px 40px;
  text-align: center;
}

.usp-block__item-content h3 {
  color: #03BFA6;
  margin-bottom: 0;
}

.usp-block__item-content p {
  max-width: 375px;
  margin: 0 auto;
  color: #FFF;
}

.simple-info-block {
  background-color: #FFF;
  padding-block: clamp(2.5rem, 1.862745098rem + 2.614379085vw, 5rem);
}

.simple-info-block .container {
  max-width: 915px;
}

.simple-info-block .container > *:last-child {
  margin-bottom: 0;
}

.simple-info-block h2 span {
  color: #03BFA6;
}

@media all and (min-width: 841px) {
  .simple-info-block p {
    font-size: 18px;
  }
}
.register-form-block {
  position: relative;
  padding-block: clamp(3.75rem, 2.7941176471rem + 3.9215686275vw, 7.5rem);
  height: 860px;
}

.register-form-block__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.register-form-block__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center bottom;
  object-position: center bottom;
}

.register-form-block__inner {
  max-width: 970px;
}

.newsletter-block,
.newsletter.umbraco-forms-form {
  position: relative;
  padding-block: clamp(2.5rem, 1.862745098rem + 2.614379085vw, 5rem);
  background-image: url(/media/5milbkdq/ribbon-graphic-large-2.svg);
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat;
  background-color: #03BFA6;
}

.newsletter-block h2, .newsletter-block .subTitle,
.newsletter.umbraco-forms-form h2,
.newsletter.umbraco-forms-form .subTitle {
  text-align: center;
}

.newsletter-block h2,
.newsletter.umbraco-forms-form h2 {
  font-size: clamp(2rem, 1.8725490196rem + 0.522875817vw, 2.5rem);
  line-height: clamp(1.25rem, 1.1225490196rem + 0.522875817vw, 1.75rem);
}

.newsletter-block .subTitle > *:last-child,
.newsletter.umbraco-forms-form .subTitle > *:last-child {
  margin-bottom: 0;
}

@media all and (min-width: 577px) {
  .newsletter-block .subTitle p,
  .newsletter.umbraco-forms-form .subTitle p {
    font-size: 20px;
    font-weight: 700;
    color: #FFF;
  }
}
.newsletter-block > form,
.newsletter.umbraco-forms-form > form {
  margin-top: 36px;
}

.newsletter-block > form p,
.newsletter-block > form .umbraco-forms-field div label,
.newsletter.umbraco-forms-form > form p,
.newsletter.umbraco-forms-form > form .umbraco-forms-field div label {
  font-weight: 400;
}

.newsletter-block fieldset,
.newsletter.umbraco-forms-form fieldset {
  margin-bottom: 0;
  padding: 0;
}

.newsletter-block .umbraco-forms-page,
.newsletter-block .umbraco-forms-page .umbraco-forms-fieldset > .row-fluid > .umbraco-forms-container,
.newsletter.umbraco-forms-form .umbraco-forms-page,
.newsletter.umbraco-forms-form .umbraco-forms-page .umbraco-forms-fieldset > .row-fluid > .umbraco-forms-container {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}

.newsletter-block .umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper,
.newsletter.umbraco-forms-form .umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 12px;
  column-gap: 12px;
}

.newsletter-block .umbraco-forms-field-wrapper input,
.newsletter.umbraco-forms-form .umbraco-forms-field-wrapper input {
  margin-block: 0;
}

.newsletter-block .umbraco-forms-field-wrapper input[type=email], .newsletter-block .umbraco-forms-field-wrapper input[type=text],
.newsletter.umbraco-forms-form .umbraco-forms-field-wrapper input[type=email],
.newsletter.umbraco-forms-form .umbraco-forms-field-wrapper input[type=text] {
  height: 54px;
  padding-left: clamp(1.25rem, 0.931372549rem + 1.3071895425vw, 2.5rem);
  background-color: #FFF;
  font-size: 16px;
  font-weight: 600;
  border-radius: 0 clamp(0.625rem, 0.4656862745rem + 0.6535947712vw, 1.25rem);
}

.newsletter-block .umbraco-forms-field-wrapper input[type=checkbox],
.newsletter.umbraco-forms-form .umbraco-forms-field-wrapper input[type=checkbox] {
  position: relative;
  left: unset;
  display: inline-block;
  height: auto;
  width: auto;
  flex-shrink: 0;
  margin: 4px 0 0;
}

.newsletter-block .umbraco-forms-navigation,
.newsletter.umbraco-forms-form .umbraco-forms-navigation {
  margin-top: 0;
  padding: 0;
}

.newsletter-block .umbraco-forms-navigation > div,
.newsletter.umbraco-forms-form .umbraco-forms-navigation > div {
  text-align: right;
}

.newsletter-block .submit-button,
.newsletter.umbraco-forms-form .submit-button {
  background-color: #084563;
  color: #03BFA6;
  height: 54px;
  border-color: #084563;
}

.newsletter-block .submit-button:hover,
.newsletter.umbraco-forms-form .submit-button:hover {
  color: #084563;
  background-color: #03BFA6;
}

.newsletter-block .field-validation-error,
.newsletter.umbraco-forms-form .field-validation-error {
  color: #FFF !important;
}

@media all and (min-width: 577px) {
  .newsletter-block:not(.expanded) .umbraco-forms-field-wrapper input,
  .newsletter.umbraco-forms-form:not(.expanded) .umbraco-forms-field-wrapper input {
    margin-block: 0;
  }
  .newsletter-block:not(.expanded) .umbraco-forms-field-wrapper input[type=email], .newsletter-block:not(.expanded) .umbraco-forms-field-wrapper input[type=text],
  .newsletter.umbraco-forms-form:not(.expanded) .umbraco-forms-field-wrapper input[type=email],
  .newsletter.umbraco-forms-form:not(.expanded) .umbraco-forms-field-wrapper input[type=text] {
    padding-right: 270px;
  }
  .newsletter-block:not(.expanded) .umbraco-forms-navigation,
  .newsletter.umbraco-forms-form:not(.expanded) .umbraco-forms-navigation {
    position: absolute;
    top: -20px;
    right: 17px;
  }
  .newsletter-block:not(.expanded) .umbraco-forms-navigation .submit-button,
  .newsletter.umbraco-forms-form:not(.expanded) .umbraco-forms-navigation .submit-button {
    border-radius: 0 clamp(0.625rem, 0.4656862745rem + 0.6535947712vw, 1.25rem);
  }
}
.newsletter.newsletter > * {
  max-width: 1052px;
}

@media all and (min-width: 841px) {
  .newsletter.newsletter > * {
    max-width: 680px;
  }
}
.newsletter-block__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-top-left-radius: clamp(3.125rem, 2.3284313725rem + 3.2679738562vw, 6.25rem);
  overflow: hidden;
}

.newsletter-block__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.bt26contactus,
.contact-form-block {
  padding-block: clamp(2.5rem, 1.862745098rem + 2.614379085vw, 5rem) !important;
  background-color: #F1F6FF;
}

.bt26contactus .umbraco-forms-form,
.bt26contactus > form,
.contact-form-block .umbraco-forms-form,
.contact-form-block > form {
  max-width: 780px;
  margin-inline: auto;
}

.bt26contactus .umbraco-forms-form .umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper,
.bt26contactus > form .umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper,
.contact-form-block .umbraco-forms-form .umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper,
.contact-form-block > form .umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 12px;
  column-gap: 12px;
}

.bt26contactus .umbraco-forms-form select,
.bt26contactus > form select,
.contact-form-block .umbraco-forms-form select,
.contact-form-block > form select {
  border: 1px solid #084563 !important;
}

.bt26contactus .umbraco-forms-form input[type=text], .bt26contactus .umbraco-forms-form input[type=email],
.bt26contactus > form input[type=text],
.bt26contactus > form input[type=email],
.contact-form-block .umbraco-forms-form input[type=text],
.contact-form-block .umbraco-forms-form input[type=email],
.contact-form-block > form input[type=text],
.contact-form-block > form input[type=email] {
  border: 1px solid #084563 !important;
}

.bt26contactus .umbraco-forms-form input[type=checkbox],
.bt26contactus > form input[type=checkbox],
.contact-form-block .umbraco-forms-form input[type=checkbox],
.contact-form-block > form input[type=checkbox] {
  position: relative;
  left: unset;
  display: inline-block;
  height: auto;
  width: auto;
  flex-shrink: 0;
  margin: 4px 0 0;
}

.offices-block {
  padding-block: clamp(2.5rem, 1.862745098rem + 2.614379085vw, 5rem);
  background-color: #03BFA6;
}

.offices-grid {
  display: grid;
  grid-template-columns: auto;
  gap: clamp(1.25rem, 0.931372549rem + 1.3071895425vw, 2.5rem);
}

@media all and (min-width: 577px) {
  .offices-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (min-width: 769px) {
  .offices-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.offices-grid__item {
  background-color: #084563;
  border-radius: 0 20px 30px 30px;
}

.offices-grid__item-image {
  border-radius: 0 20px;
  border-left: 4px solid #03BFA6;
  border-bottom: 4px solid #03BFA6;
  overflow: hidden;
}

.offices-grid__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.offices-grid__item-content {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  padding: clamp(1rem, 0.8725490196rem + 0.522875817vw, 1.5rem);
}

.offices-grid__item-content h3, .offices-grid__item-content address {
  margin-bottom: 0;
}

.offices-grid__item-content h3 {
  color: #03BFA6;
}

.offices-grid__item-content address {
  color: #FFF;
}

.arrows-wrapper {
  display: flex;
  -moz-column-gap: 50px;
  column-gap: 50px;
}

.arrows-wrapper .slick-arrow {
  font-size: 0;
  border: none;
  background: none;
  width: 40px;
  height: 40px;
  background-image: url(/media/n2zit4pf/sprite-icon-slider-arrow-left.svg);
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity 0.3s ease;
}

.arrows-wrapper .slick-arrow.slick-next {
  transform: scaleX(-1);
}

.arrows-wrapper .slick-arrow.slick-disabled, .arrows-wrapper .slick-arrow[aria-disabled=true] {
  opacity: 0.3;
}

.gallery {
  position: relative;
}

.gallery .dots-wrapper {
  position: absolute;
  bottom: 32px;
  width: 100%;
  pointer-events: none;
}

.gallery .dots-wrapper .slick-dots {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 4px;
  column-gap: 4px;
  margin: 0;
  padding: 0;
}

.gallery .dots-wrapper .slick-dots li {
  display: block;
}

.gallery .dots-wrapper .slick-dots li.slick-active button {
  background-color: #2E8A9B;
}

.gallery .dots-wrapper .slick-dots button {
  display: block;
  width: 14px;
  height: 14px;
  padding: 0;
  margin: 0;
  background-color: #FFF;
  border-radius: 100%;
  font-size: 0;
  box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.5);
  transition: background-color 0.25s ease;
  pointer-events: auto;
}

.gallery .dots-wrapper .slick-dots button:hover {
  background-color: #2E8A9B;
}

/* Position */
.u-position--relative {
  position: relative;
}

.u-position--absolute {
  position: absolute;
}

.u-position--static {
  position: static;
}

/* Background colours */
.u-bg--black {
  background-color: #0E1111;
  color: #FFF;
}

.u-bg--white {
  background-color: #FFF;
}

.u-bg--sky-blue {
  background-color: #F1F6FF;
}

.u-bg--brand-blue {
  background-color: #084563;
}

.u-bg--brand-aqua {
  background-color: #03BFA6;
}

/* Text formatting */
.u-text--center {
  text-align: center;
}

.u-text--left {
  text-align: left;
}

.u-text--right {
  text-align: right;
}

/* Font colours */
.u-fc--white {
  color: #FFF;
}

.u-fc--black {
  color: #0E1111;
}

.u-fc--brand-gold {
  color: #084563;
}

/* Border radius */
.u-border-radius--30 {
  border-radius: 30px;
}

.u-border-radius--100-percent {
  border-radius: 100%;
}

/* Padding */
.u-pad--y {
  padding-top: 36px;
  padding-bottom: 36px;
}

.component-heading {
  width: 100%;
  padding: 30px;
  background-color: #333;
  color: white;
}

.component-heading p {
  font-size: 24px;
  line-height: 30px;
  margin: 0;
}
/*# sourceMappingURL=styles.css.map */
