@charset "UTF-8";
/* ============================================ *
 * Reset
 * ============================================ */
*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-tap-highlight-color: black(0);
  /* Prevent tap highlight on iOS/Android */
  -webkit-text-size-adjust: 100%;
  /* Prevent automatic scaling on iOS */
}

body {
  background: #FFFFFF;
  color: #000000;
  line-height: 1;
}

html,
body,
img,
fieldset,
abbr,
acronym {
  border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

th,
code,
cite,
caption {
  font-weight: normal;
  font-style: normal;
  text-align: left;
}

address {
  font-style: normal;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

img {
  display: block;
  max-width: 100%;
}

ol,
ul {
  list-style: none;
}

q:before,
q:after {
  content: "";
}

input:focus,
input[type=search]:focus {
  outline-offset: -2px;
}

input[type=search] {
  -webkit-appearance: none;
  /* 1 */
  /* 2 */
  box-sizing: border-box;
}

a:hover {
  text-decoration: none;
}

#slideshow {
  border: none;
}

.breadcrumb {
  padding: 0.8rem 0 0.6rem 0.9rem;
  background: none;
  margin: 0 0 0.4rem 0;
}
.breadcrumb a {
  padding: 0 2px;
}

.knowledge-hub-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}
.knowledge-hub-link::before {
  content: url("/storage/images/icon-knowledge-hub-orange.svg");
  width: 30px;
  height: 30px;
}

.z-above-menu {
  position: relative;
  z-index: 1040;
}

.seo-additions {
  display: flex;
  justify-content: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  flex-wrap: wrap;
}
.seo-additions h1,
.seo-additions h2 {
  font-size: 1.2rem;
  margin-bottom: 0.4rem;
}

.panel {
  --padding: 2rem;
  position: relative;
  display: grid;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  row-gap: 1rem;
  border: 1px solid #D6D7D8;
  transition: border-color 0.2s;
  border-radius: 6px;
  background: #FFFFFF;
  color: #374043;
  text-decoration: none;
  padding: var(--padding);
  overflow: hidden;
  height: 100%;
  box-shadow: 0px 6px 6px 0 rgba(0, 0, 0, 0.08), 0px 2px 5px 0 rgba(0, 0, 0, 0.14);
  grid-template-rows: min-content min-content auto min-content min-content;
}
.panel__image {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.panel__content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-align: center;
}
.panel__content.text-left {
  text-align: left;
}
.panel__body, .panel__body p {
  font-size: min(4.6vw, 1.2rem);
  line-height: 1.4;
}
.panel__body a, .panel__body p a {
  text-decoration: none;
  color: #374043;
}
.panel__title {
  font-size: min(5.7vw, 1.4rem);
  line-height: 1.2;
  font-weight: 500;
  text-align: center;
}
.panel__title.text-left {
  text-align: left;
}
.panel__title a {
  text-decoration: none;
  color: #374043;
}
.panel__price {
  font-size: clamp(1.1rem, 6.6vw, 1.8rem);
  line-height: 1.2;
  color: #EC663E;
  font-weight: 700;
  text-align: center;
}
.panel__price [class*=u-font-weight],
.panel__price .from {
  font-size: 60%;
  font-weight: 500;
  color: #374043;
}
.panel__price .price {
  font-size: min(4.5vw, 1.6rem);
  line-height: 1.2;
  color: #EC663E;
  font-weight: 700;
}
.panel__price .per,
.panel__price .vat {
  font-size: 60%;
  font-weight: 400;
  color: #374043;
}
.panel__usp-list > li {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.3rem 0;
  text-align: left;
}
.panel__usp-list > li:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  content: "";
  color: #EC663E;
  flex: 0 0 22px;
}
.panel__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  justify-content: center;
  align-items: center;
}
.panel__cta.full-width {
  flex-direction: column;
  align-items: stretch;
}
.panel__cta-link {
  color: #a2a4a6;
  font-size: 0.9rem;
}
.panel__promo {
  position: absolute;
  width: min(28%, 110px);
  top: 50%;
  left: 100%;
  transform: translate(-100%, -100%);
  z-index: 100;
}
.panel__footer {
  display: flex;
}
.panel__footer__split {
  justify-content: space-between;
  align-items: center;
}
.panel ul.tick {
  margin-left: 0;
}
.panel .alternative-price {
  display: none;
}

@media (min-width: 576px) {
  .panel {
    --padding: 1rem;
    height: 100%;
  }
  .panel.dynamic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content auto min-content;
    grid-template-areas: "image title" "image content" "image cta";
  }
  .panel.dynamic .panel__image {
    grid-area: image;
    margin-bottom: 0;
    width: calc(100% + var(--padding));
    height: calc(100% + calc(var(--padding) * 3));
  }
  .panel.dynamic .panel__title {
    grid-area: title;
  }
  .panel.dynamic .panel__content {
    grid-area: content;
  }
  .panel.dynamic .panel__cta {
    grid-area: cta;
  }
}
@media (min-width: 768px) {
  .panel {
    --padding: 1.5rem;
  }
}
@media (min-width: 992px) {
  .panel__title {
    font-size: 1.8rem;
  }
  .panel.dynamic {
    grid-template-rows: 160px min-content auto min-content;
  }
  .panel__promo {
    transform: translate(-100%, -260%);
  }
}
@media (min-width: 1200px) {
  .panel.dynamic {
    grid-template-rows: 200px min-content auto min-content;
  }
  .panel__promo {
    transform: translate(-100%, -180%);
  }
}
@media (min-width: 1400px) {
  .panel__cta {
    flex-direction: row;
  }
  .panel__promo {
    transform: translate(-100%, -140%);
  }
}
.panel-left-align {
  --padding: 0.3rem;
  position: relative;
  display: grid;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  row-gap: 1rem;
  transition: border-color 0.2s;
  background: #f5f5f5;
  color: #374043;
  text-decoration: none;
  padding: var(--padding);
  overflow: hidden;
  height: 100%;
  grid-template-rows: min-content min-content auto min-content min-content;
}
.panel-left-align:focus, .panel-left-align:active {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0);
  color: #374043;
}
.panel-left-align__image {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-size: cover;
}
.panel-left-align__content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-align: start;
}
.panel-left-align__content.text-left {
  text-align: left;
}
.panel-left-align__body, .panel-left-align__body p {
  font-size: min(4.6vw, 1.2rem);
  line-height: 1.4;
}
.panel-left-align__body a, .panel-left-align__body p a {
  text-decoration: none;
  color: #374043;
}
.panel-left-align__title {
  font-size: min(5.7vw, 1.4rem);
  line-height: 1.2;
  font-weight: 500;
  color: #EC663E;
}
.panel-left-align__title.text-left {
  text-align: left;
}
.panel-left-align__title a {
  text-decoration: none;
  color: #374043;
}
.panel-left-align__price {
  font-size: clamp(1.1rem, 6.6vw, 1.8rem);
  line-height: 1.2;
  color: #EC663E;
  font-weight: 700;
  text-align: center;
}
.panel-left-align__price [class*=u-font-weight],
.panel-left-align__price .from {
  font-size: 60%;
  font-weight: 500;
  color: #374043;
}
.panel-left-align__price .price {
  font-size: min(4.5vw, 1.6rem);
  line-height: 1.2;
  color: #EC663E;
  font-weight: 700;
}
.panel-left-align__price .per,
.panel-left-align__price .vat {
  font-size: 60%;
  font-weight: 400;
  color: #374043;
}
.panel-left-align__usp-list > li {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.3rem 0;
  text-align: left;
}
.panel-left-align__usp-list > li:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  content: "";
  color: #EC663E;
  flex: 0 0 22px;
}
.panel-left-align__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.panel-left-align__cta.full-width {
  flex-direction: column;
  align-items: stretch;
}
.panel-left-align__cta-link {
  color: #a2a4a6;
  font-size: 0.9rem;
}
.panel-left-align__promo {
  position: absolute;
  width: min(28%, 110px);
  top: 50%;
  left: 100%;
  transform: translate(-100%, -100%);
  z-index: 100;
}
.panel-left-align__footer {
  display: flex;
}
.panel-left-align__footer__split {
  justify-content: space-between;
  align-items: center;
}
.panel-left-align ul.tick {
  margin-left: 0;
}

@media (min-width: 576px) {
  .panel-left-align {
    --padding: 1rem;
    height: 100%;
  }
  .panel-left-align.dynamic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content auto min-content;
    grid-template-areas: "image title" "image content" "image cta";
  }
  .panel-left-align.dynamic .panel-left-align__image {
    grid-area: image;
    margin-bottom: 0;
    width: calc(100% + var(--padding));
    height: calc(100% + calc(var(--padding) * 3));
  }
  .panel-left-align.dynamic .panel-left-align__title {
    grid-area: title;
  }
  .panel-left-align.dynamic .panel-left-align__content {
    grid-area: content;
  }
  .panel-left-align.dynamic .panel-left-align__cta {
    grid-area: cta;
  }
}
@media (min-width: 768px) {
  .panel-left-align {
    --padding: 1.5rem;
  }
}
@media (min-width: 992px) {
  .panel-left-align__title {
    font-size: 1.8rem;
  }
  .panel-left-align.dynamic {
    grid-template-rows: 160px min-content auto min-content;
  }
  .panel-left-align__promo {
    transform: translate(-100%, -260%);
  }
}
@media (min-width: 1200px) {
  .panel-left-align.dynamic {
    grid-template-rows: 200px min-content auto min-content;
  }
  .panel-left-align__promo {
    transform: translate(-100%, -180%);
  }
}
@media (min-width: 1400px) {
  .panel-left-align__cta {
    flex-direction: row;
  }
  .panel-left-align__promo {
    transform: translate(-100%, -140%);
  }
}
.plain-panel {
  background: none;
  box-shadow: none;
  border: none;
  padding: 0;
}
.plain-panel:hover {
  box-shadow: none;
}

@media (min-width: 576px) {
  .plain-panel {
    padding: 0;
  }
}
@media (min-width: 992px) {
  .plain-panel {
    padding: 0;
  }
}
.product-panel,
.product-promo-panel {
  grid-template-rows: min-content min-content auto min-content min-content;
  grid-template-areas: "image" "title" "content" "price" "cta";
}
.product-panel .panel__image,
.product-promo-panel .panel__image {
  grid-area: image;
}
.product-panel .panel__content,
.product-promo-panel .panel__content {
  grid-area: content;
}
.product-panel .panel__price,
.product-promo-panel .panel__price {
  grid-area: price;
}
.product-panel .panel__cta,
.product-promo-panel .panel__cta {
  grid-area: cta;
}

@media (min-width: 576px) {
  .product-panel .panel__image {
    aspect-ratio: 1/1;
  }
  .product-panel.dynamic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content auto min-content;
    grid-template-areas: "image title" "image content" "image cta";
  }
  .product-panel.dynamic .panel__image {
    grid-area: image;
    margin-bottom: 0;
    width: calc(100% + var(--padding));
    height: calc(100% + calc(var(--padding) * 3));
  }
  .product-panel.dynamic .panel__title {
    grid-area: title;
  }
  .product-panel.dynamic .panel__content {
    grid-area: content;
  }
  .product-panel.dynamic .panel__cta {
    grid-area: cta;
  }

  .product-promo-panel.dynamic {
    grid-template-columns: 0.8fr 1.2fr;
    grid-template-rows: min-content auto min-content;
    grid-template-areas: "title content" "image content" "image cta";
  }
  .product-promo-panel.dynamic .panel__title {
    grid-area: title;
  }
  .product-promo-panel.dynamic .panel__image {
    grid-area: image;
    width: 100%;
    height: auto;
  }
  .product-promo-panel.dynamic .panel__content {
    grid-area: content;
  }
  .product-promo-panel.dynamic .panel__cta {
    grid-area: cta;
  }
}
@media (min-width: 768px) {
  .product-promo-panel.dynamic {
    grid-template-columns: 1fr;
    grid-template-rows: min-content min-content auto min-content;
    grid-template-areas: "image" "title" "content" "cta";
  }
  .product-promo-panel.dynamic .panel__image {
    width: 100%;
    height: auto;
  }
}
.info-panel {
  row-gap: 1.5rem;
  grid-template-rows: 200px min-content auto min-content;
}
.info-panel .panel__image {
  left: calc(var(--padding) * (-1));
  top: calc(var(--padding) * (-1));
  margin-bottom: calc(var(--padding) * (-1));
  width: calc(100% + calc(var(--padding) * 2));
  overflow: hidden;
  background-size: cover;
  background-position: center center;
}
.info-panel .panel__title {
  font-weight: 800;
  color: #EC663E;
}
.info-panel .panel__title a {
  color: #EC663E;
}
.info-panel .panel__content > *:last-child {
  margin-bottom: 0;
}
.info-panel .accordion .accordion-button,
.info-panel .accordion .accordion-body {
  padding-inline: 0;
}

@media (min-width: 576px) {
  .info-panel {
    --padding: 2rem;
  }
}
@media (min-width: 768px) {
  .info-panel {
    --padding: 1.5rem;
  }
  .info-panel__image {
    margin-bottom: -1rem;
  }
  .info-panel.dynamic {
    grid-template-columns: 1fr;
    grid-template-rows: 120px min-content auto min-content;
    grid-template-areas: "image" "title" "content" "cta";
  }
  .info-panel.dynamic .panel__image {
    width: calc(100% + var(--padding) * 2);
    height: calc(100% + var(--padding));
  }
}
@media (min-width: 992px) {
  .info-panel {
    --padding: 2rem;
  }
}
.info-panel-left {
  row-gap: 1.5rem;
  grid-template-rows: 200px min-content auto min-content;
}
.info-panel-left .panel-align-left__image {
  left: calc(var(--padding) * (-1));
  top: calc(var(--padding) * (-1));
  margin-bottom: calc(var(--padding) * (-1));
  width: calc(100% + calc(var(--padding) * 2));
  overflow: hidden;
  background-size: cover;
  background-position: center center;
}
.info-panel-left .panel-align-left__title {
  font-weight: 800;
  color: #EC663E;
}
.info-panel-left .panel-align-left__title a {
  color: #EC663E;
}
.info-panel-left .panel-align-left__content > *:last-child {
  margin-bottom: 0;
}
.info-panel-left .accordion .accordion-button,
.info-panel-left .accordion .accordion-body {
  padding-inline: 0;
}

@media (min-width: 576px) {
  .info-panel-left {
    --padding: 2rem;
  }
}
@media (min-width: 768px) {
  .info-panel-left {
    --padding: 1rem;
  }
  .info-panel-left__image {
    margin-bottom: -1rem;
  }
  .info-panel-left.dynamic {
    grid-template-columns: 1fr;
    grid-template-rows: 120px min-content auto min-content;
    grid-template-areas: "image" "title" "content" "cta";
  }
  .info-panel-left.dynamic .panel-left-align__image {
    width: calc(100% + var(--padding) * 2);
    height: calc(100% + var(--padding));
  }
}
@media (min-width: 992px) {
  .info-panel-left {
    --padding: 0rem;
  }
}
.icon-panel {
  grid-template-rows: 48px min-content auto;
}
.icon-panel .panel__image {
  height: 100%;
  aspect-ratio: 1/1;
}
.icon-panel .panel__image img {
  max-height: 100%;
}
.icon-panel .panel__title {
  text-align: left;
}
.icon-panel .panel__body {
  flex: 1;
}
.icon-panel .panel__content, .icon-panel .panel__content p {
  font-size: 1.2rem;
}

@media (min-width: 576px) {
  .icon-panel {
    padding: 2rem;
  }
}
@media (min-width: 768px) {
  .icon-panel .panel__content, .icon-panel .panel__content p {
    font-size: 1rem;
  }
}
@media (min-width: 992px) {
  .icon-panel {
    padding: 1.5rem;
  }
}
.flat-icon-panel {
  --size: 140px;
  border: none;
  box-shadow: none;
  border-radius: 2rem;
  display: grid;
  grid-template-rows: var(--size) min-content auto;
  padding: 2rem 3rem;
  justify-items: center;
  text-align: center;
}
.flat-icon-panel .panel__image {
  border-radius: 50%;
  width: var(--size);
  background-color: #ec673e;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
}
.flat-icon-panel .panel__title {
  font-size: 1.7rem;
  font-weight: 600;
  color: #EC663E;
  text-align: center;
}
.flat-icon-panel .panel__content p:last-of-type {
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .flat-icon-panel {
    padding: 2rem;
  }
}
.install-panel .panel__price {
  font-size: min(7.5vw, 2.5rem);
  line-height: 1.2;
}
.install-panel .panel__price .from {
  font-size: 50%;
  font-weight: 500;
}
.install-panel .panel__price .price {
  font-size: min(7.5vw, 2.5rem);
  color: #374043;
  font-weight: 600;
}
.install-panel .panel__price .per {
  font-size: 50%;
}
.install-panel .panel__cta {
  flex-direction: column;
}

.coloured-cta-panel {
  background-color: #ec673e;
  border-radius: 2rem;
  padding: 3rem 1.55rem 1.55rem 1.75rem;
}
.coloured-cta-panel .content {
  text-align: center;
  color: #FFFFFF;
  padding: 2rem 1.5rem;
}
.coloured-cta-panel .content h3 {
  font-size: 2.4rem;
  line-height: 1.1;
}
.coloured-cta-panel .content p {
  color: #FFFFFF;
  font-size: 16px;
  padding: 2rem 0rem;
}
.coloured-cta-panel .content a {
  background: #FFFFFF;
  color: #EC663E;
  padding: 0.7rem 5rem;
  border: none;
}
.coloured-cta-panel .content a:before {
  color: #EC663E;
}

@media (min-width: 576px) {
  .coloured-cta-panel {
    padding: 4rem 2rem 2rem 2rem;
  }
  .coloured-cta-panel .content {
    padding: 3rem 2rem;
  }
}
@media (min-width: 768px) {
  .coloured-cta-panel {
    padding: 3rem 1rem;
  }
}
@media (min-width: 992px) {
  .coloured-cta-panel {
    padding: 3rem 2rem 2rem 2rem;
  }
}
@media (min-width: 1200px) {
  .coloured-cta-panel {
    padding: 4rem 2rem 2rem 2rem;
  }
}
@media (min-width: 1400px) {
  .coloured-cta-panel {
    padding: 4rem 2rem 2rem 2rem;
  }
  .coloured-cta-panel .content {
    padding: 3.5rem 6rem;
  }
  .coloured-cta-panel a {
    padding: 0.7rem 5rem;
  }
}
.jump-to-nav {
  --fixed-top: 0px;
  position: relative;
  margin: 20px 0 -30px 20px;
  display: block;
  overflow: visible;
}
.jump-to-nav.active .jump-to-nav__content {
  max-height: 1000px;
  opacity: 1;
}
.jump-to-nav.active .jump-to-nav__button {
  background-color: #e14516;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.jump-to-nav__button {
  background-color: #EC663E;
  color: #FFFFFF;
  padding: 1rem 1.5rem;
  font-size: 1.1rem;
  font-weight: 600;
  border: none;
  border-radius: 0.75rem;
  transition: all 0.3s;
}
.jump-to-nav__content {
  max-height: 0;
  min-width: 300px;
  opacity: 0;
  position: absolute;
  background-color: #F5F5F5;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  border-radius: 0 0.75rem 0.75rem 0.75rem;
  overflow: hidden;
  transition: all 0.3s;
  text-align: left;
}
.jump-to-nav__content a {
  color: black;
  padding: 0 1.5rem;
  text-decoration: none;
  display: block;
}
.jump-to-nav__content a:hover {
  background-color: #D6D7D8;
}
.jump-to-nav__content a:last-child span {
  border-bottom: none;
}
.jump-to-nav__content a span {
  display: block;
  padding: 1rem 0;
  border-bottom: 1px solid #a3a8ae;
  line-height: 1.3;
  font-size: 1.1rem;
}
.jump-to-nav__content a.important {
  font-weight: 600;
}
.jump-to-nav.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  z-index: 900;
}
.jump-to-nav.fixed .jump-to-nav__button {
  width: 100%;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.jump-to-nav.fixed .jump-to-nav__content {
  bottom: 100%;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 0;
  box-shadow: 5px -5px 12px 0px rgba(0, 0, 0, 0.2);
}
.jump-to-nav.active .jump-to-nav__button {
  border-radius: 0;
}

@media (min-width: 768px) {
  .jump-to-nav.fixed {
    bottom: initial;
    width: auto;
    top: var(--fixed-top);
    left: 20px;
  }
  .jump-to-nav.fixed .jump-to-nav__button {
    border-radius: 0.75rem;
  }
  .jump-to-nav.active .jump-to-nav__button {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .jump-to-nav.active .jump-to-nav__content {
    bottom: initial;
    border-radius: 0 0.75rem 0.75rem 0.75rem;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  }
}
.adhesive-calculator {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1rem;
}
.adhesive-calculator__title {
  font-size: 1.4rem;
}
.adhesive-calculator__fields {
  display: flex;
  align-items: flex-end;
  gap: 2rem;
}
.adhesive-calculator__message {
  font-size: 0.9rem;
  line-height: 1.3;
}
.adhesive-calculator__total {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 1rem;
}
.adhesive-calculator__total__message {
  font-size: 1.4rem;
}
.adhesive-calculator__total__value {
  color: #EC663E;
}

.approved-installer-banner > .container {
  padding: 0;
}
.approved-installer-banner__badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(27%, -95%) rotate(13deg);
  width: 130px;
  z-index: 100;
}
.approved-installer-banner__badge img {
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.4));
}
.approved-installer-banner__body {
  display: grid;
  background-image: url("/storage/images/hp-banner-approved-installer-background.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2rem 1rem;
  gap: 1.5rem;
}
.approved-installer-banner__content {
  display: grid;
  z-index: 50;
  text-align: center;
}
.approved-installer-banner__foreword, .approved-installer-banner__title, .approved-installer-banner__subtitle, .approved-installer-banner__cta {
  display: block;
  text-decoration: none;
}
.approved-installer-banner__foreword span, .approved-installer-banner__title span, .approved-installer-banner__subtitle span, .approved-installer-banner__cta span {
  line-height: 1.3;
  padding: 0 0.4rem 0 0.25rem;
}
.approved-installer-banner__foreword {
  display: none;
  color: #EC663E;
  font-size: 1.4rem;
  font-weight: 400;
}
.approved-installer-banner__foreword span {
  background-color: #FFFFFF;
}
.approved-installer-banner__title {
  font-size: 1.9rem;
  font-weight: 900;
  color: #FFFFFF;
}
.approved-installer-banner__title span {
  background-color: #EC663E;
}
.approved-installer-banner__title:hover {
  color: #FFFFFF;
}
.approved-installer-banner__subtitle {
  font-size: 1.4rem;
  font-weight: 400;
  color: #EC663E;
}
.approved-installer-banner__subtitle span {
  background-color: #FFFFFF;
}
.approved-installer-banner__cta {
  margin-top: 1rem;
}
.approved-installer-banner__usps-container {
  display: flex;
  align-items: center;
  position: relative;
}
.approved-installer-banner__usps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "prices training ." "credit jobs manager";
  gap: 1rem;
  margin: 0 auto;
}
.approved-installer-banner__usps__title {
  display: none;
}
.approved-installer-banner__usp {
  display: grid;
  grid-template-rows: 28px min-content;
  gap: 0.25rem;
  height: 80px;
  width: 80px;
  padding: 0.5rem;
  background-color: #374043;
  align-content: center;
  text-decoration: none;
  border-radius: 0.6rem;
}
.approved-installer-banner__usp__image {
  margin: 0 auto;
}
.approved-installer-banner__usp__image img {
  height: 100%;
  aspect-ratio: 1/1;
}
.approved-installer-banner__usp__title {
  color: #FFFFFF;
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
}
.approved-installer-banner__usp.prices {
  grid-area: prices;
}
.approved-installer-banner__usp.training {
  grid-area: training;
}
.approved-installer-banner__usp.credit {
  grid-area: credit;
}
.approved-installer-banner__usp.jobs {
  grid-area: jobs;
}
.approved-installer-banner__usp.manager {
  grid-area: manager;
}

