@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');

/* Theme base styles */

/* Root styles */

:root {
    --black: #111111;
    --white: #fefefe;
    --light-grey: #F8F8F8;
    --dark-grey: #e1e1e1;
    --teal: #17696C;

    --short-transition: 0.15s;
    --transition: 0.3s;

    --border-radius: 3px;

    font-size: 16px;
}

/* Generic */

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * No whitespace on overscroll.
 */
html,
body,
main {
  background-color: var(--black);
}

/**
 * Render the `main` element consistently in IE.
 */

main {
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/* Remove Safari's default appearance for select elements */

select {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border-top: none;
  border-left: none;
  border-right: none;
  padding-bottom: 10px;
  background-repeat: no-repeat;
  background-position: 99% 4px;
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='11' viewBox='0 0 19 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.3076 0.999963L9.65377 9.65381L0.999926 0.999963' stroke='black'/%3E%3C/svg%3E%0A");
}

@media (max-width: 1024px) {
  select {
    width: 100%;
  }
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* Objects */

/* Accordion */

.accordion__wrap {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.accordion__wrap__acc-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-bottom: 1px solid var(--black);
}

.accordion__wrap__acc-item__title {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  cursor: pointer;
  gap: 20px;
}

.accordion__wrap__acc-item button {
  transition: 0.3s ease-in-out;
}

.accordion__wrap__acc-item.open button {
  transform: rotate(180deg);
}

.accordion__wrap__acc-item__title h5,
.accordion__wrap__acc-item__title p {
  margin: 0;
}

.accordion__wrap__acc-item__answer {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.4s ease;
}

.accordion__wrap__acc-item__answer.open {
  grid-template-rows: 1fr;
}

.accordion__wrap__acc-item__answer__inner {
  overflow: hidden; /* Required to avoid visual overflow */
}

/* Responsive grid */

.row-fluid {
  width: 100%;
  *zoom: 1;
}

.row-fluid:before,
.row-fluid:after {
  display: table;
  content: "";
}

.row-fluid:after {
  clear: both;
}

.row-fluid [class*="span"] {
  display: block;
  float: left;
  width: 100%;
  min-height: 1px;
  margin-left: 2.127659574%;
  *margin-left: 2.0744680846382977%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.row-fluid [class*="span"]:first-child {
  margin-left: 0;
}

.row-fluid .span12 {
  width: 99.99999998999999%;
  *width: 99.94680850063828%;
}

.row-fluid .span11 {
  width: 91.489361693%;
  *width: 91.4361702036383%;
}

.row-fluid .span10 {
  width: 82.97872339599999%;
  *width: 82.92553190663828%;
}

.row-fluid .span9 {
  width: 74.468085099%;
  *width: 74.4148936096383%;
}

.row-fluid .span8 {
  width: 65.95744680199999%;
  *width: 65.90425531263828%;
}

.row-fluid .span7 {
  width: 57.446808505%;
  *width: 57.3936170156383%;
}

.row-fluid .span6 {
  width: 48.93617020799999%;
  *width: 48.88297871863829%;
}

.row-fluid .span5 {
  width: 40.425531911%;
  *width: 40.3723404216383%;
}

.row-fluid .span4 {
  width: 31.914893614%;
  *width: 31.8617021246383%;
}

.row-fluid .span3 {
  width: 23.404255317%;
  *width: 23.3510638276383%;
}

.row-fluid .span2 {
  width: 14.89361702%;
  *width: 14.8404255306383%;
}

.row-fluid .span1 {
  width: 6.382978723%;
  *width: 6.329787233638298%;
}

.container-fluid {
  *zoom: 1;
}

.container-fluid:before,
.container-fluid:after {
  display: table;
  content: "";
}

.container-fluid:after {
  clear: both;
}

@media (max-width: 767px) {
  .row-fluid {
    width: 100%;
  }

  .row-fluid [class*="span"] {
    display: block;
    float: none;
    width: auto;
    margin-left: 0;
  }
}

@media (min-width: 768px) and (max-width: 1139px) {
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }

  .row-fluid:before,
  .row-fluid:after {
    display: table;
    content: "";
  }

  .row-fluid:after {
    clear: both;
  }

  .row-fluid [class*="span"] {
    display: block;
    float: left;
    width: 100%;
    min-height: 1px;
    margin-left: 2.762430939%;
    *margin-left: 2.709239449638298%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }

  .row-fluid [class*="span"]:first-child {
    margin-left: 0;
  }

  .row-fluid .span12 {
    width: 99.999999993%;
    *width: 99.9468085036383%;
  }

  .row-fluid .span11 {
    width: 91.436464082%;
    *width: 91.38327259263829%;
  }

  .row-fluid .span10 {
    width: 82.87292817100001%;
    *width: 82.8197366816383%;
  }

  .row-fluid .span9 {
    width: 74.30939226%;
    *width: 74.25620077063829%;
  }

  .row-fluid .span8 {
    width: 65.74585634900001%;
    *width: 65.6926648596383%;
  }

  .row-fluid .span7 {
    width: 57.182320438000005%;
    *width: 57.129128948638304%;
  }

  .row-fluid .span6 {
    width: 48.618784527%;
    *width: 48.5655930376383%;
  }

  .row-fluid .span5 {
    width: 40.055248616%;
    *width: 40.0020571266383%;
  }

  .row-fluid .span4 {
    width: 31.491712705%;
    *width: 31.4385212156383%;
  }

  .row-fluid .span3 {
    width: 22.928176794%;
    *width: 22.874985304638297%;
  }

  .row-fluid .span2 {
    width: 14.364640883%;
    *width: 14.311449393638298%;
  }

  .row-fluid .span1 {
    width: 5.801104972%;
    *width: 5.747913482638298%;
  }
}

@media (min-width: 1280px) {
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }

  .row-fluid:before,
  .row-fluid:after {
    display: table;
    content: "";
  }

  .row-fluid:after {
    clear: both;
  }

  .row-fluid [class*="span"] {
    display: block;
    float: left;
    width: 100%;
    min-height: 1px;
    margin-left: 2.564102564%;
    *margin-left: 2.510911074638298%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }

  .row-fluid [class*="span"]:first-child {
    margin-left: 0;
  }

  .row-fluid .span12 {
    width: 100%;
    *width: 99.94680851063829%;
  }

  .row-fluid .span11 {
    width: 91.45299145300001%;
    *width: 91.3997999636383%;
  }

  .row-fluid .span10 {
    width: 82.905982906%;
    *width: 82.8527914166383%;
  }

  .row-fluid .span9 {
    width: 74.358974359%;
    *width: 74.30578286963829%;
  }

  .row-fluid .span8 {
    width: 65.81196581200001%;
    *width: 65.7587743226383%;
  }

  .row-fluid .span7 {
    width: 57.264957265%;
    *width: 57.2117657756383%;
  }

  .row-fluid .span6 {
    width: 48.717948718%;
    *width: 48.6647572286383%;
  }

  .row-fluid .span5 {
    width: 40.170940171000005%;
    *width: 40.117748681638304%;
  }

  .row-fluid .span4 {
    width: 31.623931624%;
    *width: 31.5707401346383%;
  }

  .row-fluid .span3 {
    width: 23.076923077%;
    *width: 23.0237315876383%;
  }

  .row-fluid .span2 {
    width: 14.529914530000001%;
    *width: 14.4767230406383%;
  }

  .row-fluid .span1 {
    width: 5.982905983%;
    *width: 5.929714493638298%;
  }
}

/* Clearfix */

.clearfix {
  *zoom: 1;
}

.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
}

.clearfix:after {
  clear: both;
}

/* Visibilty Classes */

.hide {
  display: none;
}

.show {
  display: block;
}

.invisible {
  visibility: hidden;
}

.hidden {
  display: none;
  visibility: hidden;
}

@media (min-width: 1025px) {
  .hide-desktop {
    display: none !important;
  }
}

/* Responsive Visibilty Classes */

.visible-phone {
  display: none !important;
}

.visible-tablet {
  display: none !important;
}

.hidden-desktop {
  display: none !important;
}

@media (max-width: 1100px) {
  .header__button-col.hidden-phone {
    display: none !important;
  }

  .hidden-phone-button a {
    display: none;
  }
}

@media (max-width: 767px) {
  .visible-phone {
    display: inherit !important;
  }

  .hidden-phone {
    display: none !important;
  }

  .hidden-desktop {
    display: inherit !important;
  }

  .visible-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1139px) {
  .visible-tablet {
    display: inherit !important;
  }

  .hidden-tablet {
    display: none !important;
  }

  .hidden-desktop {
    display: inherit !important;
  }

  .visible-desktop {
    display: none !important ;
  }
}
/* Content wrappers for blog post and system templates */