@media screen and (min-width: 480px) {
  .approved-installer-banner__badge {
    transform: translate(70%, -163%) rotate(13deg);
    width: 100px;
    max-width: initial;
  }
  .approved-installer-banner__body {
    padding: 2rem;
  }
  .approved-installer-banner__content {
    grid-template-columns: auto 136px;
    grid-template-areas: "title cta" "subtitle .";
    text-align: left;
  }
  .approved-installer-banner__title {
    grid-area: title;
    font-size: 1.6rem;
  }
  .approved-installer-banner__subtitle {
    grid-area: subtitle;
    font-size: 1.4rem;
  }
  .approved-installer-banner__cta {
    grid-area: cta;
    margin: 0;
  }
  .approved-installer-banner__usps {
    gap: 0.75rem;
    max-width: 470px;
    grid-template-areas: "prices training credit jobs manager";
  }
  .approved-installer-banner__usp {
    width: 77px;
  }
}
@media (min-width: 576px) {
  .approved-installer-banner__usp {
    width: 80px;
  }
}
@media (min-width: 768px) {
  .approved-installer-banner__body {
    grid-template-rows: auto;
    grid-template-columns: 1.1fr 0.9fr;
  }
  .approved-installer-banner__badge {
    transform: translate(33%, -123%) rotate(13deg);
    width: 130px;
  }
  .approved-installer-banner__body {
    padding: 0;
    align-items: center;
  }
  .approved-installer-banner__content {
    grid-template-columns: auto;
    grid-template-rows: min-content min-content auto;
    grid-template-areas: "title" "subtitle" "cta";
    padding: 1.5rem 0 1.5rem 1.5rem;
  }
  .approved-installer-banner__title {
    font-size: 2rem;
  }
  .approved-installer-banner__subtitle {
    font-size: 1.8rem;
  }
  .approved-installer-banner__cta {
    margin-top: 1rem;
  }
  .approved-installer-banner__usps-container {
    background-color: #202527;
    clip-path: circle(400px at 400px 50%);
    padding-left: 1rem;
    height: 100%;
  }
  .approved-installer-banner__usps {
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: "prices training ." "credit jobs manager";
  }
}
@media (min-width: 992px) {
  .approved-installer-banner__badge {
    transform: translate(115%, -123%) rotate(13deg);
    width: 130px;
  }
  .approved-installer-banner__body {
    grid-template-columns: 0.8fr 1.2fr;
    background-size: 50%;
    background-position: left center;
  }
  .approved-installer-banner__foreword {
    display: none;
  }
  .approved-installer-banner__usps-container {
    padding: 1rem 1rem 1rem 3rem;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1.5rem;
  }
  .approved-installer-banner__usps {
    grid-template-columns: repeat(5, 1fr);
    grid-template-areas: "prices training credit jobs manager";
    margin: 0;
    max-width: initial;
  }
  .approved-installer-banner__usps__title {
    display: block;
    color: #FFFFFF;
    font-weight: 900;
    font-size: 1.6rem;
    line-height: 1;
    text-wrap: balance;
  }
  .approved-installer-banner__usp {
    grid-template-rows: 35px min-content;
    width: 88px;
    height: 90px;
    padding: 1rem 0.5rem;
  }
  .approved-installer-banner__usp__title {
    font-size: 0.8rem;
  }
}
@media (min-width: 1200px) {
  .approved-installer-banner__usp {
    width: 99px;
  }
  .approved-installer-banner__usp__title {
    font-size: 0.9rem;
  }
}
@media (min-width: 1400px) {
  .approved-installer-banner__body {
    grid-template-columns: 0.9fr 1.1fr;
  }
  .approved-installer-banner__title {
    font-size: 2.7rem;
  }
}
.approved-installers {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.approved-installer {
  font-size: 1.2rem;
  line-height: 1.3;
  padding: 2rem;
  background-color: #F5F5F5;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.approved-installer__company {
  font-weight: 600;
  font-size: 1.4rem;
}
.approved-installer__areas-covered {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.approved-installer__areas-covered__title {
  font-weight: 500;
  color: #EC663E;
}
.approved-installer__areas-covered__areas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.approved-installer__areas-covered__area {
  background-color: #a3a8ae;
  color: #FFFFFF;
  padding: 0.3rem 0.8rem 0.4rem 0.8rem;
  border-radius: 0.7rem;
  font-size: 0.9rem;
}

@media (min-width: 768px) {
  .approved-installers {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .approved-installers {
    grid-template-columns: repeat(3, 1fr);
  }
}
.approved-installer-application-form {
  background-color: #EC663E;
  padding: 3rem 2rem;
  border-radius: 2rem;
}
.approved-installer-application-form__title {
  color: #FFFFFF;
  text-align: center;
  font-size: 2rem;
  margin-bottom: 0;
  line-height: 1.2;
  font-weight: 400;
  margin-bottom: 1rem;
}
.approved-installer-application-form__sub-title {
  color: #FFFFFF;
  text-align: center;
  font-size: 1.1rem;
  margin-bottom: 2rem;
  line-height: 1.3;
}
.approved-installer-application-form__intro {
  color: #FFFFFF;
}
.approved-installer-application-form label {
  color: #FFFFFF;
}
.approved-installer-application-form .text-muted {
  color: #FFFFFF !important;
}
.approved-installer-application-form__section-title {
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
.approved-installer-application-form .valid-feedback,
.approved-installer-application-form .invalid-feedback {
  color: #000000;
}
.approved-installer-application-form .form-check-input.is-invalid ~ .form-check-label, .approved-installer-application-form .form-check-input.is-valid ~ .form-check-label {
  color: #FFFFFF;
}
.approved-installer-application-form__message {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
  padding: 2rem;
  border: 1px solid #FFFFFF;
  border-radius: 0.4rem;
  background-color: #238826;
}
.approved-installer-application-form__message.error {
  background-color: #da1a2b;
}
.approved-installer-application-form__message__title {
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 500;
}
.approved-installer-application-form__message__content * {
  color: #FFFFFF;
}
.approved-installer-application-form__message__content *:last-child {
  margin-bottom: 0;
}
.approved-installer-application-form__success {
  text-align: center;
  padding-inline: 2rem;
}
.approved-installer-application-form__success__title {
  font-size: 1.8rem;
  font-weight: 500;
  color: #FFFFFF;
  margin-bottom: 1rem;
}
.approved-installer-application-form__success__message p {
  font-size: 1.1rem;
  color: #FFFFFF;
  margin-bottom: 0.75rem;
}
.approved-installer-application-form__success__message p:last-child {
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .approved-installer-application-form {
    padding: 3rem;
  }
}
@media (min-width: 992px) {
  .approved-installer-application-form {
    padding: 4rem 3rem;
  }
}
.as-seen-in {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.as-seen-in__item {
  max-width: 70px;
}

@media (min-width: 768px) {
  .as-seen-in {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    row-gap: 0.25rem;
  }
  .as-seen-in__item {
    max-width: 90px;
  }
}
@media (min-width: 992px) {
  .as-seen-in {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    row-gap: 0.5rem;
  }
  .as-seen-in__item {
    max-width: 120px;
  }
}
.calculation-block {
  border: 3px solid #da1a2b;
  padding: 3rem;
}
.calculation-block__sub-title, .calculation-block__calculation, .calculation-block__example {
  text-align: center;
}
.calculation-block__sub-title {
  color: #EC663E;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
.calculation-block__calculation {
  color: #374043;
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
  line-height: 1.3;
}
.calculation-block__example {
  color: #a2a4a6;
  font-size: 1rem;
}

.card {
  background-color: transparent;
  border: none;
  border-radius: 0;
  gap: 1rem;
}
.card__title {
  font-size: 1.7rem;
  line-height: 1.3;
  font-weight: 200;
}
.card__title strong {
  font-weight: 400;
}
.card__body {
  font-size: 1rem;
  line-height: 1.2;
}
.card__cta {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

@media (min-width: 992px) {
  .card {
    gap: 1.5rem;
  }
  .card__title {
    font-size: 1.9rem;
  }
  .card__body {
    font-size: 1.2rem;
    line-height: 1.3;
  }
}
.corner-flash {
  display: none;
  position: fixed;
  z-index: 1000;
  bottom: 0;
  left: 0;
}
.corner-flash__background {
  position: absolute;
  z-index: -1;
  background-color: #D6D7D8;
  width: 240px;
  height: 240px;
  transform: translate(-120px, 48px) rotate(45deg);
}
.corner-flash__link {
  display: block;
  position: relative;
  z-index: 10;
  border-radius: 50%;
  padding: 0 16.8px 8.96px 28px;
  left: -24px;
  bottom: -32px;
  width: 160px;
  height: 160px;
  border: 4.8px solid #FFFFFF;
  box-shadow: 1.6px -1.6px 8px 1.6px rgba(0, 0, 0, 0.3);
  background-size: cover;
  background-position: center center;
  text-decoration: none;
  color: #FFFFFF;
}
.corner-flash__link:hover {
  color: #FFFFFF;
  border-color: #EC663E;
}
.corner-flash__container {
  display: block;
  position: relative;
  left: -24px;
  bottom: -32px;
  width: 160px;
  height: 160px;
}
.corner-flash__content {
  display: flex;
  flex-direction: column;
  gap: 5.6px;
  justify-content: center;
  align-items: center;
  height: 94%;
}
.corner-flash__title {
  font-size: 15.68px;
  font-weight: 600;
}
.corner-flash.diysos .corner-flash__link {
  background-image: url("/storage/images/corner-flash-diysos-lifestyle.jpg");
}
.corner-flash.fast-trade .corner-flash__link {
  background-image: url("/storage/images/corner-flash-fast-trade-lifestyle.jpg");
}
.corner-flash.fast-trade .corner-flash__content {
  gap: 6.8px;
}
.corner-flash.fast-trade .corner-flash__title {
  text-align: center;
  font-size: 20px;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}
.corner-flash.fast-trade .corner-flash__header {
  width: 75%;
}
.corner-flash.fast-trade .corner-flash__header img {
  filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.7));
}
.corner-flash.fast-trade .corner-flash__button .btn {
  padding: 0.2rem 0.75rem;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  color: #EC663E;
}
.corner-flash--approved-installer:hover .corner-flash__background {
  filter: drop-shadow(-4px 4px 7px rgba(0, 0, 0, 0.8));
}
.corner-flash--approved-installer .corner-flash__background {
  background-color: transparent;
  width: 100%;
  height: auto;
  transform: none;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.4));
}
.corner-flash--approved-installer .corner-flash__container {
  text-decoration: none;
}
.corner-flash--approved-installer .corner-flash__content {
  width: 80px;
  margin: 0px auto;
  padding-bottom: 14px;
}
.corner-flash--approved-installer .corner-flash__content img {
  padding: 3px 0px 0px 0px;
}
.corner-flash--approved-installer .corner-flash__title, .corner-flash--approved-installer .corner-flash__sub-title {
  color: #FFFFFF;
  text-transform: uppercase;
}
.corner-flash--approved-installer .corner-flash__title {
  font-size: 22px;
  font-weight: 800;
}
.corner-flash--approved-installer .corner-flash__sub-title {
  font-size: 16px;
  font-weight: 700;
}
.corner-flash--fast-trade:hover .corner-flash__background {
  filter: drop-shadow(-4px 4px 7px rgba(0, 0, 0, 0.8));
}
.corner-flash--fast-trade .corner-flash__background {
  background-color: transparent;
  width: 100%;
  height: auto;
  transform: none;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.4));
}
.corner-flash--fast-trade .corner-flash__container {
  text-decoration: none;
}
.corner-flash--fast-trade .corner-flash__content {
  width: 80px;
  margin: 0px auto;
  padding-bottom: 14px;
}
.corner-flash--fast-trade .corner-flash__content img {
  padding: 3px 0px 0px 0px;
}
.corner-flash--fast-trade .corner-flash__title, .corner-flash--fast-trade .corner-flash__sub-title {
  color: #FFFFFF;
  text-transform: uppercase;
}
.corner-flash--fast-trade .corner-flash__title {
  font-size: 22px;
  font-weight: 800;
}
.corner-flash--fast-trade .corner-flash__sub-title {
  font-size: 16px;
  font-weight: 700;
  font-size: 19px;
  line-height: 1.4rem;
  text-align: center;
}

@media (min-width: 768px) {
  .corner-flash {
    display: block;
  }
}
.cta-card {
  background-color: #f5f5f5;
  height: 100%;
}
.cta-card__content {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cta-card__title {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2;
}
.cta-card__cta {
  color: #EC663E;
  font-size: 1rem;
}

@media (min-width: 768px) {
  .cta-card__content {
    padding: 2rem;
  }
  .cta-card__title {
    font-size: 1.4rem;
  }
  .cta-card__cta {
    font-size: 1.1rem;
  }
}
@media (min-width: 992px) {
  .cta-card__title {
    font-size: 1.6rem;
  }
}
.cta-panel {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
  padding: 2rem 2rem 0;
  overflow: hidden;
}
.cta-panel__content {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  align-items: center;
  padding-top: 2rem;
}
.cta-panel__title {
  font-size: 1.9rem;
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
  align-items: center;
}
.cta-panel__title strong {
  display: block;
  font-weight: 500;
}
.cta-panel__body {
  font-size: 1rem;
  line-height: 1.3;
}
.cta-panel__image-container {
  position: relative;
}

@media (min-width: 768px) {
  .cta-panel {
    flex-direction: row;
    gap: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .cta-panel__content {
    flex: 0 1 40%;
    padding-block: 2rem;
    align-items: flex-start;
  }
  .cta-panel__title {
    text-align: left;
  }
  .cta-panel__image-container {
    align-self: flex-end;
    flex: 0 1 37%;
  }
}
@media (min-width: 992px) {
  .cta-panel {
    gap: 1rem;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .cta-panel__content {
    flex: 0 1 40%;
    padding-block: 0;
    align-items: flex-start;
  }
  .cta-panel__title {
    text-align: left;
  }
  .cta-panel__image-container {
    align-self: flex-end;
    flex: 0 1 37%;
  }
}
.cta-popup {
  position: fixed;
  z-index: 2000;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.3s;
}
.cta-popup.show {
  visibility: visible;
  opacity: 1;
}
.cta-popup__overlay {
  position: absolute;
  inset: 0;
  z-inde: 1;
}
.cta-popup__modal {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0;
  width: min(80%, 300px);
  background-color: #FFFFFF;
  border-radius: 0.5rem;
}
.cta-popup__close {
  position: absolute;
  top: 1rem;
  right: 1.1rem;
}
.cta-popup__close .fa-solid {
  color: #374043;
  font-size: 1.3rem;
  text-decoration: none;
}
.cta-popup__close:hover .fa-solid {
  color: #EC663E;
}
.cta-popup__image {
  width: 50%;
  padding-top: 2rem;
}
.cta-popup__content {
  padding: 1rem 2rem 2rem 2rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.cta-popup__title {
  font-size: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-align: center;
}
.cta-popup__title strong {
  font-weight: 500;
}
.cta-popup__buttons {
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  row-gap: 1rem;
  flex-wrap: wrap;
}
.cta-popup__buttons .btn {
  flex: 2;
}
.cta-popup__buttons .small-button {
  flex: 1;
}

.delivery-countdown {
  display: flex;
  justify-content: center;
  gap: 1.75rem;
}
.delivery-countdown__title {
  font-size: min(3.5vw, 1.2rem);
  line-height: 1.3;
}
.delivery-countdown__title strong {
  display: block;
}
.delivery-countdown__timer {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  width: 61%;
}
.delivery-countdown__time-box {
  width: min(21%, 66px);
  border-radius: 0.5rem;
  background: #FEF2EC;
  position: relative;
}
.delivery-countdown__time-box:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.delivery-countdown__time-box .wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.delivery-countdown__time-box strong {
  color: #EC663E;
  font-size: min(4.7vw, 1.7rem);
  font-weight: 400;
  line-height: 1;
  margin-bottom: 0;
}
.delivery-countdown__time-box span {
  color: #a2a4a6;
  font-size: min(2.5vw, 0.8rem);
}
.delivery-countdown__divider {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  color: #EC663E;
}

@media (min-width: 768px) {
  .delivery-countdown__title {
    font-size: 0.9rem;
  }
  .delivery-countdown__timer {
    width: 40%;
  }
}
@media (min-width: 992px) {
  .delivery-countdown__title {
    font-size: 1.1rem;
  }
  .delivery-countdown__timer {
    width: 61%;
  }
  .delivery-countdown__time-box {
    background-color: #FFFFFF;
  }
  .delivery-countdown__time-box strong {
    font-size: 1.4rem;
  }
  .delivery-countdown__time-box span {
    font-size: 0.8rem;
  }
}
.delivery-panel {
  background: #374043;
  color: #FFFFFF;
  border-radius: 9px;
  padding: 18px 18px 18px 85px;
}
.delivery-panel.free {
  background: #EC663E;
}
.delivery-panel .title {
  position: relative;
  margin-left: -65px;
}
.delivery-panel .icon {
  flex: 0 0 50px;
  margin-right: 15px;
}
.delivery-panel .icon svg {
  stroke: #FFFFFF;
  fill: none;
  width: 100%;
  height: auto;
}
.delivery-panel h3 {
  font-size: 1.7rem;
  line-height: 1.3;
  margin-bottom: 0;
}
.delivery-panel .price {
  vertical-align: bottom;
  font-size: 3.5rem;
  line-height: 1;
  font-weight: 600;
  margin-bottom: 0.75rem;
}
.delivery-panel .price span {
  font-size: 50%;
}
.delivery-panel .detail {
  font-size: 0.9rem;
}

@media (min-width: 576px) {
  .delivery-panel h3 {
    font-size: 1.3rem;
  }
  .delivery-panel .price {
    font-size: 3.5rem;
  }
}
@media (min-width: 768px) {
  .delivery-panel h3 {
    font-size: 1.7rem;
  }
}
@media (min-width: 992px) {
  .delivery-panel {
    padding-left: 73px;
  }
  .delivery-panel .title {
    margin-left: -53px;
  }
  .delivery-panel .icon {
    flex: 0 0 40px;
    margin-right: 12px;
  }
  .delivery-panel h3 {
    font-size: 1.2rem;
  }
}
@media (min-width: 1200px) {
  .delivery-panel h3 {
    font-size: 1.5rem;
  }
}
@media (min-width: 1400px) {
  .delivery-panel {
    padding: 22px 22px 22px 94px;
  }
  .delivery-panel .title {
    margin-left: -71px;
  }
  .delivery-panel .icon {
    flex: 0 0 60px;
  }
  .delivery-panel h3 {
    font-size: 1.7rem;
  }
}
.discreet-notice {
  padding: 1rem 1.5rem;
  font-size: 1rem;
  line-height: 1.4;
  background: #F1F8F4;
  border-radius: 0.3rem;
  text-align: center;
  color: #664d03;
  background-color: #fff3cd;
  border-color: #ffecb5;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}
.discreet-notice__content {
  text-align: left;
}

.fastwarm-family {
  text-align: left;
}
.fastwarm-family__tooltip .tooltip-arrow::before {
  border-top-color: #374043;
}
.fastwarm-family__tooltip .tooltip-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  padding: 1.5rem;
  max-width: 240px;
}
.fastwarm-family__name {
  font-size: 1.3rem;
  font-weight: 500;
}
.fastwarm-family__title {
  font-size: 1.1rem;
  line-height: 1.2;
  color: #EC663E;
}

.feature-comparison {
  --number-of-rows: 6;
  --number-of-columns: 2;
  border-collapse: initial;
  border-spacing: 0.75rem;
  border: none;
  padding-bottom: 3rem;
  width: 100%;
}
.feature-comparison__blank {
  border: none;
}
.feature-comparison td,
.feature-comparison th {
  width: calc(100% / var(--number-of-columns));
}
.feature-comparison__label, .feature-comparison__value {
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.3;
  padding: 0.75rem 1rem;
  height: 100%;
  border: none;
}
.feature-comparison__label--odd, .feature-comparison__value--odd {
  background: #F5F5F5;
}
.feature-comparison__label--primary, .feature-comparison__value--primary {
  font-weight: 600;
  background-color: #D6D7D8;
}
.feature-comparison__label {
  font-weight: 600;
  border-top-left-radius: 0.4rem;
  border-bottom-left-radius: 0.4rem;
}
.feature-comparison__value {
  text-align: center;
}
.feature-comparison__value:last-of-type {
  border-top-right-radius: 0.4rem;
  border-bottom-right-radius: 0.4rem;
}
.feature-comparison__value--price {
  font-size: 1.7rem;
  font-weight: 500;
}
.feature-comparison__value--small {
  font-size: 0.9rem;
  margin-left: 0.3rem;
}
.feature-comparison__image {
  height: 120px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-top-left-radius: 0.4rem;
  border-top-right-radius: 0.4rem;
}
.feature-comparison__title {
  padding: 0;
  position: relative;
  top: -0.8rem;
  background-color: #EC663E;
  font-size: 1.8rem;
  font-weight: 500;
  color: #FFFFFF;
  text-decoration: none;
}
.feature-comparison__title::before, .feature-comparison__title::after {
  content: "";
  position: absolute;
  top: 99.9%;
  width: 50%;
  height: 30px;
}
.feature-comparison__title > div {
  padding: 1.4rem 2rem 0 2rem;
  text-align: center;
}
.feature-comparison__title::after {
  background-image: linear-gradient(to bottom right, #EC663E 50%, transparent 51%);
  left: 49.9%;
}
.feature-comparison__title::before {
  background-image: linear-gradient(to bottom left, #EC663E 50%, transparent 51%);
  left: 0.1%;
}
.feature-comparison__title:hover {
  color: #FFFFFF;
}
.feature-comparison__cta {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  border: none;
  padding: 0;
}
.feature-comparison__cta .btn {
  display: block;
  align-self: stretch;
}
.feature-comparison__cta-link {
  display: flex;
  gap: 0.5rem;
  align-items: flex-end;
  font-size: 1.1rem;
  color: #949899;
  line-height: 1.3;
  text-decoration: none;
}
.feature-comparison__cta-link .fa-brands {
  font-size: 120%;
}
.feature-comparison__cta-link:hover {
  color: #374043;
}
.feature-comparison__document-link:hover .fa-solid {
  color: #EC663E;
}
.feature-comparison__video-link:hover .fa-brands {
  color: #DF001F;
}

@supports (grid-template-rows: subgrid) {
  .feature-comparison {
    --image-height: 60vw;
    --number-of-rows: 6;
    --number-of-columns: 2;
    display: grid;
    grid-template-columns: repeat(var(--number-of-columns), 1fr);
    grid-template-rows: [image] var(--image-height) [title] min-content [content] repeat(var(--number-of-rows), min-content) [cta] min-content [end-content];
    gap: 1rem;
  }
  .feature-comparison__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-template-columns: subgrid;
    grid-row: image/end-content;
    grid-column: 1/3;
  }
  .feature-comparison__item:last-of-type .feature-comparison__value {
    border-top-right-radius: 0.4rem;
    border-bottom-right-radius: 0.4rem;
  }
  .feature-comparison__values {
    display: grid;
    grid-row: content/cta;
    grid-column: 2/3;
    grid-template-rows: subgrid;
  }
  .feature-comparison__labels {
    display: grid;
    grid-template-rows: subgrid;
    grid-template-columns: 1fr;
    grid-row: content/end-content;
    grid-column: 1/2;
  }
  .feature-comparison__label, .feature-comparison__value {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .feature-comparison__label:nth-of-type(2n +1):not(.feature-comparison__label--primary, .feature-comparison__value--primary), .feature-comparison__value:nth-of-type(2n +1):not(.feature-comparison__label--primary, .feature-comparison__value--primary) {
    background: #F5F5F5;
  }
  .feature-comparison__value {
    justify-content: center;
  }
  .feature-comparison__value--price {
    align-items: baseline;
  }
  .feature-comparison__image {
    grid-row: image/title;
    grid-column: 1/3;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .feature-comparison__title {
    grid-row: title/content;
    grid-column: 1/3;
    display: flex;
    align-items: baseline;
    justify-content: center;
    padding: 1.4rem 2rem 0 2rem;
    margin: -1.1rem 0 10px 0;
    top: 0;
  }
  .feature-comparison__cta {
    grid-column: 1/3;
  }
}
@media (min-width: 576px) {
  .feature-comparison {
    --image-height: 360px;
  }
  .feature-comparison__label, .feature-comparison__value:not(.feature-comparison__value--price) {
    padding: 1rem;
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .feature-comparison {
    --image-height: 160px;
  }
  .feature-comparison__label {
    text-align: right;
  }

  @supports (grid-template-rows: subgrid) {
    .feature-comparison__item, .feature-comparison__values, .feature-comparison__image, .feature-comparison__title, .feature-comparison__cta {
      grid-column: initial;
    }
    .feature-comparison__labels:not(:nth-of-type(1)) {
      display: none;
    }
    .feature-comparison__label {
      justify-content: flex-end;
    }
  }
}
@media (min-width: 992px) {
  .feature-comparison__label, .feature-comparison__value:not(.feature-comparison__value--price) {
    font-size: 1.1rem;
    padding: 1rem 2rem;
  }
  .feature-comparison__title {
    font-size: 1.6rem;
  }
}
@media (min-width: 1200px) {
  .feature-comparison {
    --image-height: 190px;
  }
  .feature-comparison__label, .feature-comparison__value:not(.feature-comparison__value--price) {
    font-size: 1.2rem;
    padding: 1.5rem 2rem;
  }
}
@media (min-width: 1400px) {
  .feature-comparison {
    --image-height: 190px;
  }
  .feature-comparison__label, .feature-comparison__value:not(.feature-comparison__value--price) {
    font-size: 1.3rem;
  }
  .feature-comparison__value--price {
    font-size: 2rem;
  }
  .feature-comparison__title {
    font-size: 1.8rem;
  }
}
.form-submission-feedback {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  border-radius: 0.4rem;
  margin-top: 2rem;
}
.form-submission-feedback .bullets {
  margin: 1rem 2rem;
}
.form-submission-feedback .bullets li {
  padding: 0.35rem 0;
  font-size: 1.1rem;
  color: #FFFFFF;
}
.form-submission-feedback__title {
  font-size: 1.7rem;
}
.form-submission-feedback__title, .form-submission-feedback__content, .form-submission-feedback__content p, .form-submission-feedback__content li {
  color: #FFFFFF;
}
.form-submission-feedback.info {
  background: #238826;
}
.form-submission-feedback.error {
  background: #da1a2b;
}

.full-width-image-and-text {
  display: flex;
  flex-direction: column;
}
.full-width-image-and-text::before {
  content: "";
  height: 200px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.full-width-image-and-text__content {
  padding: 3rem;
  display: flex;
}
.full-width-image-and-text.about-quote {
  background-color: #EC663E;
}
.full-width-image-and-text.about-quote::before {
  background-image: url("/storage/images/about-cad.jpg");
}
.full-width-image-and-text.about-quote .card__title {
  color: #FFFFFF;
}
.full-width-image-and-text.about-quote .card__body {
  color: #FFFFFF;
}
.full-width-image-and-text.about-quote .btn-primary {
  border-color: #FFFFFF;
}
.full-width-image-and-text.about-team {
  background-color: #374043;
}
.full-width-image-and-text.about-team::before {
  background-image: url("/storage/images/about-serving-customer.jpg");
  background-position-y: 20%;
}
.full-width-image-and-text.about-team .card__title {
  color: #EC663E;
}
.full-width-image-and-text.about-team .card__body {
  color: #FFFFFF;
}

@media (min-width: 576px) {
  .full-width-image-and-text {
    flex-direction: row;
  }
  .full-width-image-and-text::before {
    height: initial;
  }
  .full-width-image-and-text::before {
    flex: 0 0 50%;
  }
  .full-width-image-and-text__content {
    flex: 0 0 50%;
  }
  .full-width-image-and-text.content-left::before {
    order: 2;
  }
}
@media (min-width: 768px) {
  .full-width-image-and-text.content-left .full-width-image-and-text__content {
    justify-content: flex-end;
  }
  .full-width-image-and-text__body {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .full-width-image-and-text__body {
    max-width: 330px;
  }
}
@media (min-width: 1200px) {
  .full-width-image-and-text__body {
    max-width: 380px;
  }
}
.hero-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.hero-banner:before, .hero-banner:after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background-position: center center;
  background-attachment: scroll;
  background-repeat: no-repeat;
  background-size: cover;
}
.hero-banner:before {
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.5);
}
.hero-banner > .container {
  position: relative;
  z-index: 3;
}
.hero-banner.overlap {
  padding-bottom: 9rem;
}
.hero-banner .content-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-banner .content {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}
.hero-banner .content > * {
  color: #FFFFFF;
}
.hero-banner .content h1 {
  margin: -0.5rem 0 0 0;
  font-size: 2.4rem;
  font-weight: 500;
  text-wrap: balance;
}
.hero-banner .content p:last-of-type {
  margin: 0;
}
.hero-banner .content__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  margin-top: 0.5rem;
}
.hero-banner .content__buttons .btn {
  color: #FFFFFF;
}
.hero-banner .btn-outline-primary {
  background-color: rgba(236, 102, 62, 0.2);
}
.hero-banner .btn-outline-primary:hover, .hero-banner .btn-outline-primary:active, .hero-banner .btn-outline-primary:focus {
  background-color: #ca3e14;
  border-color: #ca3e14;
}
.hero-banner.electric-landing-page:after {
  background-image: url("/storage/images/lp-electric-hero.jpg");
}
.hero-banner.water-landing-page:after {
  background-image: url("/storage/images/lp-water-hero.jpg?v=2");
}
.hero-banner.water-landing-page-for-new-builds:after {
  background-image: url("/storage/images/lp-new-build-hero.jpg");
}
.hero-banner.water-landing-page-for-renovations:after {
  background-image: url("/storage/images/lp-renovations-hero.jpg");
}
.hero-banner.water-landing-page-for-upper-floors:after {
  background-image: url("/storage/images/lp-upper-floors-hero.jpg");
}
.hero-banner.thermostats-landing-page:after {
  background-image: url("/storage/images/lp-thermostats-hero.jpg");
}
.hero-banner.adhesives-landing-page:after {
  background-image: url("/storage/images/lp-adhesives-hero.jpg");
}
.hero-banner.insulation-boards-landing-page:after {
  background-image: url("/storage/images/lp-insulation-hero.jpg?v=3");
}
.hero-banner.fixing-systems-landing-page:after {
  background-image: url("/storage/images/lp-fixing-systems-hero.jpg?v=3");
}
.hero-banner.ashp-landing-page:after {
  background-image: url("/storage/images/lp-heat-pumps-hero.jpg");
}
.hero-banner.wetrooms-landing-page:after {
  background-image: url("/storage/images/lp-wetroom-hero.jpg");
}
.hero-banner.carpet-landing-page:after {
  background-image: url("/storage/images/grey-carpet-close-up.webp");
}
.hero-banner.bathroom-landing-page:after {
  background-image: url("/storage/images/white-and-blue-bathroom.webp");
}
.hero-banner.flooring-landing-page:after {
  background-image: url("/storage/images/chevron-pattern-wooden-flooring-wooden-furniture.webp?v=2");
}
.hero-banner.concrete-landing-page:after {
  background-image: url("/storage/images/polished-concrete-screed-floor-lg.webp");
}
.hero-banner.kitchen-landing-page:after {
  background-image: url("/storage/images/dark-grey-slate-flooring-in-modern-kitchen.webp");
}
.hero-banner.laminate-landing-page:after {
  background-image: url("/storage/images/bare-feet-on-laminate-flooring.webp?v=2");
}
.hero-banner.living-room-landing-page:after {
  background-image: url("/storage/images/beige-sofa-and-rug-on-chevron-wooden-flooring.webp");
}
.hero-banner.tile-and-stone-landing-page:after {
  background-image: url("/storage/images/tile-and-stone-floor-lg.webp?v=2");
}
.hero-banner.vinyl-landing-page:after {
  background-image: url("/storage/images/vinyl-roll-laying-on-vinyl-flooring.webp?v=2");
}
.hero-banner.wood-landing-page:after {
  background-image: url("/storage/images/chevron-pattern-wooden-flooring-wooden-furniture-flipped.webp?v=2");
}
.hero-banner.room-types-seo-page:after {
  background-image: url("/storage/images/chevron-pattern-wooden-flooring-wooden-furniture-flipped.webp?v=2");
}
.hero-banner.air-source-heat-pump-new:after {
  background-image: url("/storage/images/air-source-heatpump-outside-next-to-garden.webp");
}
.hero-banner--left-aligned {
  margin-bottom: 2.5rem;
}
.hero-banner--left-aligned:before, .hero-banner--left-aligned:after {
  background-position: center bottom 20%;
}
.hero-banner--left-aligned:before {
  z-index: 2;
  background-color: rgba(0, 0, 0, 0);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 95%);
}
.hero-banner--left-aligned .content-wrapper {
  justify-content: start;
}
.hero-banner--left-aligned .content {
  padding: 60px 0px;
  align-items: start;
  text-align: start;
}
.hero-banner--left-aligned .content p {
  font-size: 1.1rem;
}
.hero-banner--mb {
  margin-bottom: 2.5rem;
  padding: 4rem 0rem;
}
.hero-banner--mb .content {
  padding: 3rem;
}
.hero-banner--mb .content h1 {
  font-weight: 300;
  font-size: 2.6rem;
}

@media (min-width: 576px) {
  .hero-banner .content {
    padding: 3rem;
  }
  .hero-banner .content h1 {
    font-size: 2.6rem;
  }
  .hero-banner .content p {
    font-size: 1.2rem;
  }
  .hero-banner .text-image-section__cta {
    padding-inline: 0 !important;
  }
  .hero-banner--left-aligned {
    padding: 3rem;
  }
  .hero-banner--left-aligned .content {
    padding-left: 40px;
  }
  .hero-banner--left-aligned .content h1 {
    font-size: 3rem;
  }
  .hero-banner--left-aligned .content p {
    font-size: 1.1rem;
  }
  .hero-banner--mb {
    margin-bottom: 2.5rem;
    padding: 3rem;
  }
  .hero-banner--mb .content {
    padding: 3rem;
  }
}
@media (min-width: 768px) {
  .hero-banner .content {
    background: none;
    flex: 0 0 70%;
    padding: 2rem;
  }
  .hero-banner .content h1 {
    margin: 0;
  }
  .hero-banner .content p {
    line-height: 1.3;
  }
  .hero-banner--left-aligned .content {
    padding-left: 60px;
  }
  .hero-banner--left-aligned:after {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.76) 3%, rgba(0, 0, 0, 0) 95%);
  }
  .hero-banner--mb {
    margin-bottom: 2.5rem;
    padding: 2rem;
  }
  .hero-banner--mb .content {
    padding: 3rem 0rem;
  }
}
@media (min-width: 992px) {
  .hero-banner .content {
    padding: 3rem;
    gap: 1.5rem;
  }
  .hero-banner .content h1 {
    font-size: 3rem;
  }
  .hero-banner .content p {
    font-size: 1.3rem;
    line-height: 1.4;
  }
  .hero-banner--left-aligned .content {
    padding-left: 110px;
  }
  .hero-banner--left-aligned .content h1 {
    font-size: 3.1rem;
  }
  .hero-banner--left-aligned .content p {
    font-size: 1.2rem;
  }
  .hero-banner--left-aligned:after {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.76) 7%, rgba(0, 0, 0, 0) 95%);
  }
  .hero-banner--mb {
    margin-bottom: 2.5rem;
    padding: 2rem;
  }
  .hero-banner--mb .content {
    padding: 3.5rem 0rem;
  }
}
@media (min-width: 1200px) {
  .hero-banner .content {
    flex: 0 0 60%;
  }
  .hero-banner .content h1 {
    font-size: 3.1rem;
  }
  .hero-banner--left-aligned {
    padding: 3.5rem;
  }
  .hero-banner--mb {
    margin-bottom: 2.5rem;
    padding: 4rem;
  }
  .hero-banner--mb .content {
    padding: 4rem 0rem;
  }
}
@media (min-width: 1400px) {
  .hero-banner .content h1 {
    font-size: 3.4rem;
  }
  .hero-banner .content p {
    font-size: 1.4rem;
  }
  .hero-banner--left-aligned .content {
    padding-left: 120px;
  }
  .hero-banner--left-aligned .content h1 {
    font-size: 3.4rem;
  }
  .hero-banner--left-aligned .content p {
    font-size: 1.4rem;
  }
  .hero-banner--mb {
    margin-bottom: 2.5rem;
    padding: 4rem;
  }
  .hero-banner--mb .content {
    padding: 5rem 1rem;
  }
}
.get-a-quote-panel {
  position: relative;
  background-color: #F5F5F5;
  padding: 2rem;
  overflow: hidden;
  border-radius: 0.4rem;
}
.get-a-quote-panel__background-wrapper {
  filter: drop-shadow(8px 6px 7px rgba(30, 30, 0, 0.5));
  position: absolute;
  z-index: 1;
  inset: 0;
}
.get-a-quote-panel__background {
  background-image: url("/storage/images/hp-get-a-quote-panel-background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  clip-path: circle(600px at calc(100% - 589px) -87px);
  width: 100%;
  height: 100%;
}
.get-a-quote-panel__sticker {
  position: absolute;
  z-index: 10;
  border-radius: 50%;
  font-weight: 700;
  line-height: 1.3;
  top: 50%;
  left: 50%;
  aspect-ratio: 1/1;
  color: #FFFFFF;
  padding: 0.9rem;
  text-align: center;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}
.get-a-quote-panel__sticker--4-hour {
  background-color: #EC663E;
  font-size: 1rem;
  transform: translate(90%, -92%) rotate(10deg);
}
.get-a-quote-panel__sticker--take-a-picture {
  background-color: #374043;
  font-size: 1rem;
  transform: translate(50%, 37%) rotate(-10deg);
}
.get-a-quote-panel__hand {
  display: none;
  position: absolute;
  z-index: 2;
  bottom: -15%;
  right: -9%;
}
.get-a-quote-panel__content {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.get-a-quote-panel__title {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.3;
  color: #FFFFFF;
  text-transform: uppercase;
  max-width: 300px;
}
.get-a-quote-panel__title span {
  color: #EC663E;
}
.get-a-quote-panel__body ul {
  margin: 0 0 7px 4px;
}
.get-a-quote-panel__body ul.tick > li {
  color: #FFFFFF;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 0.1rem 0;
}
@media (min-width: 576px) {
  .get-a-quote-panel__hand {
    display: block;
    width: 320px;
  }
  .get-a-quote-panel__sticker--4-hour {
    transform: translate(147%, -137%) rotate(10deg);
  }
  .get-a-quote-panel__sticker--take-a-picture {
    transform: translate(11%, 37%) rotate(-10deg);
  }
}
@media (min-width: 768px) {
  .get-a-quote-panel__hand {
    width: 350px;
    right: 6%;
  }
  .get-a-quote-panel__sticker--4-hour {
    font-size: 1.5rem;
    padding: 1.2rem;
    transform: translate(147%, -79%) rotate(10deg);
  }
  .get-a-quote-panel__sticker--take-a-picture {
    font-size: 1.2rem;
    transform: translate(-41%, 9%) rotate(-10deg);
  }
}
@media (min-width: 992px) {
  .get-a-quote-panel__background {
    clip-path: circle(600px at calc(100% - 589px) -87px);
  }
  .get-a-quote-panel__sticker--4-hour {
    font-size: 0.8rem;
    padding: 0.9rem;
    font-weight: 500;
    transform: translate(175%, -69%) rotate(10deg);
  }
  .get-a-quote-panel__sticker--take-a-picture {
    font-size: 0.8rem;
    font-weight: 500;
    transform: translate(-32%, 12%) rotate(-10deg);
  }
  .get-a-quote-panel__hand {
    width: 230px;
    right: 0;
  }
  .get-a-quote-panel__content {
    gap: 1rem;
  }
  .get-a-quote-panel__title {
    font-size: 1.8rem;
    max-width: initial;
  }
  .get-a-quote-panel__body ul.tick > li {
    font-size: 1rem;
    font-weight: 500;
    padding: 0;
  }
}
@media (min-width: 1200px) {
  .get-a-quote-panel {
    height: 100%;
  }
  .get-a-quote-panel__sticker--4-hour {
    font-size: 1.1rem;
  }
  .get-a-quote-panel__sticker--take-a-picture {
    font-size: 1rem;
  }
  .get-a-quote-panel__hand {
    width: 300px;
    right: -3%;
  }
  .get-a-quote-panel__title {
    font-size: 2.1rem;
  }
  .get-a-quote-panel__body ul.tick > li {
    font-size: 1.1rem;
    font-weight: 600;
    padding: 0.2rem 0;
  }
}
@media (min-width: 1400px) {
  .get-a-quote-panel__sticker--4-hour {
    font-size: 1.4rem;
    padding: 1.5rem;
    font-weight: 600;
    transform: translate(124%, -109%) rotate(10deg);
  }
  .get-a-quote-panel__sticker--take-a-picture {
    font-size: 1.3rem;
    font-weight: 600;
    transform: translate(-32%, 12%) rotate(-10deg);
  }
  .get-a-quote-panel__hand {
    width: 100%;
    right: -47%;
  }
  .get-a-quote-panel__title {
    font-size: 2.6rem;
    max-width: 330px;
    line-height: 1.1;
  }
  .get-a-quote-panel__body ul.tick > li {
    font-size: 1.2rem;
  }
}
.grey-panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  padding-inline: 0.5rem;
}
.grey-panel__image {
  background-color: #F5F5F5;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16/9;
  position: relative;
}
.grey-panel__image img {
  padding: 1.5rem;
  position: absolute;
  max-height: 100%;
}
.grey-panel__title {
  font-size: 2rem;
}
.grey-panel__content {
  font-size: 1rem;
  line-height: 1.4;
  flex: auto;
  max-width: 80%;
}
@media (min-width: 576px) {
  .grey-panel {
    padding-inline: 0;
  }
}
@media (min-width: 1200px) {
  .grey-panel {
    gap: 1.5rem;
  }
}
.icon-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}
.icon-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #EC663E;
}
.icon-card__icon img {
  max-width: 60%;
  max-height: 60%;
}
.icon-card__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.icon-card__title {
  font-weight: 600;
  text-align: center;
}
.icon-card__body {
  text-align: center;
  line-height: 1.3;
}

.icon-headed {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 100%;
}
.icon-headed__icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
}
.icon-headed__icon img {
  max-height: 100%;
}
.icon-headed__title {
  font-size: 1.8rem;
}
.icon-headed__content {
  flex: auto;
}

.icon-bullet-list {
  display: grid;
  gap: 1.5rem;
}
.icon-bullet-list--fixed-height {
  grid-template-rows: repeat(4, min-content);
}
.icon-bullet-list__item {
  display: grid;
  grid-template-columns: 3rem auto;
  gap: 1.5rem;
}

.info-message {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 3rem;
  text-align: center;
  margin-bottom: 3rem;
}
.info-message.positive {
  background-color: #F1F8F4;
}
.info-message.positive .info-message__title .icon {
  color: #238826;
}
.info-message__title {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 300;
}
.info-message__key-message {
  font-size: 1.1rem;
  line-height: 1.5;
}
.info-message__body {
  font-size: 1rem;
  line-height: 1.4;
}

.insulation-calculator {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.insulation-calculator__title {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.3;
}
.insulation-calculator__sub-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
}
.insulation-calculator__sub-title .btn {
  padding: 0.5rem 1.05rem 0.5rem 1.5rem;
  display: inline-flex;
  align-items: baseline;
  gap: 0.55rem;
}
.insulation-calculator__type-selector {
  align-self: flex-start;
}
.insulation-calculator__total__title {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
.insulation-calculator__total__message li {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
.insulation-calculator__total__value {
  color: #EC663E;
}
.insulation-calculator .delete {
  font-size: 1.2rem;
  color: #a2a4a6;
}
.insulation-calculator .delete.disabled {
  color: #D6D7D8;
}
.insulation-calculator .delete:not(.disabled) {
  cursor: pointer;
}
.insulation-calculator .delete:not(.disabled):hover {
  color: #da1a2b;
}

.image-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.image-panel__image {
  position: relative;
}
.image-panel__image img {
  width: 100%;
}
.image-panel__image.filled {
  background-color: #f5f5f5;
}
.image-panel__content {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
  flex: 1;
  background-color: #f5f5f5;
}
.image-panel__content.light {
  background-color: #FFFFFF;
}
.image-panel__sub-title {
  color: #da1a2b;
  font-size: 1rem;
}
.image-panel__title {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: -1px;
}
.image-panel__title small {
  font-size: 75%;
  font-weight: 400;
}
.image-panel__cta {
  flex: 1;
  display: flex;
  align-items: flex-end;
  width: 100%;
}
.image-panel__cta-links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
.image-panel__cta-links .cta {
  gap: 1rem;
  justify-content: space-between;
}
.image-panel__cta-links .cta:hover {
  color: #9b2f0f;
}
.image-panel__cta-links .cta:hover::after {
  color: #EC663E;
}
.image-panel__price {
  font-size: 1.8rem;
  line-height: 1.2;
  color: #EC663E;
  font-weight: 700;
}
.image-panel__price [class*=u-font-weight],
.image-panel__price .from {
  font-size: 60%;
  font-weight: 500;
  color: #374043;
}
.image-panel__price .price {
  line-height: 1.2;
  color: #EC663E;
  font-weight: 700;
}
.image-panel__price .per,
.image-panel__price .vat {
  font-size: 60%;
  font-weight: 400;
  color: #374043;
}
.image-panel .equation {
  font-weight: 600;
  color: #EC663E;
  font-size: 120%;
}
.image-panel .flex {
  flex: 1;
}
.image-panel__flex-bottom {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}
.image-panel__flex-bottom .image-panel__cta {
  flex: initial;
}

@media (min-width: 576px) {
  .image-panel__price {
    font-size: 1.6rem;
  }
}
@media (min-width: 1200px) {
  .image-panel__price {
    font-size: 2rem;
  }
}
.knowledge-hub-shortcuts {
  display: grid;
  gap: 2rem;
}

.knowledge-hub-shortcut {
  position: relative;
  padding: 2rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0.6rem;
  overflow: hidden;
  text-decoration: none;
}
.knowledge-hub-shortcut:hover::before {
  background-color: rgba(0, 0, 0, 0.6);
}
.knowledge-hub-shortcut::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 0;
  transition: background-color 0.4s;
}
.knowledge-hub-shortcut__content {
  position: relative;
  z-index: 10;
  display: grid;
  gap: 1.5rem;
  justify-items: start;
}
.knowledge-hub-shortcut__title {
  Font-size: 1.9rem;
  font-weight: 700;
  color: #FFFFFF;
}
.knowledge-hub-shortcut__body {
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.3;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .knowledge-hub-shortcuts {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }

  .knowledge-hub-shortcut {
    padding: 2rem 3rem;
  }
}
.latest-show {
  height: 100%;
}

.latest-show-panel {
  position: relative;
  background-image: url("/storage/images/latest-show-hbr-1.jpg");
  background-repeat: no-repeat;
  background-position: calc(100% + 9.4rem) center;
  background-size: cover;
  overflow: hidden;
  border-radius: 0.4rem;
  height: 100%;
}
.latest-show-panel__content {
  width: 310px;
  position: relative;
  padding: 2rem;
  z-index: 10;
  height: 100%;
  display: flex;
  align-items: center;
}
.latest-show-panel__content::before {
  position: absolute;
  content: "";
  background-color: #003b80;
  border-radius: 50%;
  width: 200%;
  aspect-ratio: 1/1;
  top: 50%;
  transform: translate(-60%, -50%);
  z-index: 5;
}
.latest-show-panel__body {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
}
.latest-show-panel__sub-title {
  font-size: 1.1rem;
  text-transform: uppercase;
  color: #EC663E;
}
.latest-show-panel__title {
  width: 190px;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
  color: #FFFFFF;
}
.latest-show-panel__data {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.latest-show-panel__data__item {
  display: flex;
  gap: 0.5rem;
  font-size: 1.1rem;
}
.latest-show-panel__data__item__label {
  font-weight: 300;
  color: #FFFFFF;
}
.latest-show-panel__data__item__info {
  font-weight: 500;
  color: #EC663E;
}
.latest-show-panel__sticker {
  position: absolute;
  right: 2rem;
  top: 2rem;
  width: 120px;
  aspect-ratio: 1/1;
  z-index: 20;
}
.latest-show-panel__sticker:hover img {
  filter: brightness(1.2);
}

.latest-show-form {
  position: fixed;
  inset: 0;
  z-index: 2000;
}
.latest-show-form__overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.7);
}
.latest-show-form__modal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20;
  width: 300px;
  background-color: #FFFFFF;
  border-radius: 0.4rem;
  overflow: hidden;
}
.latest-show-form__modal__close {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 20;
  color: #FFFFFF;
}
.latest-show-form__modal__close .fa-solid {
  font-size: 1.8rem;
  transition: transform 0.2s ease-in-out;
}
.latest-show-form__modal__close:hover .fa-solid {
  transform: rotate(180deg);
}
.latest-show-form__modal__header {
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.3) 100%), url("/storage/images/fastwarm-team-at-the-nec.jpg");
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
  background-size: cover, cover;
  padding: 2rem 6rem;
}
.latest-show-form__modal__content {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  padding: 2rem;
}
.latest-show-form__modal__body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-align: center;
}
.latest-show-form__modal__sub-title {
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  color: #EC663E;
}
.latest-show-form__modal__title {
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}
.latest-show-form__modal__intro {
  font-size: 1.1rem;
  line-height: 1.3;
}
.latest-show-form__modal__form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