.content-wrapper {
  padding: 0 60px;
  margin: 0 auto;
}

@media (max-width: 1300px) {
  .content-wrapper {
    padding: 0 40px;
  }
}

@media (max-width: 767px) {
  .content-wrapper {
    padding: 0 20px;
  }
}

/* Drag and drop layout styles */

.dnd-section > .row-fluid {
  margin: 0 auto;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements */

.content-colour.light *:not(.button:not(.button--tertiary)):not(button) {
  color: var(--white);
}
.content-colour.light ::-webkit-input-placeholder {
  color: var(--white) !important;
}

.content-colour.light ::-moz-placeholder {
  color: var(--white) !important;
}

.content-colour.light :-ms-input-placeholder {
  color: var(--white) !important;
}

.content-colour.light :-moz-placeholder {
  color: var(--white) !important;
}

.content-colour.light ::placeholder {
  color: var(--white) !important;
}

.content-colour.light .hsfc-Form,
.content-colour.light .hsfc-FormWrapper {
  --hsf-field-input__placeholder-color: var(--white) !important;
}

.content-colour.light form input {
  border-color: var(--white) !important;
}

.content-colour.light form input[type="submit"],
.content-colour.light button:not(.no-style) {
  border-color: var(--white);
  background-color: var(--black) !important;
}

.content-colour.light form input[type="submit"]:hover,
.content-colour.light button:not(.no-style):hover,
.content-colour.light form input[type="submit"]:active,
.content-colour.light button:not(.no-style):active,
.content-colour.light form input[type="submit"]:focus,
.content-colour.light button:not(.no-style):focus {
  background-color: var(--white) !important;
  color: var(--black) !important;
}

.content-colour.dark
  *:not(.button:not(.button--tertiary)):not(button):not(input[type="submit"]),
.content-colour.dark button.no-style {
  color: var(--black);
}

a.link-cover,
a.link-cover:hover {
  text-decoration: none !important;
}

a.link-cover::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.header__language-switcher .lang_list_class .lang_switcher_link,
.underline-animate,
a.underline-animate,
a.button--tertiary,
button.button--tertiary {
  text-decoration: none !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  width: fit-content;
}

.header__language-switcher .lang_list_class .lang_switcher_link::after,
.underline-animate::after,
a.underline-animate::after,
a.button--tertiary::after,
button.button--tertiary::after {
  content: "";
  width: 100%;
  margin-left: -100%;
  height: 1px;
  transition: 0.3s ease-in-out;
}

.header__language-switcher .lang_list_class .lang_switcher_link:hover::after,
a.link-cover:hover .underline-animate::after,
.underline-animate.active::after,
.underline-animate:not(.product-specs__tab-selector__toggle):hover::after,
a.underline-animate:not(.product-specs__tab-selector__toggle):hover::after,
.header__menu-submenu___left__image-link:hover .underline-animate::after,
a.button--tertiary:hover::after,
button.button--tertiary:hover::after,
.underline-animate.is-active::after {
  margin-left: 0;
  text-decoration: none !important;
}

.header__language-switcher .lang_list_class .lang_switcher_link::after,
.content-colour.dark .underline-animate::after,
.header__menu-submenu___left__bottom-text.content-colour.dark
  .underline-animate::after,
.content-colour.dark .header__menu-submenu___right .underline-animate::after,
.content-colour.dark a.button--tertiary:hover::after,
.content-colour.dark button.button--tertiary:hover::after {
  background-color: var(--black);
}

.content-colour.light .underline-animate {
  color: var(--white);
}

.content-colour.light .underline-animate::after,
.content-colour.light a.button--tertiary:hover::after,
.content-colour.light button.button--tertiary:hover::after {
  background-color: var(--white);
}

body {
  line-height: 1.4;
  overflow-wrap: break-word;
}

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p {
  margin: 0 0 1.4rem;
  font-size: 1rem;
}

/* Anchors */

a {
  cursor: pointer;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.4rem;
}

/* Lists */

ul,
ol {
  padding-left: 1rem;
  margin: 0 0 1.4rem;
}

ul li,
ol li {
  margin: 0.7rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 1.4rem 0;
}

.no-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.no-list li {
  margin: 0;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  margin: 0 0 1.4rem;
  position: relative;
}

/* Horizontal rules */

hr {
  border: 0 none;
  border-bottom: 1px solid;
}

/* Subscripts and superscripts */

sup,
sub {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Image alt text */

img {
  font-size: 1rem;
  word-break: normal;
}
.button.button--shadow,
.form-banner__right form input[type="submit"] {
  padding: 16px 25px;
}

.button.button--shadow:not(.button--secondary),
.form-banner__right form input[type="submit"] {
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.video-toggle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.link-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 40px;
}

.link-wrapper.small-buttons {
  gap: 0;
}

.link-wrapper.small-buttons .button {
  padding: 4px 40px;
}

.link-wrapper.small-buttons .button,
.link-wrapper.small-buttons .button:hover {
  border-width: 6px;
}

.link-wrapper.small-buttons .button:first-of-type {
  border-radius: 3px 0 0 3px;
}

.link-wrapper.small-buttons .button:last-of-type {
  border-radius: 0 3px 3px 0;
}

.link-wrapper.small-buttons .button.active {
  background-color: var(--white);
  color: var(--teal);
}

@media (max-width: 767px) {
  .link-wrapper {
    margin-top: 25px;
    width: 100%;
  }
}

.swiper-navigation-button {
  cursor: pointer;
}

.swiper-navigation-button svg {
  transition: var(--transition);
}

.swiper-button-disabled.swiper-navigation-button svg {
  opacity: 0.25;
}

.swiper-pagination .swiper-pagination-bullet {
  background: transparent;
  border-radius: 3px;
  height: 9px;
  opacity: 0.5;
  width: 14px;
  border: 1px solid var(--white);
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--white);
}

.swiper-scrollbar.custom {
  background: rgb(255, 255, 255, 0.5);
  opacity: 1 !important;
  height: 3px;
  margin-top: 60px;
}

.swiper-scrollbar.custom .swiper-scrollbar-drag {
  background: rgb(255, 255, 255, 1);
  cursor: grab;
}

/* Primary button */

button,
.button,
.hs-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  text-align: center;
  transition: 0.2s linear;
  white-space: normal;
}

.hs-button-modify--full-width {
  width: 100%;
  justify-content: center;
  text-align: center;
}

/* Simple button */

.button.button--simple {
  position: relative;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
}

.button.button--simple:hover,
.button.button--simple:focus {
  border: none;
  background-color: transparent;
}

/* Disabled button */

button:disabled,
.button:disabled,
.hs-button:disabled {
  border-color: #f1f1f1;
  background-color: #f1f1f1;
  pointer-events: none;
}

button:disabled,
.button:disabled,
.button.button--secondary:disabled,
.button.button--simple:disabled {
  color: #d0d0d0;
}

/* No style button */

button.no-style,
button.no-style:hover,
button.no-style:active,
button.no-style:focus,
.button.no-style,
.button.no-style:hover,
.button.no-style:active,
.button.no-style:focus {
  background: transparent;
  padding: 0;
  border: none;
}

/* Small button */

button.small,
a.button.small {
  font-size: 0.625rem;
  padding: 10px 14px;
}

/* Line link */

.line-link {
  letter-spacing: 4px;
  text-transform: uppercase;
  text-decoration: none;
  position: relative;
}

.line-link::after {
  position: absolute;
  content: "";
  height: 2px;
  width: 32px;
  bottom: -15px;
  left: 0px;
  background-color: var(--white);
  transition: var(--transition);
}

.line-link.black::after {
  background-color: var(--black);
}

.line-link:hover::after {
  width: 100%;
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  padding: 0;
  border: none;
  border-radius: 0;
  margin-bottom: 0;
  background: none;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: left;
  text-decoration: none;
  transition: none;
}

/* Tooltip styles for copy to clipboard */

.hs-tooltip {
  position: absolute;
  bottom: calc(100% + 7px);
  left: 50%;
  display: none;
  height: auto;
  width: auto;
  padding: 5px 10px;
  border-radius: var(--border-radius);
  background-color: #494a52;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  opacity: 0.8;
  transform: translateX(-50%);
}
.hs-tooltip:after {
  position: absolute;
  top: 100%;
  left: 50%;
  height: 0;
  width: 0;
  border-top: 5px solid #494a52;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  content: "";
  transform: translateX(-50%);
}
.hs-tooltip__failure,
.hs-tooltip__success {
  display: none;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
}
.hs-visible {
  display: block;
}