@media (min-width: 576px) {
  .latest-show-panel__sticker {
    top: initial;
    bottom: 2rem;
  }
}
@media (min-width: 992px) {
  .latest-show {
    height: 100%;
  }

  .latest-show-form__modal__header {
    padding: 4rem 5rem;
  }

  .latest-show-panel__body {
    gap: 0.9rem;
  }
}
@media (min-width: 1200px) {
  .latest-show-panel__body {
    gap: 1.5rem;
  }
}
@media (min-width: 1400px) {
  .latest-show-panel__sub-title {
    font-size: 1.3rem;
  }
  .latest-show-panel__title {
    font-size: 2rem;
  }
}
.levelling-calculator {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1rem;
}
.levelling-calculator__title {
  font-size: 1.4rem;
}
.levelling-calculator__fields {
  display: flex;
  align-items: flex-end;
  gap: 2rem;
}
.levelling-calculator__message {
  font-size: 0.9rem;
  line-height: 1.3;
}
.levelling-calculator__total {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 1rem;
}
.levelling-calculator__total__message {
  font-size: 1.4rem;
}
.levelling-calculator__total__value {
  color: #EC663E;
}

.lifestyle-button {
  text-decoration: none;
  color: #374043;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.lifestyle-button:hover {
  color: #374043;
}
.lifestyle-button:hover .lifestyle-button__content {
  background-color: #c9cacc;
}
.lifestyle-button:hover .lifestyle-button__image {
  background-color: rgba(0, 0, 0, 0.1);
  background-blend-mode: multiply;
}
.lifestyle-button__image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  height: 160px;
}
.lifestyle-button__content {
  padding: 2rem;
  background-color: #D6D7D8;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.lifestyle-button__title {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.lifestyle-button__title-icon {
  flex: 0 0 32px;
}
.lifestyle-button__title-words {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.1;
}
.lifestyle-button__body {
  font-size: 1.1rem;
  line-height: 1.2;
  padding-left: calc(32px + 1.2rem);
}
.lifestyle-button.small .lifestyle-button__title-words {
  font-size: 1.3rem;
}