/* Button icons */

.button .button__icon svg {
  display: block;
  height: 1.25rem;
  margin-right: 1rem;
  fill: inherit;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .button .button__icon svg {
    width: 1.25rem;
  }
}

.button--icon-right .button__icon {
  order: 1;
}

.button--icon-right .button__icon svg {
  margin-right: 0;
  margin-left: 1rem;
}
/* Custom range styles */

input[type="range"] {
  -webkit-appearance: none;
  width: 100%;
  height: 1px;
  border-radius: 1px;
  background: linear-gradient(
    to right,
    #17696c 0%,
    #17696c 0%,
    #fff 0%,
    #fff 100%
  );
  outline: none;
  margin: 14px 0; /* spacing for thumb */
}

/* WebKit - Chrome, Safari */
input[type="range"]::-webkit-slider-runnable-track {
  height: 1px;
  background: white;
  border-radius: 1px;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #17696c;
  cursor: pointer;
  margin-top: -7px; /* half of thumb height minus half of track height to center */
  border: none;
}

/* Firefox */
input[type="range"]::-moz-range-track {
  height: 1px;
  background: white;
  border-radius: 1px;
}

input[type="range"]::-moz-range-progress {
  height: 1px;
  background: #17696c;
  border-radius: 1px;
}

input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #17696c;
  cursor: pointer;
  border: none;
}

/* Microsoft Edge / IE */
input[type="range"]::-ms-track {
  height: 1px;
  background: transparent;
  border-color: transparent;
  color: transparent;
}

input[type="range"]::-ms-fill-lower {
  background: #17696c;
  border-radius: 1px;
}

input[type="range"]::-ms-fill-upper {
  background: white;
  border-radius: 1px;
}

input[type="range"]::-ms-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #17696c;
  cursor: pointer;
  border: none;
}

/* Form title */

.form-title {
  margin: 0;
}

.form-title ~ div > form {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* Labels */

form label {
  display: block;
  margin-bottom: 0.35rem;
}

.hsfc-Form,
.hsfc-FormWrapper {
  --hsf-module__vertical-spacing: 0.35rem;
}

/* Form fields */

form .hs-form-field {
  margin-bottom: 1.4rem;
}

.hsfc-Form,
.hsfc-FormWrapper {
  --hsf-row__vertical-spacing: 1.4rem;
}

.form-columns-1 .hs-fieldtype-intl-phone,
form input[type="text"],
form input[type="email"],
form input[type="password"],
form input[type="tel"],
form input[type="number"],
form input[type="file"],
form input[type="search"],
form select,
form textarea {
  display: inline-block;
  width: 100% !important; /* stylelint-disable-line declaration-no-important */
}

/* International phone number field */

form .hs-fieldtype-intl-phone {
  display: flex;
  justify-content: flex-start;
  gap: 8px;
}

form fieldset {
  max-width: 100% !important; /* stylelint-disable-line declaration-no-important */
}

/* Form fields - checkbox/radio */

form .inputs-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type="checkbox"],
form input[type="radio"] {
  margin-right: 0.85rem;
  cursor: pointer;
}

form input[type="checkbox"] {
  height: 18px;
  width: 18px;
  margin-top: 1px;
}

input[type="checkbox"]:checked {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="white"><rect x="0.5" y="0.5" width="19" height="19" rx="2.5" stroke="white"/><path d="M5 10L8 13L15 6" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>')
    no-repeat center;
  background-size: contain;
}

/* Form fields - date picker */

form .hs-dateinput {
  position: relative;
}

form .hs-dateinput:before {
  position: absolute;
  top: 50%;
  content: "\01F4C5";
  transform: translateY(-50%);
}

form select.hs-input {
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9407 19.5595C11.5267 20.1454 12.4782 20.1454 13.0642 19.5595L22.0642 10.5595C22.6501 9.97354 22.6501 9.02197 22.0642 8.43604C21.4782 7.8501 20.5267 7.8501 19.9407 8.43604L12.0001 16.3767L4.05947 8.44072C3.47354 7.85478 2.52197 7.85478 1.93604 8.44072C1.3501 9.02666 1.3501 9.97822 1.93604 10.5642L10.936 19.5642L10.9407 19.5595Z' fill='%2309152B'/%3E%3C/svg%3E%0A");
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 16px;
}

form .is-selected .pika-button {
  border-radius: 0 !important; /* stylelint-disable-line declaration-no-important */
  box-shadow: none !important; /* stylelint-disable-line declaration-no-important */
}

form .fn-date-picker .pika-button:hover,
form .fn-date-picker .pika-button:focus {
  border-radius: 0 !important; /* stylelint-disable-line declaration-no-important */
}

/* Form fields - file picker */

form input[type="file"] {
  padding: initial;
  border: initial;
  background-color: transparent;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  margin: 0 0 0.7rem;
}

form .hs-richtext img {
  height: auto;
  max-width: 100% !important; /* stylelint-disable-line declaration-no-important */
}

/* GDPR */

form .legal-consent-container .hs-form-booleancheckbox-display > span {
  margin-left: 1rem !important; /* stylelint-disable-line declaration-no-important */
}

/* Validation */

form .hs-form-required {
  color: #ef6b51;
}

form .hs-input.error {
  border-color: #ef6b51;
}

form .hs-error-msg,
form .hs-error-msgs {
  margin-top: 0.35rem;
  color: #ef6b51;
}

.hsfc-Form,
.hsfc-FormWrapper {
  --hsf-global-error__color: #ef6b51;
  --hsf-field-label-requiredindicator__color: var(--hsf-global-error__color);
  --hsf-erroralert__color: var(--hsf-global-error__color);
}

/* Submit button */

form input[type="submit"],
form .hs-button {
  display: inline-block;
  width: auto;
  cursor: pointer;
  text-align: center;
  transition: 0.2s linear;
  margin-top: 14px;
  white-space: normal !important; /* stylelint-disable-line declaration-no-important */
}

@media (max-width: 767px) {
  .hs_submit.hs-submit,
  .hs_submit.hs-submit .actions,
  form input[type="submit"] {
    width: 100%;
  }
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}
/* Icon wrapper */

.icon {
  display: inline-flex;
  border-radius: 50%;
}

.icon--square .icon {
  border-radius: 0;
}

/* Icon */

.icon svg {
  vertical-align: middle;
}
/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

th,
td {
  padding: 0.7rem;
  vertical-align: top;
}

/* Table header */

thead th,
thead td {
  vertical-align: bottom;
}

/* Components */

/* Navigation skipper */

.header__skip {
  position: absolute;
  top: -1000px;
  left: -1000px;
  overflow: hidden;
  height: 1px;
  width: 1px;
  text-align: left;
}

.header__skip:hover,
.header__skip:focus,
.header__skip:active {
  z-index: 2;
  top: 0;
  left: 0;
  overflow: visible;
  height: auto;
  width: auto;
}
/* Card */

.card {
  border: 0;
}

.card--dark,
.card--light {
  padding: 1.4rem;
}

.blog-post__tag {
  background-color: var(--teal);
  color: var(--white) !important;
  border-radius: var(--border-radius);
  padding: 5px 10px;
  position: absolute;
  bottom: 10px;
  left: 10px;
}

.blog-post__spacer {
  height: 25px;
}
/* Blog listing */

.blog-listing {
  padding: 0px 0 60px;
}

.blog-listing,
.blog-listing__bottom-section .content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.blog-listing__top-section {
  padding: 160px 0 60px;
}

.blog-listing--3-col,
.blog-listing--4-col {
  justify-content: flex-start;
}

.blog-post__card h2 {
  margin-bottom: 0;
}

.blog-post__card__img-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.blog-listing__featured-post .blog-post__card__img-wrapper {
  height: 323px;
  max-width: 656px;
  width: 100%;
  position: relative;
}

.blog-listing__card.blog-post__card .blog-post__card__img-wrapper {
  max-height: 204px;
  height: 100%;
  margin-bottom: 20px;
  position: relative;
}

.blog-listing__title {
  margin-bottom: 60px;
}

.blog-listing__title h1 {
  max-width: 620px;
}

.blog-listing__title *:not(h1) {
  max-width: 490px;
  display: block;
}

.blog-listing__featured-post.blog-post__card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 40px;
}