@media only screen and (min-width: 480px) {
  .lifestyle-button {
    flex-direction: row;
  }
  .lifestyle-button .lifestyle-button__image {
    height: 100%;
    flex: 0 0 40%;
  }
  .lifestyle-button .lifestyle-button__content {
    flex: auto;
  }
  .lifestyle-button.small .lifestyle-button__title-words {
    font-size: 1.4rem;
  }
}
@media (min-width: 576px) {
  .lifestyle-button {
    flex-direction: column;
  }
  .lifestyle-button .lifestyle-button__image {
    flex: 0 0 120px;
  }
  .lifestyle-button .lifestyle-button__content {
    padding: 1.5rem;
  }
  .lifestyle-button .lifestyle-button__title-words {
    font-size: 1.5rem;
  }
  .lifestyle-button.small .lifestyle-button__title-words {
    font-size: 1.3rem;
  }
}
.lifestyle-panel {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right center;
  padding: 15vw 34vw 10vw 6vw;
}
.lifestyle-panel .btn,
.lifestyle-panel [href*=Tawk_API].btn:before {
  background: #FFFFFF;
  color: #EC663E;
}
.lifestyle-panel__content {
  background-color: #EC663E;
  color: #FFFFFF;
  padding: 1.5rem;
}
.lifestyle-panel__content .btn {
  background: #FFFFFF;
  color: #EC663E;
}
.lifestyle-panel__title, .lifestyle-panel__body {
  margin-bottom: 1.5rem;
}
.lifestyle-panel__title {
  font-size: 7vw;
  font-weight: 600;
  line-height: 1;
}
.lifestyle-panel__body {
  font-size: min(3.5vw, 1.1rem);
  line-height: 1.2;
}
.lifestyle-panel__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.lifestyle-panel.small {
  padding: 50% 0 0 0;
  background-size: 100%;
  background-position: top center;
}

@media (min-width: 576px) {
  .lifestyle-panel {
    padding: 20% 40% 10% 6%;
  }
  .lifestyle-panel__title {
    font-size: 2.2rem;
    line-height: 1.1;
  }
  .lifestyle-panel__body {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .lifestyle-panel {
    padding: 18% 40% 7% 5%;
  }
}
@media (min-width: 992px) {
  .lifestyle-panel {
    padding: 14% 38% 6% 4%;
  }
}
.lifestyle-container {
  padding: 3rem 1rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.lifestyle-container .card {
  background-color: rgba(255, 255, 255, 0.6);
  padding: 2rem;
}
.lifestyle-container .card__title {
  color: #374043;
  font-weight: 500;
}
.lifestyle-container .card__body {
  color: #374043;
}

@media (min-width: 576px) {
  .lifestyle-container .card {
    background-color: transparent;
  }
  .lifestyle-container .card__title {
    color: #FFFFFF;
  }
  .lifestyle-container .card__body {
    color: #FFFFFF;
  }
}
.lifestyle-card {
  background-image: url("/storage/images/lifestyle-card-showroom.jpg");
  background-size: cover;
  background-position: center center;
  padding: 2rem;
}
.lifestyle-card__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: rgba(255, 255, 255, 0.85);
  margin: auto;
  padding: 2rem;
  text-align: center;
}
.lifestyle-card__title {
  font-size: 1.6rem;
  line-height: 1.1;
  font-weight: 200;
}
.lifestyle-card__title strong {
  font-weight: 400;
}
.lifestyle-card__body {
  font-size: 1rem;
  margin-bottom: 0.25rem;
  line-height: 1.3;
}
@media (min-width: 576px) {
  .lifestyle-card__content {
    width: min(600px, 75%);
  }
}
@media (min-width: 992px) {
  .lifestyle-card {
    padding: 2rem;
  }
  .lifestyle-card__content {
    gap: 2rem;
    padding: 2rem 4rem;
    width: min(600px, 75%);
  }
  .lifestyle-card__title {
    font-size: 2.2rem;
  }
  .lifestyle-card__body {
    font-size: 1.2rem;
  }
}
.link-panel {
  background-size: cover;
  padding: 2rem;
  height: 100%;
}
.link-panel__icon {
  width: 50px;
  height: 50px;
  margin-bottom: 60px;
}
.link-panel__content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.link-panel__title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: #FFFFFF;
  max-width: 50%;
}
.link-panel.brochure-download {
  background-image: url("/storage/images/link-panel-brochures.jpg");
}
.link-panel.install-videos {
  background-image: url("/storage/images/link-panel-videos.jpg");
}

@media (min-width: 576px) {
  .link-panel__icon {
    width: 40px;
    height: 40px;
    margin-bottom: 50px;
  }
  .link-panel__content {
    gap: 1.5rem;
  }
  .link-panel__title {
    max-width: 78%;
  }
}
@media (min-width: 1200px) {
  .link-panel__title {
    max-width: 220px;
  }
}
.list-card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 3rem;
  background-color: #F5F5F5;
  height: 100%;
}
.list-card__header-icon {
  width: 80px;
  height: 80px;
}
.list-card__header-icon img {
  max-height: 100%;
}
.list-card__title {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 1rem;
  font-weight: 300;
  letter-spacing: -1px;
}
.list-card__list {
  counter-reset: item;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.list-card__list li {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1rem;
}
.list-card__list li:before {
  content: counter(item);
  counter-increment: item;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 40px;
  height: 40px;
  background-color: #EC663E;
  border-radius: 50%;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 1.4rem;
}

table.kit-comparison {
  width: 100%;
}
table.kit-comparison td,
table.kit-comparison th {
  padding: 7px 8px;
}
table.kit-comparison td {
  text-align: center;
}
table.kit-comparison thead th:not(:first-of-type) {
  text-align: center;
}
table.kit-comparison tbody th {
  font-size: 0.9rem;
}
table.kit-comparison .fa-check {
  color: #238826;
}
table.kit-comparison .fa-xmark {
  color: #da1a2b;
}

@media (min-width: 1200px) {
  table.kit-comparison td,
table.kit-comparison th {
    padding: 7px 14px;
  }
}
.knowledge-hub-title h1 {
  font-weight: 400;
  font-size: 1.9rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.knowledge-hub-title h1:before {
  content: url(/storage/images/icon-knowledge-hub-orange.svg);
  flex: 0 0 60px;
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.4));
}