.blog-listing__featured-post__left {
  margin-right: -40px;
}

.blog-listing__featured-post__right {
  padding: 40px 40px 40px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.blog-listing__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 20px;
}

.blog-post__card {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
}

.blog-post__card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  height: 100%;
}

.blog-post__card__content__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

@media (max-width: 1024px) {
  .blog-listing__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .blog-listing__featured-post,
  .blog-listing__featured-post.blog-post__card {
    grid-template-columns: 1fr;
  }

  .blog-listing__featured-post {
    gap: 20px;
  }

  .blog-listing__featured-post__right {
    padding: 0;
  }

  .blog-listing__grid {
    grid-template-columns: 1fr;
  }
}

/* Blog filters */

.blog-listing__filters.desktop {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 10px;
}

.blog-listing__filters__filter,
.blog-listing__filters__filter:hover {
  margin: 0px 20px;
  text-decoration: none;
  font-weight: bold !important;
  padding-bottom: 7px;
}

.blog-listing__filters__filter.hidden {
  display: none !important;
}

.button--tertiary#show-more__filters {
  font-weight: bold;
  cursor: pointer;
  font-size: 0.688rem;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  margin: -7px 20px 0;
}

.blog-listing__filters.mobile {
  text-transform: capitalize;
}

@media (max-width: 767px) {
  .blog-listing__filters.desktop {
    display: none;
  }
}

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

/* Blog pagination */

.pagination-wrapper {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.pagination-wrapper .pagination__link {
  cursor: pointer;
}

/* Section heading */

.blog-listing__heading {
  width: 100%;
  text-align: center;
}

/* Article */

.blog-listing__post {
  display: flex;
  width: 100%;
  padding: 0;
  margin-bottom: 2.8rem;
  flex-direction: column;
}

.blog-listing__post-inner-wrapper {
  display: flex;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
}

/* Featured image */

.blog-listing__post-image-wrapper {
  display: flex;
}

.blog-listing__post-image {
  height: auto;
  width: 100%;
}

/* Content */

.blog-listing__post-content {
  display: flex;
  padding: 0.7rem 0 0;
  flex-direction: column;
  flex-grow: 1;
}

.card--dark .blog-listing__post-content,
.card--light .blog-listing__post-content {
  padding: 1.4rem;
}

/* Heading */

.blog-listing__header {
  margin-bottom: 1.05rem;
}

/* Tags */

.blog-listing__post-tags {
  margin-bottom: 0.7rem;
}

.blog-listing__post-tag,
.blog-listing__post-tag:hover,
.blog-listing__post-tag:focus,
.blog-listing__post-tag:active {
  text-decoration: none;
}

/* Title */

.blog-listing__post-title {
  margin-bottom: 0.7rem;
}

/* Author */

.blog-listing__post-author {
  display: flex;
  margin-bottom: 0.7rem;
  align-items: center;
}

.blog-listing__post-author-image {
  height: auto;
  width: 50px;
  margin-right: 0.7rem;
}

.blog-listing__post-author-name,
.blog-listing__post-author-name:hover,
.blog-listing__post-author-name:focus,
.blog-listing__post-author-name:active {
  text-decoration: none;
}

/* Date */

.blog-listing__post-timestamp {
  display: block;
  margin-bottom: 0.35rem;
}

/* Button */

.blog-listing__post-button-wrapper {
  margin-top: auto;
}

/* Blog listing - basic grid */

.blog-listing--card .blog-listing__post {
  flex-direction: column;
}

.blog-listing--2-col .blog-listing__post {
  width: calc(50% - 1rem);
}

.blog-listing--3-col .blog-listing__post {
  width: calc(33.3% - 1rem);
}

.blog-listing--4-col .blog-listing__post {
  width: calc(25% - 1rem);
}

.blog-listing--3-col .blog-listing__post:nth-of-type(3n + 1),
.blog-listing--3-col .blog-listing__post:nth-of-type(3n + 2) {
  margin-right: 1.5rem;
}

.blog-listing--4-col .blog-listing__post:nth-of-type(4n + 1),
.blog-listing--4-col .blog-listing__post:nth-of-type(4n + 2),
.blog-listing--4-col .blog-listing__post:nth-of-type(4n + 3) {
  margin-right: 1.333rem;
}

@media (max-width: 767px) {
  .blog-listing .blog-listing__post {
    width: 100%;
    margin-right: 0 !important; /* stylelint-disable-line declaration-no-important */
  }
}

.blog-listing--card .blog-listing__post-image-wrapper {
  height: 200px;
}

.blog-listing--card .blog-listing__post-image {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .blog-listing--card .blog-listing__post-image-wrapper,
  .blog-listing--card .blog-listing__post-image {
    height: auto;
  }
}

/* Blog listing - side by side */

/* stylelint-disable no-descending-specificity */
.blog-listing--list .blog-listing__post {
  display: flex;
}
/* stylelint-enable no-descending-specificity */

.blog-listing--list .blog-listing__post-image-wrapper {
  width: 100%;
}

.blog-listing--list .blog-listing__post-image {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .blog-listing--list .blog-listing__post-image-wrapper,
  .blog-listing--list .blog-listing__post-image {
    height: auto;
  }
}

@media (min-width: 768px) {
  .blog-post-listing__post--list {
    flex-direction: row;
  }

  .blog-listing__post-content--list {
    order: 1;
  }

  .blog-post-listing__post-image-wrapper--list {
    order: 1;
  }

  .blog-post-listing__post-image-wrapper--right {
    order: 2;
  }

  .blog-listing--list .blog-listing__post-image-wrapper {
    width: 25%;
  }

  .blog-listing--list .blog-post-listing__post-image-wrapper--left {
    margin-right: 1.4rem;
  }

  .blog-listing--list .blog-post-listing__post-image-wrapper--right {
    margin-left: 1.4rem;
  }
}
.swiper-slide:not(.no-swipe) {
  cursor: grab;
}

/* Logo */

.widget-type-logo:not(.hs-lp-header-logo) img {
  height: auto;
  max-width: 100%;
  margin-bottom: 1.4rem;
}

/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  padding-left: 0;
  margin: 0;
  flex-wrap: wrap;
  justify-content: space-around;
  list-style: none;
}

.hs-menu-wrapper li {
  margin: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper li {
    margin-bottom: 1.4rem;
    text-align: center;
  }
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  position: absolute;
  left: -9999px;
  opacity: 0;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

/* prettier-ignore */
.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts
.hs-item-has-children:hover
> .hs-menu-children-wrapper {
  top: 100%;
  left: 0;
  opacity: 1;
}

/* prettier-ignore */
.hs-menu-wrapper.hs-menu-flow-vertical.flyouts
.hs-item-has-children:hover
> .hs-menu-children-wrapper {
  top: 0;
  left: 100%;
  opacity: 1;
}

@media (max-width: 767px) {
  /* prettier-ignore */
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts
  .hs-item-has-children:hover
  > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts
  .hs-item-has-children:hover
  > .hs-menu-children-wrapper {
    position: relative;
    top: auto;
    left: 0;
    opacity: 1;
  }
}

/* Rich text */

.widget-type-rich_text img {
  height: auto;
  max-width: 100%;
}

/* If the default module language switcher is used, keep growth margins from messing it up */
.lang_switcher_class .lang_list_class li {
  margin: initial;
}
/* Blog feed */

.blog-feed__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
}

.blog-feed__title h2 {
  margin: 0;
}

.blog-feed__title a.button {
  display: none;
}

.blog-feed__feed {
  display: grid;
  gap: 40px;
}

.blog-feed__card.blog-post__card .blog-post__card__img-wrapper {
  height: 300px;
  margin-bottom: 20px;
  position: relative;
}

.blog-feed__card.blog-post__card .blog-post__card__img-wrapper img {
  height: 300px;
}

@media (max-width: 1024px) {
  .blog-feed__title {
    flex-direction: column;
    gap: 25px;
    align-items: flex-start;
  }
}

/* Comparison Table */

.comparison-table > h2.h1 {
  margin-bottom: 70px;
}

.comparison-table__inner {
  display: flex;
}

.comparison-table__inner__left {
  width: 300px;
  padding-top: 351px;
  position: relative;
  z-index: 2;
  background-color: var(--white);
}

.comparison-table__inner__left::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 100%;
  background-color: var(--white);
  left: -20px;
  top: 0;
}

.comparison-table__swiper-column__row__header-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}