@media (min-width: 576px) {
  .knowledge-hub-title {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .knowledge-hub-title:before {
    content: url(/storage/images/icon-knowledge-hub-orange.svg);
    flex: 0 0 60px;
  }
  .knowledge-hub-title .content-wrapper {
    gap: 0.5rem;
  }
  .knowledge-hub-title h1:before {
    content: none;
  }
}
.knowledge-hub-panel {
  background-image: url("/storage/images/smiling-man.jpg");
  background-position-x: 63%;
}
.knowledge-hub-panel__title img {
  max-width: 110px;
  margin-bottom: 0.5rem;
}
.knowledge-hub-panel__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.knowledge-hub-panel__buttons .btn {
  white-space: nowrap;
}

@media (min-width: 768px) {
  .knowledge-hub-panel__title {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .knowledge-hub-panel__title:before {
    content: url("/storage/images/icon-knowledge-hub.svg");
    flex: 0 0 60px;
  }
}
@media (min-width: 992px) {
  .knowledge-hub-panel__content {
    padding: 2.5rem;
  }
}
.knowledge-hub-links-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  background-image: url("/storage/images/smiling-man.jpg");
  background-position-x: 63%;
  background-size: cover;
  padding: 2rem;
  border-radius: 0.4rem;
}
.knowledge-hub-links-panel__content {
  grid-row: 1/2;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  background: rgba(255, 255, 255, 0.6);
  padding: 2rem;
  border-radius: 0.4rem;
}
.knowledge-hub-links-panel__title {
  font-size: 1.8rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: -0.4rem;
}
.knowledge-hub-links-panel__title:before {
  content: url(/storage/images/icon-knowledge-hub-orange.svg);
  flex: 0 0 40px;
  height: 40px;
}
.knowledge-hub-links-panel__body {
  font-size: 1.2rem;
  line-height: 1.4;
}
.knowledge-hub-links-panel__cta {
  flex: auto;
}
.knowledge-hub-links-panel__faq .accordion-item {
  background: none;
}
.knowledge-hub-links-panel__faq .accordion-body {
  background: rgba(255, 255, 255, 0.5);
}
.knowledge-hub-links-panel__faq .accordion-button {
  background: rgba(255, 255, 255, 0.6);
  line-height: 1.3;
}
.knowledge-hub-links-panel__faq .accordion-button:not(.collapsed) {
  color: #EC663E;
  font-weight: 500;
}
.knowledge-hub-links-panel__links {
  grid-row: 2/3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  align-items: center;
  align-content: space-evenly;
  justify-content: center;
}
.knowledge-hub-links-panel__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  gap: 0.75rem;
  padding: 1rem;
  align-items: center;
  color: #FFFFFF;
  text-decoration: none;
  border-radius: 0.4rem;
  background: #EC663E;
  transition: border-radius 0.2s cubic-bezier(0.19, 1, 0.22, 1);
}
.knowledge-hub-links-panel__link:hover {
  color: #FFFFFF;
  border-radius: 25%;
}
.knowledge-hub-links-panel__link__icon {
  font-size: 1.4rem;
}
.knowledge-hub-links-panel__link__title {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
}

@media (min-width: 480px) {
  .knowledge-hub-links-panel__links {
    gap: 1.5rem;
  }
  .knowledge-hub-links-panel__link {
    padding: 1.3rem 1.6rem;
  }
  .knowledge-hub-links-panel__link__icon {
    font-size: 2rem;
  }
  .knowledge-hub-links-panel__link__title {
    font-size: 1.1rem;
  }
}
@media (min-width: 576px) {
  .knowledge-hub-links-panel__links {
    grid-template-columns: repeat(3, 1fr);
  }
  .knowledge-hub-links-panel__link {
    padding: 1.5rem 2rem;
  }
  .knowledge-hub-links-panel__link__icon {
    font-size: 2.5rem;
  }
  .knowledge-hub-links-panel__link__title {
    font-size: 1.1rem;
  }
}
@media (min-width: 768px) {
  .knowledge-hub-links-panel__links {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }
  .knowledge-hub-links-panel__link {
    aspect-ratio: 1/1;
    height: auto;
  }
  .knowledge-hub-links-panel__link__icon {
    font-size: 2.7rem;
  }
}
@media (min-width: 992px) {
  .knowledge-hub-links-panel {
    grid-template-columns: 0.9fr 1.1fr;
    padding: 3rem;
  }
  .knowledge-hub-links-panel__links {
    grid-row: 1/2;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    align-items: center;
    align-content: space-evenly;
  }
  .knowledge-hub-links-panel__link {
    gap: 1rem;
    padding: 1.5rem 1.5rem;
  }
  .knowledge-hub-links-panel__link__icon {
    font-size: 2.3rem;
  }
  .knowledge-hub-links-panel__link__title {
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1.2;
  }
}
@media (min-width: 1200px) {
  .knowledge-hub-links-panel {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1400px) {
  .knowledge-hub-links-panel {
    padding: 4rem;
  }
  .knowledge-hub-links-panel__content {
    padding: 3rem;
  }
  .knowledge-hub-links-panel__title {
    font-size: 2.5rem;
    margin-bottom: -0.4rem;
  }
  .knowledge-hub-links-panel__links {
    gap: 2rem;
  }
  .knowledge-hub-links-panel__link {
    padding: 1.5rem 2rem;
  }
  .knowledge-hub-links-panel__link__icon {
    font-size: 2.5rem;
  }
  .knowledge-hub-links-panel__link__title {
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 1.2;
  }
}
.navbar-light .navbar-toggler {
  border: none;
  position: relative;
  width: 24px;
  height: 24px;
  padding: 0;
}

.mobile-nav-toggler {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 24px;
  transition: transform 0.3s;
  will-change: transform;
}
.mobile-nav-toggler.open {
  transform: translate(-50%, -50%) scale(1) rotate(0deg);
}
.mobile-nav-toggler.closed {
  transform: translate(-50%, -50%) scale(0) rotate(360deg);
}

.navbar-toggler.collapsed .mobile-nav-toggler.closed {
  transform: translate(-50%, -50%) scale(1) rotate(0deg);
}
.navbar-toggler.collapsed .mobile-nav-toggler.open {
  transform: translate(-50%, -50%) scale(0) rotate(360deg);
}

.primary-nav-container {
  background-color: #FFFFFF;
  padding: 0;
}

@keyframes rotate90Clockwise {
  100% {
    transform: rotate(90deg);
  }
}
@keyframes rotate90AntiClockwise {
  0% {
    transform: rotate(90deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.primary-nav {
  position: relative;
  padding: 1rem;
}
.primary-nav__item {
  padding: 1rem 0;
}
.primary-nav__main-item-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #374043;
  font-size: 1.3rem;
  text-decoration: none;
}
.primary-nav__main-item-link.active {
  color: #374043;
  font-weight: 600;
}
.primary-nav__main-item-link.active .fas {
  animation: rotate90Clockwise 0.5s;
  animation-fill-mode: forwards;
}
.primary-nav__main-item-link:focus, .primary-nav__main-item-link:active {
  color: #EC663E;
}
.primary-nav__main-item-link.inactive .fas {
  animation: rotate90AntiClockwise 0.5s;
  animation-fill-mode: forwards;
}
.primary-nav__main-item-link .fas::before {
  color: #EC663E;
}
.primary-nav__card {
  display: flex;
  flex-direction: column;
  padding: 0 0 0 1rem;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 3rem;
  height: 0;
  transition: height 0.7s, padding 0.1s;
  overflow: hidden;
}
.primary-nav__card.show {
  padding: 2rem 0 1rem 1rem;
  height: auto;
}
.primary-nav__block-title {
  font-size: 1.3rem;
  font-weight: 500;
  margin-bottom: 1rem;
  color: #EC663E;
}
.primary-nav__block-title.knowledge-hub {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.6rem;
  margin-top: -0.3rem;
}
.primary-nav__block-title.knowledge-hub:before {
  content: url(/storage/images/icon-knowledge-hub-orange.svg);
  flex: 0 0 26px;
}
.primary-nav__block-title a {
  text-decoration: none;
}
.primary-nav__block-title a:hover {
  text-decoration: underline;
}
.primary-nav__links-list-item {
  padding: 0.75rem 0;
}
.primary-nav__link {
  text-decoration: none;
  color: #374043;
  font-size: 1.3rem;
}
.primary-nav__section-image {
  display: none;
}

.menu-overlay {
  position: fixed;
  z-index: 1000;
  pointer-events: none;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.1s, visiblity 0.1s;
}
.menu-overlay.show {
  visibility: visible;
  opacity: 1;
}

.mobile-nav {
  width: 100%;
  background-color: #D6D7D8;
  padding: 0.5rem 1rem;
}
.mobile-nav a {
  color: #546164;
  text-decoration: none;
}
.mobile-nav .fas {
  font-size: 1.4rem;
}

.header-icon {
  border-left: 1px solid #FFFFFF;
}

.mobile-nav-extras {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-top: 1px solid #D6D7D8;
  padding: 2rem 0 1.5rem 0;
  margin-top: 1rem;
}
.mobile-nav-extras__items {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.mobile-nav-extras__link {
  color: #374043;
  font-size: 1.2rem;
  text-decoration: none;
}
.mobile-nav-extras__awards-logos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  justify-items: center;
  gap: 1rem;
  margin: auto;
}
.mobile-nav-extras__best-place-to-work {
  width: 190px;
}
.mobile-nav-extras__best-place-to-work img {
  width: 100%;
}
.mobile-nav-extras__top-100 {
  max-width: 140px;
}
.mobile-nav-extras__top-100 img {
  width: 100%;
}
.mobile-nav-extras__contact-details {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}
.mobile-nav-extras__contact-details a {
  font-size: 1.3rem;
  display: flex;
  align-items: center;
}
.mobile-nav-extras__contact-details a:before {
  color: #EC663E !important;
}
.mobile-nav-extras__get-a-quote {
  margin: 0.6rem 0;
  padding: 0 0 1.6rem 0;
  border-bottom: 1px solid #D6D7D8;
  text-align: center;
}
.mobile-nav-extras__get-a-quote .btn {
  font-size: 1.2rem;
  padding: 0.65rem 1.5rem;
}
.mobile-nav-extras__contact-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: start;
  align-items: center;
  padding: 15px 0px;
  border-bottom: 1px solid #D6D7D8;
}
.mobile-nav-extras__contact-nav a {
  font-size: 1.3rem;
  display: flex;
  align-items: center;
}
.mobile-nav-extras__contact-nav a:before {
  color: #EC663E !important;
}

body.mobile-menu-expanded {
  overflow: hidden;
}
body.mobile-menu-expanded #main-header {
  position: fixed;
  height: 100%;
  overflow: hidden;
}
body.mobile-menu-expanded .primary-nav-wrapper {
  height: 100%;
}
body.mobile-menu-expanded .primary-nav {
  overflow-y: scroll;
  height: 100%;
  padding-bottom: 120px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
body.mobile-menu-expanded .primary-nav::-webkit-scrollbar {
  display: none;
}
body.mobile-menu-expanded .navbar {
  position: relative;
  height: 100%;
}

@media (min-width: 768px) {
  .primary-nav-container {
    background-color: #374043;
    padding: 0;
  }
  .primary-nav-container .container {
    padding: 0;
  }

  .primary-nav {
    padding: 0.5rem 0;
  }
  .primary-nav .navbar-nav {
    width: 100%;
    justify-content: space-between;
    align-items: stretch;
    gap: 0.5rem;
  }
  .primary-nav__item {
    padding: 0;
    display: flex;
    align-items: center;
  }
  .primary-nav__main-item-link {
    text-align: center;
    color: #FFFFFF;
    font-size: 0.9rem;
  }
  .primary-nav__main-item-link .fas {
    display: none;
  }
  .primary-nav__card {
    flex-direction: row;
    position: absolute;
    background: #FFFFFF;
    top: 100%;
    left: 0;
    width: 100%;
    justify-content: stretch;
    gap: 2rem;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.1s, visibility 0.1s;
  }
  .primary-nav__card.show {
    visibility: visible;
    opacity: 1;
    padding: 2rem;
  }
  .primary-nav__section {
    flex-basis: auto;
  }
  .primary-nav__block-title {
    font-size: 1.1rem;
  }
  .primary-nav__links-list-item {
    padding: 0.35rem 0;
  }
  .primary-nav__link {
    font-size: 1rem;
  }
  .primary-nav__section-image {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-self: center;
  }
  .primary-nav__image {
    max-width: 250px;
    margin: -1.5rem -1.5rem -1.5rem 0;
  }
  .primary-nav__image img {
    margin: 0 auto;
  }

  .mobile-nav-extras {
    display: none;
  }

  .mobile-nav-extras__contact-nav {
    display: none;
  }
}
@media (min-width: 992px) {
  .primary-nav .navbar-nav {
    gap: 0.5rem;
  }
  .primary-nav .nav-link {
    padding-block: 0.75rem;
  }
  .primary-nav__main-item-link {
    font-size: 1rem;
  }
}
@media (min-width: 1200px) {
  .primary-nav {
    padding-block: 1rem;
  }
  .primary-nav .nav-link {
    font-size: 1rem;
  }
  .primary-nav__card {
    gap: 3rem;
  }
}
@media (min-width: 1400px) {
  .primary-nav .nav-link {
    padding-block: 1rem;
  }
  .primary-nav__main-item-link {
    font-size: 1.1rem;
  }
  .primary-nav__card {
    gap: 0;
    justify-content: space-between;
  }
  .primary-nav__section-image {
    flex: 0 0 auto;
  }
}
.message-panel {
  padding: 1.5rem;
  position: relative;
  background-position: center center;
  background-size: cover;
}
.message-panel__title {
  font-size: 5vw;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}
.message-panel__body {
  margin-bottom: 0.5rem;
  width: 80%;
}
.message-panel__logo {
  width: 120px;
}
.message-panel__stamp {
  position: absolute;
  padding: 0.75rem;
  background-color: #EC663E;
  color: #FFFFFF;
  right: 1rem;
  bottom: 1rem;
  width: 68px;
  height: 68px;
  font-size: 0.6rem;
  text-transform: uppercase;
  line-height: 1.4;
}

@media (min-width: 576px) {
  .message-panel__title {
    font-size: 2rem;
    line-height: 1.1;
  }
  .message-panel__body {
    width: 75%;
  }
}
@media (min-width: 768px) {
  .message-panel {
    padding: 2.4rem;
  }
  .message-panel__title {
    width: 75%;
  }
}
@media (min-width: 992px) {
  .message-panel {
    padding: 2.7rem;
  }
}
@media (min-width: 1200px) {
  .message-panel {
    padding: 3rem;
  }
}
#header-mini-cart .cart-item > div {
  padding: 0.5rem;
}
#header-mini-cart .cart-item:not(.title):nth-child(even) {
  background-color: #F5F5F5;
}
#header-mini-cart .image {
  flex: 0 0 60px;
}
#header-mini-cart .image img {
  border: 1px solid #D6D7D8;
}
#header-mini-cart .product-name {
  flex: 1 1 auto;
}
#header-mini-cart .product-name a {
  text-decoration: none;
  color: #374043;
}
#header-mini-cart .quantity {
  flex: 0 0 30px;
}
#header-mini-cart .price {
  flex: 0 0 80px;
}
#header-mini-cart .cart-item-total {
  font-size: 1.4rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: right;
}

@media (min-width: 768px) {
  #header-mini-cart {
    max-width: 600px;
  }
}
.navbar {
  position: initial;
}

.navbar-toggler:focus {
  box-shadow: none !important;
}

#main-nav {
  position: absolute;
  left: 0;
  right: 0;
  top: 135px;
  z-index: 10000;
  background: #FFFFFF;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.3);
}
#main-nav li {
  font-size: 1.4rem;
}
#main-nav li + li {
  font-size: 1.1rem;
}

#megamenu {
  border: none;
  margin-bottom: 1rem;
  border-radius: 0;
}
#megamenu li {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  line-height: 1.3;
}
#megamenu li > a:not(:only-child) {
  display: block;
  color: #EC663E;
  font-weight: 600;
  padding-top: 1.5rem;
  padding-bottom: 0.5rem;
}
#megamenu a {
  color: #374043;
  text-decoration: none;
  font-size: 1.2rem;
}
#megamenu a:hover {
  text-decoration: underline;
}
#megamenu .category {
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.3 !important;
  display: block;
  position: relative;
}
#megamenu .category.collapsed:after {
  content: "";
}
#megamenu .category:after {
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 600;
  color: #da1a2b;
}
#megamenu .category + ul > li:first-child a:not(:only-child) {
  padding-top: 0;
}
#megamenu .sub-category {
  font-size: 1.4rem;
  color: #EC663E;
}
#megamenu .nav-group {
  padding: 0 1rem 1.25rem 1rem;
  border-bottom: 1px solid #D6D7D8;
}
#megamenu .nav-group:not(:last-of-type) {
  margin-bottom: 1rem;
}
#megamenu .nav-group__level-2, #megamenu .nav-group__level-3 {
  padding: 0;
  margin: 0;
}
#megamenu .nav-group__level-2 {
  padding-top: 0.75rem;
  padding-left: 0.75rem;
}
#navbarDropdown {
  display: none;
}

#megamenu-contact-details .plain {
  font-size: 1.4rem;
}
#megamenu-contact-details .plain:before {
  color: #EC663E;
}

@media (min-width: 768px) {
  #main-nav {
    position: initial;
    left: unset;
    right: unset;
    top: unset;
    bottom: unset;
    z-index: unset;
    background: none;
    padding: 0 !important;
    box-shadow: none;
  }
  #main-nav li {
    font-size: 1.1rem;
  }
  #main-nav li li {
    line-height: 1.1;
  }

  .navbar .has-megamenu {
    position: static !important;
  }

  #megamenu {
    border: none;
    padding: 1.5rem;
    margin-top: 0.8rem;
    left: 0;
    right: 0;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
    transform: translateY(-1px);
  }
  #megamenu li {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  #megamenu a {
    font-size: 0.9rem;
  }
  #megamenu .nav-group {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }
  #megamenu .nav-group:not(:first-of-type) {
    border-left: 1px solid #D6D7D8;
  }
  #megamenu .nav-group > a {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
  }
  #megamenu .nav-group__level-2 {
    padding: 0;
  }
  #megamenu .landing-page-link {
    display: none;
  }
  #megamenu .category {
    margin-bottom: 0.5rem;
  }
  #megamenu .category.collapsed:after {
    content: "";
  }

  #navbarDropdown {
    display: block;
  }
}
@media (min-width: 1200px) {
  #megamenu {
    width: 1200px;
    left: 50%;
    right: auto;
    transform: translate(-50%, 11px);
  }
}
.new-and-exclusive-sticker {
  position: absolute;
  top: 0;
  left: 0;
  width: 47%;
  z-index: 10;
}

@media (min-width: 768px) {
  .product-images .new-and-exclusive-sticker {
    width: 35%;
  }
}
.panel-with-image-header {
  display: grid;
  grid-template-rows: 200px auto;
  gap: 2rem;
  height: 100%;
}
.panel-with-image-header__image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0.4rem 0.4rem 0 0;
}
.panel-with-image-header__title {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.2;
  color: #EC663E;
  z-index: 10;
}
.panel-with-image-header__content {
  display: grid;
  grid-template-rows: min-content auto min-content;
  gap: 1rem;
  padding: 0rem 1rem;
}

@media (min-width: 768px) {
  .panel-with-image-header__title {
    font-size: clamp( 1.5rem, 1.6rem, 1.7rem);
  }
  .panel-with-image-header.text-left .panel-with-image-header__title, .panel-with-image-header.text-left .panel-with-image-header__cta {
    grid-column: 1/2;
  }
  .panel-with-image-header.text-right .panel-with-image-header__image {
    grid-column: 1/2;
  }
  .panel-with-image-header.text-right .panel-with-image-header__title, .panel-with-image-header.text-right .panel-with-image-header__content, .panel-with-image-header.text-right .panel-with-image-header__cta {
    grid-column: 2/3;
  }
}
.ekm-filterby-form {
  margin-bottom: 20px;
}
.ekm-filterby-form .ekm-filterby-option-header {
  padding: 12px 16px;
  background: #f5f5f5;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0;
  border-radius: 4px 4px 0 0;
  line-height: 1.1;
}
.ekm-filterby-form .ekm-filterby-attributes {
  border: 1px solid #F5F5F5;
  max-height: initial;
  border-radius: 0 0 4px 4px;
}
.ekm-filterby-form .ekm-filterby-attributes li {
  padding: 12px 16px;
  border-bottom: 1px solid #F5F5F5;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.ekm-filterby-form .ekm-filterby-attributes input[type=checkbox] {
  margin-right: 6px;
}
.ekm-filterby-form .ekm-filterby-attributes label {
  margin: 0 6px 0 0;
  font-size: 1rem;
}
.ekm-filterby-form .ekm-filter-count {
  font-size: 1rem;
}

.category-panel-container #product-filter-container {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .ekm-filterby-form .ekm-filterby-option-header {
    font-size: 0.9rem;
  }
  .ekm-filterby-form .ekm-filterby-attributes li {
    padding: 12px 16px;
  }
  .ekm-filterby-form .ekm-filterby-attributes label {
    font-size: 0.9rem;
    line-height: 1.3;
  }
}
.product-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.product-grid .grid-item {
  flex: 0 0 calc(50% - 1rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
}
.product-grid .grid-item__image {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  max-height: 150px;
}
.product-grid .grid-item__image img {
  max-height: 100%;
}
.product-grid .grid-item__title {
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
}

@media (min-width: 576px) {
  .product-grid .grid-item {
    flex: 0 0 calc(33% - calc(2rem / 3));
  }
}
@media (min-width: 768px) {
  .product-grid .grid-item {
    flex: 0 0 calc(25% - calc(3rem / 4));
  }
}
@media (min-width: 992px) {
  .product-grid .grid-item {
    flex: 0 0 calc(20% - calc(4rem / 5));
  }
}
.product-usps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.75rem;
}
.product-usps:empty {
  display: none;
}

.product-usp {
  padding: 0;
  line-height: 1;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  color: #374043;
  text-decoration: none;
  font-size: 0.8rem;
  gap: 0.25rem;
}
.product-usp__icon:before {
  color: #EC663E;
}
.product-usp__label {
  white-space: nowrap;
}

#product .product-usps {
  gap: 0.75rem;
}
#product .product-usp {
  font-size: 1rem;
  flex: 0 0 auto;
}