.comparison-table__swiper-column__row__header-row__image-container {
  height: 276px;
  width: 282px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.comparison-table__swiper-column__row__header-row img {
  max-height: 100% !important;
  object-fit: cover;
}

.comparison-table__inner__right.swiper {
  width: calc(100% - 300px);
  overflow: visible;
}

.comparison-table__swiper-column__row {
  height: 50px;
  display: flex;
  align-items: center;
  padding-right: 15px;
}

.comparison-table__swiper-column__row.hidden {
  display: none;
}

.comparison-table__swiper-column__row > * {
  margin: 0;
}

.comparison-table__swiper-column__row:nth-of-type(odd) {
  background-color: var(--light-grey);
}

.comparison-table__swiper-column__row:nth-of-type(even) {
  background-color: var(--white);
}

.comparison-table__inner__left .comparison-table__swiper-column__row {
  padding-left: 20px;
}

.comparison-table__inner__left
  .comparison-table__swiper-column__row:nth-of-type(even) {
  background-color: var(--white);
}

.comparison-table__inner__left
  .comparison-table__swiper-column__row:nth-of-type(odd) {
  background-color: var(--light-grey);
}

.comparison-table__swiper-column__row__header-row__title {
  position: sticky;
  top: 82px;
  z-index: 3;
  background: var(--white);
  height: 75px;
  display: flex;
  align-items: center;
}

.comparison-table__swiper-column:first-of-type
  .comparison-table__swiper-column__row__header-row__title::before {
  width: 100vw;
  height: 75px;
  left: -100%;
  background: var(--white);
  content: "";
  position: absolute;
  z-index: 1;
  bottom: -1px;
}

.comparison-table__swiper-column:first-of-type
  .comparison-table__swiper-column__row__header-row__title::after {
  height: 10px;
  bottom: -10px;
  position: absolute;
  left: -100%;
  width: 100vw;
  background: linear-gradient(
    180deg,
    rgba(254, 254, 254, 1) 0%,
    rgba(254, 254, 254, 0) 100%
  );
  content: "";
}

.comparison-table__swiper-column__row__header-row__title h2 {
  margin: 0;
  position: relative;
  z-index: 2;
}

.comparison-table__swiper-column__row-cover {
  background: linear-gradient(
    180deg,
    rgba(254, 254, 254, 0) 0%,
    rgba(254, 254, 254, 1) 100%
  );
  width: 100vw;
  height: 50px;
  position: absolute;
  bottom: 0;
  left: -300px;
}

.comparison-table__button-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

#comparison-table__row-toggle {
  display: flex;
  gap: 10px;
  position: relative;
}

#comparison-table__row-toggle::after {
  content: url("data:image/svg+xml, %3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.468 1.116L5.85195 6.756L0.199951 1.128L1.30395 0.0119991L5.85195 4.584L10.364 0L11.468 1.116Z' fill='%23111111'/%3E%3C/svg%3E");
  position: absolute;
  right: -25px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s ease-in-out;
}

#comparison-table__row-toggle:hover::after {
  top: 65%;
}

#comparison-table__row-toggle.show-less::after {
  transform: rotate(180deg);
  top: 5%;
}

@media (min-width: 1025px) {
  .comparison-table__inner__right.swiper .swiper-slide {
    cursor: default;
  }
}

@media (max-width: 1024px) {
  .comparison-table__inner__left {
    width: 200px;
  }

  .comparison-table__inner__right.swiper {
    width: calc(100% - 200px);
  }
}

@media (max-width: 767px) {
  .comparison-table__swiper-column__row {
    height: 55px;
  }

  .comparison-table__swiper-column__row__header-row__title {
    top: 109px;
  }
}

@media (max-width: 550px) {
  .comparison-table__swiper-column__row__header-row__image-container {
    max-width: 100%;
  }

  .comparison-table__swiper-column__row__header-row__image-container img {
    width: 100%;
  }

  .comparison-table__inner__left {
    width: 160px;
  }

  .comparison-table__inner__right.swiper {
    width: calc(100% - 160px);
  }

  .comparison-table__swiper-column__row {
    height: 80px;
  }

  .comparison-table__swiper-column__row__header-row__title h2 {
    font-size: 1.2rem;
  }
}

/* CTA Banner */

.cta-banner__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px;
}

.cta-banner__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cta-banner__wrapper *:not(.button):not(.link-wrapper):not(.cta-banner__inner) {
  max-width: 520px;
}

.cta-banner__wrapper p:last-of-type {
  margin: 0;
}

@media (max-width: 767px) {
  .cta-banner__wrapper {
    padding: 30px 20px;
  }
}

/* Customer Map */

.customer-map__title {
  margin: 0 auto;
  max-width: 555px;
  text-align: center;
  margin-bottom: 50px;
}

.customer-map__pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: center;
  margin-bottom: 50px;
}

.customer-map__pagination__item {
  text-transform: none !important;
  letter-spacing: normal !important;
}

.customer-map__pagination__item p {
  margin: 0;
}

.customer-map__swiper__wrapper {
  position: relative;
}

.customer-map__swiper__prev,
.customer-map__swiper__next {
  position: absolute;
  top: 340px;
  z-index: 2;
}

.customer-map__swiper__next {
  right: 0;
}

.customer-map__swiper__slide.swiper-slide {
  display: flex;
  justify-content: center;
  position: relative;
}

.customer-map__swiper__slide__inner {
  position: relative;
  width: 100%;
}

.customer-map__swiper__slide.swiper-slide img {
  max-width: 100%;
  height: auto;
  display: block;
}

.customer-map__swiper__slide__customer__wrapper {
  position: absolute;
  transform: translate(-50%, -50%); /* centers the pin */
  z-index: 2;
  cursor: pointer;
}

.customer-map__swiper__slide__customer__wrapper:hover {
  z-index: 999;
  isolation: isolate;
}

.customer-map__swiper__slide__customer__pin {
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background-color: var(--white);
}

.customer-map__swiper__slide__customer__pin img {
  max-width: 20px !important;
  height: auto;
}

.customer-map__swiper__slide__customer {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
  width: 333px;
  position: absolute;
  z-index: 50;
  top: -62px;
  left: 25px;
  background-color: var(--white);
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  padding: 10px;
  border-radius: var(--border-radius);
  opacity: 0;
  transition: 0.1s ease-in-out;
  pointer-events: none;
}

.customer-map__swiper__slide__customer.left-align {
  left: -333px;
}

.customer-map__swiper__slide__customer__wrapper:hover
  .customer-map__swiper__slide__customer {
  opacity: 1;
  pointer-events: all;
  transition: 0.3s ease-in-out;
}

.customer-map__swiper__slide__customer__right__top h4 {
  font-size: 1rem;
  margin-bottom: 0;
}

.customer-map__swiper__slide__customer__right__bottom p.small {
  margin: 0;
  text-transform: none;
  letter-spacing: normal;
}

.customer-map__swiper__slide__customer__right__bottom p.small:first-of-type {
  color: #c8c8c8;
  font-weight: bold;
}

.customer-map__swiper__slide__customer__right__bottom a,
.customer-map__swiper__slide__customer__right__bottom a:hover {
  margin-top: 10px;
  font-weight: bold !important;
}

@media (max-width: 767px) {
  .customer-map__pagination,
  .customer-map__swiper__wrapper {
    display: none;
  }

  .customer-map__title {
    max-width: none;
  }

  .customer-map__select {
    margin-bottom: 40px;
  }

  .customer-map__mobile-cards__wrapper {
    display: none;
  }

  .customer-map__mobile-cards__wrapper.active {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .customer-map__swiper__slide__customer {
    position: static;
    opacity: 1;
    width: 100%;
    grid-template-columns: 1fr 3fr;
    pointer-events: all;
  }
}

@media (min-width: 768px) {
  .customer-map__select,
  .customer-map__mobile-cards {
    display: none;
  }
}

/* FAQs */

.faqs__wrap {
  display: grid;
  gap: 0 25px;
  grid-auto-flow: column;
  align-items: start;
}

.faqs__wrap__faq-item {
  border-bottom: none;
  padding: 20px 20px 0px;
  display: flex;
  flex-direction: column;
  align-self: start;
}

.faqs__wrap__faq-item:nth-of-type(odd) {
  background-color: var(--light-grey);
}

@media (max-width: 1024px) {
  .faqs__wrap {
    display: flex;
  }
}

/* Form banner */

.form-banner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-height: 644px;
}

.form-banner__left {
  background-size: cover;
  width: 100%;
  height: 100%;
}

.form-banner__right {
  background-color: var(--light-grey);
  padding: 40px 60px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.form-banner__right__description *:last-child {
  margin: 0;
}

@media (max-width: 1024px) {
  .form-banner__right {
    padding: 30px 20px;
  }
}

@media (max-width: 767px) {
  .form-banner {
    grid-template-columns: 1fr;
  }

  .form-banner__left {
    height: 400px;
    order: 1;
  }
}

/* Form switchback */

.form-switchback {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.form-switchback__left {
  max-width: 482px;
}

.form-switchback__right__description {
  margin-bottom: 5px;
}

.form-switchback__right__description *:last-of-type {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .form-switchback {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* Gallery */

.gallery__title {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}

.gallery__title p {
  margin: 0;
}

.gallery__title__navigation {
  display: flex;
  gap: 10px;
}

.gallery__swiper__slide {
  display: flex;
  align-items: flex-end;
  padding: 15px 20px;
  background-size: cover;
  border-radius: var(--border-radius);
}

.gallery__swiper__slide p {
  margin: 0;
  max-width: 228px;
}

.gallery-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  background: rgba(76, 76, 76, 0.8);
  transition: 0.3s ease-in-out;
  opacity: 0;
}

.gallery-modal.fade {
  opacity: 1;
}

.gallery-modal__content {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  max-width: 1080px;
  padding: 0 50px;
  margin: 0 auto;
}

.gallery-modal__close {
  position: absolute;
  top: 15px;
  right: 25px;
  font-size: 2rem;
  color: white;
  cursor: pointer;
  z-index: 10001;
}

.gallery-modal__swiper {
  width: 100%;
  height: 100%;
  max-height: 95vh;
  border-radius: var(--border-radius);
}

.gallery-modal__swiper .swiper-wrapper {
  align-items: center;
}

.gallery-modal__swiper .swiper-slide {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  height: 100%;
  background-color: var(--black);
  overflow: scroll;
  border-radius: var(--border-radius);
}

.gallery-modal__swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: 59%;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.gallery-modal__slide__content {
  padding: 25px 45px 45px;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  max-width: 678px;
}

.gallery-modal__slide__content * {
  color: var(--white);
}

.gallery-modal__navigation {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 10px);
  display: flex;
  justify-content: space-between;
  max-width: 1520px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .gallery-modal,
  .gallery__title__navigation {
    display: none !important;
  }
}

/* Highlights */

.highlights {
  display: grid;
  gap: 40px;
  border-bottom: 1px solid var(--black);
  padding-bottom: 40px;
}

.highlights.content-colour.light {
  border-color: var(--white);
}

.highlights__highlight {
  padding: 15px 25px 6px;
}

.highlights__highlight h3 {
  margin-bottom: 3px;
}

@media (max-width: 1024px) {
  .highlights {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .highlights {
    grid-template-columns: 1fr;
  }
}

/* Image swiper */

.image-swiper__slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.image-swiper__navigation__arrow {
  position: absolute;
  top: 95%;
  transform: translateY(-50%);
  z-index: 3;
}

.image-swiper__navigation__prev {
  left: 10px;
}

.image-swiper__navigation__next {
  right: 10px;
}

/* Link feed */

.link-feed > p {
  margin-bottom: 50px;
}

.link-feed__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}

.link-feed__card {
  display: flex;
  flex-direction: column;
}

.link-feed__card__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

.link-feed__card__content .link-wrapper {
  margin: 0;
}

.link-feed__card__content__top__title * {
  margin-bottom: 5px;
}

.link-feed__card__image {
  object-fit: cover;
  width: 100%;
  margin-bottom: 20px;
}

.link-feed__card__title {
  margin-bottom: 20px;
}

.link-feed__card__subtitle {
  font-weight: bold;
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .link-feed__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .link-feed__cards {
    grid-template-columns: 1fr;
  }
}

/* Logo Swiper */

.logo-swiper-container {
  position: relative;
}

.logo-swiper.swiper {
  overflow: visible;
}

.logo-swiper .swiper-wrapper {
  transition-timing-function: linear;
  display: grid;
  grid-template-columns: repeat(1000, 1fr);
}

.logo-swiper.swiper a {
  display: flex;
  align-items: center;
}

.logo-swiper.swiper img {
  height: auto;
  max-width: 110px;
  width: 100%;
}

.logo-swiper-gradient--left {
  position: absolute;
  height: 100%;
  right: 1620px;
  width: 50vw;
  background-color: white;
  z-index: 3;
  top: 0;
  content: "";
}

.logo-swiper-container::before,
.logo-swiper-container::after {
  position: absolute;
  height: 100%;
  right: 1580px;
  width: 40px;
  background: #fff;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 1) 10%,
    rgba(255, 255, 255, 0.14) 100%
  );
  z-index: 3;
  top: 0;
  content: "";
}

.logo-swiper-container::after {
  right: auto;
  left: 1580px;
  background: #fff;
  background: linear-gradient(
    270deg,
    rgba(255, 255, 255, 1) 10%,
    rgba(255, 255, 255, 0.14) 100%
  );
}

.logo-swiper-gradient--right {
  position: absolute;
  height: 100%;
  left: 1620px;
  width: 50vw;
  background-color: white;
  z-index: 3;
  top: 0;
  content: "";
}

/* Media Swiper */

.media-swiper__wrapper {
  position: relative;
}

.media-swiper__wrapper::before {
  position: absolute;
  content: "";
  width: 220px;
  height: 100%;
  top: 0;
  left: 1485px;
  z-index: 2;
  background: linear-gradient(90deg, transparent 0%, var(--black) 100%);
}

.media-swiper__wrapper::after {
  position: absolute;
  content: "";
  width: 100vw;
  height: 100%;
  top: 0;
  left: 1704px;
  z-index: 2;
  background: var(--black);
}

.media-swiper__title {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 50px;
}

.media-swiper__title p {
  margin: 0;
}

.media-swiper__title__navigation {
  display: flex;
  gap: 10px;
}

.media-swiper__wrapper .swiper {
  overflow: visible;
}

.media-swiper__slide {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
}

.media-swiper__slide:not(:last-of-type)::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 80%;
  background-color: var(--white);
  top: 0;
  right: -20px;
  opacity: 0.3;
}

.media-swiper__slide__content h2 {
  margin-bottom: 10px;
}

.media-swiper__wrapper.content-colour.dark {
  background-color: var(--black);
}

.media-swiper__slide .media-swiper__slide__media {
  border-radius: var(--border-radius);
  width: 100% !important;
  object-fit: cover;
}

.media-swiper__slide__media__wrapper {
  position: relative;
}

.media-swiper__slide__media__toggle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
  .media-swiper__title__navigation {
    display: none;
  }
}

/* Media switchback */

.media-switchback {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 20px;
}