@media (min-width: 768px) {
  #product .product-usps {
    gap: 1.5rem;
  }
}
@media (min-width: 992px) {
  #product .product-usps {
    gap: 0.75rem;
  }
}
.project-enquiry-form {
  background-color: #EC663E;
  padding: 3rem 2rem;
  border-radius: 0.4rem;
}
.project-enquiry-form__heading {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  color: #FFFFFF;
  max-width: 500px;
  margin: 0 auto;
}
.project-enquiry-form__title {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
}
.project-enquiry-form__sub-title {
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.3;
}
.project-enquiry-form__sub-title p {
  color: #FFFFFF;
}
.project-enquiry-form__form-title {
  font-size: 1.7rem;
  color: #FFFFFF;
  margin-bottom: 1.3em;
}
.project-enquiry-form__video__wrapper {
  display: flex;
  justify-content: center;
  padding-top: 3rem;
  padding-bottom: 1rem;
}
.project-enquiry-form__video__player {
  border-radius: 0.4rem;
}
.project-enquiry-form__divider {
  border: 1px solid;
  border-image-slice: 1;
  border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #F5F5F5 50%, rgba(255, 255, 255, 0) 100%);
  border-top: 0;
  border-right: 0;
  border-left: 0;
  margin-block: 3rem;
}
.project-enquiry-form__thank-you {
  display: grid;
  grid-template-rows: 250px min-content;
  align-items: center;
  gap: 1rem;
}
.project-enquiry-form__thank-you__content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-block: 2rem;
}
.project-enquiry-form__thank-you__image {
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 0.4rem;
  box-shadow: -12px 12px 20px 4px rgba(0, 0, 0, 0.4);
}
.project-enquiry-form__thank-you__icon img {
  width: 70px;
}
.project-enquiry-form__thank-you__title {
  color: #FFFFFF;
  font-size: 3rem;
  font-weight: 600;
}
.project-enquiry-form__thank-you__message p {
  color: #FFFFFF;
  font-size: 1.2rem;
}
.project-enquiry-form__thank-you__contact-detail a {
  color: #FFFFFF;
  font-size: 1.3rem;
  text-decoration: none;
}
.project-enquiry-form .form-control,
.project-enquiry-form .form-select {
  padding: 0.6rem 1rem;
}
.project-enquiry-form .form-label {
  color: #FFFFFF;
  font-weight: 600;
}
.project-enquiry-form .form-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: -1.5rem;
}
.project-enquiry-form .form-check .form-label {
  margin: 0;
}
.project-enquiry-form .form-text {
  color: #FFFFFF;
}
.project-enquiry-form .valid-feedback {
  color: #b1fda9;
}
.project-enquiry-form .invalid-feedback {
  color: #590305;
}
.project-enquiry-form .invalid-feedback,
.project-enquiry-form .valid-feedback {
  font-size: 1rem;
  font-weight: 500;
}

@media (min-width: 576px) {
  .project-enquiry-form {
    padding: 4rem;
  }
}
@media (min-width: 768px) {
  .project-enquiry-form {
    padding: 4rem 5rem;
  }
  .project-enquiry-form__thank-you {
    grid-template-rows: 1fr;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 3rem;
  }
}
@media (min-width: 992px) {
  .project-enquiry-form {
    padding: 5rem 7rem;
  }
  .project-enquiry-form__title {
    font-size: 2.6rem;
  }
  .project-enquiry-form__heading {
    max-width: 650px;
  }
  .project-enquiry-form__thank-you {
    gap: 6rem;
    padding: 4rem 0;
  }
}
@media (min-width: 1200px) {
  .project-enquiry-form {
    padding: 6rem 7rem;
  }
}
@media (min-width: 1400px) {
  .project-enquiry-form {
    padding: 6rem 9rem;
  }
  .project-enquiry-form__title {
    font-size: 3rem;
  }
}
.promo-sticker {
  --base-size: 1rem;
  padding: calc(var(--base-size) * 0.4) calc(var(--base-size) * 0.7);
  border: 0.2rem solid #FFFFFF;
  box-shadow: 0.2rem 0.2rem 0.3rem rgba(0, 0, 0, 0.3);
  font-size: calc(var(--base-size) * 0.8);
  background: #086aaa;
  background: radial-gradient(circle, #0a88db 0%, #086aaa 65%);
  border-radius: 0.5rem;
  color: #FFFFFF;
  position: relative;
  z-index: 100;
  overflow: hidden;
  text-shadow: 0.1rem 0.1rem 0.1rem rgba(0, 0, 0, 0.3);
  transform: perspective(800px) rotateY(25deg) rotateX(10deg);
}
.promo-sticker::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border-radius: 100%/50%;
  opacity: 0.2;
  position: absolute;
  top: -50%;
  left: 0;
}
.promo-sticker.absolute {
  position: absolute;
}
.promo-sticker.bottom-right {
  right: 5%;
  bottom: 5%;
}
.promo-sticker.bottom-left {
  left: 5%;
  bottom: 5%;
}
.promo-sticker.top-right {
  right: 5%;
  top: 5%;
}
.promo-sticker.top-left {
  left: 5%;
  top: 5%;
}

@media (min-width: 992px) {
  .promo-sticker {
    --base-size: 1.1rem;
  }
}
@media (min-width: 1400px) {
  .promo-sticker {
    --base-size: 1.2rem;
  }
}
.quote-submission-overlay {
  position: fixed;
  inset: 0px;
  z-index: 100000;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  align-items: center;
  justify-content: center;
}
.quote-submission-overlay.show {
  display: flex;
}
.quote-submission-overlay__container {
  max-width: 90%;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 3rem;
  border-radius: 0.7rem;
  box-shadow: 0 0 2rem rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  gap: 1.3rem;
  overflow: hidden;
}
.quote-submission-overlay__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.quote-submission-overlay__title {
  color: #EC663E;
  font-size: 1.6rem;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2;
}
.quote-submission-overlay__message {
  color: #FFFFFF;
  font-size: 1.3rem;
  line-height: 1.2;
}
.quote-submission-overlay__icon {
  flex: 0 0 60px;
}

.related-products-in-modal {
  display: none;
}
.related-products-in-modal.slick-slider {
  display: block;
}
.related-products-in-modal .panel {
  gap: 0;
  padding: 0.7rem 1.1rem;
  margin-inline: 0.5rem;
}
.related-products-in-modal .panel__top {
  display: flex;
  align-items: center;
}
.related-products-in-modal .panel__image {
  flex: 0 1 80px;
  height: 70px;
  overflow: hidden;
}
.related-products-in-modal .panel__button {
  flex: 1;
  text-align: right;
}
.related-products-in-modal .panel__button .btn {
  padding: 0.45rem 0.9rem;
  font-size: 0.9rem;
  background-color: #238826;
  border-color: #238826;
}
.related-products-in-modal .panel__bottom {
  text-align: center;
}
.related-products-in-modal .panel__title {
  font-size: 1rem;
}

.form-steps {
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 3rem;
}
.form-steps__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.form-steps__step__icon {
  display: flex;
  align-items: Center;
  justify-content: center;
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid #EC663E;
  color: #EC663E;
  font-weight: 600;
}
.form-steps__step__icon::before {
  content: "";
  position: absolute;
  display: none;
  left: -2px;
  top: -2px;
  width: 30px;
  height: 30px;
  background: #EC663E;
  border-radius: 50%;
  border: 2px solid #EC663E;
  z-index: 10;
}
.form-steps__step__icon::after {
  content: "";
  position: absolute;
  display: none;
  left: 10px;
  top: 6px;
  width: 6px;
  height: 12px;
  border: solid #FFFFFF;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  z-index: 20;
}
.form-steps__step.disabled .form-steps__step__icon {
  border-color: #D6D7D8;
  color: #D6D7D8;
}
.form-steps__step.complete .form-steps__step__icon::before, .form-steps__step.complete .form-steps__step__icon::after {
  display: block;
}
.form-steps__divider {
  border-bottom: 1px solid #EC663E;
  width: 70px;
  margin: 0 -30px;
  height: 1rem;
}
.form-steps__divider.disabled {
  border-color: #D6D7D8;
}

.request-a-quote-form-staged__form-wrapper {
  background-color: #EC663E;
  padding: 3rem 2rem;
  border-radius: 1rem;
  overflow: hidden;
}
.request-a-quote-form-staged__form {
  display: flex;
  flex-wrap: nowrap;
  position: relative;
  -moz-column-gap: 6rem;
       column-gap: 6rem;
  transition: transform 0.3s;
  align-items: flex-start;
  transition: height 0.3s;
}
.request-a-quote-form-staged__stage {
  display: grid;
  grid-template-rows: repeat(2, min-content);
}
.request-a-quote-form-staged__buttons {
  display: flex;
  gap: 1rem;
  align-self: end;
}
.request-a-quote-form-staged__buttons .btn {
  flex: 1;
}
.request-a-quote-form-staged__buttons--auto-sized .btn {
  flex: auto;
}
.request-a-quote-form-staged__form-title {
  font-size: 1.7rem;
  color: #FFFFFF;
  margin-bottom: 1.3em;
}
.request-a-quote-form-staged__thank-you {
  display: grid;
  border-radius: 0.75rem;
  padding: 3rem;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.4) 100%), url("/storage/images/dornell-smiling-screens.jpg");
  background-size: cover, cover;
  background-position: center center, 25% center;
  background-repeat: no-repeat, no-repeat;
}
.request-a-quote-form-staged__thank-you__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.request-a-quote-form-staged__thank-you__title {
  color: #EC663E;
  font-size: min(9vw, 3rem);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.request-a-quote-form-staged__thank-you__title [class^=fa] {
  font-size: 140%;
}
.request-a-quote-form-staged__thank-you__message {
  text-align: center;
}
.request-a-quote-form-staged__thank-you__message p {
  color: #FFFFFF;
  font-size: 1.2rem;
}
.request-a-quote-form-staged__thank-you__contact-details {
  display: flex;
  flex-wrap: Wrap;
  gap: 1rem;
  justify-content: center;
}
.request-a-quote-form-staged__thank-you__contact-details .btn {
  white-space: nowrap;
}
.request-a-quote-form-staged__thank-you__contact-details .btn-light {
  color: #EC663E;
  font-weight: 500;
}
.request-a-quote-form-staged .form-control,
.request-a-quote-form-staged .form-select {
  padding: 0.6rem 1rem;
}
.request-a-quote-form-staged .form-label {
  color: #FFFFFF;
  font-weight: 600;
}
.request-a-quote-form-staged .form-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: -1.5rem;
}
.request-a-quote-form-staged .form-check .form-label {
  margin: 0;
}
.request-a-quote-form-staged .form-text {
  color: #FFFFFF;
}
.request-a-quote-form-staged .valid-feedback {
  color: #b1fda9;
}
.request-a-quote-form-staged .invalid-feedback {
  color: #590305;
}
.request-a-quote-form-staged .invalid-feedback,
.request-a-quote-form-staged .valid-feedback {
  font-size: 1rem;
  font-weight: 500;
}

@media (min-width: 576px) {
  .request-a-quote-form-staged__form-wrapper {
    padding: 4rem;
  }
  .request-a-quote-form-staged__buttons--auto-sized .btn {
    flex: 1;
  }
}
@media (min-width: 768px) {
  .request-a-quote-form-staged__form-wrapper {
    padding: 3rem;
  }
  .request-a-quote-form-staged__thank-you {
    align-items: end;
  }
}
@media (min-width: 992px) {
  .request-a-quote-form-staged__form-wrapper {
    padding: 4rem;
  }
  .request-a-quote-form-staged__thank-you {
    justify-content: end;
    background-position: center center, center center;
  }
  .request-a-quote-form-staged__thank-you__content {
    max-width: 460px;
  }
}
@media (min-width: 1200px) {
  .request-a-quote-form-staged__form-wrapper {
    padding: 5rem;
  }
  .request-a-quote-form-staged__thank-you__content {
    max-width: 540px;
  }
}
.ribbon {
  transform: rotate(45deg);
  right: -78px;
  color: #FFFFFF;
  position: absolute;
  top: 20px;
  width: 200px;
  z-index: 20;
}
.ribbon .sale {
  box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.3), -1px 1px 2px rgba(0, 0, 0, 0.2);
}
.ribbon.left {
  transform: rotate(-45deg);
  left: -78px;
  right: initial;
}
.ribbon.left .sale {
  box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.3), 1px 1px 2px rgba(0, 0, 0, 0.2);
}
.ribbon .small,
.ribbon .large,
.ribbon .sale {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
}
.ribbon .small {
  background-color: #EC663E;
  padding: 2px;
  font-size: 0.8rem;
  top: 0;
}
.ribbon .large {
  background-color: #000000;
  padding: 2px 0;
  font-size: 1rem;
  top: 20px;
}
.ribbon .sale {
  background-color: #da1a2b;
  border: 2px solid #FFFFFF;
  padding: min(1.4vw, 0.5rem) 0;
  font-size: min(3.4vw, 1.2rem);
  top: 3px;
}
.ribbon .water {
  background-color: #086aaa;
}
.ribbon .electric {
  background-color: #EC663E;
}

@media (min-width: 1200px) {
  .ribbon .sale {
    padding: 0.75rem 0;
    font-size: 1.3rem;
  }
}
.loader-container {
  position: relative;
}

.running-cost-loader {
  position: absolute;
  height: 100%;
  width: 100%;
}
.running-cost-loader__blur {
  position: absolute;
  width: calc(100% + 2rem);
  height: calc(100% + 2rem);
  top: -1rem;
  left: -1rem;
  z-index: 1;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
.running-cost-loader__loader {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: grid;
  justify-content: center;
  align-items: center;
}
.running-cost-loader .fas {
  font-size: 2rem;
  color: #374043;
}

.sale-tag {
  background-color: #EC663E;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 1rem;
  padding: 0.4rem 1rem;
  border-radius: 0.4rem;
  text-transform: uppercase;
}

.panel .sale-tag {
  font-size: 0.9rem;
  padding: 0.25rem 0.75rem;
  position: absolute;
  z-index: 200;
  top: -0.8rem;
  left: -0.8rem;
}

.product-images .sale-tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}