.media-switchback__left {
  max-width: 400px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (max-width: 1024px) {
  .media-switchback {
    grid-template-columns: 1fr;
  }

  .media-switchback__left {
    max-width: none;
  }
}

/* Product cell */

.product-cell {
  padding: 20px 15px;
  min-height: 266px;
  transition: 0.3s ease-in-out;
  position: relative;
}

.product-cell.w-image.product-cell__additional-cells-wrapper__cell {
  display: flex;
  flex-direction: column;
  min-height: auto;
  height: 100%;
}

.product-cell h2 {
  margin-bottom: 8px;
}

.product-cell__main-cell {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  height: 100%;
  position: relative;
}

.product-cell__main-cell__left {
  max-width: 392px;
}

.product-cell a.link-cover::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.product-cell__main-cell__left h4 {
  margin-bottom: 10px;
}

@media (max-width: 767px) {
  .product-cell .button.button--tertiary {
    justify-content: flex-start;
  }
}

/* Product details */

.product-details {
  display: flex;
}

.product-details__left {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 50%;
  height: 100%;
  top: 80px;
  overflow: hidden;
  cursor: grab;
  user-select: none;
}

.product-details__left__drag-label {
  margin-bottom: 0;
}

.product-details__left__slide-wrapper {
  display: none;
}

.product-details__left__slide-wrapper.active {
  display: block;
}

.product-details__left__drag-label {
  display: flex;
  justify-content: center;
}

.product-details__swiper__swiper-slide {
  display: none;
}

.product-details__swiper__swiper-slide img {
  pointer-events: none;
  user-select: none;
  user-drag: none;
}

.product-details__right {
  width: 50%;
}

.product-details__right__colour-selector {
  margin: 0 0 35px;
}

.product-details__right__colour-selector p {
  margin-bottom: 10px;
}

.product-details__right__colour-selector__colours {
  display: flex;
  gap: 15px;
}

.product-details__right__colour-selector__colours__colour {
  width: 57px;
  height: 35px;
  border: 1px solid var(--black);
  border-radius: var(--border-radius);
  cursor: pointer;
}

@media (min-width: 1025px) {
  .product-details__right__colour-selector__colours__mobile {
    display: none;
  }
}

@media (max-width: 1024px) {
  .product-details {
    flex-direction: column;
    gap: 40px;
  }

  .product-details__left,
  .product-details__right {
    width: 100%;
  }

  .product-details__left {
    position: static;
  }

  .product-details {
    position: relative;
  }

  .product-details__right {
    position: relative;
    padding-top: 130px;
  }

  .product-details__right__colour-selector {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }

  .product-details__right__colour-selector__colours {
    flex-direction: column;
    gap: 5px;
  }

  .product-details__right__colour-selector__colours__mobile {
    margin-bottom: 40px;
  }

  .product-details__right__colour-selector__colours__colour {
    width: 100%;
  }
}

/* Product specs */

.product-specs__tab-selector {
  display: flex;
  gap: 60px;
  margin-bottom: 40px;
}

.product-specs__tab-selector__toggle {
  cursor: pointer;
}

.product-specs__tab-selector__toggle h2 {
  margin: 0;
  color: #878787 !important;
  transition: 0.3s ease-in-out;
}

.product-specs__tab-selector__toggle h2:hover,
.product-specs__tab-selector__toggle.active h2 {
  color: var(--black) !important;
}

.product-specs__tabs__tab.active {
  display: grid;
}

.product-specs__tabs__tab__grid__title p {
  font-weight: bold;
}

.product-specs__tabs__tab.specs {
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.product-specs__tabs__tab__left.specs {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.product-specs__tabs__tab__grid.specs:not(:last-of-type) {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--black);
}

.product-specs__tabs__tab__grid__rows.specs {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 20px;
}

.product-specs__tabs__tab__grid__rows.requirements {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.product-specs__tabs__tab__grid__rows__row.specs p {
  margin: 0;
}

.product-specs__tabs__tab__grid__rows__row.specs p:first-of-type {
  opacity: 0.2;
  font-weight: bold;
}

.product-specs__tabs__tab__right.specs {
  margin-left: auto;
  width: 100%;
  max-width: 532px;
  position: relative;
}

.product-specs__tabs__tab__right__specs__image {
  position: absolute;
  width: calc(50% - 3px);
  object-fit: contain;
  cursor: pointer;
  transition: 0.3s ease-in-out;
}

.product-specs__tabs__tab__right__specs__image:nth-of-type(1) {
  top: 0;
  left: 0;
}

.product-specs__tabs__tab__right__specs__image:nth-of-type(2) {
  top: 0;
  right: 0;
}

.product-specs__tabs__tab__right__specs__image:nth-of-type(3) {
  bottom: 0;
  left: 0;
}

.product-specs__tabs__tab__right__specs__image:nth-of-type(4) {
  bottom: 0;
  right: 0;
}

.product-specs__tabs__tab__right__specs__image.active {
  height: 100% !important;
  width: 100% !important;
}

.product-specs__tabs__tab__right__specs__image.top {
  z-index: 2;
}

.specs-image__toggle {
  position: absolute;
  z-index: -1;
  right: 15px;
  top: 15px;
  z-index: -1;
  opacity: 0;
  transition: 0.3s ease-in-out;
  z-index: 3;
  pointer-events: none;
}

.specs-image__toggle.show {
  opacity: 1;
}

.product-specs__tabs__tab.dimensions {
  display: flex;
  align-items: flex-end;
}

.product-specs__tabs__tab__left.dimensions {
  max-width: 386px;
  flex-shrink: 0;
}

.product-specs__tabs__tab__right.dimensions {
  display: flex;
  gap: 50px;
  flex-grow: 1;
  justify-content: center;
}

.product-specs__tabs__tab__downloads__rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.product-specs__tabs__tab__downloads__grid__column > p {
  font-weight: bold;
}

.product-specs__tabs__tab__downloads__grid__column__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 20px;
  gap: 15px 25px;
}

.product-specs__tabs__tab__downloads__grid__column__row p {
  margin: 0;
}

.product-specs__tabs__tab__downloads__grid__column__row:nth-of-type(odd) {
  background-color: var(--light-grey);
}

.product-specs__tabs__tab:not(.active) {
  display: none;
}

@media (max-width: 1024px) {
  .product-specs__tab-selector.desktop {
    display: none;
  }

  .product-specs__tabs__tab__right.specs {
    margin-left: 0;
  }

  .product-specs__tabs__tab.specs,
  .product-specs__tabs__tab.downloads {
    grid-template-columns: 1fr;
  }

  .product-specs__tabs__tab.downloads {
    gap: 0;
  }

  .product-specs__tabs__tab.dimensions,
  .product-specs__tabs__tab__right.dimensions {
    flex-direction: column;
    align-items: flex-start;
  }

  .product-specs__tabs__tab__left.dimensions {
    max-width: none;
  }

  .product-specs__tabs__tab__downloads__rows {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .product-specs__tabs__tab__grid__rows.specs {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .product-specs__tabs__tab__downloads__grid__column__row {
    flex-direction: column;
  }
}

/* ROI calculator */

.roi-calc {
  display: grid;
  grid-template-columns: 1fr 1.8fr;
  gap: 45px;
}

.roi-calc__left,
.roi-calc__right__inner {
  padding: 30px 30px;
}

.roi-calc__left {
  display: flex;
  flex-direction: column;
  gap: 55px;
}

.roi-calc__left form label {
  font-size: 11px;
}

.roi-calc__left form input {
  margin-bottom: 25px;
}

.roi-calc__left form #labor-cost {
  background: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='18' width='12'%3E%3Ctext x='0' y='14' font-family='Manrope, sans-serif' font-size='15' fill='%23888888'%3E%24%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0px 10px;
  background-size: 12px 18px;
  padding-left: 15px;
}

.roi-calc__conversion {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
}

.roi-calc__conversion button,
.content-colour.light .roi-calc__conversion button {
  font-size: 11px;
  color: #cfcfcf;
  border-color: #cfcfcf;
  border-radius: 3px;
  padding: 5px 10px;
  text-transform: lowercase;
}

.roi-calc__conversion button.active,
.content-colour.light .roi-calc__conversion button.active,
.roi-calc__conversion button:hover,
.content-colour.light .roi-calc__conversion button:hover,
.roi-calc__conversion button:focus,
.content-colour.light .roi-calc__conversion button:focus {
  color: var(--black);
  background-color: #cfcfcf !important;
  border-color: #cfcfcf !important;
}

.roi-calc__left__bags {
  position: relative;
  padding-bottom: 20px;
}

.roi-calc__left__bags__bag {
  position: relative;
}

.roi-calc__left__bags__bag button.remove-bag {
  background-image: url("data:image/svg+xml,%3Csvg width='9' height='9' viewBox='0 0 9 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L8 8' stroke='white' stroke-linecap='round'/%3E%3Cpath d='M8 1L1 8' stroke='white' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  width: 10px;
  height: 10px;
  display: block;
  position: absolute;
  left: -15px;
  top: 6px;
}

.roi-calc__left__bags__bag > p {
  margin-bottom: 8px;
  font-weight: bold;
}

.roi-calc__left__bags__bag__form-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.roi-calc__left__bags .show-next-bag {
  position: absolute;
  bottom: 0;
  left: 0;
}

.roi-calc__right {
  position: relative;
  scroll-margin-top: 110px;
}

.roi-calc__overlay-text {
  position: absolute;
  z-index: 2;
  top: 335px;
  left: 50%;
  transform: translateX(-50%);
}

.roi-calc__right__inner {
  background-color: var(--white);
  position: relative;
}

.roi-calc__right__inner.blurred {
  pointer-events: none;
}

.roi-calc__right__inner.blurred::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.07);
  pointer-events: none;
}

.roi-calc__right__inner canvas {
  max-width: 100%;
  transition: 0.3s ease-in-out;
}

.roi-calc__right__inner.blurred canvas {
  height: 200px !important;
  transform-origin: top left;
}

.roi-calc__right__inner__savings {
  display: flex;
  flex-wrap: wrap;
  gap: 0 40px;
}

.roi-calc__right__inner__savings__saving__top {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 10px;
}

.roi-calc__right__inner__savings__saving__top h4,
.roi-calc__right__inner__savings__saving__top span {
  margin-bottom: 0;
}

.roi-calc__right__inner__savings__saving__top h4 {
  font-size: 40px;
  font-weight: 500;
}

.roi-calc__right__inner__savings__saving__top h4#money-saved-year,
.roi-calc__right__inner__savings__saving__top h4#money-saved-three-year {
  color: var(--teal);
}

.roi-calc__right__inner__bottom-line {
  margin-top: 40px;
}

.roi-calc__right__inner__bottom-line h5 {
  margin-bottom: 8px;
}

.roi-calc__right__inner__bottom-line h2 {
  line-height: 1.3;
  margin-bottom: 0;
}

.roi-calc__right__inner__bottom-line__form {
  margin-top: 20px;
}

.roi-calc__right__inner__bottom-line__form form {
  position: relative;
  padding-right: 210px;
}

.roi-calc__right__inner__bottom-line__form form input[type="email"] {
  padding: 13px 10px 13px 0;
}

.roi-calc__right__inner__bottom-line__form form .hs_submit.hs-submit {
  position: absolute;
  right: 0;
  bottom: 0;
}

.roi-calc__right__inner__bottom-line__form
  form
  .hs_submit.hs-submit
  input[type="submit"] {
  background-color: var(--white);
  border-color: var(--black);
  color: var(--black);
}

.roi-calc__right__inner__bottom-line__form
  form
  .hs_submit.hs-submit
  input[type="submit"]:hover {
  background-color: var(--black);
  color: var(--white);
}

@media (max-width: 1340px) {
  .roi-calc {
    grid-template-columns: 1fr 1.6fr;
  }

  .roi-calc__left__bags__bag
    .roi-calc__left__bags__bag__form-cols
    > div:first-of-type
    input {
    margin-bottom: 10px;
  }

  .roi-calc__left__bags__bag__form-cols {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 1024px) {
  .roi-calc {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 767px) {
  .roi-calc__left {
    padding: 0 0 55px;
  }

  .roi-calc__conversion {
    flex-direction: column;
    margin: 10px 0 30px;
  }
}

/* Row repeater */

.row-repeater__rows {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.row-repeater__rows__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.row-repeater__rows__row:not(:last-of-type) {
  border-bottom: 1px solid var(--white);
  padding-bottom: 30px;
}

.content-colour.dark .row-repeater__rows__row {
  border-color: var(--black);
}

.row-repeater__rows__row__right {
  margin-top: 10px;
}

@media (max-width: 767px) {
  .row-repeater__rows__row {
    grid-template-columns: 1fr;
  }

  .row-repeater__rows__row {
    gap: 0;
  }
}

/* Sticky text columns */

.sticky-text-columns {
  display: flex;
}

.blog-post__body .sticky-text-columns {
  max-width: 1180px;
}

.sticky-text-columns__left {
  max-width: 460px;
  width: 100%;
}

.sticky-text-columns__left .blog-post__body__left__jump-links-wrapper.mobile {
  margin-bottom: 40px;
}

.sticky-text-columns__left h2.h1,
.sticky-text-columns__left h1 {
  margin-top: -5px;
}

.sticky-text-columns__right {
  width: calc(100% - 490px);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sticky-text-columns__right h4 {
  margin-bottom: 0;
  margin-top: 12px;
}

.sticky-text-columns__right__row__title * {
  margin-bottom: 0px;
}

.sticky-text-columns__right .link-wrapper {
  margin-top: 0;
}

@media (max-width: 767px) {
  .sticky-text-columns {
    flex-direction: column;
  }

  .sticky-text-columns__right {
    width: 100%;
  }
}

/* Switchback */

.switchback {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.switchback__left {
  max-width: 608px;
}

.switchback__right {
  display: flex;
  align-items: flex-start;
}

@media (min-width: 1025px) {
  .switchback__right {
    justify-content: flex-end;
  }
}

@media (max-width: 1024px) {
  .switchback {
    grid-template-columns: 1fr;
  }
}
/* Hero Banner */

.hero-banner__wrapper .hero-banner {
  height: 100%;
}

.hero-banner__wrapper .content-wrapper {
  width: 100%;
  display: flex;
  align-items: flex-end;
}

.hero-banner__wrapper .hero-banner .link-wrapper {
  margin-top: 0;
}

.hero-banner__wrapper {
  min-height: 740px;
  max-height: 80vh;
  position: relative;
  display: flex;
  align-items: flex-end;
}

.hero-banner__bg-swiper.swiper {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}

.hero-banner__bg-swiper__slide.darken::after {
  content: "";
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  background: linear-gradient(
    162deg,
    rgba(217, 217, 217, 0) 8.06%,
    rgba(17, 17, 17, 0.74) 97.87%
  );
}

.hero-banner__bg-swiper__slide.swiper-slide {
  width: 100% !important;
  height: 100%;
  background-size: cover;
  background-position: center;
  display: flex;
  position: relative;
}

.hero-banner__bg-swiper__slide.swiper-slide p.slide-label {
  position: absolute;
  right: 20px;
  bottom: 40px;
  z-index: 3;
  margin: 0;
}

.hero-banner__bg-swiper__slide-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 40px 0 40px;
  position: relative;
  z-index: 2;
  width: fit-content;
}

.hero-banner__bg-swiper__slide-content .link-wrapper {
  margin-top: 8px;
}

.hero-banner__bg-swiper__slide-content.mobile-padding {
  margin: 40px 0 40px;
}

.hero-banner__bg-swiper__navigation__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
}

.hero-banner__bg-swiper__navigation__prev {
  left: 20px;
}

.hero-banner__bg-swiper__navigation__next {
  right: 20px;
}

.hero-banner__bg-swiper__pagination {
  position: absolute;
  z-index: 3;
  bottom: 20px !important;
  left: 0;
  display: flex;
  justify-content: center;
}

.hero-banner__bg-swiper__slide__video {
  width: -moz-available;
  width: -webkit-fill-available;
  width: stretch;
  height: -moz-available;
  height: -webkit-fill-available;
  height: stretch;
  object-fit: cover;
  position: absolute;
}
@media (max-width: 1024px) {
  .hero-banner__bg-swiper__slide-content,
  .hero-banner__bg-swiper__slide-content.mobile-padding {
    margin: 30px 0 90px;
  }
}

@media (max-width: 767px) {
  .hero-banner__bg-swiper__slide-content {
    width: 100%;
  }

  .hero-banner__wrapper {
    min-height: 80vh;
    max-height: 100vh;
    height: 100%;
    padding-top: 100px;
    display: flex;
    align-items: flex-end;
  }

  .hero-banner__bg-swiper__slide-content,
  .hero-banner__bg-swiper__slide-content.mobile-padding {
    margin: 30px 0 50px;
  }

  .hero-banner__wrapper .hero-banner.mobile-padding {
    padding: 0;
  }

  .hero-banner__bg-swiper__slide.swiper-slide p.slide-label {
    bottom: 30px;
    font-size: 0.9rem;
  }

  .hero-banner__wrapper.mobile-padding
    .hero-banner__bg-swiper__slide.swiper-slide
    p {
    bottom: 20px !important;
  }

  .hero-banner__bg-swiper__pagination {
    display: none;
  }

  .hero-banner__bg-swiper__navigation__arrow {
    top: auto;
    bottom: 5px;
    z-index: 10;
    display: none;
  }
}

/* Full-width Video */

.full-width-video__wrapper {
  position: relative;
}

.full-width-video__wrapper.content-wrapper.large {
  padding: 0;
}

.full-width-video__wrapper.aspect-ratio {
  aspect-ratio: 16 / 9;
}

.full-width-video__wrapper iframe {
  width: 100%;
  height: 100%;
}

.full-width-video__wrapper__video {
  width: 100%;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9; /* Or use a wrapper to preserve ratio */
  object-fit: cover;
  overflow: hidden;
}

/* Testimonial Banner */

.testimonial-banner__wrapper {
  min-height: 712px;
  background-size: cover;
}

.testimonial-wrapper {
  padding: 40px 0;
  max-width: 647px;
}

.testimonial-wrapper__name {
  font-weight: bold;
}

.testimonial-wrapper p {
  margin: 0;
}

/* Utilities */

/* For content that needs to be visually hidden but stay visible for screenreaders */

/* stylelint-disable declaration-no-important */
.show-for-sr {
  position: absolute !important;
  overflow: hidden !important;
  height: 1px !important;
  width: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    position: absolute !important;
    overflow: hidden !important;
    height: 1px !important;
    width: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
  }
}
/* stylelint-enable declaration-no-important */