@media (min-width: 576px) {
  .panel .sale-tag {
    top: -0.5rem;
    left: -0.5rem;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .panel .sale-tag {
    top: -1rem;
    left: -1rem;
    font-size: 0.9rem;
  }
}
@media (min-width: 992px) {
  .panel .sale-tag {
    font-size: 1rem;
  }
}
.sale-timer {
  position: relative;
  top: -63px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.sale-timer__title {
  font-size: 1.2rem;
}
.sale-timer__clock {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.sale-timer__box {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: #FEF2EC;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sale-timer__value {
  color: #EC663E;
  font-size: 1.2rem;
  font-weight: 600;
}
.sale-timer__value-name {
  color: #a2a4a6;
  font-size: 0.5rem;
}
.sale-timer__divider {
  font-size: 1.2rem;
  font-weight: 300;
  color: #EC663E;
}

@media (min-width: 992px) {
  .sale-timer {
    justify-content: flex-start;
    padding-left: 5%;
  }
}
@media (min-width: 1200px) {
  .sale-timer {
    top: -142px;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 2%;
  }
  .sale-timer__title {
    font-size: 1.5rem;
  }
  .sale-timer__box {
    border-radius: 20px;
    width: 85px;
    height: 85px;
  }
  .sale-timer__value {
    font-size: 2.8rem;
    font-weight: 500;
  }
  .sale-timer__value-name {
    font-size: 1rem;
  }
}
@media (min-width: 1400px) {
  .sale-timer {
    top: -150px;
  }
}
.section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.section.light {
  background: #f5f5f5;
}
.section h2 {
  font-size: 3rem;
  margin-bottom: 4rem;
}
.section h3 {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.section__content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  justify-content: center;
}
.section__title {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
}
.section__title strong {
  font-weight: 500;
}
.section__body {
  font-size: 1.2rem;
  line-height: 1.4;
  text-align: center;
}

@media (min-width: 768px) {
  .section__content {
    height: 100%;
  }
  .section__title {
    font-size: 1.9rem;
    text-align: left;
  }
  .section__body {
    font-size: 1rem;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .section__title {
    font-size: 2.5rem;
  }
  .section__body {
    font-size: 1.4rem;
  }
}
.selector-section {
  display: grid;
  gap: 1.5rem;
}
.selector-section__buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.selector-section__button {
  padding: 1rem;
  box-shadow: 0px 6px 6px 0 rgba(0, 0, 0, 0.08), 0px 2px 5px 0 rgba(0, 0, 0, 0.14);
  display: grid;
  grid-template-rows: 12vw auto;
  justify-content: center;
  gap: 1rem;
  height: 100%;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  background-color: #FFFFFF;
  transition: all 0.2s;
}
.selector-section__button.active, .selector-section__button:hover, .selector-section__button:active, .selector-section__button:focus {
  border-color: #cfcfcf;
  background-color: #ededed;
}
.selector-section__button__icon {
  display: flex;
  justify-content: center;
}
.selector-section__button__icon img {
  max-height: 100%;
}
.selector-section__button__title {
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 400;
  text-align: center;
}
.selector-section__content {
  border-radius: 0.75rem;
  box-shadow: 0px 6px 6px 0 rgba(0, 0, 0, 0.08), 0px 2px 5px 0 rgba(0, 0, 0, 0.14);
  overflow: hidden;
}
.selector-section__card {
  z-index: 1;
  background-color: #FFFFFF;
  grid-template-rows: 200px min-content;
  grid-template-areas: "image" "content";
  display: none;
}
.selector-section__card.active {
  z-index: 100;
  display: grid;
}
.selector-section__card__body {
  grid-area: content;
  display: grid;
  gap: 1rem;
  padding: 2rem 3rem;
}
.selector-section__card__image {
  grid-area: image;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.selector-section__card__title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
  color: #EC663E;
}
@media (min-width: 576px) {
  .selector-section__button {
    grid-template-rows: 60px auto;
  }
  .selector-section__button__title {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .selector-section__card {
    grid-template-rows: min-content;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "content image";
  }
}
@media (min-width: 992px) {
  .selector-section__buttons {
    grid-template-columns: repeat(6, 1fr);
  }
  .selector-section__button__title {
    font-size: 1rem;
  }
}
@media (min-width: 1200px) {
  .selector-section__button__title {
    font-size: 1.1rem;
  }
}
.section-heading {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0 auto;
  text-align: center;
}
.section-heading *:last-child {
  margin-bottom: 0;
}
.section-heading__title {
  font-size: 2.2rem;
  font-weight: 500;
  color: #EC663E;
  margin: 0;
  white-space: balance;
}
.section-heading__content, .section-heading__content p {
  font-size: 1.1rem;
  line-height: 1.5;
  white-space: balance;
}
.section-heading a {
  text-decoration: none;
}

@media (min-width: 768px) {
  .section-heading__content, .section-heading__content p {
    font-size: 1.2rem;
  }
}
@media (min-width: 1200px) {
  .section-heading__title {
    font-size: 2.5rem;
  }
  .section-heading__content, .section-heading__content p {
    font-size: 1.3rem;
  }
}
@media (min-width: 1400px) {
  .section-heading__title {
    font-size: 2.8rem;
  }
}
#source-viewer {
  position: fixed;
  top: 10px;
  left: 10px;
  padding: 0.25rem 0.75rem 0.4rem 0.75rem;
  border: 1px solid #374043;
  background-color: #F5F5F5;
  color: #374043;
  font-size: 0.9rem;
  line-height: 1.2;
  z-index: 20000;
  border-radius: 0.4rem;
  opacity: 0.6;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
#source-viewer:hover {
  background-color: #EC663E;
  color: #FFFFFF;
  border-color: #b23712;
  opacity: 1;
}

.star {
  background: red;
  width: min(13vw, 60px);
  height: min(13vw, 60px);
  position: absolute;
  right: 10%;
  top: 18%;
}
.star__content {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  color: #FFFFFF;
  font-size: min(3.6vw, 1.1rem);
  text-align: center;
  line-height: 1.2;
  font-weight: 500;
}
.star:before, .star:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: min(13vw, 60px);
  width: min(13vw, 60px);
  background: red;
}
.star:before {
  transform: rotate(30deg);
  z-index: 1;
}
.star:after {
  transform: rotate(60deg);
  z-index: 2;
}

@media (min-width: 768px) {
  .star {
    width: 50px;
    height: 50px;
  }
  .star__content {
    font-size: 1.1rem;
  }
  .star:before, .star:after {
    height: 50px;
    width: 50px;
  }
}
@media (min-width: 1200px) {
  .star {
    width: 60px;
    height: 60px;
  }
  .star__content {
    font-size: 1.2rem;
  }
  .star:before, .star:after {
    height: 60px;
    width: 60px;
  }
}
.star-ratings {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.star-rating {
  display: flex;
  justify-content: space-between;
}
.star-rating__label {
  font-size: 1rem;
  line-height: 1.2;
}
.star-rating__stars {
  display: flex;
  gap: 0.5rem;
}
.star-rating__stars img {
  height: 12px;
  width: 12px;
}

.stat-block {
  background-color: #238826;
  padding: 5rem 2.4rem;
  border-radius: 0.4rem;
}
.stat-block__stats {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  row-gap: 4rem;
}
.stat-block__stat {
  display: grid;
  grid-template-rows: 80px auto min-content;
  justify-items: center;
  align-items: center;
  gap: 1rem;
  opacity: 0;
  transition: opacity 1s;
}
.stat-block__stat.show {
  opacity: 1;
}
.stat-block__icon {
  display: flex;
  height: 100%;
  aspect-ratio: 1/1;
}
.stat-block__counter {
  color: #FFFFFF;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 4rem;
}
.stat-block__prefix, .stat-block__suffix, .stat-block__label {
  font-weight: 600;
  color: #FFFFFF;
}
.stat-block__suffix {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.stat-block__suffix--small {
  font-size: 1.5rem;
}
.stat-block__value {
  font-weight: 900;
}
.stat-block__label {
  font-size: 1.4rem;
}

@media (min-width: 768px) {
  .stat-block {
    padding: 6rem 3rem;
  }
  .stat-block__stat {
    grid-template-rows: 100px auto min-content;
  }
  .stat-block__counter {
    font-size: 5rem;
  }
}
@media (min-width: 992px) {
  .stat-block__counter {
    font-size: 4.5rem;
  }
}
@media (min-width: 1200px) {
  .stat-block {
    padding: 6rem 5rem;
  }
  .stat-block__stats {
    gap: 5rem;
  }
}
@media (min-width: 1400px) {
  .stat-block {
    padding: 6rem;
  }
  .stat-block__counter {
    font-size: 6rem;
  }
}
.sunday-times-wrapper {
  --height: 0;
  position: relative;
  height: var(--height);
  margin-bottom: 3rem;
}

.sunday-times-strip {
  position: absolute;
  inset: 0;
}
.sunday-times-strip__container {
  display: grid;
  grid-template-rows: repeat(2, min-content);
  grid-template-columns: fit-content(280px) 145px;
  align-items: center;
  justify-items: center;
  justify-content: center;
  row-gap: 2vw;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  padding: 7vw;
  text-decoration: none;
  position: relative;
}
.sunday-times-strip__container::before {
  content: "";
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.2;
}
.sunday-times-strip__title, .sunday-times-strip__body {
  position: relative;
  z-index: 10;
}
.sunday-times-strip__title {
  width: 100%;
  grid-row: 1/2;
  grid-column: 1/3;
  max-width: 415px;
}
.sunday-times-strip__body {
  grid-row: 2/3;
  grid-column: 1/2;
}
.sunday-times-strip__body p {
  font-size: min(4vw, 1.4rem);
  text-align: center;
  margin: 0;
  line-height: 1.3;
  font-weight: 500;
}
.sunday-times-strip__logo {
  position: relative;
  z-index: 10;
  grid-row: 2/3;
  grid-column: 2/3;
  width: 100%;
}

@media (min-width: 576px) {
  .sunday-times-strip__container {
    grid-template-columns: fit-content(400px) 110px;
    justify-content: space-between;
    padding: 2rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    row-gap: 1rem;
  }
  .sunday-times-strip__title {
    grid-column: 1/2;
    align-self: end;
    justify-self: start;
  }
  .sunday-times-strip__body {
    align-self: start;
  }
  .sunday-times-strip__body p {
    text-align: left;
    font-size: 1.3rem;
  }
  .sunday-times-strip__logo {
    grid-row: 1/3;
  }
}
@media (min-width: 992px) {
  .sunday-times-strip__container {
    grid-template-columns: 460px 110px;
  }
  .sunday-times-strip__body p {
    font-size: 1.4rem;
  }
}
@media (min-width: 1200px) {
  .sunday-times-strip__container {
    grid-template-columns: 540px 130px;
  }
}
@media (min-width: 1400px) {
  .sunday-times-strip__container {
    grid-template-columns: 610px 130px;
  }
}
.sunday-times-best-places-to-work-strip {
  z-index: 5;
  background-color: #101a1d;
}
.sunday-times-best-places-to-work-strip__container {
  background-color: #101a1d;
}
.sunday-times-best-places-to-work-strip__container::before {
  background-image: url("/storage/images/sunday-times-best-places-to-work-strip-thumbs-up.jpg");
  opacity: 1;
}
.sunday-times-best-places-to-work-strip__body p {
  color: #FFFFFF;
  font-weight: 300;
}
.sunday-times-best-places-to-work-strip__logo {
  max-width: 320px;
}

@media (min-width: 576px) {
  .sunday-times-best-places-to-work-strip__container {
    grid-template-columns: fit-content(400px) 150px;
  }
}
@media (min-width: 768px) {
  .sunday-times-best-places-to-work-strip__container {
    grid-template-columns: fit-content(400px) 200px;
  }
}
@media (min-width: 992px) {
  .sunday-times-best-places-to-work-strip__container::before {
    background-size: auto;
    background-position: center right;
  }
}
@media (min-width: 1200px) {
  .sunday-times-best-places-to-work-strip__container {
    grid-template-columns: auto 200px;
  }
}
.sunday-times-top-100-strip {
  z-index: 10;
  background-color: #d4d2d3;
}
.sunday-times-top-100-strip__container {
  background-color: #d4d2d3;
  grid-template-columns: fit-content(280px) 90px;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0;
  padding: 7vw 7vw 5vw 7vw;
}
.sunday-times-top-100-strip__container::before {
  background-image: url("/storage/images/sunday-times-top-100-logo-arrows.svg");
}
.sunday-times-top-100-strip__logo {
  max-width: 200px;
}

@media (min-width: 576px) {
  .sunday-times-top-100-strip__container {
    grid-template-columns: fit-content(400px) 90px;
    row-gap: 1rem;
    padding: 2rem;
  }
  .sunday-times-top-100-strip__container::before {
    background-position: center 20%;
  }
}
@media (min-width: 768px) {
  .sunday-times-top-100-strip__container {
    grid-template-columns: fit-content(440px) 100px;
    padding-block: 1.5rem;
  }
}
@media (min-width: 992px) {
  .sunday-times-top-100-strip__container::before {
    background-size: 51%;
    background-position: 91% 16%;
    opacity: 1;
  }
}
.system-panel {
  border-radius: 4px;
  color: #FFFFFF;
  position: relative;
  height: 100%;
}
.system-panel.water {
  background: white;
  background: radial-gradient(circle at 18% 78%, white 0%, #6bc0e6 33%, #1a9dd9 100%);
}
.system-panel.electric {
  background: white;
  background: radial-gradient(circle at 18% 78%, white 0%, #f18f71 33%, #ec663e 100%);
}
.system-panel__title {
  position: relative;
}
.system-panel__title:before {
  content: "";
  background-color: #FFFFFF;
  border-radius: 50%;
  position: absolute;
  left: -50px;
  top: 50%;
  transform: translateY(-50%);
  height: 36px;
  width: 36px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 44%;
}
.system-panel__title.water:before {
  background-image: url(/storage/images/icon-blue-drip.svg);
}
.system-panel__title.electric:before {
  background-image: url("/storage/images/icon-orange-lightning-bolt.svg");
}
.system-panel__content {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
}
.system-panel__title {
  line-height: 1.2;
  font-size: min(5.3vw, 2.3rem);
}
.system-panel__image {
  flex: 0 0 50%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.system-panel__image img {
  bottom: -2rem;
  position: relative;
}
.system-panel__message {
  padding: 2rem 1rem;
  display: flex;
  gap: 3vw;
  flex-direction: column;
  align-items: flex-start;
}
.system-panel__body {
  color: #FFFFFF;
  font-size: min(3.3vw, 1.1rem);
  line-height: 1.4;
}
.system-panel__watermark {
  position: absolute;
  height: 65%;
  right: 8%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
}

@media (min-width: 576px) {
  .system-panel__title {
    font-size: 2rem;
  }
  .system-panel__image {
    flex-basis: 32%;
  }
  .system-panel__message {
    padding: 1rem;
    gap: 1rem;
  }
  .system-panel__body {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .system-panel__image {
    flex-basis: 50%;
  }
  .system-panel__title {
    font-size: 1.5rem;
  }
  .system-panel__body {
    font-size: 1rem;
    line-height: 1.2;
  }
}
@media (min-width: 992px) {
  .system-panel__title {
    font-size: 1.7rem;
  }
  .system-panel__image {
    flex-basis: 34%;
  }
  .system-panel__body {
    font-size: 1.1rem;
    line-height: 1.3;
  }
}
@media (min-width: 1400px) {
  .system-panel__title {
    font-size: 2.1rem;
  }
  .system-panel__message {
    gap: 1.6rem;
  }
  .system-panel__body {
    font-size: 1.2rem;
    line-height: 1.6rem;
  }
}
.testimonial-panel {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 2.5rem;
  border-radius: 2rem;
  position: relative;
  overflow: hidden;
}
.testimonial-panel::after {
  content: "";
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  inset: 0;
  z-index: 2;
}
.testimonial-panel__content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
  z-index: 10;
}
.testimonial-panel__speech-marks img {
  width: 80px;
}
.testimonial-panel__testimonial {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #FFFFFF;
}
.testimonial-panel__testimonial__content {
  font-weight: 600;
  font-size: 1.1rem;
  line-height: 1.4;
}

@media (min-width: 480px) {
  .testimonial-panel__content {
    max-width: 75%;
  }
}
@media (min-width: 576px) {
  .testimonial-panel__testimonial__content {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .testimonial-panel__content {
    width: 60%;
  }
}
@media (min-width: 992px) {
  .testimonial-panel__testimonial__content {
    font-size: 1.4rem;
  }
  .testimonial-panel__testimonial__person {
    font-size: 1.2rem;
  }
}
.text-image {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.text-image__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #f5f5f5;
}
.text-image__content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 3rem 2rem;
}
.text-image__content-wrapper ul {
  margin: 0;
}
.text-image__image {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  flex: auto;
}
.text-image__image:after {
  content: "";
  display: block;
  padding-bottom: 50%;
}
.text-image__title {
  font-size: 1.4rem;
  line-height: 1.3;
}
.text-image__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.text-image.wetroom-tray-benefits .text-image__image {
  background-image: url("/storage/images/lp-wetroom-lifestyle.jpg");
}
.text-image.wetroom-drainage-benefits .text-image__image {
  background-image: url("/storage/images/lp-wetroom-lifestyle-dark.jpg");
}
.text-image.free-design-and-quote .free-design-and-quote__hand {
  position: absolute;
  bottom: 0;
  right: -20%;
  height: 81%;
}
.text-image.free-design-and-quote .text-image__body {
  width: 55%;
}
.text-image.free-design-and-quote .text-image__content {
  order: 2;
  color: #FFFFFF;
  background-color: #EC663E;
}
.text-image.free-design-and-quote .text-image__content-wrapper {
  padding: 2rem;
}
.text-image.free-design-and-quote p {
  color: #FFFFFF;
}
.text-image.videos .text-image__body {
  width: 55%;
}
.text-image.videos .text-image__content {
  color: #FFFFFF;
  background-color: #374043;
}
.text-image.videos .text-image__content-wrapper {
  padding: 2rem;
}
.text-image.videos .text-image__title {
  width: 75%;
}
.text-image.videos .text-image__video-wrapper {
  border-radius: 6%;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
  position: absolute;
}
.text-image.videos .text-image__video-wrapper.video-1 {
  width: 137px;
  bottom: 54%;
  right: -40px;
  z-index: 5;
}
.text-image.videos .text-image__video-wrapper.video-2 {
  width: 146px;
  bottom: 40%;
  right: -24px;
  z-index: 8;
}
.text-image.videos .text-image__video-wrapper.video-3 {
  width: 220px;
  bottom: 8%;
  right: -69px;
  z-index: 10;
}
.text-image.videos p {
  color: #FFFFFF;
}

@media (min-width: 418px) {
  .text-image.free-design-and-quote .free-design-and-quote__hand {
    right: -12%;
    height: 78%;
  }
  .text-image.free-design-and-quote .text-image__body {
    width: 60%;
  }
  .text-image.free-design-and-quote .text-image__buttons {
    width: 55%;
  }
}
@media (min-width: 480px) {
  .text-image.free-design-and-quote .free-design-and-quote__hand {
    right: -8%;
    height: 93%;
    bottom: -13%;
  }
  .text-image.videos .text-image__body {
    width: 65%;
  }
}
@media (min-width: 576px) {
  .text-image.free-design-and-quote .free-design-and-quote__hand {
    right: -10%;
    height: 98%;
    bottom: -24%;
  }
  .text-image.free-design-and-quote .text-image__body {
    width: 76%;
  }
  .text-image.free-design-and-quote .text-image__buttons {
    width: 100%;
  }
  .text-image.videos .text-image__body {
    width: 46%;
  }
  .text-image.videos .text-image__title {
    width: 50%;
  }
  .text-image.videos .text-image__video-wrapper {
    bottom: initial !important;
    right: initial !important;
    left: 50%;
    top: 50%;
  }
  .text-image.videos .text-image__video-wrapper.video-1 {
    width: 170px;
    transform: translate(-7%, -50%);
  }
  .text-image.videos .text-image__video-wrapper.video-2 {
    width: 246px;
    transform: translate(12%, -50%);
  }
  .text-image.videos .text-image__video-wrapper.video-3 {
    width: 325px;
    transform: translate(26%, -50%);
  }
}
@media (min-width: 768px) {
  .text-image {
    flex-direction: row;
  }
  .text-image__content {
    max-width: 63%;
    min-width: 50%;
  }
  .text-image__image:after {
    content: none;
  }

  .text-image.free-design-and-quote .free-design-and-quote__hand {
    right: 0;
    height: 116%;
    bottom: -21%;
  }
  .text-image.free-design-and-quote .text-image__title {
    font-size: 1.6rem;
  }
  .text-image.free-design-and-quote .text-image__content {
    order: 1;
    max-width: 100%;
    width: 100%;
  }
  .text-image.free-design-and-quote .text-image__body {
    width: 75%;
  }
  .text-image.videos .text-image__title {
    font-size: 1.9rem;
  }
  .text-image.videos .text-image__content {
    max-width: 100%;
    width: 100%;
  }
  .text-image.videos .text-image__video-wrapper.video-1 {
    transform: translate(-2%, -50%);
  }
  .text-image.videos .text-image__video-wrapper.video-2 {
    width: 230px;
    transform: translate(28%, -50%);
  }
  .text-image.videos .text-image__video-wrapper.video-3 {
    width: 285px;
    transform: translate(46%, -50%);
  }
}
@media (min-width: 992px) {
  .text-image.free-design-and-quote {
    height: 100%;
  }
  .text-image.free-design-and-quote .free-design-and-quote__hand {
    right: -11%;
    height: 96%;
    bottom: -3%;
  }
  .text-image.free-design-and-quote .text-image__content-wrapper {
    padding: 2rem 5rem 2rem 2rem;
  }
  .text-image.videos .text-image__title {
    font-size: 1.6rem;
    width: 70%;
  }
  .text-image.videos .text-image__body {
    width: 53%;
  }
  .text-image.videos .text-image__video-wrapper.video-1 {
    transform: translate(8%, -50%);
  }
  .text-image.videos .text-image__video-wrapper.video-2 {
    transform: translate(31%, -50%);
  }
  .text-image.videos .text-image__video-wrapper.video-3 {
    transform: translate(47%, -50%);
  }
}
@media (min-width: 1200px) {
  .text-image {
    height: 100%;
  }
  .text-image__content-wrapper {
    padding: 5rem 0;
  }
  .text-image.free-design-and-quote .free-design-and-quote__hand {
    right: -13%;
    height: 113%;
    bottom: -18%;
  }
  .text-image.free-design-and-quote .text-image__title {
    font-size: 2.1rem;
    width: 75%;
  }
  .text-image.videos .text-image__title {
    font-size: 1.9rem;
    width: 58%;
  }
  .text-image.videos .text-image__body {
    width: 49%;
  }
  .text-image.videos .text-image__video-wrapper.video-1 {
    transform: translate(8%, -50%);
  }
  .text-image.videos .text-image__video-wrapper.video-2 {
    transform: translate(31%, -50%);
  }
  .text-image.videos .text-image__video-wrapper.video-3 {
    transform: translate(47%, -50%);
  }
}
@media (min-width: 1400px) {
  .text-image.free-design-and-quote .free-design-and-quote__hand {
    right: -7%;
  }
  .text-image.free-design-and-quote .text-image__title {
    width: 62%;
  }
}
.text-image-section {
  display: grid;
  grid-template-rows: 100px repeat(3, min-content);
  grid-template-columns: 1fr;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  row-gap: 2rem;
  overflow: hidden;
  align-items: center;
  background-color: #FFFFFF;
  padding-bottom: 2rem;
}
.text-image-section__image {
  grid-column: 1/2;
  grid-row: 1/3;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 100%;
  position: relative;
  z-index: 5;
  border-radius: 0.9rem 0.9rem 0 0;
  overflow: hidden;
}
.text-image-section__image::after {
  content: "";
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  z-index: 2;
  inset: 0;
}
.text-image-section__title, .text-image-section__content, .text-image-section__cta {
  grid-column: 1/2;
  padding-inline: 2rem;
}
.text-image-section__title {
  grid-row: 2/3;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  color: #FFFFFF;
  text-wrap: balance;
  position: relative;
  z-index: 10;
  padding: 2rem;
}
.text-image-section__content {
  grid-row: 3/4;
}
.text-image-section__content *:last-child {
  margin-bottom: 0;
}
.text-image-section__content p {
  font-size: 1.2rem;
}
.text-image-section__content a {
  text-decoration: none;
}
.text-image-section__cta {
  grid-row: 4/5;
}

@media (min-width: 480px) {
  .text-image-section__title {
    max-width: 75%;
  }
}
@media (min-width: 576px) {
  .text-image-section__title {
    font-size: 2.5rem;
  }
}
@media (min-width: 992px) {
  .text-image-section {
    padding-bottom: 0;
    grid-template-rows: repeat(3, min-content);
    grid-template-columns: repeat(2, 1fr);
  }
  .text-image-section__image, .text-image-section__title, .text-image-section__content, .text-image-section__cta {
    grid-row: initial;
    grid-column: initial;
    padding: 0;
  }
  .text-image-section__image {
    grid-row: 1/4;
    border-radius: 1rem;
  }
  .text-image-section__image::after {
    content: none;
  }
  .text-image-section__title {
    max-width: initial;
    color: #EC663E;
  }
  .text-image-section__content p,
.text-image-section__content li {
    font-size: 1.2rem;
  }
  .text-image-section.text-left .text-image-section__image {
    grid-column: 2/3;
  }
  .text-image-section.text-left .text-image-section__title, .text-image-section.text-left .text-image-section__content, .text-image-section.text-left .text-image-section__cta {
    grid-column: 1/2;
  }
  .text-image-section.text-right .text-image-section__image {
    grid-column: 1/2;
  }
  .text-image-section.text-right .text-image-section__title, .text-image-section.text-right .text-image-section__content, .text-image-section.text-right .text-image-section__cta {
    grid-column: 2/3;
  }
  .text-image-section__image {
    height: 100%;
    width: 100%;
  }
}
@media (min-width: 1200px) {
  .text-image-section {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
}
@media (min-width: 1400px) {
  .text-image-section {
    -moz-column-gap: 5rem;
         column-gap: 5rem;
  }
  .text-image-section__title {
    font-size: 2.6rem;
  }
}
.trustpilot-strip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: #000033;
  color: #FFFFFF;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.27);
}
.trustpilot-strip__title-container {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex-wrap: wrap;
  padding: 1rem 0 1rem 1.4rem;
  margin-right: -0.5rem;
  align-items: flex-start;
}
.trustpilot-strip__title, .trustpilot-strip__strapline {
  font-weight: 300;
  white-space: nowrap;
}
.trustpilot-strip__title strong, .trustpilot-strip__strapline strong {
  font-weight: 600;
}
.trustpilot-strip__title {
  font-size: min(4.8vw, 1.8rem);
  line-height: 0.5;
}
.trustpilot-strip__strapline {
  font-size: min(3.1vw, 1.2rem);
}
.trustpilot-strip__logo-container {
  display: flex;
  gap: 0.5rem;
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 0.75rem 1rem calc(0.75rem + 40px);
  isolation: isolate;
  overflow: hidden;
}
.trustpilot-strip__logo img, .trustpilot-strip__stars img {
  width: 100%;
}
.trustpilot-strip__logo {
  width: 70%;
  margin-top: -3%;
}
.trustpilot-strip__stars {
  width: 85%;
}
.trustpilot-strip__background-block {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 30px;
  width: 150%;
  height: 102%;
  transform: skew(-30deg);
  background-color: #FFFFFF;
}

@media (min-width: 576px) {
  .trustpilot-strip__title {
    font-size: 1.6rem;
  }
  .trustpilot-strip__strapline {
    font-size: 1.1rem;
  }
}
@media (min-width: 768px) {
  .trustpilot-strip__title-container {
    padding-left: 2rem;
  }
  .trustpilot-strip__title {
    font-size: 2.1rem;
    line-height: 0.8;
    margin-top: -0.25rem;
  }
  .trustpilot-strip__strapline {
    font-size: 1.5rem;
  }
  .trustpilot-strip__logo-container {
    padding: 1.25rem 1.25rem 1.5rem calc(1.25rem + 40px);
  }
}
@media (min-width: 992px) {
  .trustpilot-strip__title-container {
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    gap: 1.7rem;
  }
  .trustpilot-strip__title {
    font-size: 1.7rem;
    line-height: 1;
  }
  .trustpilot-strip__strapline {
    font-size: 1.3rem;
  }
  .trustpilot-strip__logo-container {
    flex-direction: row;
    padding: 1rem 1.5rem 1rem calc(1.5rem + 40px);
    gap: 1rem;
  }
  .trustpilot-strip__logo {
    margin-top: -2%;
  }
}
@media (min-width: 1200px) {
  .trustpilot-strip__title-container {
    gap: 3rem;
  }
  .trustpilot-strip__title {
    font-size: 2.1rem;
  }
  .trustpilot-strip__strapline {
    font-size: 1.5rem;
  }
}
@media (min-width: 1400px) {
  .trustpilot-strip__title-container {
    padding-right: 3rem;
  }
  .trustpilot-strip__title {
    font-size: 2.4rem;
  }
  .trustpilot-strip__strapline {
    font-size: 1.7rem;
  }
  .trustpilot-strip__logo-container {
    flex-direction: row;
  }
}
.trustpilot-promo {
  background-image: url("/storage/images/trustpilot-reviewer.jpg");
  background-repeat: no-repeat;
  background-color: #e9efed;
  background-size: cover;
  background-position-x: -190px;
  padding: 3rem 0;
}
.trustpilot-promo__title {
  font-size: 1.8rem;
  line-height: 1.3;
  color: #EC663E;
  padding-bottom: 6rem;
  text-align: center;
}
.trustpilot-promo__title strong {
  display: block;
}
.trustpilot-promo__review {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background-color: rgba(255, 255, 255, 0.7);
  padding: 2rem;
  margin: 0 2rem;
}
.trustpilot-promo__review-body {
  font-size: 1.1rem;
  font-style: italics;
  line-height: 1.3;
}
.trustpilot-promo .btn-trustpilot {
  background-color: #007f4e;
  border-color: #007f4e;
}
.trustpilot-promo .btn-trustpilot:hover {
  background-color: #00b67a;
}

@media (min-width: 576px) {
  .trustpilot-promo__title {
    padding-bottom: 2rem;
  }
  .trustpilot-promo__review {
    margin: 0 2rem 0 50%;
  }
}
@media (min-width: 768px) {
  .trustpilot-promo {
    background-position: -140px center;
  }
  .trustpilot-promo__title {
    padding-bottom: 3rem;
  }
  .trustpilot-promo__review {
    position: relative;
    background-color: transparent;
    padding: 0;
    margin: 0 0 0 55%;
    max-width: 260px;
    overflow: visible;
  }
  .trustpilot-promo__review::before {
    content: "";
    background-image: url("/storage/images/icon-quotes-white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 120px;
    height: 80px;
    position: absolute;
    top: -10px;
    left: -50px;
    z-index: 1;
  }
  .trustpilot-promo__review-body {
    position: relative;
    z-index: 10;
    line-height: 1.4;
  }
}
@media (min-width: 992px) {
  .trustpilot-promo {
    background-size: 70%;
    background-position: left center;
  }
  .trustpilot-promo__review {
    margin: 0 0 0 51%;
    max-width: 320px;
    gap: 2rem;
  }
  .trustpilot-promo__review-body {
    font-size: 1.1rem;
  }
}
@media (min-width: 1200px) {
  .trustpilot-promo__review-body {
    font-size: 1.2rem;
  }
}
@media (min-width: 1400px) {
  .trustpilot-promo__review-body {
    font-size: 1.2rem;
  }
}
.unsure {
  background-color: #FFFFFF;
  border-radius: 0.4rem;
  border: 1px solid #fad7cc;
  padding: 2rem;
  display: flex;
  gap: 2rem;
  justify-content: between;
  align-items: center;
  flex-direction: column;
}
.unsure__icon {
  display: none;
  align-items: center;
  justify-content: center;
}
.unsure__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.unsure__content {
  text-align: center;
  flex-grow: 1;
}
.unsure p {
  margin-bottom: 0;
}
.unsure__title {
  margin-bottom: 0.75rem;
  font-weight: 500;
  font-size: 1.7rem;
}

@media (min-width: 768px) {
  .unsure {
    flex-direction: row;
  }
  .unsure__icon {
    display: flex;
    flex: 0 0 6rem;
  }
  .unsure__button {
    padding: 0 0 0 2rem;
  }
  .unsure__content {
    text-align: left;
  }
}
@media (min-width: 1200px) {
  .unsure__icon img {
    width: 60px;
  }
  .unsure__button {
    padding: 0 0 0 2rem;
  }
}
.stroke {
  stroke: #EC663E;
}

.no-stroke {
  stroke: none;
}

.fill.white {
  fill: #FFFFFF;
}
.fill.coloured {
  fill: #EC663E;
}

.no-fill {
  fill: none;
}

.usp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.75rem 0;
  height: 100%;
}
.usp__icon {
  text-decoration: none;
  flex: 0 0 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.usp__content {
  text-decoration: none;
  color: #000000;
  line-height: 1.2;
}
.usp__content span {
  display: block;
}
.usp__title {
  font-size: min(2.4vw, 0.8rem);
  font-weight: 500;
}
.usp__strapline {
  font-size: 0.8rem;
  display: none !important;
}

@media (min-width: 576px) {
  .usp {
    gap: 0.5rem;
  }
  .usp__title {
    font-size: 0.9rem;
  }
}
@media (min-width: 768px) {
  .usp__strapline {
    display: block !important;
  }
}
@media (min-width: 992px) {
  .usp {
    flex-direction: row;
    gap: 0.5rem;
    padding: 0.8rem 0;
  }
  .usp__content {
    text-align: left;
  }
  .usp__icon {
    padding-bottom: 0;
  }
  .usp__title {
    font-size: 1rem;
    margin-bottom: 0.25rem;
    line-height: 0.8;
  }
  .usp__strapline {
    font-size: 0.9rem;
  }
}
.video-wrapper {
  display: inline-block;
  padding: 1rem;
  border: 1px solid #D6D7D8;
  border-radius: 0.35rem;
  width: 600px;
  max-width: 100%;
  margin-bottom: 1rem;
}
.video-wrapper__caption {
  text-align: center;
  font-weight: 600;
  background: #D6D7D8;
  margin: 1rem -1rem -1rem -1rem;
  padding: 1rem;
}

.video-inner-wrapper {
  padding-bottom: 56.25%;
  /* 16:9 */
  position: relative;
  height: 0;
}
.video-inner-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.warranty-redirect {
  padding-block: 4rem;
}
.warranty-redirect__title {
  font-size: 2rem;
  color: #EC663E;
  fton-weight: 500;
  margin-bottom: 1rem;
}
.warranty-redirect__content {
  font-size: 1.1rem;
  line-height: 1.3;
}
.warranty-redirect__countdown {
  font-size: 1.3rem;
  font-weight: 600;
}

.product-images .wras-approved-product {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  width: 60px;
}

.category-product-panel .wras-approved-product {
  position: absolute;
  z-index: 100;
  bottom: 1rem;
  right: 0;
  width: 35%;
}

.category-list-item .wras-approved-product {
  width: 15%;
}

@media (min-width: 768px) {
  .product-images .wras-approved-product {
    width: 80px;
  }

  .category-list-item .wras-approved-product {
    width: 30%;
  }
}
@media (min-width: 1400px) {
  .category-list-item .wras-approved-product {
    width: 20%;
  }
}
.raq-form__heading {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.raq-form__title {
  text-align: center;
  font-size: 2rem;
  line-height: 1.3;
}
.raq-form__sub-title {
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.3;
}
.raq-form__security-notice {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.raq-form__security-notice__title {
  font-weight: 600;
  font-size: 1.1rem;
}
.raq-form__security-notice__message {
  font-size: 1rem;
  line-height: 1.3;
  flex: 100%;
  text-align: center;
}
.raq-form__security-notice .icon {
  color: #046039;
}
.raq-form__form-title {
  font-size: 1.4rem;
  margin: 2.5rem 0 1rem 0;
}
.raq-form__thank-you {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  padding: 4rem 0;
}
.raq-form__thank-you__image img {
  width: 70px;
  margin: auto;
}
.raq-form__thank-you__message {
  text-align: center;
}
.raq-form__thank-you__contact-detail a {
  font-size: 1.3rem;
  text-decoration: none;
}
.raq-form .form-control,
.raq-form .form-select {
  padding: 0.6rem 1rem;
}

@media (min-width: 992px) {
  .raq-form__security-notice {
    align-items: center;
    flex-wrap: nowrap;
  }
  .raq-form__security-notice__title {
    white-space: nowrap;
  }
  .raq-form__security-notice__message {
    text-align: left;
    flex: initial;
  }
}
.view-360__link {
  position: absolute;
  bottom: 1rem;
  right: 0;
  z-index: 100;
  color: #374043;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.view-360__link .fa-solid {
  color: #EC663E;
}
.view-360__link:hover .fa-solid {
  color: #FFFFFF;
}
.view-360__link > * {
  line-height: 1.5;
}
.view-360__modal {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.view-360__canvas {
  position: relative;
}
.view-360__close-button {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 2rem;
  color: #374043;
  z-index: 100;
}

.what-do-i-do-next {
  background-image: url("/storage/images/lp-dog.jpg");
  background-size: cover;
  background-position: center center;
}
.what-do-i-do-next .content {
  background: rgba(255, 255, 255, 0.75);
}
.what-do-i-do-next a:before {
  color: #FFFFFF;
}
.what-do-i-do-next__contact-details {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}
.what-do-i-do-next__contact-details__item {
  font-size: 1.6rem;
  font-weight: 400;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  color: #374043;
  text-decoration: none;
}
.what-do-i-do-next__contact-details__item .fa-solid {
  color: #EC663E;
}

.porsche-sprint-strip {
  background-image: url("/storage/images/porsche-sprint-strip-background.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  text-decoration: none;
  color: #374043;
}
.porsche-sprint-strip:hover {
  color: #374043;
}
.porsche-sprint-strip__logos {
  padding: 2rem;
  display: grid;
  gap: 3rem;
  max-width: 600px;
}
.porsche-sprint-strip__logo {
  max-width: 220px;
}
.porsche-sprint-strip__logo img {
  width: 100%;
}
.porsche-sprint-strip__strapline {
  background-color: #F5F5F5;
  text-transform: uppercase;
  font-size: 1.1rem;
  font-weight: 500;
  padding: 1rem 3rem;
  text-align: center;
  letter-spacing: 1px;
  line-height: 1.3;
  justify-self: stretch;
}

@media (min-width: 576px) {
  .porsche-sprint-strip__logos {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .porsche-sprint-strip__logos {
    gap: 11rem;
  }
}
.grid-container {
  display: grid;
  gap: 2.5rem;
  margin: auto;
  align-items: start;
}
.grid-container :not(:has(> .grid-container__item:nth-child(4))) > .grid-container__item:nth-child(3) {
  grid-column: auto;
}

@media (min-width: 768px) {
  .grid-container {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
  .grid-container:not(:has(> .grid-container__item:nth-child(4))) > .grid-container__item:nth-child(3) {
    grid-column: 1/-1;
  }
  .grid-container--4-col {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    margin: auto;
    align-items: top;
  }
}
@media (min-width: 992px) {
  .grid-container:not(:has(> .grid-container__item:nth-child(4))) > .grid-container__item:nth-child(3) {
    grid-column: auto;
  }
  .grid-container--4-col {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}
@media (min-width: 1400px) {
  .grid-container {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}
.lifestyle-cta-panel {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 15%, rgba(0, 0, 0, 0) 95%), var(--bg-image);
  background-size: cover, cover;
  border-radius: 2rem;
  padding: 2rem 0rem;
  position: relative;
  overflow: hidden;
}
.lifestyle-cta-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 2rem;
  z-index: 1;
}
.lifestyle-cta-panel .content {
  position: relative;
  z-index: 2;
  color: #FFFFFF;
  padding: 2rem;
  width: 88%;
}
.lifestyle-cta-panel .content h3 {
  font-size: 2rem;
  line-height: 1.1;
}
.lifestyle-cta-panel .content p {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 400;
}
.lifestyle-cta-panel .content a {
  background: #FFFFFF;
  color: #EC663E;
  padding: 0.7rem 3rem;
  border: none;
}
.lifestyle-cta-panel .content a:before {
  color: #EC663E;
}

@media (min-width: 365px) {
  .lifestyle-cta-panel {
    background-position: center center, -230px center;
  }
}
@media (min-width: 420px) {
  .lifestyle-cta-panel {
    background-position: center center, -105px center;
  }
}
@media (min-width: 500px) {
  .lifestyle-cta-panel {
    background-position: center center, -75px center;
  }
}
@media (min-width: 576px) {
  .lifestyle-cta-panel {
    padding: 2rem 1rem;
    background-position: center center, center center;
  }
  .lifestyle-cta-panel .content {
    width: 65%;
    padding: 1rem;
  }
  .lifestyle-cta-panel .content h3 {
    font-size: 2.1rem;
    line-height: 1.1;
  }
  .lifestyle-cta-panel .content a {
    padding: 0.7rem 5rem;
  }
}
@media (min-width: 768px) {
  .lifestyle-cta-panel {
    padding: 2.5rem;
    background-position: center center, center center;
  }
  .lifestyle-cta-panel .content {
    width: 45%;
    padding: 1rem 0rem;
  }
}
@media (min-width: 992px) {
  .lifestyle-cta-panel {
    padding: 3rem;
  }
  .lifestyle-cta-panel .content {
    width: 42%;
    padding: 2rem 0rem;
  }
  .lifestyle-cta-panel .content h3 {
    font-size: 2.2rem;
    line-height: 1.1;
  }
  .lifestyle-cta-panel .content p {
    padding: 1.2rem 0rem;
  }
}
@media (min-width: 1200px) {
  .lifestyle-cta-panel {
    padding: 3rem;
  }
  .lifestyle-cta-panel .content {
    width: 38%;
    padding: 2rem;
  }
}
@media (min-width: 1400px) {
  .lifestyle-cta-panel {
    padding: 1.6rem 2.5rem;
  }
  .lifestyle-cta-panel .content {
    width: 32%;
  }
}
.sale-strip__content {
  display: grid;
  padding: 1rem 0;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
  align-items: center;
}
.sale-strip__timer-container {
  grid-column: 1/3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.sale-strip__sub-title {
  width: 80%;
}
.sale-strip__timer {
  top: initial;
  flex-direction: row;
  align-items: center;
  padding: 0;
  width: 100%;
}
.sale-strip__timer .sale-timer {
  width: 100%;
}
.sale-strip__timer .sale-timer__title {
  font-size: 1.1rem;
  color: #FFFFFF;
}
.sale-strip__timer .sale-timer__clock {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  flex: auto;
}
.sale-strip__timer .sale-timer__box {
  flex-direction: row;
  gap: 0.25rem;
  width: 100%;
  height: auto;
  padding: 0.5rem 0.5rem;
  border-radius: 0.5rem;
}
.sale-strip__timer .sale-timer__value, .sale-strip__timer .sale-timer__value-name {
  color: #374043;
  font-size: 1rem;
  font-weight: 400;
}

@media (min-width: 576px) {
  .sale-strip__content {
    padding: 1.5rem 3rem;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr auto;
    row-gap: 1rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
  .sale-strip__title {
    grid-column: 1;
    grid-row: 1;
  }
  .sale-strip__offer {
    grid-column: 2;
    grid-row: 1;
  }
  .sale-strip__timer-container {
    grid-column: 1/span 2;
    grid-row: 2;
  }
}
@media (min-width: 768px) {
  .sale-strip__content {
    padding: 1.5em 5rem;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
}
@media (min-width: 992px) {
  .sale-strip__content {
    grid-template-columns: 1fr 1fr 2fr;
    grid-template-rows: initial;
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
  }
  .sale-strip__title, .sale-strip__offer, .sale-strip__timer-container {
    grid-column: initial;
    grid-row: initial;
  }
  .sale-strip__timer .sale-timer__title {
    font-size: 1rem;
  }
  .sale-strip__timer .sale-timer__value, .sale-strip__timer .sale-timer__value-name {
    font-size: 0.9rem;
  }
  .sale-strip__timer .sale-timer__content {
    grid-template-columns: 0.4fr 1.1fr auto;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    padding-inline: 3rem;
  }
}
@media (min-width: 1200px) {
  .sale-strip__content {
    gap: 2rem;
  }
  .sale-strip__timer .sale-timer__value, .sale-strip__timer .sale-timer__value-name {
    font-size: 1rem;
  }
}
.summer-sale-up-to-20 {
  position: relative;
  overflow: hidden;
}
.summer-sale-up-to-20.sale-strip {
  background-color: #EC663E;
}
.summer-sale-up-to-20 .sale-strip__offer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
.summer-sale-up-to-20 .sale-strip__offer__tag {
  transform: rotate(-10deg);
  height: 110px;
}
.summer-sale-up-to-20 .sale-strip__title {
  position: relative;
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5));
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.summer-sale-up-to-20 .sale-strip__title div {
  width: 100%;
}
.summer-sale-up-to-20 .sale-strip__content {
  grid-template-columns: 0.7fr 1.5fr;
  -moz-column-gap: 7vw;
       column-gap: 7vw;
  row-gap: 1rem;
  padding: 1rem 0;
  position: relative;
  z-index: 10;
  text-decoration: none;
}
.summer-sale-up-to-20 .sale-strip__timer-container {
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5));
}
.summer-sale-up-to-20 .sale-strip__timer {
  top: 0;
}
.summer-sale-up-to-20 .sale-strip__timer .sale-timer__title {
  display: none;
  color: #ffffff;
}
.summer-sale-up-to-20 .sale-strip__timer .sale-timer__value {
  color: #d00000;
}
.summer-sale-up-to-20 .sale-strip__timer .sale-timer__value-name {
  color: #333;
}
.summer-sale-up-to-20 .background-shape-orange,
.summer-sale-up-to-20 .background-shape-white {
  filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, 0.3));
  transform-origin: top left;
  position: absolute;
}
.summer-sale-up-to-20 .background-shape-orange {
  height: 140%;
  width: 20%;
  left: 0;
  top: -20%;
  transform: rotate(14deg);
  background-color: #EC663E;
  display: none;
}
.summer-sale-up-to-20 .background-shape-white {
  height: 140%;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-13.8%, -50%) rotate(6deg);
  background-color: #FFFFFF;
  z-index: 1;
}

@media (min-width: 576px) {
  .summer-sale-up-to-20 .sale-strip__content {
    grid-template-columns: 0.6fr 1.5fr;
    padding: 1.5rem 0;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .summer-sale-up-to-20 .sale-strip__timer .sale-timer__title {
    display: block;
  }
  .summer-sale-up-to-20 .background-shape-white {
    height: 200%;
    width: 800px;
    transform: translate(-85px, -50%) rotate(6deg);
  }
}
@media (min-width: 768px) {
  .summer-sale-up-to-20 .sale-strip__content {
    grid-template-columns: 0.75fr 1.5fr;
    row-gap: 2rem;
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
}
@media (min-width: 992px) {
  .summer-sale-up-to-20 .sale-strip__content {
    grid-template-columns: 0.6fr 1.3fr 2fr;
    gap: 2.3rem;
  }
  .summer-sale-up-to-20 .sale-strip__title {
    grid-column: 1/2;
  }
  .summer-sale-up-to-20 .sale-strip__offer {
    grid-column: 2/3;
  }
  .summer-sale-up-to-20 .sale-strip__timer-container {
    grid-column: 3/span 2;
  }
  .summer-sale-up-to-20 .background-shape-white {
    height: 200%;
    width: 310px;
    transform: translate(-308px, -50%) rotate(6deg);
  }
}
@media (min-width: 1200px) {
  .summer-sale-up-to-20 .sale-strip__offer__tag {
    height: 110px;
  }
  .summer-sale-up-to-20 .sale-strip__offer__title {
    height: 87px;
  }
  .summer-sale-up-to-20 .background-shape-white {
    width: 350px;
    transform: translate(-359px, -50%) rotate(6deg);
  }
}
@media (min-width: 1400px) {
  .summer-sale-up-to-20 .background-shape-white {
    width: 380px;
    transform: translate(-409px, -50%) rotate(6deg);
  }
}
