@charset "UTF-8";
.noDesktop {
  display: none !important;
}

@media only screen and (max-width: 1000px) {
  .noDesktop {
    display: block !important;
  }
  .noLaptop {
    display: none !important;
  }
}
@media only screen and (max-width: 900px) {
  .noDesktop, .noLaptop {
    display: block !important;
  }
  .noBigTablet {
    display: none !important;
  }
}
@media only screen and (max-width: 768px) {
  .noDesktop, .noLaptop, .noBigTablet {
    display: block !important;
  }
  .noTablet {
    display: none !important;
  }
}
@media only screen and (max-width: 650px) {
  .noDesktop, .noLaptop, .noBigTablet, .noTablet {
    display: block !important;
  }
  .noBigPhone {
    display: none !important;
  }
}
@media only screen and (max-width: 450px) {
  .noDesktop, .noLaptop, .noBigTablet, .noTablet, .noBigPhone {
    display: block !important;
  }
  .noPhone {
    display: none !important;
  }
}
.smoothPX {
  transition: all 0.25s linear;
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Firefox < 16 */
/* Safari, Chrome and Opera > 12.1 */
/* Internet Explorer */
/* Opera < 12.1 */
:root {
  --gg-color-black: #000;
  --gg-color-black-rgb: rgb(0, 0, 0);
  --gg-color-white: #FFF;
  --gg-color-white-rgb: rgb(255, 255, 255);
  --gg-color-red: #D9000D;
  --gg-color-red-rgb: rgb(217, 0, 13);
  --gg-color-magenta: #eb1a74;
  --gg-color-magenta-rgb: rgb(235, 26, 116);
  --gg-color-green: #74af26;
  --gg-color-green-rgb: rgb(116, 175, 38);
  --gg-color-blue: #0035a2;
  --gg-color-blue-rgb: rgb(0, 53, 162);
  --gg-color-blue-dark: #2c6ada;
  --gg-color-blue-dark-rgb: rgb(44, 106, 218);
  --gg-color-yellow: #fcd623;
  --gg-color-yellow-rgb: rgb(252, 214, 35);
  --gg-color-purple: #9685c5;
  --gg-color-purple-rgb: rgb(150, 133, 197);
  --gg-color-grey: #DEDEDE;
  --gg-color-grey-rgb: rgb(222, 222, 222);
  --gg-color-light-grey: #F6F6F6;
  --gg-color-light-grey-rgb: rgb(246, 246, 246);
  --gg-color-dark-grey: #BFBFBF;
  --gg-color-dark-grey-rgb: rgb(191, 191, 191);
  --gg-color-facebook: #486099;
  --gg-color-facebook-rgb: rgb(72, 96, 153);
  --gg-color-primary: #F45F02;
  --gg-color-primary-rgb: rgb(244, 95, 2);
  --gg-color-secondary: #1D2E34;
  --gg-color-secondary-rgb: rgb(29, 46, 52);
  --gg-color-border-colour: #D5D5D5;
  --gg-color-border-colour-rgb: rgb(213, 213, 213);
  --gg-color-box-grey: #EDEEED;
  --gg-color-box-grey-rgb: rgb(237, 238, 237);
  --gg-color-block-link-bg: var(--gg-color-primary);
  --gg-color-block-link-bg-rgb: var(--gg-color-primary-rgb);
  --gg-color-block-link-text: var(--gg-color-black);
  --gg-color-block-link-text-rgb: var(--gg-color-black-rgb);
  --gg-color-block-link-2-bg: var(--gg-color-secondary);
  --gg-color-block-link-2-bg-rgb: var(--gg-color-secondary-rgb);
  --gg-color-block-link-2-text: var(--gg-color-white);
  --gg-color-block-link-2-text-rgb: var(--gg-color-white-rgb);
  --gg-color-menu-colour: var(--gg-color-primary);
  --gg-color-menu-colour: var(--gg-color-primary-rgb);
  --gg-color-text-colour: #434343;
  --gg-color-text-colour-rgb: rgb(67, 67, 67);
  --gg-color-hr-colour: var(--gg-color-grey);
  --gg-color-hr-colour-rgb: var(--gg-color-grey-rgb);
  --gg-color-box-back: rgba(var(--gg-color-primary-rgb), 0.65);
}

/** Light color-scheme **/
:root {
  --cc-bg: #fff;
  --cc-text: var(--gg-color-black);
  --cc-btn-primary-bg: var(--gg-color-primary);
  --cc-btn-primary-text: var(--gg-color-black);
  --cc-btn-primary-hover-bg: var(--gg-color-primary);
  --cc-btn-secondary-bg: #eaeff2;
  --cc-btn-secondary-text: var(--cc-text);
  --cc-btn-secondary-hover-bg: #d8e0e6;
  --cc-toggle-bg-off: #919ea6;
  --cc-toggle-bg-on: var(--cc-btn-primary-bg);
  --cc-toggle-bg-readonly: #d5dee2;
  --cc-toggle-knob-bg: #fff;
  --cc-toggle-knob-icon-color: #ecf2fa;
  --cc-block-text: var(--cc-text);
  --cc-cookie-category-block-bg: #f0f4f7;
  --cc-cookie-category-block-bg-hover: #e9eff4;
  --cc-section-border: #f1f3f5;
  --cc-cookie-table-border: #e9edf2;
  --cc-overlay-bg: rgba(4, 6, 8, .85);
  --cc-webkit-scrollbar-bg: #cfd5db;
  --cc-webkit-scrollbar-bg-hover: #9199a0;
}

/** Dark color-scheme **/
.c_darkmode {
  --cc-bg: #181b1d;
  --cc-text: #d8e5ea;
  --cc-btn-primary-bg: #a6c4dd;
  --cc-btn-primary-text: #000;
  --cc-btn-primary-hover-bg: #c2dff7;
  --cc-btn-secondary-bg: #33383c;
  --cc-btn-secondary-text: var(--cc-text);
  --cc-btn-secondary-hover-bg: #3e454a;
  --cc-toggle-bg-off: #667481;
  --cc-toggle-bg-on: var(--cc-btn-primary-bg);
  --cc-toggle-bg-readonly: #454c54;
  --cc-toggle-knob-bg: var(--cc-cookie-category-block-bg);
  --cc-toggle-knob-icon-color: var(--cc-bg);
  --cc-block-text: #b3bfc5;
  --cc-cookie-category-block-bg: #23272a;
  --cc-cookie-category-block-bg-hover: #2b3035;
  --cc-section-border: #292d31;
  --cc-cookie-table-border: #2b3035;
  --cc-webkit-scrollbar-bg: #667481;
  --cc-webkit-scrollbar-bg-hover: #9199a0;
}

:root {
  --kc-body-font: "polymath", "Helvetica", "Arial", sans-serif;
  --kc-body-font-weight: 400;
  --kc-body-font-line-height: 1.4em;
  --kc-header-font: "playfair-display", "Times", serif;
  --kc-header-font-weight: 400;
  --kc-header-font-line-height: 1.2em;
  --kc-menu-font: "polymath", "Helvetica", "Arial", sans-serif;
  --kc-menu-font-weight: 400;
  --kc-menu-font-line-height: 1.2em;
  --kc-h1-size: 58px;
  --kc-h1-size-clamp: clamp(36px, 5.5vw, 68px);
  --kc-h2-size: 40px;
  --kc-h2-size-clamp: clamp(28px, 3.2vw, 52px);
  --kc-h3-size: 36px;
  --kc-h3-size-clamp: clamp(24px, 2.8vw, 38px);
  --kc-h4-size: 28px;
  --kc-h4-size-clamp: clamp(22px, 2.4vw, 30px);
  --kc-h5-size: 24px;
  --kc-h5-size-clamp: clamp(18px, 2.2vw, 24px);
  --kc-h6-size: 22px;
  --kc-h6-size-clamp: clamp(16px, 2vw, 20px);
  --kc-body-font-size: 16px;
  --kc-body-font-size-clamp: 16px;
  --kc-menu-font-size: 12px;
  --kc-menu-font-size-clamp: 13px;
  --kc-footer-font-size-clamp: 14px;
  --kc-small-font-size: 12px;
  --kc-small-font-size-clamp: 10px;
  --kc-credit-font-size: 10px;
  --kc-credit-font-size-clamp: 9px;
}

body {
  font-size: 62.5%;
}

.smallText {
  font-size: var(--kc-small-font-size-clamp);
}

p, ul, ol, table {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  margin-bottom: 1.2em;
  color: var(--gg-color-text-colour);
}
p u, p span, ul u, ul span, ol u, ol span, table u, table span {
  text-decoration-color: var(--gg-color-primary);
}

p {
  margin-bottom: 1.1em;
}

a {
  color: var(--gg-color-blue);
  text-decoration: none;
}

sup {
  font-size: 0.5em !important;
}

strong {
  font-weight: 700;
}

h1, h2, h3, h4, h5, h6, p, span {
  text-underline-offset: 0.15em;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--kc-header-font);
  font-weight: var(--kc-header-font-weight);
  line-height: var(--kc-header-font-line-height);
  margin-bottom: 0.5em;
  color: var(--gg-color-primary);
  width: 100%;
}
h1 strong, h1 b, h2 strong, h2 b, h3 strong, h3 b, h4 strong, h4 b, h5 strong, h5 b, h6 strong, h6 b {
  font-weight: 900;
}
h1.magenta, h2.magenta, h3.magenta, h4.magenta, h5.magenta, h6.magenta {
  color: var(--gg-color-magenta);
}
h1.green, h2.green, h3.green, h4.green, h5.green, h6.green {
  color: var(--gg-color-green);
}
h1.blue, h2.blue, h3.blue, h4.blue, h5.blue, h6.blue {
  color: var(--gg-color-blue);
}
h1.yellow, h2.yellow, h3.yellow, h4.yellow, h5.yellow, h6.yellow {
  color: var(--gg-color-yellow);
}
h1.purple, h2.purple, h3.purple, h4.purple, h5.purple, h6.purple {
  color: var(--gg-color-purple);
}

h1.smallH1 {
  font-size: var(--kc-h2-size-clamp);
}

h1.largeH1 {
  font-size: clamp(76px, 7.5vw, 118px);
}

h2.smallH2 {
  font-size: var(--kc-h4-size-clamp);
}

h1 {
  font-size: var(--kc-h1-size-clamp);
  line-height: 1em;
  font-weight: 300;
}

h2 {
  font-size: var(--kc-h2-size-clamp);
  line-height: 1.1em;
}

h3 {
  font-size: var(--kc-h3-size-clamp);
  line-height: 1.2em;
}

h4 {
  font-size: var(--kc-h4-size-clamp);
  margin-bottom: 0.75em;
}

h5 {
  font-size: var(--kc-h5-size-clamp);
  margin-bottom: 0.8em;
}

h6 {
  font-size: var(--kc-h6-size-clamp);
  margin-bottom: 0.9em;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

* {
  padding: 0;
  margin: 0;
  position: relative;
  -webkit-text-size-adjust: none;
  box-sizing: border-box;
  font-display: optional;
}

.clearit {
  height: 0px;
  overflow: hidden;
  clear: both;
  width: 100%;
  display: block;
}

html {
  height: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 150px;
}

body {
  width: 100%;
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  scroll-padding-top: 120px;
  overflow-x: clip;
}

.page {
  overflow-x: clip;
  z-index: 2;
  width: 100%;
}

.section {
  width: 100%;
  overflow-x: clip;
}

img {
  width: 100%;
  height: auto;
  border: 0;
  -ms-interpolation-mode: bicubic;
}

.wrapper, .wrapperWidth {
  width: calc(100% - (calc((calc(18px + 2.5vw)) * 2)));
  display: block;
  margin: 0 auto;
  max-width: 1200px;
  clear: both;
}

.flexer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}

.flexer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}

.bg {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.bg > a {
  display: block;
  float: left;
  width: 100%;
}
.bg span {
  float: left;
  width: 100%;
  display: block;
}

.widthInd {
  display: none;
}

p, ul, ol, table, blockquote {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  padding: 0;
}

@media only screen and (max-width: 900px) {
  .wrapper, .wrapperWidth {
    width: calc(100% - (calc(18px + 2.5vw) + calc((calc(18px + 2.5vw)) * 0.5)));
  }
}
.logo {
  width: 100%;
  display: block;
  padding: 0;
}
.logo span {
  background-image: url("../img/gg-carpets-logo-primary.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 99%;
  width: 100%;
  display: block;
  float: left;
  padding-top: 25%;
}
.logo::after {
  content: "";
  display: table;
  clear: both;
  opacity: 0;
}
.logo p {
  opacity: 0;
  position: absolute;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  font-size: 1px;
}

.noSpace {
  margin-bottom: 0;
}

.image img {
  display: block;
}
.image.leftTop img {
  -o-object-position: top left;
     object-position: top left;
}
.image.centerTop img {
  -o-object-position: top center;
     object-position: top center;
}
.image.rightTop img {
  -o-object-position: top right;
     object-position: top right;
}
.image.leftCentre img {
  -o-object-position: center left;
     object-position: center left;
}
.image.centreCentre img {
  -o-object-position: center center;
     object-position: center center;
}
.image.rightCentre img {
  -o-object-position: center right;
     object-position: center right;
}
.image.leftBottom img {
  -o-object-position: bottom left;
     object-position: bottom left;
}
.image.centreBottom img {
  -o-object-position: bottom center;
     object-position: bottom center;
}
.image.rightBottom img {
  -o-object-position: bottom right;
     object-position: bottom right;
}
.image.imgContain img {
  -o-object-fit: contain;
     object-fit: contain;
}
.image.imgCover img {
  -o-object-fit: cover;
     object-fit: cover;
}
.image a {
  display: block;
  width: 100%;
}

img.leftTop {
  -o-object-position: top left;
     object-position: top left;
}

img.centerTop {
  -o-object-position: top center;
     object-position: top center;
}

img.rightTop {
  -o-object-position: top right;
     object-position: top right;
}

img.leftCentre {
  -o-object-position: center left;
     object-position: center left;
}

img.centreCentre {
  -o-object-position: center center;
     object-position: center center;
}

img.rightCentre {
  -o-object-position: center right;
     object-position: center right;
}

img.leftBottom {
  -o-object-position: bottom left;
     object-position: bottom left;
}

img.centreBottom {
  -o-object-position: bottom center;
     object-position: bottom center;
}

img.rightBottom {
  -o-object-position: bottom right;
     object-position: bottom right;
}

img.imgContain {
  -o-object-fit: contain;
     object-fit: contain;
}

img.imgCover {
  -o-object-fit: cover;
     object-fit: cover;
}

.image.imgCentre {
  margin-left: auto;
  margin-right: auto;
}

.image.imgRight {
  margin-left: auto;
  margin-right: 0;
}

.dimImage::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.25);
  pointer-events: none;
  z-index: 2;
}
img {
  display: block;
}
img.leftTop {
  -o-object-position: top left !important;
     object-position: top left !important;
}
img.centerTop {
  -o-object-position: top center !important;
     object-position: top center !important;
}
img.rightTop {
  -o-object-position: top right !important;
     object-position: top right !important;
}
img.leftCentre {
  -o-object-position: center left !important;
     object-position: center left !important;
}
img.centreCentre {
  -o-object-position: center center !important;
     object-position: center center !important;
}
img.rightCentre {
  -o-object-position: center right !important;
     object-position: center right !important;
}
img.leftBottom {
  -o-object-position: bottom left !important;
     object-position: bottom left !important;
}
img.centreBottom {
  -o-object-position: bottom center !important;
     object-position: bottom center !important;
}
img.rightBottom {
  -o-object-position: bottom right !important;
     object-position: bottom right !important;
}
img.imgContain {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}
img.imgCover {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.imageHolder {
  width: 100%;
}
.imageHolder.leftTop img {
  -o-object-position: top left;
     object-position: top left;
}
.imageHolder.centerTop img {
  -o-object-position: top center;
     object-position: top center;
}
.imageHolder.rightTop img {
  -o-object-position: top right;
     object-position: top right;
}
.imageHolder.leftCentre img {
  -o-object-position: center left;
     object-position: center left;
}
.imageHolder.centreCentre img {
  -o-object-position: center center;
     object-position: center center;
}
.imageHolder.rightCentre img {
  -o-object-position: center right;
     object-position: center right;
}
.imageHolder.leftBottom img {
  -o-object-position: bottom left;
     object-position: bottom left;
}
.imageHolder.centreBottom img {
  -o-object-position: bottom center;
     object-position: bottom center;
}
.imageHolder.rightBottom img {
  -o-object-position: bottom right;
     object-position: bottom right;
}
.imageHolder.imgContain img {
  -o-object-fit: contain;
     object-fit: contain;
}
.imageHolder.imgCover img {
  -o-object-fit: cover;
     object-fit: cover;
}
.imageHolder img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.imageHolder .frame, .imageHolder a {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}
.imageHolder .missingImage {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  background-color: rgba(var(--gg-color-black), 0.65);
}
.imageHolder span {
  display: block;
  width: 100%;
  padding-top: 100%;
  z-index: 1;
  pointer-events: none;
}
.imageHolder.compat-object-fit {
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
.imageHolder.compat-object-fit img {
  opacity: 0;
}

.image.natural,
.natural .image {
  padding: 0;
}
.image.natural .imageHolder,
.natural .image .imageHolder {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  height: auto;
}
.image.natural .imageHolder img, .image.natural .imageHolder a,
.natural .image .imageHolder img,
.natural .image .imageHolder a {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  height: auto;
}
.image.natural .imageHolder span,
.natural .image .imageHolder span {
  display: none;
}

.image.inline,
.inline .image {
  display: inline-block;
  float: right;
  margin-left: calc((calc(18px + 2.5vw)) * 0.5);
  margin-bottom: 12px;
}

.image {
  overflow: hidden;
}
.image .toolTipIndicator {
  display: none;
  /*
  opacity: 1;
  transition: opacity 0.25s ease-out, transform 0.25s ease-in;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  width:  24px;
  height: 24px;
  font-size: 10px;
  border-radius: 24px;
  background-color: var(--kc-color-white);
  color: var(--kc-color-primary);
  position: absolute;
  left:   auto;
  top:    auto;
  right:  6px;
  bottom: 6px;
  opacity: 0.5;
  transform: translateX(0px);
  font-weight: 700;
  */
}
.image .toolTip {
  position: absolute;
  left: auto;
  top: auto;
  right: 0;
  bottom: 0;
  width: auto;
  padding: calc((calc(18px + 2.5vw)) * 0.25);
  background-color: color-mix(in srgb, var(--gg-color-primary) 100%, transparent 30%);
  display: inline-block;
  color: var(--gg-color-white);
  font-size: var(--kc-small-font-size-clamp);
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.25s ease-out, transform 0.25s ease-in;
  text-align: left;
}
.image:hover .toolTip {
  transform: translateY(0px);
  opacity: 1;
}
.image:hover .toolTipIndicator {
  opacity: 0;
  transform: translateX(10px);
}
.image.hideCaptions .toolTip, .image.hideCaptions .toolTipIndicator {
  display: none;
}

.telLink .shortText {
  display: none;
}

img.leftTop img {
  -o-object-position: top left;
     object-position: top left;
}
img.centerTop img {
  -o-object-position: top center;
     object-position: top center;
}
img.rightTop img {
  -o-object-position: top right;
     object-position: top right;
}
img.leftCentre img {
  -o-object-position: center left;
     object-position: center left;
}
img.centreCentre img {
  -o-object-position: center center;
     object-position: center center;
}
img.centerCenter img {
  -o-object-position: center center;
     object-position: center center;
}
img.rightCentre img {
  -o-object-position: center right;
     object-position: center right;
}
img.leftBottom img {
  -o-object-position: bottom left;
     object-position: bottom left;
}
img.centreBottom img {
  -o-object-position: bottom center;
     object-position: bottom center;
}
img.rightBottom img {
  -o-object-position: bottom right;
     object-position: bottom right;
}

.bgImage {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bgImage.fullWidth {
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  transform: translateX(-50vw);
}
.bgImage.leftTop img {
  -o-object-position: top left;
     object-position: top left;
}
.bgImage.centerTop img {
  -o-object-position: top center;
     object-position: top center;
}
.bgImage.rightTop img {
  -o-object-position: top right;
     object-position: top right;
}
.bgImage.leftCentre img {
  -o-object-position: center left;
     object-position: center left;
}
.bgImage.centreCentre img {
  -o-object-position: center center;
     object-position: center center;
}
.bgImage.centerCenter img {
  -o-object-position: center center;
     object-position: center center;
}
.bgImage.rightCentre img {
  -o-object-position: center right;
     object-position: center right;
}
.bgImage.leftBottom img {
  -o-object-position: bottom left;
     object-position: bottom left;
}
.bgImage.centreBottom img {
  -o-object-position: bottom center;
     object-position: bottom center;
}
.bgImage.rightBottom img {
  -o-object-position: bottom right;
     object-position: bottom right;
}
.bgImage.BGopacity10 {
  opacity: 0.1;
}
.bgImage.BGopacity20 {
  opacity: 0.2;
}
.bgImage.BGopacity30 {
  opacity: 0.3;
}
.bgImage.BGopacity40 {
  opacity: 0.4;
}
.bgImage.BGopacity50 {
  opacity: 0.5;
}
.bgImage.BGopacity60 {
  opacity: 0.6;
}
.bgImage.BGopacity70 {
  opacity: 0.7;
}
.bgImage.BGopacity80 {
  opacity: 0.8;
}
.bgImage.BGopacity90 {
  opacity: 0.9;
}
.bgImage.opacity10 img {
  opacity: 0.1;
}
.bgImage.opacity20 img {
  opacity: 0.2;
}
.bgImage.opacity30 img {
  opacity: 0.3;
}
.bgImage.opacity40 img {
  opacity: 0.4;
}
.bgImage.opacity50 img {
  opacity: 0.5;
}
.bgImage.opacity60 img {
  opacity: 0.6;
}
.bgImage.opacity70 img {
  opacity: 0.7;
}
.bgImage.opacity80 img {
  opacity: 0.8;
}
.bgImage.opacity90 img {
  opacity: 0.9;
}
.bgImage.desaturate img {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
}
.bgImage.blendedNormal img {
  mix-blend-mode: normal;
}
.bgImage.blendedMultiply img {
  mix-blend-mode: multiply;
}
.bgImage.blendedScreen img {
  mix-blend-mode: screen;
}
.bgImage.blendedOverlay img {
  mix-blend-mode: overlay;
}
.bgImage.blendedLighten img {
  mix-blend-mode: lighten;
}
.bgImage.blendedColorDodge img {
  mix-blend-mode: colordodge;
}
.bgImage.blendedColorBurn img {
  mix-blend-mode: colorburn;
}
.bgImage.blendedHardLight img {
  mix-blend-mode: hardlight;
}
.bgImage.blendedSoftLight img {
  mix-blend-mode: softlight;
}
.bgImage.blendedDifference img {
  mix-blend-mode: difference;
}
.bgImage.blendedExclusion img {
  mix-blend-mode: exclusion;
}
.bgImage.blendedSaturation img {
  mix-blend-mode: saturation;
}
.bgImage.blendedColor img {
  mix-blend-mode: color;
}
.bgImage.blendedLuminosity img {
  mix-blend-mode: luminosity;
}

.bigList {
  font-family: var(--kc-header-font);
  font-weight: var(--kc-header-font-weight);
  line-height: var(--kc-header-font-line-height);
  margin-bottom: 0.5em;
  font-size: var(--kc-h6-size-clamp);
}

a.blockLink, .blockLink, input[type=submit], button, .button, blockLink {
  cursor: pointer;
  padding: 1.25em 2em;
  display: inline-block;
  text-decoration: none;
  color: var(--gg-color-white);
  background-color: var(--gg-color-primary);
  margin-top: 1.2em;
  line-height: 1.2em;
  transition: background-color 350ms ease-in;
  font-family: var(--kc-header-font);
  font-weight: var(--kc-header-font-weight);
  line-height: var(--kc-header-font-line-height);
  margin-bottom: 0.5em;
  font-weight: 700;
  transition: all 0.35s ease;
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0));
  transform-origin: center center;
  text-decoration: none !important;
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  font-size: var(--kc-body-font-size-clamp);
  border-radius: 0.7em;
}
a.blockLink:hover, .blockLink:hover, input[type=submit]:hover, blockLink:hover, button:hover, .button:hover {
  transform: scale(1.05);
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 100%);
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2));
}
a.blockLink.secondaryColour, .blockLink.secondaryColour, input.secondaryColour[type=submit], blockLink.secondaryColour, button.secondaryColour, .button.secondaryColour {
  background-color: var(--gg-color-secondary);
}
a.blockLink.quickEnquiry, .blockLink.quickEnquiry, input.quickEnquiry[type=submit], blockLink.quickEnquiry, button.quickEnquiry, .button.quickEnquiry {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  gap: 0.475em;
}
a.blockLink.quickEnquiry::before, .blockLink.quickEnquiry::before, input.quickEnquiry[type=submit]::before, blockLink.quickEnquiry::before, button.quickEnquiry::before, .button.quickEnquiry::before {
  content: "";
  display: block;
  width: 1.8em;
  height: 1.8em;
  background-image: url("../img/quick-quote-icon.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
a.blockLink + span.quickEnquiryLink, .blockLink + span.quickEnquiryLink, input[type=submit] + span.quickEnquiryLink, blockLink + span.quickEnquiryLink, button + span.quickEnquiryLink, .button + span.quickEnquiryLink {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  margin: 0;
  width: 100%;
  display: inline-block;
  margin-top: 0.5em;
}

h1 .blockLink, h1 input[type=submit], h1 button, h1 .button, h2 .blockLink, h2 input[type=submit], h2 button, h2 .button, h3 .blockLink, h3 input[type=submit], h3 button, h3 .button, h4 .blockLink, h4 input[type=submit], h4 button, h4 .button, h5 .blockLink, h5 input[type=submit], h5 button, h5 .button, h6 .blockLink, h6 input[type=submit], h6 button, h6 .button {
  font-size: 1em;
  font-family: var(--kc-header-font);
  font-weight: var(--kc-header-font-weight);
  line-height: var(--kc-header-font-line-height);
  margin-bottom: 0.5em;
}

p .blockLink, p input[type=submit], p button, p .button {
  margin-top: 0;
}

.blockLink a, input[type=submit] a, button a, .button a {
  color: var(--gg-color-block-link-text);
  font-weight: 700;
}

input[type=submit], button, .button {
  border: 0;
  padding: 1.75em 2em;
  font-weight: 700;
}
input[type=submit]::after, button::after, .button::after {
  display: none;
}

.smallPrint {
  font-size: var(--kc-small-font-size-clamp);
}

.socials {
  width: auto;
  list-style-type: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  gap: 6px 12px;
}
.socials li {
  width: 38px;
  height: 38px;
  display: inline-block;
  margin: 0;
  padding: 0;
  z-index: 1;
  transition: all 0.35s ease;
  background-color: var(--gg-color-primary);
}
.socials:hover li div {
  opacity: 1;
}
.socials a {
  width: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  transition: all 0.35s ease;
}
.socials a div {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-position: center center;
  background-size: 55% 55%;
  background-repeat: no-repeat;
}
.socials a div p {
  opacity: 0;
  font-size: 1px;
}
.socials a div.connect {
  background-image: url("../img/socials/connect.svg");
}
.socials a div.fb {
  background-image: url("../img/socials/facebook.svg");
}
.socials a div.tw {
  background-image: url("../img/socials/twitter.svg");
}
.socials a div.li {
  background-image: url("../img/socials/linkedin.svg");
}
.socials a div.wp {
  background-image: url("../img/socials/wordpress.svg");
}
.socials a div.pt {
  background-image: url("../img/socials/pinterest.svg");
}
.socials a div.ig {
  background-image: url("../img/socials/instagram.svg");
}

.headBlock {
  background-color: var(--gg-color-secondary);
  padding: calc(18px + 2.5vw);
}
.headBlock * {
  color: var(--gg-color-white);
}

.secondaryColour .headBlock {
  background-color: var(--gg-color-primary);
}

ul.ticks, ul.squares {
  font-size: var(--kc-h6-size-clamp);
  list-style-type: none;
}
ul.ticks li, ul.squares li {
  padding-left: 1.8em;
}
ul.ticks li + li, ul.squares li + li {
  margin-top: 0.75em;
}
ul.ticks li::before, ul.squares li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  background-image: url("../img/tick-icon-primary.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

ul.ticks li::before {
  top: 0.3em !important;
  width: 1em !important;
  height: 1em !important;
  transform: translateY(-20%);
  background-color: transparent !important;
}

ul.squares li::before {
  width: 0.75em;
  height: 0.75em;
  transform: translateY(20%);
  background-image: none;
  background-color: var(--gg-color-secondary);
}

.primaryBack ul.ticks li::before, .primaryBack ul.squares li::before,
.secondaryBack ul.ticks li::before,
.secondaryBack ul.squares li::before {
  background-image: url("../img/tick-icon-white.svg");
}
.primaryBack ul.squares li::before,
.secondaryBack ul.squares li::before {
  background-color: var(--gg-color-white);
}

span.primaryColour {
  color: var(--gg-color-primary) !important;
}

span.secondaryColour {
  color: var(--gg-color-secondary) !important;
}

span.textColour {
  color: var(--gg-color-text-colour) !important;
}

.text, .additionalText {
  margin-left: auto;
  margin-right: auto;
}
.text .primaryColour, .additionalText .primaryColour {
  color: var(--gg-color-primary) !important;
}
.text .secondaryColour, .additionalText .secondaryColour {
  color: var(--gg-color-secondary) !important;
}
.text span.textColour, .additionalText span.textColour {
  color: var(--gg-color-text-colour) !important;
}
.text ul, .additionalText ul {
  list-style-type: none;
}
.text ul li, .additionalText ul li {
  padding-left: 1.4em;
  margin-bottom: 0.4em;
}
.text ul li::before, .additionalText ul li::before {
  position: absolute;
  left: 0;
  top: 0.45em;
  right: auto;
  bottom: auto;
  width: 0.6em;
  height: 0.6em;
  content: "";
  display: block;
  background-color: var(--gg-color-primary);
}
.text ol, .additionalText ol {
  list-style: none;
  counter-reset: item;
}
.text ol li, .additionalText ol li {
  counter-increment: item;
  margin-bottom: 0.6em;
}
.text ol li:before, .additionalText ol li:before {
  font-family: var(--kc-header-font);
  font-weight: var(--kc-header-font-weight);
  font-size: var(--kc-h6-size-clamp);
  color: var(--gg-color-primary);
  margin-right: 0.6em;
  content: counter(item) ". ";
  text-align: center;
  display: inline-block;
  margin-bottom: 0;
}
.text *:last-child, .additionalText *:last-child {
  margin-bottom: 0;
}
.text hr, .additionalText hr {
  border: 0;
  height: 2px;
  display: block;
  background-color: currentColor;
  margin: calc((calc(18px + 2.5vw)) * 0.75) 0;
}

.introText + div {
  margin-top: calc(18px + 2.5vw);
}

.textHeading {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.25);
}

@media only screen and (max-width: 650px) {
  .textHeading.hasColour + .flexer .hasColour {
    margin-top: 0;
  }
} /*$bigPhone ends*/
#headerNav {
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5 + (calc(18px + 2.5vw)) * 0.25);
  background-color: var(--gg-color-white);
  margin-bottom: 0;
  background-color: var(--gg-color-white);
  position: sticky;
  top: 0;
  z-index: 10;
}
#headerNav.shadow {
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.1));
}
#headerNav .brand {
  justify-content: flex-end;
  padding: 14px calc((calc(18px + 2.5vw)) * 0.5);
  padding-left: 0px;
  z-index: 3;
  align-self: stretch;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 15%;
  max-width: 140px;
  min-width: 80px;
}
#headerNav #mainNavID > .wrapper > .flexer {
  align-items: flex-end;
}
#headerNav .middle {
  padding: 0;
  justify-content: stretch;
  z-index: 10;
  width: 100%;
  padding-top: 12px;
}
#headerNav .middle .sloganBar {
  padding: 12px 0;
  margin-bottom: 12px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-content: flex-end;
  align-items: flex-end;
}
#headerNav .middle .sloganBar h6 {
  width: -moz-fit-content;
  width: fit-content;
  color: var(--gg-color-black);
  margin: 0;
  padding-left: 24px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
  font-weight: 700;
}
#headerNav .middle .sloganBar h6 a {
  color: var(--gg-color-primary);
  font-size: 16px;
}
#headerNav .middle .sloganBar ul {
  display: inline-flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-end;
  margin: 0;
  padding: 0;
  gap: 0.75em;
  /*$smallTablet ends*/
}
@media only screen and (max-width: 768px) {
  #headerNav .middle .sloganBar ul {
    flex-direction: row;
  }
}
#headerNav .middle .sloganBar ul li, #headerNav .middle .sloganBar ul a {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  color: var(--gg-color-white);
  white-space: nowrap;
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
  letter-spacing: 0.075em;
}
#headerNav .middle .sloganBar ul a {
  gap: 0.475em;
  color: var(--gg-color-secondary);
  font-weight: 700;
}
#headerNav .middle .sloganBar ul a::after {
  content: "";
  display: block;
  width: 1.4em;
  height: 1.4em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#headerNav .middle .sloganBar ul a.contactUs::after {
  transform: translateY(-8%);
  background-image: url("../img/contact-icon-primary.svg");
}
#headerNav .middle .sloganBar ul a.findUs::after {
  transform: translateY(-8%);
  background-image: url("../img/findus-icon-primary.svg");
}
#headerNav .middle .menuHolder {
  width: 100%;
  order: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-end;
  align-items: center;
  background-color: var(--gg-color-primary);
  margin-bottom: -2em;
}
#headerNav .middle .menuHolder .menu {
  align-items: center;
  align-content: center;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-content: stretch;
  align-items: stretch;
}
#headerNav .middle .menuHolder .menu #headerMenu {
  width: 100%;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  list-style-type: none;
  padding: 0;
  margin: 0;
  text-align: left;
}
#headerNav .middle .menuHolder .menu #headerMenu > li::before {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  top: 12px;
  right: 0;
  bottom: 12px;
  width: 1px;
  border-left: solid 1px var(--gg-color-white);
  opacity: 0.5;
}
#headerNav .middle .menuHolder .menu #headerMenu > li.homeIcon {
  background-color: var(--gg-color-primary);
  background-image: url("../img/home-menu-icon.svg");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
  width: 3em;
  background-color: color-mix(in srgb, var(--gg-color-primary), var(--gg-color-white) 10%);
}
#headerNav .middle .menuHolder .menu #headerMenu > li.homeIcon a {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
#headerNav .middle .menuHolder .menu #headerMenu li a {
  color: var(--gg-color-white);
}
#headerNav .middle .menuHolder .menu #headerMenu > li > a {
  border-bottom: solid 4px transparent;
  transition: all 0.35s ease;
}
#headerNav .middle .menuHolder .menu #headerMenu > li:not(.parent-item) > a:hover {
  border-bottom: solid 4px var(--gg-color-white);
}
#headerNav .middle .menuHolder .menu #headerMenu li {
  display: inline-flex;
  align-items: stretch;
  align-content: stretch;
  position: relative;
}
#headerNav .middle .menuHolder .menu #headerMenu li a {
  padding: 12px 12px 8px;
  margin-top: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
}
#headerNav .middle .menuHolder .menu #headerMenu li:last-child::before {
  display: none;
}
#headerNav .middle .menuHolder .menu #headerMenu li.parent-item {
  padding-right: calc((calc(18px + 2.5vw)) * 0.25 + 6px);
}
#headerNav .middle .menuHolder .menu #headerMenu li.parent-item:hover {
  background-color: color-mix(in srgb, var(--gg-color-secondary), white 85%);
}
#headerNav .middle .menuHolder .menu #headerMenu li.parent-item:hover a {
  color: var(--gg-color-secondary);
}
#headerNav .middle .menuHolder .menu #headerMenu li.parent-item:hover:after {
  border-top: 5px solid var(--gg-color-secondary);
}
#headerNav .middle .menuHolder .menu #headerMenu li.parent-item:hover::before {
  display: none;
}
#headerNav .middle .menuHolder .menu #headerMenu li.parent-item:after {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  top: 50%;
  right: 6px;
  bottom: calc(50% + 3px);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid var(--gg-color-white);
  transform: translateX(-50%) translateY(-50%);
  pointer-events: none;
}
#headerNav .middle .menuHolder .menu #headerMenu li ul {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s;
  left: 0;
  top: 100%;
  right: auto;
  bottom: auto;
  background-color: color-mix(in srgb, var(--gg-color-secondary), white 85%);
  padding: calc((calc(18px + 2.5vw)) * 0.25);
  padding-top: 0px;
  min-width: 100%;
}
#headerNav .middle .menuHolder .menu #headerMenu li ul li {
  padding: 0;
  width: 100%;
  display: block;
}
#headerNav .middle .menuHolder .menu #headerMenu li ul a {
  padding: 8px calc((calc(18px + 2.5vw)) * 0.25);
  color: var(--gg-color-primary);
  transition: background-color 0.5s;
  width: 100%;
  display: block;
}
#headerNav .middle .menuHolder .menu #headerMenu li ul a:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
#headerNav .middle .menuHolder .menu #headerMenu li:hover {
  z-index: 3;
}
#headerNav .middle .menuHolder .menu #headerMenu li:hover ul {
  pointer-events: all;
  opacity: 1;
}
#headerNav .middle .menuHolder .menu #headerMenu a {
  padding: 0 calc((calc(18px + 2.5vw)) * 0.25) 0;
  display: inline-block;
  white-space: nowrap;
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
  width: auto;
}
#headerNav .addressBar {
  display: none;
  order: 0;
  background-color: transparent;
  padding-bottom: 9px;
  flex-wrap: wrap;
}
#headerNav .addressBar a {
  color: var(--gg-color-white);
  font-size: var(--kc-smallFontSize);
}
#headerNav .addressBar ul {
  color: var(--gg-color-white);
  justify-content: flex-start;
  padding-left: calc((calc(18px + 2.5vw)) * 0.25);
}
#headerNav .addressBar ul li {
  padding-bottom: 0px;
}
#headerNav .quoteBlock,
#headerNav .quoteBlockMobile {
  display: flex;
  max-width: calc(145px + 2vw);
  padding: 12px 16px;
  padding-right: 0px;
  text-transform: none;
  transition: all 0.35s ease;
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
  color: var(--gg-color-white);
  font-weight: normal;
  align-content: flex-end;
  align-items: center;
  justify-content: flex-end;
  width: -moz-max-content;
  width: max-content;
  white-space: nowrap;
  gap: 0.475em;
  font-weight: 700;
  letter-spacing: 0.075em;
}
#headerNav .quoteBlock::before,
#headerNav .quoteBlockMobile::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  transition: background-color 0.35s ease-in;
  background-color: color-mix(in srgb, var(--gg-color-primary), var(--gg-color-black) 15%);
}
#headerNav .quoteBlock::after,
#headerNav .quoteBlockMobile::after {
  content: "";
  display: block;
  width: 1.4em;
  height: 1.4em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("../img/email-icon-white.svg");
  z-index: 3;
}
#headerNav .quoteBlock span,
#headerNav .quoteBlockMobile span {
  z-index: 2;
}
#headerNav .quoteBlock:hover::before,
#headerNav .quoteBlockMobile:hover::before {
  transition: background-color 0.35s ease-in;
  background-color: color-mix(in srgb, var(--gg-color-secondary), var(--gg-color-black) 15%);
}
#headerNav .quoteBlock {
  padding-right: 0;
}
#headerNav .quoteBlockMobile {
  display: none;
}
#headerNav a.quickCall {
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
  white-space: nowrap;
  cursor: pointer;
  width: -moz-fit-content;
  width: fit-content;
  display: none;
}
#headerNav a.quickCall::before {
  content: "";
  display: block;
  min-width: 30px;
  min-height: 30px;
  background-image: url("/wp-content/uploads/2022/12/call-us-icon.svg");
  background-repeat: no-repeat;
  background-size: 140%;
  background-position: center;
}

.menuHandle, .menuHandle .mobContact {
  padding-left: calc((calc(18px + 2.5vw)) * 0.5);
  font-weight: normal;
  text-transform: none;
  margin-right: 0;
  margin-left: auto;
  justify-content: center;
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  display: none;
  cursor: pointer;
}
.menuHandle .mobContact, .menuHandle .mobContact .mobContact {
  border-left: solid 1px rgba(255, 255, 255, 0.5);
}

nav#mainNavID.compact {
  background-color: var(--gg-color-secondary);
}
nav#mainNavID.compact .brand {
  background-color: var(--gg-color-white);
}
nav#mainNavID.compact .brand::before {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--gg-color-white);
  top: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
}
nav#mainNavID.compact .sloganBar {
  padding: 14px;
  padding-left: calc((calc(18px + 2.5vw)) * 0.5);
  align-content: flex-end;
  flex-wrap: wrap;
}
nav#mainNavID.compact .sloganBar h6 {
  display: none;
}
nav#mainNavID.compact .sloganBar ul {
  width: 100%;
  flex-direction: row;
  justify-content: flex-end;
  margin-bottom: 9px;
}
nav#mainNavID.compact .sloganBar ul li a.contactUs::after {
  background-image: url("../img/contact-icon-white.svg");
}
nav#mainNavID.compact .sloganBar ul li a.findUs::after {
  background-image: url("../img/findus-icon-white.svg");
}
nav#mainNavID.compact .sloganBar .menuHandle, nav#mainNavID.compact .sloganBar li, nav#mainNavID.compact .sloganBar a {
  font-size: 13px;
  color: var(--gg-color-white);
}
nav#mainNavID.compact .menuHandle {
  display: flex;
  gap: 0.45em;
  align-items: center;
  align-content: center;
  font-weight: 700;
  margin-bottom: 8px;
}
nav#mainNavID.compact .menuHandle::after {
  content: "";
  display: block;
  width: 1.6em;
  height: 1.6em;
  background-image: url("../img/menu-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-8%);
}
nav#mainNavID.compact .middle {
  padding-top: 8px;
}
nav#mainNavID.compact .middle .menu {
  position: absolute;
  width: 100%;
  opacity: 0;
  pointer-events: none;
}

@media only screen and (max-width: 768px) {
  nav#mainNavID.compact {
    background-color: var(--gg-color-secondary);
  }
  nav#mainNavID.compact .brand {
    background-color: var(--gg-color-white);
  }
  nav#mainNavID.compact .brand::before {
    content: "";
    display: block;
    position: absolute;
    background-color: var(--gg-color-white);
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
  }
  nav#mainNavID.compact .sloganBar {
    padding: 14px;
    padding-left: calc((calc(18px + 2.5vw)) * 0.5);
    align-content: flex-end;
    flex-wrap: wrap;
  }
  nav#mainNavID.compact .sloganBar h6 {
    display: none;
  }
  nav#mainNavID.compact .sloganBar ul {
    width: 100%;
    flex-direction: row;
    justify-content: flex-end;
    margin-bottom: 9px;
  }
  nav#mainNavID.compact .sloganBar ul li a.contactUs::after {
    background-image: url("../img/contact-icon-white.svg");
  }
  nav#mainNavID.compact .sloganBar ul li a.findUs::after {
    background-image: url("../img/findus-icon-white.svg");
  }
  nav#mainNavID.compact .sloganBar .menuHandle, nav#mainNavID.compact .sloganBar li, nav#mainNavID.compact .sloganBar a {
    font-size: 13px;
    color: var(--gg-color-white);
  }
  nav#mainNavID.compact .menuHandle {
    display: flex;
    gap: 0.45em;
    align-items: center;
    align-content: center;
    font-weight: 700;
    margin-bottom: 8px;
  }
  nav#mainNavID.compact .menuHandle::after {
    content: "";
    display: block;
    width: 1.6em;
    height: 1.6em;
    background-image: url("../img/menu-icon.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-8%);
  }
  nav#mainNavID.compact .middle {
    padding-top: 8px;
  }
  nav#mainNavID.compact .middle .menu {
    position: absolute;
    width: 100%;
    opacity: 0;
    pointer-events: none;
  }
} /*$tablet ends*/
@media only screen and (max-width: 650px) {
  #headerNav .sloganBar ul li:has(.findUs) {
    display: none;
  }
  #headerNav .sloganBar .telLink .shortText {
    display: inline-block;
  }
  #headerNav .sloganBar .telLink .telNumber {
    display: none;
  }
} /*$bigPhone ends*/
body.dormant {
  overflow: hidden;
}

.menuOverlay {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: stretch;
  align-content: stretch;
  align-items: stretch;
  overflow: hidden;
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
  pointer-events: none;
  background-color: var(--gg-color-secondary);
  z-index: 20;
  visibility: hidden;
  opacity: 0;
  transform: scale(1.2);
  transform-origin: center center;
  transition: all 0.35s ease;
}
.menuOverlay nav {
  overflow: hidden;
  text-align: center;
  z-index: 2;
  pointer-events: none;
}
.menuOverlay .wrapper {
  text-align: center;
  z-index: 2;
  pointer-events: none;
}
.menuOverlay .wrapper * {
  pointer-events: all;
}
.menuOverlay .logo {
  width: 30%;
  max-width: 250px;
  margin-left: auto;
  margin-right: auto;
}
.menuOverlay a, .menuOverlay button {
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
}
.menuOverlay button.closeMenu.iconOnly {
  display: block;
  position: absolute;
  top: 24px;
  right: 24px;
  width: 1.2em;
  height: 1.2em;
  color: var(--gg-color-secondary);
}
.menuOverlay button.closeMenu {
  padding: 0;
  color: var(--gg-color-white);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: flex-start;
  align-items: center;
  margin: auto;
  background-color: transparent;
}
.menuOverlay button.closeMenu::before {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  margin-right: 0.5em;
  background-image: url("../img/close-white.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.menuOverlay h6 {
  margin: 0;
}
.menuOverlay .flexer.menuFlex {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  width: auto;
  padding-right: 50px;
  width: calc(100% + 50px);
  scrollbar-width: none;
  z-index: 3;
  max-height: 100%;
}
.menuOverlay .flexer::-webkit-scrollbar {
  display: none;
}
.menuOverlay .menuScroller {
  height: auto;
  min-height: 100%;
  width: 100%;
  padding: 20px 0 0 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  padding: calc((calc(18px + 2.5vw)) * 2) 0 calc(calc((calc(18px + 2.5vw)) * 2) + calc((calc(18px + 2.5vw)) * 0.5));
}
.menuOverlay ul#overlayMenu {
  list-style-type: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  width: 80%;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.menuOverlay ul#overlayMenu ul {
  margin-bottom: 0;
}
.menuOverlay ul#overlayMenu li {
  list-style-type: none;
}
.menuOverlay ul#overlayMenu > li {
  width: 100%;
  padding: calc((calc(18px + 2.5vw)) * 0.5) calc((calc(18px + 2.5vw)) * 0.25);
  min-width: 250px;
  flex-grow: 1;
  display: inline-block;
  margin: 0;
  border-bottom: solid 1px var(--gg-color-white);
}
.menuOverlay ul#overlayMenu > li a {
  display: block;
  color: var(--gg-color-white);
  text-align: left;
}
.menuOverlay .flooringTiles {
  margin: 0;
}
.menuOverlay .flooringTiles .wrapper {
  width: 100%;
  max-width: 100%;
  padding: 0;
}
.menuOverlay .flooringTiles .tileTrack {
  width: 100%;
  margin-left: 0;
  overflow: visible;
}
.menuOverlay .flooringTiles .flooringTile p.readMore {
  display: none;
}
.menuOverlay .backer {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  opacity: 0.25;
  -o-object-fit: cover;
     object-fit: cover;
}

.menuOverlay.active {
  pointer-events: all;
  opacity: 1;
  transform: scale(1);
  visibility: visible;
}

@media only screen and (max-width: 768px) {
  .menuOverlay .wrapper {
    width: 100%;
    padding: calc((calc(18px + 2.5vw)) * 0.25);
  }
} /*$tablet ends*/
.pageHeading {
  margin-top: calc((calc(18px + 2.5vw)) * 2);
}
.pageHeading .text {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.pageHeading * {
  order: 1;
}
.pageHeading .breadCrumb {
  order: 0;
  font-size: var(--kc-h6-size-clamp);
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  color: var(--gg-color-text-colour);
  text-transform: uppercase;
}
.pageHeading h1 {
  font-size: var(--kc-h1-size-clamp);
}
.pageHeading h1.default {
  text-align: center;
}
.pageHeading *:last-child:not(.breadCrumb) {
  margin-bottom: 0;
}
.pageHeading .text {
  max-width: none;
}

.notification.block {
  margin-top: 0;
}
.notification.block.noBack, .notification.block.hasColour {
  padding: calc((calc(18px + 2.5vw)) * 0.5);
  padding-top: calc(18px + 2.5vw);
}

.bannerHolder {
  display: grid;
  grid-template-areas: "bannerHolder";
  grid-template-columns: 1fr;
  min-height: 60vh;
}
.bannerHolder .flexer {
  grid-area: bannerHolder;
  z-index: 2;
  justify-content: center;
  align-self: end;
}
.bannerHolder .bannerText {
  width: 50%;
  padding: calc(18px + 2.5vw);
  margin: calc(calc((calc(18px + 2.5vw)) * 2) * 1.5) 0;
  margin-bottom: 0;
  z-index: 1;
  min-width: -moz-min-content;
  min-width: min-content;
}
.bannerHolder .bannerText .text * {
  text-align: center;
}
.bannerHolder .bannerText:has(.quickLink) {
  padding-bottom: calc(calc(18px + 2.5vw) + calc((calc(18px + 2.5vw)) * 0.5));
}
.bannerHolder.clearText .bannerText {
  background-color: transparent;
  border-bottom: none;
}

.badgeWrapper {
  position: absolute;
  left: 50%;
  top: calc(18px + 2.5vw + (calc(18px + 2.5vw)) * 0.75);
  transform: translateX(-50%);
  z-index: 20;
  pointer-events: none;
}
.badgeWrapper .badge {
  width: 30%;
  min-width: 150px;
  max-width: 250px;
}

.bannerHolder:has(.text) .bannerTrack {
  height: calc(100% - (18px + 2.5vw));
}

.bannerHolder .bannerTrack {
  width: 100%;
  grid-area: bannerHolder;
  height: 100%;
}
.bannerHolder .bannerTrack .flickity-viewport {
  min-height: 100%;
}
.bannerHolder .bannerTrack .carousel-cell, .bannerHolder .bannerTrack .banner {
  transition: opacity 1s ease !important;
}
.bannerHolder .bannerTrack .carousel-cell.is-selected, .bannerHolder .bannerTrack .banner.is-selected {
  opacity: 1 !important;
}
.bannerHolder .bannerTrack .flickity-page-dots {
  margin-top: 18px;
  bottom: auto;
  top: 18px;
  right: 18px;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: 2em;
  gap: 4px;
}
.bannerHolder .bannerTrack .flickity-page-dots .dot {
  width: 18px;
  height: 18px;
}
.bannerHolder .bannerTrack .banner {
  height: 100%;
  width: 100%;
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
}
.bannerHolder .bannerTrack .banner .image {
  width: 100%;
  height: 100%;
}
.bannerHolder .bannerTrack .banner img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.bannerText {
  padding: calc(18px + 2.5vw);
  z-index: 1;
  min-width: -moz-min-content;
  min-width: min-content;
}
.bannerText .text {
  z-index: 3;
}
.bannerText .bgImage {
  z-index: 2;
  mix-blend-mode: multiply;
  opacity: 0.34;
}
.bannerText .blockLink {
  background-color: var(--gg-color-secondary);
}
.bannerText .blockLink.quickLink {
  font-size: var(--kc-body-font-size-clamp);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%) translateY(calc(50% + 0.7em));
  z-index: 4;
}

.bannerHolder.textMenu .wrapper.flexer {
  align-items: center;
  justify-content: space-between;
  gap: calc(18px + 2.5vw);
}
.bannerHolder.textMenu .wrapper.flexer .bannerText {
  width: 55%;
}

@media only screen and (max-width: 650px) {
  .bannerHolder.textMenu .wrapper.flexer {
    flex-direction: column;
    justify-content: flex-start;
  }
  .bannerHolder.textMenu .wrapper.flexer .bannerText {
    margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
    width: 75vw;
  }
  .bannerHolder.textMenu .wrapper.flexer .bannerText .quickLink {
    left: 0%;
    transform: translateX(0%) translateY(calc(50% + 0.7em));
    padding-left: 1.4em;
  }
  .bannerHolder.textMenu .wrapper.flexer .bannerText .quickLink::after {
    display: none;
  }
  .bannerHolder.textMenu .wrapper.flexer .bannerText::after, .bannerHolder.textMenu .wrapper.flexer .bannerText .bgImage {
    width: calc(100% - 1.8em);
  }
  .bannerHolder.textMenu .wrapper.flexer .bannerText:has(.quickLink) {
    margin-bottom: calc(18px + 2.5vw);
  }
  .bannerHolder.textMenu .wrapper.flexer .bannerMenu {
    width: 75vw;
    margin-bottom: calc(18px + 2.5vw);
  }
} /*$bigPhone ends*/
.bannerMenu {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  gap: calc((calc(18px + 2.5vw)) * 0.5);
  width: 350px;
}
.bannerMenu a {
  background-color: var(--gg-color-primary);
  width: 100%;
  will-change: transform, opacity;
}
.bannerMenu a .details {
  z-index: 2;
  padding: 2.4em;
  padding-bottom: 2.8em;
  width: 100%;
}
.bannerMenu a .details p {
  display: none;
}
.bannerMenu a .details h6 {
  font-family: var(--kc-header-font);
  font-weight: var(--kc-header-font-weight);
  line-height: var(--kc-header-font-line-height);
  margin-bottom: 0.5em;
  font-weight: 500;
  margin: 0;
}
.bannerMenu a .details::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 1.2em;
  background-color: var(--gg-color-white);
  transform-origin: left top;
  transform: scaleX(0);
  transition: all 0.35s ease;
}
.bannerMenu a img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 1.2em;
  height: calc(100% - 1.2em);
  width: 100%;
  z-index: 1;
  mix-blend-mode: multiply;
  opacity: 0.35;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.bannerMenu a:hover .details::after {
  transform: scaleX(1);
}

.bannerVideo {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: clip;
}
.bannerVideo video {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bannerVideo iframe {
  width: auto;
  min-width: 120%;
  min-height: 120%;
  aspect-ratio: 16/9;
  display: block;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.bannerVideo .videoMask {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: all;
}

.bannerHolder.singleBanner .flickity-page-dots {
  display: none;
}

.bannerHolder.textFullHeight .flexer, .bannerHolder.textFullHeight .bannerText {
  height: 100%;
  margin-top: 0;
  margin-bottom: 0;
}
.bannerHolder.textFullHeight .bannerText {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}

.bannerHolder.textLeft .bannerText::after, .bannerHolder.textLeft .bannerText .bgImage,
.bannerHolder.textRight .bannerText::after,
.bannerHolder.textRight .bannerText .bgImage {
  display: block;
  background-color: var(--gg-color-secondary);
  width: 50vw;
}
.bannerHolder.textLeft.textNaturalHeight .bannerText::after, .bannerHolder.textLeft.textNaturalHeight .bannerText .bgImage,
.bannerHolder.textRight.textNaturalHeight .bannerText::after,
.bannerHolder.textRight.textNaturalHeight .bannerText .bgImage {
  width: calc(50vw + 18px + 2.5vw);
}
.bannerHolder.textLeft .bannerTrack .banner .image:nth-child(3n),
.bannerHolder.textRight .bannerTrack .banner .image:nth-child(3n) {
  display: none;
}
.bannerHolder.textLeft.textFullHeight .bannerTrack,
.bannerHolder.textRight.textFullHeight .bannerTrack {
  width: 50vw;
}
.bannerHolder.textLeft.textFullHeight .bannerTrack .banner .image,
.bannerHolder.textRight.textFullHeight .bannerTrack .banner .image {
  display: none;
}
.bannerHolder.textLeft.textFullHeight .bannerTrack .banner .image:first-child,
.bannerHolder.textRight.textFullHeight .bannerTrack .banner .image:first-child {
  display: block;
  margin-left: 0;
  margin-right: auto;
}

.bannerHolder.textRight .flexer {
  justify-content: flex-end;
}
.bannerHolder.textRight .bannerTrack {
  justify-self: flex-end;
}
.bannerHolder.textRight .bannerText::after, .bannerHolder.textRight .bannerText .bgImage {
  right: auto;
  left: 1.8em;
}
.bannerHolder.textRight .bannerText .text {
  z-index: 3;
}
.bannerHolder.textRight .bannerText .bgImage {
  width: 100vw;
  z-index: 2;
}
.bannerHolder.textRight .bannerText::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: var(--gg-color-primary);
  width: 100vw;
  height: 100%;
  z-index: 1;
}
.bannerHolder.textRight .bannerText .quickLink {
  left: 0;
  transform: translateX(0) translateY(calc(50% + 0.7em));
  padding-left: calc(18px + 2.5vw);
  transition: background-color 0.35s ease-in;
}
.bannerHolder.textRight .bannerText .quickLink:hover {
  background-image: none;
  transition: background-color 0.35s ease-in;
  background-color: color-mix(in srgb, var(--gg-color-secondary), var(--gg-color-black) 10%);
}
.bannerHolder.textRight .bannerText .quickLink:hover::after {
  transition: background-color 0.35s ease-in;
  background-color: color-mix(in srgb, var(--gg-color-secondary), var(--gg-color-black) 10%);
}
.bannerHolder.textRight .bannerText .quickLink::after {
  content: "";
  display: block;
  position: absolute;
  right: auto;
  top: 0;
  left: 99%;
  bottom: 0;
  width: 100vw;
  height: 100%;
  background-color: inherit;
  transition: all 0.35s ease;
}
.bannerHolder.textRight.textFullHeight .bannerTrack .banner .image:first-child {
  margin-left: auto;
  margin-right: 0;
}

.bannerHolder.textMenu .flexer,
.bannerHolder.textLeft .flexer {
  justify-content: flex-start;
}
.bannerHolder.textMenu .badgeWrapper .badge,
.bannerHolder.textLeft .badgeWrapper .badge {
  margin-left: auto;
  margin-right: 0;
}
.bannerHolder.textMenu .bannerTrack,
.bannerHolder.textLeft .bannerTrack {
  justify-self: flex-end;
}
.bannerHolder.textMenu .bannerText::after, .bannerHolder.textMenu .bannerText .bgImage,
.bannerHolder.textLeft .bannerText::after,
.bannerHolder.textLeft .bannerText .bgImage {
  left: auto;
  right: 1.8em;
}
.bannerHolder.textMenu .bannerText .text,
.bannerHolder.textLeft .bannerText .text {
  z-index: 3;
}
.bannerHolder.textMenu .bannerText .bgImage,
.bannerHolder.textLeft .bannerText .bgImage {
  width: 100vw;
  z-index: 2;
}
.bannerHolder.textMenu .bannerText::after,
.bannerHolder.textLeft .bannerText::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: inherit;
  width: 100vw;
  height: 100%;
  z-index: 1;
}
.bannerHolder.textMenu .bannerText .quickLink,
.bannerHolder.textLeft .bannerText .quickLink {
  left: 0;
  transform: translateX(0) translateY(calc(50% + 0.7em));
  padding-left: calc(18px + 2.5vw);
  transition: background-color 0.35s ease-in;
}
.bannerHolder.textMenu .bannerText .quickLink:hover,
.bannerHolder.textLeft .bannerText .quickLink:hover {
  background-image: none;
  transition: background-color 0.35s ease-in;
  background-color: color-mix(in srgb, var(--gg-color-secondary), var(--gg-color-black) 10%);
}
.bannerHolder.textMenu .bannerText .quickLink:hover::after,
.bannerHolder.textLeft .bannerText .quickLink:hover::after {
  transition: background-color 0.35s ease-in;
  background-color: color-mix(in srgb, var(--gg-color-secondary), var(--gg-color-black) 10%);
}
.bannerHolder.textMenu .bannerText .quickLink::after,
.bannerHolder.textLeft .bannerText .quickLink::after {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  top: 0;
  right: 99%;
  bottom: 0;
  width: 100vw;
  height: 100%;
  background-color: inherit;
  transition: all 0.35s ease;
}
.bannerHolder.textMenu.textFullHeight .bannerTrack .banner .image:first-child,
.bannerHolder.textLeft.textFullHeight .bannerTrack .banner .image:first-child {
  margin-left: auto;
  margin-right: 0;
}

.bannerHolder.textTop .flexer,
.bannerHolder.textBottom .flexer,
.bannerHolder.textCentre .flexer {
  justify-content: center;
}
.bannerHolder.textTop .bannerText,
.bannerHolder.textBottom .bannerText,
.bannerHolder.textCentre .bannerText {
  width: calc(33.333% + (calc(18px + 2.5vw)) * 2);
}
.bannerHolder.textTop .bannerText .text *,
.bannerHolder.textBottom .bannerText .text *,
.bannerHolder.textCentre .bannerText .text * {
  text-align: center;
}
.bannerHolder.textTop.textWidthWide .bannerText,
.bannerHolder.textBottom.textWidthWide .bannerText,
.bannerHolder.textCentre.textWidthWide .bannerText {
  width: 75%;
  max-width: 1050px;
}
.bannerHolder.textTop.textWidthExtraWide .bannerText,
.bannerHolder.textBottom.textWidthExtraWide .bannerText,
.bannerHolder.textCentre.textWidthExtraWide .bannerText {
  width: 100%;
  max-width: 1400px;
}

.bannerHolder.textTop .flexer {
  align-items: flex-start;
  align-self: start;
}
.bannerHolder.textTop .flexer .bannerText {
  margin-bottom: calc((calc(18px + 2.5vw)) * 2 * 2);
  margin-top: 0;
}

.bannerHolder.textBottom .flexer {
  align-items: flex-end;
  align-self: end;
}
.bannerHolder.textBottom .flexer .bannerText {
  margin-top: calc((calc(18px + 2.5vw)) * 2 * 2);
  margin-bottom: 0;
}
.bannerHolder.textBottom .flexer .bannerText.border_break {
  transform: translateY(50%);
}

@media only screen and (max-width: 1000px) {
  .bannerHolder.textCentre .bannerText {
    width: 50%;
  }
} /*$laptop ends*/
@media only screen and (max-width: 900px) {
  .bannerHolder .wrapper {
    width: 100%;
    max-width: 100%;
  }
  .bannerHolder.textCentre .bannerText {
    width: 66.66%;
  }
  .bannerHolder .bannerTrack .banner .image:nth-child(3n) {
    display: none;
  }
} /*$bigTablet ends*/
@media only screen and (max-width: 700px) {
  .bannerHolder .bannerTrack .banner {
    grid-auto-rows: 1fr;
    grid-auto-flow: row;
  }
  .bannerHolder.textLeft .banner .image {
    margin-right: 0;
    margin-left: auto;
  }
  .bannerHolder.textCentre .bannerText,
  .bannerHolder.textCentre.textNaturalHeight .bannerText {
    width: 80vw;
  }
  .bannerHolder.textCentre .bannerText::after, .bannerHolder.textCentre .bannerText .bgImage,
  .bannerHolder.textCentre.textNaturalHeight .bannerText::after,
  .bannerHolder.textCentre.textNaturalHeight .bannerText .bgImage {
    width: 80vw;
  }
  .bannerHolder.textRight.textFullHeight .bannerText,
  .bannerHolder.textLeft.textFullHeight .bannerText {
    width: 50vw;
  }
  .bannerHolder.textRight.textFullHeight .bannerText::after, .bannerHolder.textRight.textFullHeight .bannerText .bgImage,
  .bannerHolder.textLeft.textFullHeight .bannerText::after,
  .bannerHolder.textLeft.textFullHeight .bannerText .bgImage {
    width: 50vw;
  }
  .bannerHolder.textRight .bannerText,
  .bannerHolder.textLeft .bannerText,
  .bannerHolder.textRight.textNaturalHeight .bannerText,
  .bannerHolder.textLeft.textNaturalHeight .bannerText,
  .bannerHolder.textNaturalHeight .bannerText {
    width: 66.6vw;
  }
  .bannerHolder.textRight .bannerText::after, .bannerHolder.textRight .bannerText .bgImage,
  .bannerHolder.textLeft .bannerText::after,
  .bannerHolder.textLeft .bannerText .bgImage,
  .bannerHolder.textRight.textNaturalHeight .bannerText::after,
  .bannerHolder.textRight.textNaturalHeight .bannerText .bgImage,
  .bannerHolder.textLeft.textNaturalHeight .bannerText::after,
  .bannerHolder.textLeft.textNaturalHeight .bannerText .bgImage,
  .bannerHolder.textNaturalHeight .bannerText::after,
  .bannerHolder.textNaturalHeight .bannerText .bgImage {
    width: 66.6vw;
  }
} /*$smallTablet ends*/
@media only screen and (max-width: 650px) {
  .bannerHolder,
  .bannerHolder:has(.text),
  .bannerHolder.textLeft,
  .bannerHolder.textLeft,
  .bannerHolder.textLeft.textFullHeight,
  .bannerHolder.textLeft.textNaturalHeight,
  .bannerHolder.textRight,
  .bannerHolder.textRight.textFullHeight,
  .bannerHolder.textRight.textNaturalHeight {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: center;
  }
  .bannerHolder > .wrapper.flexer,
  .bannerHolder:has(.text) > .wrapper.flexer,
  .bannerHolder.textLeft > .wrapper.flexer,
  .bannerHolder.textLeft > .wrapper.flexer,
  .bannerHolder.textLeft.textFullHeight > .wrapper.flexer,
  .bannerHolder.textLeft.textNaturalHeight > .wrapper.flexer,
  .bannerHolder.textRight > .wrapper.flexer,
  .bannerHolder.textRight.textFullHeight > .wrapper.flexer,
  .bannerHolder.textRight.textNaturalHeight > .wrapper.flexer {
    order: 1;
  }
  .bannerHolder > .wrapper.flexer .bannerText,
  .bannerHolder:has(.text) > .wrapper.flexer .bannerText,
  .bannerHolder.textLeft > .wrapper.flexer .bannerText,
  .bannerHolder.textLeft > .wrapper.flexer .bannerText,
  .bannerHolder.textLeft.textFullHeight > .wrapper.flexer .bannerText,
  .bannerHolder.textLeft.textNaturalHeight > .wrapper.flexer .bannerText,
  .bannerHolder.textRight > .wrapper.flexer .bannerText,
  .bannerHolder.textRight.textFullHeight > .wrapper.flexer .bannerText,
  .bannerHolder.textRight.textNaturalHeight > .wrapper.flexer .bannerText {
    width: calc(100% - (calc(18px + 2.5vw)) * 2);
    margin-top: calc(0px - (calc(18px + 2.5vw)) * 2);
  }
  .bannerHolder .bannerTrack,
  .bannerHolder:has(.text) .bannerTrack,
  .bannerHolder.textLeft .bannerTrack,
  .bannerHolder.textLeft .bannerTrack,
  .bannerHolder.textLeft.textFullHeight .bannerTrack,
  .bannerHolder.textLeft.textNaturalHeight .bannerTrack,
  .bannerHolder.textRight .bannerTrack,
  .bannerHolder.textRight.textFullHeight .bannerTrack,
  .bannerHolder.textRight.textNaturalHeight .bannerTrack {
    order: 0;
    height: 66vh;
  }
} /*$bigPhone ends*/
@media only screen and (max-width: 450px) {
  .bannerHolder.textLeft .bannerTrack,
  .bannerHolder.textLeft .bannerTrack,
  .bannerHolder.textLeft.textFullHeight .bannerTrack,
  .bannerHolder.textLeft.textFullFullHeight .bannerTrack,
  .bannerHolder.textLeft.textNaturalHeight .bannerTrack,
  .bannerHolder.textRight .bannerTrack,
  .bannerHolder.textRight.textFullHeight .bannerTrack,
  .bannerHolder.textRight.textNaturalHeight .bannerTrack {
    min-height: 40vh;
  }
  .bannerHolder.textLeft .bannerTrack .banner .image,
  .bannerHolder.textLeft .bannerTrack .banner .image,
  .bannerHolder.textLeft.textFullHeight .bannerTrack .banner .image,
  .bannerHolder.textLeft.textFullFullHeight .bannerTrack .banner .image,
  .bannerHolder.textLeft.textNaturalHeight .bannerTrack .banner .image,
  .bannerHolder.textRight .bannerTrack .banner .image,
  .bannerHolder.textRight.textFullHeight .bannerTrack .banner .image,
  .bannerHolder.textRight.textNaturalHeight .bannerTrack .banner .image {
    display: none;
  }
  .bannerHolder.textLeft .bannerTrack .banner .image:first-child,
  .bannerHolder.textLeft .bannerTrack .banner .image:first-child,
  .bannerHolder.textLeft.textFullHeight .bannerTrack .banner .image:first-child,
  .bannerHolder.textLeft.textFullFullHeight .bannerTrack .banner .image:first-child,
  .bannerHolder.textLeft.textNaturalHeight .bannerTrack .banner .image:first-child,
  .bannerHolder.textRight .bannerTrack .banner .image:first-child,
  .bannerHolder.textRight.textFullHeight .bannerTrack .banner .image:first-child,
  .bannerHolder.textRight.textNaturalHeight .bannerTrack .banner .image:first-child {
    display: block;
  }
} /*$phone ends*/
/*ANIMATIONS*/
@media (prefers-reduced-motion: no-preference) {
  html.js .bannerMenu .flooringTile {
    opacity: 0;
  }
  html.js .bannerHolder.textMenu .bannerText,
  html.js .bannerHolder.textLeft .bannerText {
    opacity: 0;
  }
  html.js .bannerHolder.textRight .bannerText {
    opacity: 0;
  }
  html.js .bannerHolder.textCentre .bannerText {
    opacity: 0;
  }
  html.js .bannerHolder.textMenu .bannerText .text > *,
  html.js .bannerHolder.textLeft .bannerText .text > * {
    opacity: 0;
  }
  html.js .bannerHolder.textRight .bannerText .text > * {
    opacity: 0;
  }
  html.js .bannerHolder.textCentre .bannerText .text > * {
    opacity: 0;
  }
}
.block {
  margin-top: calc(18px + 2.5vw + (calc(18px + 2.5vw)) * 0.25);
}

.noSpace {
  margin-top: 0;
}

.quarterSpace {
  margin-top: calc((calc(18px + 2.5vw)) * 0.25);
}

.halfSpace {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}

.doubleSpace {
  margin-top: calc((calc(18px + 2.5vw)) * 2);
}

.minusHalfSpace {
  margin-top: calc(0px - calc((calc(18px + 2.5vw)) * 0.5));
  z-index: 3;
}

.minusSpace {
  margin-top: calc(0px - calc(18px + 2.5vw));
  z-index: 3;
}

.minusDoubleSpace {
  margin-top: calc(0px - calc((calc(18px + 2.5vw)) * 2));
  z-index: 3;
}

.minusTrebleSpace {
  margin-top: calc(0px - 3 * (calc(18px + 2.5vw)));
  z-index: 3;
}

.block * {
  z-index: 1;
}
.block .bgImage {
  z-index: 0;
}
.block .bgImage img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.block.vertAlignCentre:not(.textContent) .flexer {
  align-items: center;
}

.block.vertAlignBottom:not(.textContent) .flexer {
  align-items: flex-end;
}

.positioner {
  width: 100%;
}
.positioner > *:last-child {
  margin-bottom: 0;
}
.positioner > h1:last-child, .positioner h2:last-child, .positioner h3:last-child, .positioner h4:last-child, .positioner h5:last-child {
  margin-bottom: 0.5em;
}
.positioner.fullWidth {
  max-width: none;
}
.positioner .hasColour *:last-child {
  margin-bottom: 0;
}

.textAlignCentre .positioner {
  max-width: var(1050px);
  margin-left: auto;
  margin-right: auto;
}

.fullWidth {
  width: 100%;
  max-width: 100%;
}

.blackText p, .blackText ul, .blackText ol, .blackText table, .blackText blockquote,
.blackText h1, .blackText h2, .blackText h3, .blackText h4, .blackText h5, .blackText h6 {
  color: var(--gg-color-black);
}
.blackText p span, .blackText ul span, .blackText ol span, .blackText table span, .blackText blockquote span,
.blackText h1 span, .blackText h2 span, .blackText h3 span, .blackText h4 span, .blackText h5 span, .blackText h6 span {
  text-decoration-color: var(--gg-color-white);
}
.blackText ul li::before {
  background-color: var(--gg-color-black);
}
.blackText ol li:before {
  color: var(--gg-color-black);
}
.blackText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-black);
}
.blackText hr {
  background-color: var(--gg-color-black);
}

.lightText p, .lightText ul, .lightText ol, .lightText table, .lightText blockquote,
.lightText h1, .lightText h2, .lightText h3, .lightText h4, .lightText h5, .lightText h6 {
  color: var(--gg-color-white);
}
.lightText p span, .lightText ul span, .lightText ol span, .lightText table span, .lightText blockquote span,
.lightText h1 span, .lightText h2 span, .lightText h3 span, .lightText h4 span, .lightText h5 span, .lightText h6 span {
  text-decoration-color: var(--gg-color-white);
}
.lightText .quickEnquiryLink a,
.lightText .quickEnquiryLink {
  color: var(--gg-color-white);
}
.lightText ul li::before {
  background-color: var(--gg-color-white);
}
.lightText ol li:before {
  color: var(--gg-color-white);
}
.lightText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-white);
}
.lightText hr {
  background-color: var(--gg-color-white);
}
.lightText p a {
  color: var(--gg-color-white);
  text-decoration: underline;
}

.block.halfWhiteBackBottom {
  background-image: linear-gradient(to top, var(--gg-color-white) 0%, var(--gg-color-white) 50%, rgba(0, 0, 0, 0) 50%);
  /*$smallTablet ends*/
}
@media only screen and (max-width: 700px) {
  .block.halfWhiteBackBottom {
    background-image: linear-gradient(to top, var(--gg-color-white) 0%, var(--gg-color-white) 30%, rgba(0, 0, 0, 0) 30%);
  }
}

.whiteText * p, .whiteText * ul, .whiteText * ol, .whiteText * table, .whiteText * blockquote,
.whiteText * h1, .whiteText * h2, .whiteText * h3, .whiteText * h4, .whiteText * h5, .whiteText * h6, .whiteText .text p, .whiteText .text ul, .whiteText .text ol, .whiteText .text table, .whiteText .text blockquote,
.whiteText .text h1, .whiteText .text h2, .whiteText .text h3, .whiteText .text h4, .whiteText .text h5, .whiteText .text h6 {
  color: var(--gg-color-white);
}
.whiteText * p span, .whiteText * ul span, .whiteText * ol span, .whiteText * table span, .whiteText * blockquote span,
.whiteText * h1 span, .whiteText * h2 span, .whiteText * h3 span, .whiteText * h4 span, .whiteText * h5 span, .whiteText * h6 span, .whiteText .text p span, .whiteText .text ul span, .whiteText .text ol span, .whiteText .text table span, .whiteText .text blockquote span,
.whiteText .text h1 span, .whiteText .text h2 span, .whiteText .text h3 span, .whiteText .text h4 span, .whiteText .text h5 span, .whiteText .text h6 span {
  text-decoration-color: var(--gg-color-white);
}
.whiteText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-white);
}
.whiteText hr {
  background-color: var(--gg-color-white);
}

.primaryText * p, .primaryText * ul, .primaryText * ol, .primaryText * table, .primaryText * blockquote,
.primaryText * h1, .primaryText * h2, .primaryText * h3, .primaryText * h4, .primaryText * h5, .primaryText * h6, .primaryText .text p, .primaryText .text ul, .primaryText .text ol, .primaryText .text table, .primaryText .text blockquote,
.primaryText .text h1, .primaryText .text h2, .primaryText .text h3, .primaryText .text h4, .primaryText .text h5, .primaryText .text h6 {
  color: var(--gg-color-primary);
}
.primaryText * p span, .primaryText * ul span, .primaryText * ol span, .primaryText * table span, .primaryText * blockquote span,
.primaryText * h1 span, .primaryText * h2 span, .primaryText * h3 span, .primaryText * h4 span, .primaryText * h5 span, .primaryText * h6 span, .primaryText .text p span, .primaryText .text ul span, .primaryText .text ol span, .primaryText .text table span, .primaryText .text blockquote span,
.primaryText .text h1 span, .primaryText .text h2 span, .primaryText .text h3 span, .primaryText .text h4 span, .primaryText .text h5 span, .primaryText .text h6 span {
  text-decoration-color: var(--gg-color-primary);
}
.primaryText * ul li::before, .primaryText .text ul li::before {
  background-color: var(--gg-color-secondary);
}
.primaryText * ol li:before, .primaryText .text ol li:before {
  color: var(--gg-color-secondary);
}
.primaryText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-primary);
}
.primaryText hr {
  background-color: var(--gg-color-primary);
}

.secondaryText * p, .secondaryText * ul, .secondaryText * ol, .secondaryText * table, .secondaryText * blockquote,
.secondaryText * h1, .secondaryText * h2, .secondaryText * h3, .secondaryText * h4, .secondaryText * h5, .secondaryText * h6, .secondaryText .text p, .secondaryText .text ul, .secondaryText .text ol, .secondaryText .text table, .secondaryText .text blockquote,
.secondaryText .text h1, .secondaryText .text h2, .secondaryText .text h3, .secondaryText .text h4, .secondaryText .text h5, .secondaryText .text h6 {
  color: var(--gg-color-secondary);
}
.secondaryText * p span, .secondaryText * ul span, .secondaryText * ol span, .secondaryText * table span, .secondaryText * blockquote span,
.secondaryText * h1 span, .secondaryText * h2 span, .secondaryText * h3 span, .secondaryText * h4 span, .secondaryText * h5 span, .secondaryText * h6 span, .secondaryText .text p span, .secondaryText .text ul span, .secondaryText .text ol span, .secondaryText .text table span, .secondaryText .text blockquote span,
.secondaryText .text h1 span, .secondaryText .text h2 span, .secondaryText .text h3 span, .secondaryText .text h4 span, .secondaryText .text h5 span, .secondaryText .text h6 span {
  text-decoration-color: var(--gg-color-secondary);
}
.secondaryText * ul li::before, .secondaryText .text ul li::before {
  background-color: var(--gg-color-secondary);
}
.secondaryText * ol li:before, .secondaryText .text ol li:before {
  color: var(--gg-color-secondary);
}
.secondaryText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-secondary);
}

.greyText * p, .greyText * ul, .greyText * ol, .greyText * table, .greyText * blockquote,
.greyText * h1, .greyText * h2, .greyText * h3, .greyText * h4, .greyText * h5, .greyText * h6, .greyText .text p, .greyText .text ul, .greyText .text ol, .greyText .text table, .greyText .text blockquote,
.greyText .text h1, .greyText .text h2, .greyText .text h3, .greyText .text h4, .greyText .text h5, .greyText .text h6 {
  color: var(--gg-color-grey);
}
.greyText * p span, .greyText * ul span, .greyText * ol span, .greyText * table span, .greyText * blockquote span,
.greyText * h1 span, .greyText * h2 span, .greyText * h3 span, .greyText * h4 span, .greyText * h5 span, .greyText * h6 span, .greyText .text p span, .greyText .text ul span, .greyText .text ol span, .greyText .text table span, .greyText .text blockquote span,
.greyText .text h1 span, .greyText .text h2 span, .greyText .text h3 span, .greyText .text h4 span, .greyText .text h5 span, .greyText .text h6 span {
  text-decoration-color: var(--gg-color-grey);
}
.greyText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-grey);
}

.darkGreyText * p, .darkGreyText * ul, .darkGreyText * ol, .darkGreyText * table, .darkGreyText * blockquote,
.darkGreyText * h1, .darkGreyText * h2, .darkGreyText * h3, .darkGreyText * h4, .darkGreyText * h5, .darkGreyText * h6, .darkGreyText .text p, .darkGreyText .text ul, .darkGreyText .text ol, .darkGreyText .text table, .darkGreyText .text blockquote,
.darkGreyText .text h1, .darkGreyText .text h2, .darkGreyText .text h3, .darkGreyText .text h4, .darkGreyText .text h5, .darkGreyText .text h6 {
  color: var(--gg-color-dark-grey);
}
.darkGreyText * p span, .darkGreyText * ul span, .darkGreyText * ol span, .darkGreyText * table span, .darkGreyText * blockquote span,
.darkGreyText * h1 span, .darkGreyText * h2 span, .darkGreyText * h3 span, .darkGreyText * h4 span, .darkGreyText * h5 span, .darkGreyText * h6 span, .darkGreyText .text p span, .darkGreyText .text ul span, .darkGreyText .text ol span, .darkGreyText .text table span, .darkGreyText .text blockquote span,
.darkGreyText .text h1 span, .darkGreyText .text h2 span, .darkGreyText .text h3 span, .darkGreyText .text h4 span, .darkGreyText .text h5 span, .darkGreyText .text h6 span {
  text-decoration-color: var(--gg-color-dark-grey);
}
.darkGreyText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-dark-grey);
}

.blackText * p, .blackText * ul, .blackText * ol, .blackText * table, .blackText * blockquote,
.blackText * h1, .blackText * h2, .blackText * h3, .blackText * h4, .blackText * h5, .blackText * h6, .blackText .text p, .blackText .text ul, .blackText .text ol, .blackText .text table, .blackText .text blockquote,
.blackText .text h1, .blackText .text h2, .blackText .text h3, .blackText .text h4, .blackText .text h5, .blackText .text h6 {
  color: var(--gg-color-black);
}
.blackText * p span, .blackText * ul span, .blackText * ol span, .blackText * table span, .blackText * blockquote span,
.blackText * h1 span, .blackText * h2 span, .blackText * h3 span, .blackText * h4 span, .blackText * h5 span, .blackText * h6 span, .blackText .text p span, .blackText .text ul span, .blackText .text ol span, .blackText .text table span, .blackText .text blockquote span,
.blackText .text h1 span, .blackText .text h2 span, .blackText .text h3 span, .blackText .text h4 span, .blackText .text h5 span, .blackText .text h6 span {
  text-decoration-color: var(--gg-color-black);
}
.blackText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-black);
}

.redText * p, .redText * ul, .redText * ol, .redText * table, .redText * blockquote,
.redText * h1, .redText * h2, .redText * h3, .redText * h4, .redText * h5, .redText * h6, .redText .text p, .redText .text ul, .redText .text ol, .redText .text table, .redText .text blockquote,
.redText .text h1, .redText .text h2, .redText .text h3, .redText .text h4, .redText .text h5, .redText .text h6 {
  color: var(--gg-color-red);
}
.redText * p span, .redText * ul span, .redText * ol span, .redText * table span, .redText * blockquote span,
.redText * h1 span, .redText * h2 span, .redText * h3 span, .redText * h4 span, .redText * h5 span, .redText * h6 span, .redText .text p span, .redText .text ul span, .redText .text ol span, .redText .text table span, .redText .text blockquote span,
.redText .text h1 span, .redText .text h2 span, .redText .text h3 span, .redText .text h4 span, .redText .text h5 span, .redText .text h6 span {
  text-decoration-color: var(--gg-color-red);
}
.redText .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-red);
}

.hasBackground {
  padding: calc(18px + 2.5vw);
}

.borderBreak {
  padding-top: 0;
}
.borderBreak .bgImage {
  top: calc((calc(18px + 2.5vw)) * 2);
  height: calc(100% - (calc((calc(18px + 2.5vw)) * 2)));
}

.bgColour.hasColour {
  padding: 0;
}

.hasColour {
  padding: calc(18px + 2.5vw);
}
.hasColour.removePadding {
  padding: 0;
}
.hasColour.primaryBack {
  background-color: var(--gg-color-primary);
}
.hasColour.primaryBack p, .hasColour.primaryBack ul, .hasColour.primaryBack ol, .hasColour.primaryBack table, .hasColour.primaryBack blockquote,
.hasColour.primaryBack h1, .hasColour.primaryBack h2, .hasColour.primaryBack h3, .hasColour.primaryBack h4, .hasColour.primaryBack h5, .hasColour.primaryBack h6 {
  color: var(--gg-color-white);
}
.hasColour.primaryBack p span, .hasColour.primaryBack ul span, .hasColour.primaryBack ol span, .hasColour.primaryBack table span, .hasColour.primaryBack blockquote span,
.hasColour.primaryBack h1 span, .hasColour.primaryBack h2 span, .hasColour.primaryBack h3 span, .hasColour.primaryBack h4 span, .hasColour.primaryBack h5 span, .hasColour.primaryBack h6 span {
  text-decoration-color: var(--gg-color-white);
}
.hasColour.primaryBack .quickEnquiryLink a,
.hasColour.primaryBack .quickEnquiryLink {
  color: var(--gg-color-white);
}
.hasColour.primaryBack ul li::before {
  background-color: var(--gg-color-white);
}
.hasColour.primaryBack ol li:before {
  color: var(--gg-color-white);
}
.hasColour.primaryBack .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-white);
}
.hasColour.primaryBack hr {
  background-color: var(--gg-color-white);
}
.hasColour.primaryBack p a {
  color: var(--gg-color-white);
  text-decoration: underline;
}
.hasColour.primaryBack > .text *:not(.headBlock) h1.primaryColour, .hasColour.primaryBack > .text *:not(.headBlock) h2.primaryColour, .hasColour.primaryBack > .text *:not(.headBlock) h3.primaryColour, .hasColour.primaryBack > .text *:not(.headBlock) h4.primaryColour, .hasColour.primaryBack > .text *:not(.headBlock) h5.primaryColour, .hasColour.primaryBack > .text *:not(.headBlock) h6.primaryColour, .hasColour.primaryBack > .text *:not(.headBlock) a ul.primaryColour, .hasColour.primaryBack > .text *:not(.headBlock) li.primaryColour, .hasColour.primaryBack > .text *:not(.headBlock) span.primaryColour {
  color: var(--gg-color-white) !important;
}
.hasColour.primaryBack .blockLink {
  background-color: var(--gg-color-secondary);
}
.hasColour.secondaryBack {
  background-color: var(--gg-color-secondary);
}
.hasColour.secondaryBack p, .hasColour.secondaryBack ul, .hasColour.secondaryBack ol, .hasColour.secondaryBack table, .hasColour.secondaryBack blockquote,
.hasColour.secondaryBack h1, .hasColour.secondaryBack h2, .hasColour.secondaryBack h3, .hasColour.secondaryBack h4, .hasColour.secondaryBack h5, .hasColour.secondaryBack h6 {
  color: var(--gg-color-white);
}
.hasColour.secondaryBack p span, .hasColour.secondaryBack ul span, .hasColour.secondaryBack ol span, .hasColour.secondaryBack table span, .hasColour.secondaryBack blockquote span,
.hasColour.secondaryBack h1 span, .hasColour.secondaryBack h2 span, .hasColour.secondaryBack h3 span, .hasColour.secondaryBack h4 span, .hasColour.secondaryBack h5 span, .hasColour.secondaryBack h6 span {
  text-decoration-color: var(--gg-color-white);
}
.hasColour.secondaryBack .quickEnquiryLink a,
.hasColour.secondaryBack .quickEnquiryLink {
  color: var(--gg-color-white);
}
.hasColour.secondaryBack ul li::before {
  background-color: var(--gg-color-white);
}
.hasColour.secondaryBack ol li:before {
  color: var(--gg-color-white);
}
.hasColour.secondaryBack .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-white);
}
.hasColour.secondaryBack hr {
  background-color: var(--gg-color-white);
}
.hasColour.secondaryBack p a {
  color: var(--gg-color-white);
  text-decoration: underline;
}
.hasColour.secondaryBack hr {
  background-color: var(--gg-color-primary) !important;
}
.hasColour.secondaryBack > .text *:not(.headBlock) h1.secondaryColour, .hasColour.secondaryBack > .text *:not(.headBlock) h2.secondaryColour, .hasColour.secondaryBack > .text *:not(.headBlock) h3.secondaryColour, .hasColour.secondaryBack > .text *:not(.headBlock) h4.secondaryColour, .hasColour.secondaryBack > .text *:not(.headBlock) h5.secondaryColour, .hasColour.secondaryBack > .text *:not(.headBlock) h6.secondaryColour, .hasColour.secondaryBack > .text *:not(.headBlock) a ul.secondaryColour, .hasColour.secondaryBack > .text *:not(.headBlock) li.secondaryColour, .hasColour.secondaryBack > .text *:not(.headBlock) span.secondaryColour {
  color: var(--gg-color-white) !important;
}
.hasColour.secondaryBack .blockLink {
  background-color: var(--gg-color-primary);
}
.hasColour.greyBack {
  background-color: var(--gg-color-grey);
}
.hasColour.lightGreyBack {
  background-color: var(--gg-color-light-grey);
}
.hasColour.darkGreyBack {
  background-color: var(--gg-color-dark-grey);
}
.hasColour.darkGreyBack p, .hasColour.darkGreyBack ul, .hasColour.darkGreyBack ol, .hasColour.darkGreyBack table, .hasColour.darkGreyBack blockquote,
.hasColour.darkGreyBack h1, .hasColour.darkGreyBack h2, .hasColour.darkGreyBack h3, .hasColour.darkGreyBack h4, .hasColour.darkGreyBack h5, .hasColour.darkGreyBack h6 {
  color: var(--gg-color-white);
}
.hasColour.darkGreyBack p span, .hasColour.darkGreyBack ul span, .hasColour.darkGreyBack ol span, .hasColour.darkGreyBack table span, .hasColour.darkGreyBack blockquote span,
.hasColour.darkGreyBack h1 span, .hasColour.darkGreyBack h2 span, .hasColour.darkGreyBack h3 span, .hasColour.darkGreyBack h4 span, .hasColour.darkGreyBack h5 span, .hasColour.darkGreyBack h6 span {
  text-decoration-color: var(--gg-color-white);
}
.hasColour.darkGreyBack .quickEnquiryLink a,
.hasColour.darkGreyBack .quickEnquiryLink {
  color: var(--gg-color-white);
}
.hasColour.darkGreyBack ul li::before {
  background-color: var(--gg-color-white);
}
.hasColour.darkGreyBack ol li:before {
  color: var(--gg-color-white);
}
.hasColour.darkGreyBack .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-white);
}
.hasColour.darkGreyBack hr {
  background-color: var(--gg-color-white);
}
.hasColour.darkGreyBack p a {
  color: var(--gg-color-white);
  text-decoration: underline;
}
.hasColour.darkGreyBack h1.grey, .hasColour.darkGreyBack h2.grey, .hasColour.darkGreyBack h3.grey, .hasColour.darkGreyBack h4.grey, .hasColour.darkGreyBack h5.grey, .hasColour.darkGreyBack h6.grey, .hasColour.darkGreyBack a ul.grey, .hasColour.darkGreyBack li.grey, .hasColour.darkGreyBack span.grey {
  color: var(--gg-color-white) !important;
}
.hasColour.blackBack {
  background-color: var(--gg-color-black);
}
.hasColour.blackBack p, .hasColour.blackBack ul, .hasColour.blackBack ol, .hasColour.blackBack table, .hasColour.blackBack blockquote,
.hasColour.blackBack h1, .hasColour.blackBack h2, .hasColour.blackBack h3, .hasColour.blackBack h4, .hasColour.blackBack h5, .hasColour.blackBack h6 {
  color: var(--gg-color-white);
}
.hasColour.blackBack p span, .hasColour.blackBack ul span, .hasColour.blackBack ol span, .hasColour.blackBack table span, .hasColour.blackBack blockquote span,
.hasColour.blackBack h1 span, .hasColour.blackBack h2 span, .hasColour.blackBack h3 span, .hasColour.blackBack h4 span, .hasColour.blackBack h5 span, .hasColour.blackBack h6 span {
  text-decoration-color: var(--gg-color-white);
}
.hasColour.blackBack .quickEnquiryLink a,
.hasColour.blackBack .quickEnquiryLink {
  color: var(--gg-color-white);
}
.hasColour.blackBack ul li::before {
  background-color: var(--gg-color-white);
}
.hasColour.blackBack ol li:before {
  color: var(--gg-color-white);
}
.hasColour.blackBack .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-white);
}
.hasColour.blackBack hr {
  background-color: var(--gg-color-white);
}
.hasColour.blackBack p a {
  color: var(--gg-color-white);
  text-decoration: underline;
}
.hasColour.blackBack h1.black, .hasColour.blackBack h2.black, .hasColour.blackBack h3.black, .hasColour.blackBack h4.black, .hasColour.blackBack h5.black, .hasColour.blackBack h6.black, .hasColour.blackBack a ul.black, .hasColour.blackBack li.black, .hasColour.blackBack span.black {
  color: var(--gg-color-white) !important;
}
.hasColour.whiteBack {
  background-color: var(--gg-color-white);
}
.hasColour.redBack {
  background-color: var(--gg-color-red);
}
.hasColour.redBack p, .hasColour.redBack ul, .hasColour.redBack ol, .hasColour.redBack table, .hasColour.redBack blockquote,
.hasColour.redBack h1, .hasColour.redBack h2, .hasColour.redBack h3, .hasColour.redBack h4, .hasColour.redBack h5, .hasColour.redBack h6 {
  color: var(--gg-color-white);
}
.hasColour.redBack p span, .hasColour.redBack ul span, .hasColour.redBack ol span, .hasColour.redBack table span, .hasColour.redBack blockquote span,
.hasColour.redBack h1 span, .hasColour.redBack h2 span, .hasColour.redBack h3 span, .hasColour.redBack h4 span, .hasColour.redBack h5 span, .hasColour.redBack h6 span {
  text-decoration-color: var(--gg-color-white);
}
.hasColour.redBack .quickEnquiryLink a,
.hasColour.redBack .quickEnquiryLink {
  color: var(--gg-color-white);
}
.hasColour.redBack ul li::before {
  background-color: var(--gg-color-white);
}
.hasColour.redBack ol li:before {
  color: var(--gg-color-white);
}
.hasColour.redBack .flickity-enabled .flickity-button-icon {
  fill: var(--gg-color-white);
}
.hasColour.redBack hr {
  background-color: var(--gg-color-white);
}
.hasColour.redBack p a {
  color: var(--gg-color-white);
  text-decoration: underline;
}
.hasColour.redBack h1.red, .hasColour.redBack h2.red, .hasColour.redBack h3.red, .hasColour.redBack h4.red, .hasColour.redBack h5.red, .hasColour.redBack h6.red, .hasColour.redBack a ul.red, .hasColour.redBack li.red, .hasColour.redBack span.red {
  color: var(--gg-color-white) !important;
}
.hasColour.noPadTop {
  padding-top: 0;
}
.hasColour.halfPadTop {
  padding-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.hasColour.doublePadTop {
  padding-top: calc((calc(18px + 2.5vw)) * 2);
}
.hasColour.noPadBottom {
  padding-bottom: 0;
}
.hasColour.halfPadBottom {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.hasColour.doublePadBottom {
  padding-bottom: calc((calc(18px + 2.5vw)) * 2);
}

.noPadding {
  padding: 0;
}

.textAlignCentre .text * {
  text-align: center;
}
.textAlignCentre .text li {
  text-align: left;
}
.textAlignCentre .text h1, .textAlignCentre .text h2, .textAlignCentre .text h3, .textAlignCentre .text h4, .textAlignCentre .text h5, .textAlignCentre .text h6 {
  text-align: center;
  width: 100%;
  display: inline-block;
}

.textAlignRight .text * {
  text-align: right;
}
.textAlignRight .text li {
  text-align: left;
}
.textAlignRight .text h1, .textAlignRight .text h2, .textAlignRight .text h3, .textAlignRight .text h4, .textAlignRight .text h5, .textAlignRight .text h6 {
  text-align: right;
  width: 100%;
  display: inline-block;
}

/*Mac Image Width Only*/
.image.max150px {
  max-width: 150px;
}

.image.max300px {
  max-width: 300px;
}

.image.max450px {
  max-width: 450px;
}

.image.max600px {
  max-width: 600px;
}

.max100Outer {
  width: 100%;
  max-width: 100%;
}

.max100OuterInner {
  width: 100%;
  max-width: 100%;
}
.max100OuterInner > div {
  width: 100% !important;
  max-width: 100% !important;
}

.max500px {
  max-width: 500px !important;
  margin-left: auto;
  margin-right: auto;
}

.max750px {
  max-width: 750px !important;
  margin-left: auto;
  margin-right: auto;
}

.max950px {
  max-width: 950px !important;
  margin-left: auto;
  margin-right: auto;
}

.max1050px {
  max-width: 1050px !important;
  margin-left: auto;
  margin-right: auto;
}

.max1100px {
  max-width: 1100px !important;
  margin-left: auto;
  margin-right: auto;
}

.max75 {
  max-width: 75% !important;
  margin-left: auto;
  margin-right: auto;
}

.textContent {
  overflow: hidden;
  display: block;
}
.textContent.max100Outer .flexer.wrapper .text::before, .textContent.max100Outer .flexer.wrapper .sideContent::before {
  content: "";
  display: block;
  position: absolute;
  right: 100%;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  background-color: inherit;
}
.textContent.max100Outer .flexer.wrapper .sideContent::before {
  content: "";
  left: 100%;
  right: auto;
}
.textContent.hasColour {
  padding: 0;
}
.textContent.hasColour .text {
  padding: calc(18px + 2.5vw);
}
.textContent.noPadTop .flexer .text.hasColour, .textContent.noPadTop .flexer .sideContent.hasColour {
  padding-top: 0;
}
.textContent.halfPadTop .flexer .text.hasColour, .textContent.halfPadTop .flexer .sideContent.hasColour {
  padding-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.textContent.doublePadTop .flexer .text.hasColour, .textContent.doublePadTop .flexer .sideContent.hasColour {
  padding-top: calc((calc(18px + 2.5vw)) * 2);
}
.textContent.noPadBottom .flexer .text.hasColour, .textContent.noPadBottom .flexer .sideContent.hasColour {
  padding-bottom: 0;
}
.textContent.halfPadBottom .flexer .text.hasColour, .textContent.halfPadBottom .flexer .sideContent.hasColour {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.textContent.doublePadBottom .flexer .text.hasColour, .textContent.doublePadBottom .flexer .sideContent.hasColour {
  padding-bottom: calc((calc(18px + 2.5vw)) * 2);
}
.textContent .flexer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: stretch;
  padding: 0;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
}
.textContent .positioner {
  margin-left: 0;
}
.textContent .text {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  margin-left: 0;
  margin-right: 0;
}
.textContent.noImagePad {
  padding: 0;
}
.textContent.noImagePad.hasColour .text {
  padding: calc(18px + 2.5vw);
  padding-right: 0px;
}
.textContent.dividerLine::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  right: auto;
  bottom: 0;
  width: 1px;
  height: 100%;
  background-color: currentColor;
  opacity: 0.5;
  z-index: 10;
}
.textContent.dividerLine:has(.hasColour + .hasColour)::after {
  top: calc(18px + 2.5vw);
  bottom: calc(18px + 2.5vw);
}
.textContent.imageSide.imgCrop .sideContent, .textContent.imageSide.imgSquare .sideContent {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: stretch;
  align-self: stretch;
}
.textContent.imageSide.imgCrop .image, .textContent.imageSide.imgSquare .image {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.textContent.imageSide.imgCrop .image img, .textContent.imageSide.imgCrop .image a, .textContent.imageSide.imgSquare .image img, .textContent.imageSide.imgSquare .image a {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.textContent.imageSide.imgSquare .sideContent .image {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  height: auto;
}
.textContent.imageSide.imgSquare .sideContent .image img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.textContent.imageSide.imgSquare .sideContent .image span {
  display: block;
  width: 100%;
  padding-top: 100%;
}
.textContent.imageSide.imgCropVert .sideContent {
  align-self: stretch;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: stretch;
}
.textContent.imageSide.imgCropVert .image, .textContent.imageSide.imgCropVert .image a {
  width: 100%;
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  background-color: var(--gg-color-light-grey);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: stretch;
  min-height: 100%;
}
.textContent.imageSide.imgCropVert img {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
}
.textContent .sideContent {
  width: calc(50% - (calc((calc(18px + 2.5vw)) * 0.5)));
  z-index: 2;
}
.textContent .sideContent .additionalText {
  width: 100%;
}
.textContent .sideContent.hideOnMobile {
  display: none !important;
}
.textContent.textLeft .text {
  padding-right: calc(18px + 2.5vw);
}
.textContent.textLeft .sideContent.colourMatch {
  padding-left: 0;
}
.textContent.textRight .text {
  padding-left: calc(18px + 2.5vw);
}
.textContent.textRight .sideContent.colourMatch {
  padding-right: 0;
}

.textContent.text33 .text {
  width: 33%;
}
.textContent.text33 .text.noBack {
  width: calc(33% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text33 .sideContent {
  width: 67%;
}
.textContent.text33 .sideContent.noBack {
  width: calc(67% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text33 .sideContent .text {
  width: 100%;
}
.textContent.text33.dividerLine .text {
  width: 33%;
}
.textContent.text33.dividerLine .text.noBack {
  width: calc(33% - (calc(18px + 2.5vw)));
}
.textContent.text33.dividerLine .sideContent {
  width: 67%;
}
.textContent.text33.dividerLine .sideContent.noBack {
  width: calc(67% - (calc(18px + 2.5vw)));
}
.textContent.text33.dividerLine::after {
  left: 33%;
}

.textContent.text40 .text {
  width: 40%;
}
.textContent.text40 .text.noBack {
  width: calc(40% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text40 .sideContent {
  width: 60%;
}
.textContent.text40 .sideContent.noBack {
  width: calc(60% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text40 .sideContent .text {
  width: 100%;
}
.textContent.text40.dividerLine .text {
  width: 40%;
}
.textContent.text40.dividerLine .text.noBack {
  width: calc(40% - (calc(18px + 2.5vw)));
}
.textContent.text40.dividerLine .sideContent {
  width: 60%;
}
.textContent.text40.dividerLine .sideContent.noBack {
  width: calc(60% - (calc(18px + 2.5vw)));
}
.textContent.text40.dividerLine::after {
  left: 60%;
}

.textContent.text50 .text {
  width: 50%;
}
.textContent.text50 .text.noBack {
  width: calc(50% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text50 .sideContent {
  width: 50%;
}
.textContent.text50 .sideContent.noBack {
  width: calc(50% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text50 .sideContent .text {
  width: 100%;
}
.textContent.text50.dividerLine .text {
  width: 50%;
}
.textContent.text50.dividerLine .text.noBack {
  width: calc(50% - (calc(18px + 2.5vw)));
}
.textContent.text50.dividerLine .sideContent {
  width: 50%;
}
.textContent.text50.dividerLine .sideContent.noBack {
  width: calc(50% - (calc(18px + 2.5vw)));
}
.textContent.text50.dividerLine .sideContent .text {
  width: 100%;
}
.textContent.text50.dividerLine::after {
  left: 50%;
}

.textContent.text66 .text {
  width: 66.666666%;
}
.textContent.text66 .text.noBack {
  width: calc(66.666666% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text66 .sideContent {
  width: 33.333334%;
}
.textContent.text66 .sideContent.noBack {
  width: calc(33.333334% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text66 .sideContent .text {
  width: 100%;
}
.textContent.text66.dividerLine .text {
  width: 66.666666%;
}
.textContent.text66.dividerLine .text.noBack {
  width: calc(66.666666% - (calc(18px + 2.5vw)));
}
.textContent.text66.dividerLine .sideContent {
  width: 33.333334%;
}
.textContent.text66.dividerLine .sideContent.noBack {
  width: calc(33.333334% - (calc(18px + 2.5vw)));
}
.textContent.text66.dividerLine::after {
  left: 66.666666%;
}

.textContent.text75 .text {
  width: 75%;
}
.textContent.text75 .text.noBack {
  width: calc(75% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text75 .sideContent {
  width: 25%;
}
.textContent.text75 .sideContent.noBack {
  width: calc(25% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text75 .sideContent .text {
  width: 100%;
}
.textContent.text75.dividerLine .text {
  width: 75%;
}
.textContent.text75.dividerLine .text.noBack {
  width: calc(75% - (calc(18px + 2.5vw)));
}
.textContent.text75.dividerLine .sideContent {
  width: 25%;
}
.textContent.text75.dividerLine .sideContent.noBack {
  width: calc(25% - (calc(18px + 2.5vw)));
}
.textContent.text75.dividerLine::after {
  left: 75%;
}

.textContent.text80 .text {
  width: 80%;
}
.textContent.text80 .text.noBack {
  width: calc(80% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text80 .sideContent {
  width: 5%;
}
.textContent.text80 .sideContent.noBack {
  width: calc(5% - (calc((calc(18px + 2.5vw)) * 0.5)));
}
.textContent.text80 .sideContent .text {
  width: 100%;
}
.textContent.text80.dividerLine .text {
  width: 80%;
}
.textContent.text80.dividerLine .text.noBack {
  width: calc(80% - (calc(18px + 2.5vw)));
}
.textContent.text80.dividerLine .sideContent {
  width: 20%;
}
.textContent.text80.dividerLine .sideContent.noBack {
  width: calc(20% - (calc(18px + 2.5vw)));
}
.textContent.text80.dividerLine::after {
  left: 80%;
}

.textContent .sideContent {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.textContent.textLeft.additionalTextSide .flexer:has(.hasColour + .hasColour), .textContent.textRight.additionalTextSide .flexer:has(.hasColour + .hasColour) {
  align-items: stretch;
}
.textContent.textLeft.additionalTextSide.vertAlignCentre .flexer:has(.hasColour + .hasColour), .textContent.textRight.additionalTextSide.vertAlignCentre .flexer:has(.hasColour + .hasColour) {
  align-items: stretch;
}
.textContent.textLeft.additionalTextSide.vertAlignCentre .sideContent, .textContent.textRight.additionalTextSide.vertAlignCentre .sideContent {
  justify-content: center;
}
.textContent.textLeft.additionalTextSide .flexer:has(.hasColour + .hasColour) .text {
  padding-right: calc((calc(18px + 2.5vw)) * 0.5);
}
.textContent.textLeft.additionalTextSide .flexer:has(.hasColour + .hasColour) .sideContent {
  padding-left: calc((calc(18px + 2.5vw)) * 0.5);
}
.textContent.textRight.additionalTextSide .flexer:has(.hasColour + .hasColour) .text {
  padding-left: calc((calc(18px + 2.5vw)) * 0.5);
}
.textContent.textRight.additionalTextSide .flexer:has(.hasColour + .hasColour) .sideContent {
  padding-right: calc((calc(18px + 2.5vw)) * 0.5);
}
.textContent.noImagePad.textLeft .flexer:has(.hasColour + .hasColour) .sideContent {
  padding: 0px;
}
.textContent.noImagePad.textLeft .flexer:has(.hasColour + .hasColour) .text {
  padding-right: calc(18px + 2.5vw);
}
.textContent.noImagePad.textRight .flexer:has(.hasColour + .hasColour) .sideContent {
  padding: 0px;
}
.textContent.noImagePad.textRight .flexer:has(.hasColour + .hasColour) .text {
  padding-left: calc(18px + 2.5vw);
}

.textContent.vertAlignTop .flexer:has(.hasColour + .hasColour) .sideContent {
  justify-content: flex-start;
}
.textContent.vertAlignCentre .flexer:has(.hasColour + .hasColour) .sideContent {
  justify-content: center;
}
.textContent.vertAlignBottom .flexer:has(.hasColour + .hasColour) .sideContent {
  justify-content: flex-end;
}

.textContent.vertAlignTop .positioner {
  margin-top: 0;
  margin-bottom: auto;
}

.textContent.vertAlignCentre .positioner {
  margin-top: auto;
  margin-bottom: auto;
}

.textContent.vertAlignBottom .positioner {
  margin-top: auto;
  margin-bottom: 0;
}

.textContent.textRight.noBack {
  border-bottom-right-radius: 0;
}
.textContent.textRight .sideContent {
  order: 1;
}
.textContent.textRight .text {
  order: 2;
}
.textContent.textRight.hasColour .text {
  padding-left: calc(18px + 2.5vw);
}
.textContent.textRight.noBack .text {
  padding-right: calc(18px + 2.5vw);
}

.textContent.borderBreak {
  overflow: visible;
}
.textContent.borderBreak::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  right: auto;
  bottom: auto;
  width: 100vw;
  transform: translateX(-50%);
  height: calc((calc(18px + 2.5vw)) * 2);
  background-color: var(--gg-color-white);
  z-index: 1;
}
.textContent.borderBreak .text {
  margin-top: calc((calc(18px + 2.5vw)) * 2);
}

@media only screen and (max-width: 1000px) {
  .textContent.laptopBreak.textLeft .flexer:has(.hasColour + .hasColour), .textContent.laptopBreak.textRight .flexer:has(.hasColour + .hasColour) {
    align-items: stretch;
  }
  .textContent.laptopBreak.textLeft .flexer:has(.hasColour + .hasColour) .text, .textContent.laptopBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent, .textContent.laptopBreak.textRight .flexer:has(.hasColour + .hasColour) .text, .textContent.laptopBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent .text, .textContent.laptopBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent .text {
    padding-left: 0px;
    padding-right: 0px;
  }
  .textContent.laptopBreak.text33 .flexer, .textContent.laptopBreak.text40 .flexer, .textContent.laptopBreak.text50 .flexer, .textContent.laptopBreak.text66 .flexer, .textContent.laptopBreak.text75 .flexer, .textContent.laptopBreak.text80 .flexer {
    flex-wrap: wrap;
  }
  .textContent.laptopBreak.text33 .text, .textContent.laptopBreak.text40 .text, .textContent.laptopBreak.text50 .text, .textContent.laptopBreak.text66 .text, .textContent.laptopBreak.text75 .text, .textContent.laptopBreak.text80 .text {
    width: 100%;
  }
  .textContent.laptopBreak.text33 .sideContent, .textContent.laptopBreak.text40 .sideContent, .textContent.laptopBreak.text50 .sideContent, .textContent.laptopBreak.text66 .sideContent, .textContent.laptopBreak.text75 .sideContent, .textContent.laptopBreak.text80 .sideContent {
    width: 100%;
  }
  .textContent.laptopBreak.text33 .sideContent .image, .textContent.laptopBreak.text33 .sideContent img, .textContent.laptopBreak.text40 .sideContent .image, .textContent.laptopBreak.text40 .sideContent img, .textContent.laptopBreak.text50 .sideContent .image, .textContent.laptopBreak.text50 .sideContent img, .textContent.laptopBreak.text66 .sideContent .image, .textContent.laptopBreak.text66 .sideContent img, .textContent.laptopBreak.text75 .sideContent .image, .textContent.laptopBreak.text75 .sideContent img, .textContent.laptopBreak.text80 .sideContent .image, .textContent.laptopBreak.text80 .sideContent img {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .textContent.laptopBreak.text33.dividerLine .text, .textContent.laptopBreak.text33.dividerLine .sideContent, .textContent.laptopBreak.text33.dividerLine .sideContent .text, .textContent.laptopBreak.text40.dividerLine .text, .textContent.laptopBreak.text40.dividerLine .sideContent, .textContent.laptopBreak.text40.dividerLine .sideContent .text, .textContent.laptopBreak.text50.dividerLine .text, .textContent.laptopBreak.text50.dividerLine .sideContent, .textContent.laptopBreak.text50.dividerLine .sideContent .text, .textContent.laptopBreak.text66.dividerLine .text, .textContent.laptopBreak.text66.dividerLine .sideContent, .textContent.laptopBreak.text66.dividerLine .sideContent .text, .textContent.laptopBreak.text75.dividerLine .text, .textContent.laptopBreak.text75.dividerLine .sideContent, .textContent.laptopBreak.text75.dividerLine .sideContent .text, .textContent.laptopBreak.text80.dividerLine .text, .textContent.laptopBreak.text80.dividerLine .sideContent, .textContent.laptopBreak.text80.dividerLine .sideContent .text {
    width: 100%;
  }
  .textContent.laptopBreak.text33 .sideContent.hideOnMobile, .textContent.laptopBreak.text40 .sideContent.hideOnMobile, .textContent.laptopBreak.text50 .sideContent.hideOnMobile, .textContent.laptopBreak.text66 .sideContent.hideOnMobile, .textContent.laptopBreak.text75 .sideContent.hideOnMobile, .textContent.laptopBreak.text80 .sideContent.hideOnMobile {
    display: none;
  }
  .textContent.laptopBreak.text33.additionalTextSide .flexer::before, .textContent.laptopBreak.text40.additionalTextSide .flexer::before, .textContent.laptopBreak.text50.additionalTextSide .flexer::before, .textContent.laptopBreak.text66.additionalTextSide .flexer::before, .textContent.laptopBreak.text75.additionalTextSide .flexer::before, .textContent.laptopBreak.text80.additionalTextSide .flexer::before {
    display: none;
  }
  .textContent.laptopBreak.text33.dividerLine .text + .sideContent, .textContent.laptopBreak.text40.dividerLine .text + .sideContent, .textContent.laptopBreak.text50.dividerLine .text + .sideContent, .textContent.laptopBreak.text66.dividerLine .text + .sideContent, .textContent.laptopBreak.text75.dividerLine .text + .sideContent, .textContent.laptopBreak.text80.dividerLine .text + .sideContent {
    margin-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.laptopBreak.text33.dividerLine .text + .sideContent::before, .textContent.laptopBreak.text40.dividerLine .text + .sideContent::before, .textContent.laptopBreak.text50.dividerLine .text + .sideContent::before, .textContent.laptopBreak.text66.dividerLine .text + .sideContent::before, .textContent.laptopBreak.text75.dividerLine .text + .sideContent::before, .textContent.laptopBreak.text80.dividerLine .text + .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(0% - calc(18px + 2.5vw));
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    opacity: 0.5;
  }
  .textContent.laptopBreak.text33.dividerLine::after, .textContent.laptopBreak.text40.dividerLine::after, .textContent.laptopBreak.text50.dividerLine::after, .textContent.laptopBreak.text66.dividerLine::after, .textContent.laptopBreak.text75.dividerLine::after, .textContent.laptopBreak.text80.dividerLine::after {
    display: none;
  }
  .textContent.laptopBreak.max100Outer .flexer.wrapper .text::before, .textContent.laptopBreak.max100Outer .flexer.wrapper .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background-color: inherit;
    transform: translateX(-50%);
  }
  .textContent.laptopBreak.hasColour {
    padding: 0;
  }
  .textContent.laptopBreak.hasColour .text {
    padding: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.hasColour.textLeft .text {
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.hasColour.textRight .text {
    padding-left: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft .text.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft.noImagePad.hasColour .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.laptopBreak.textLeft.sameBacks .hasColour + .hasColour {
    padding-bottom: 0px;
  }
  .textContent.laptopBreak.textRight .sideContent.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.noImagePad .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.laptopBreak.textRight.noImagePad .text.hasColour:has(+ .hasColour) {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.sameBacks .hasColour + .hasColour {
    padding-top: 0px;
  }
  .textContent.laptopBreak.textLeft.noPadTop .flexer .text.hasColour {
    padding-top: 0;
  }
  .textContent.laptopBreak.textLeft.noPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft.halfPadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.laptopBreak.textLeft.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft.doublePadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.laptopBreak.textLeft.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft.noPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: 0;
  }
  .textContent.laptopBreak.textLeft.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.laptopBreak.textLeft.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textLeft.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.laptopBreak.textRight.noPadTop .flexer .sideContent.hasColour {
    padding-top: 0;
  }
  .textContent.laptopBreak.textRight.noPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.laptopBreak.textRight.halfPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.laptopBreak.textRight.doublePadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.noPadBottom .flexer .text.hasColour {
    padding-bottom: 0;
  }
  .textContent.laptopBreak.textRight.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.laptopBreak.textRight.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.laptopBreak.textRight.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
} /*$laptop ends*/
@media only screen and (max-width: 900px) {
  .textContent.bigTabletBreak.textLeft .flexer:has(.hasColour + .hasColour), .textContent.bigTabletBreak.textRight .flexer:has(.hasColour + .hasColour) {
    align-items: stretch;
  }
  .textContent.bigTabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .text, .textContent.bigTabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent, .textContent.bigTabletBreak.textRight .flexer:has(.hasColour + .hasColour) .text, .textContent.bigTabletBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent .text, .textContent.bigTabletBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent .text {
    padding-left: 0px;
    padding-right: 0px;
  }
  .textContent.bigTabletBreak.text33 .flexer, .textContent.bigTabletBreak.text40 .flexer, .textContent.bigTabletBreak.text50 .flexer, .textContent.bigTabletBreak.text66 .flexer, .textContent.bigTabletBreak.text75 .flexer, .textContent.bigTabletBreak.text80 .flexer {
    flex-wrap: wrap;
  }
  .textContent.bigTabletBreak.text33 .text, .textContent.bigTabletBreak.text40 .text, .textContent.bigTabletBreak.text50 .text, .textContent.bigTabletBreak.text66 .text, .textContent.bigTabletBreak.text75 .text, .textContent.bigTabletBreak.text80 .text {
    width: 100%;
  }
  .textContent.bigTabletBreak.text33 .sideContent, .textContent.bigTabletBreak.text40 .sideContent, .textContent.bigTabletBreak.text50 .sideContent, .textContent.bigTabletBreak.text66 .sideContent, .textContent.bigTabletBreak.text75 .sideContent, .textContent.bigTabletBreak.text80 .sideContent {
    width: 100%;
  }
  .textContent.bigTabletBreak.text33 .sideContent .image, .textContent.bigTabletBreak.text33 .sideContent img, .textContent.bigTabletBreak.text40 .sideContent .image, .textContent.bigTabletBreak.text40 .sideContent img, .textContent.bigTabletBreak.text50 .sideContent .image, .textContent.bigTabletBreak.text50 .sideContent img, .textContent.bigTabletBreak.text66 .sideContent .image, .textContent.bigTabletBreak.text66 .sideContent img, .textContent.bigTabletBreak.text75 .sideContent .image, .textContent.bigTabletBreak.text75 .sideContent img, .textContent.bigTabletBreak.text80 .sideContent .image, .textContent.bigTabletBreak.text80 .sideContent img {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .textContent.bigTabletBreak.text33.dividerLine .text, .textContent.bigTabletBreak.text33.dividerLine .sideContent, .textContent.bigTabletBreak.text33.dividerLine .sideContent .text, .textContent.bigTabletBreak.text40.dividerLine .text, .textContent.bigTabletBreak.text40.dividerLine .sideContent, .textContent.bigTabletBreak.text40.dividerLine .sideContent .text, .textContent.bigTabletBreak.text50.dividerLine .text, .textContent.bigTabletBreak.text50.dividerLine .sideContent, .textContent.bigTabletBreak.text50.dividerLine .sideContent .text, .textContent.bigTabletBreak.text66.dividerLine .text, .textContent.bigTabletBreak.text66.dividerLine .sideContent, .textContent.bigTabletBreak.text66.dividerLine .sideContent .text, .textContent.bigTabletBreak.text75.dividerLine .text, .textContent.bigTabletBreak.text75.dividerLine .sideContent, .textContent.bigTabletBreak.text75.dividerLine .sideContent .text, .textContent.bigTabletBreak.text80.dividerLine .text, .textContent.bigTabletBreak.text80.dividerLine .sideContent, .textContent.bigTabletBreak.text80.dividerLine .sideContent .text {
    width: 100%;
  }
  .textContent.bigTabletBreak.text33 .sideContent.hideOnMobile, .textContent.bigTabletBreak.text40 .sideContent.hideOnMobile, .textContent.bigTabletBreak.text50 .sideContent.hideOnMobile, .textContent.bigTabletBreak.text66 .sideContent.hideOnMobile, .textContent.bigTabletBreak.text75 .sideContent.hideOnMobile, .textContent.bigTabletBreak.text80 .sideContent.hideOnMobile {
    display: none;
  }
  .textContent.bigTabletBreak.text33.additionalTextSide .flexer::before, .textContent.bigTabletBreak.text40.additionalTextSide .flexer::before, .textContent.bigTabletBreak.text50.additionalTextSide .flexer::before, .textContent.bigTabletBreak.text66.additionalTextSide .flexer::before, .textContent.bigTabletBreak.text75.additionalTextSide .flexer::before, .textContent.bigTabletBreak.text80.additionalTextSide .flexer::before {
    display: none;
  }
  .textContent.bigTabletBreak.text33.dividerLine .text + .sideContent, .textContent.bigTabletBreak.text40.dividerLine .text + .sideContent, .textContent.bigTabletBreak.text50.dividerLine .text + .sideContent, .textContent.bigTabletBreak.text66.dividerLine .text + .sideContent, .textContent.bigTabletBreak.text75.dividerLine .text + .sideContent, .textContent.bigTabletBreak.text80.dividerLine .text + .sideContent {
    margin-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.bigTabletBreak.text33.dividerLine .text + .sideContent::before, .textContent.bigTabletBreak.text40.dividerLine .text + .sideContent::before, .textContent.bigTabletBreak.text50.dividerLine .text + .sideContent::before, .textContent.bigTabletBreak.text66.dividerLine .text + .sideContent::before, .textContent.bigTabletBreak.text75.dividerLine .text + .sideContent::before, .textContent.bigTabletBreak.text80.dividerLine .text + .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(0% - calc(18px + 2.5vw));
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    opacity: 0.5;
  }
  .textContent.bigTabletBreak.text33.dividerLine::after, .textContent.bigTabletBreak.text40.dividerLine::after, .textContent.bigTabletBreak.text50.dividerLine::after, .textContent.bigTabletBreak.text66.dividerLine::after, .textContent.bigTabletBreak.text75.dividerLine::after, .textContent.bigTabletBreak.text80.dividerLine::after {
    display: none;
  }
  .textContent.bigTabletBreak.max100Outer .flexer.wrapper .text::before, .textContent.bigTabletBreak.max100Outer .flexer.wrapper .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background-color: inherit;
    transform: translateX(-50%);
  }
  .textContent.bigTabletBreak.hasColour {
    padding: 0;
  }
  .textContent.bigTabletBreak.hasColour .text {
    padding: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.hasColour.textLeft .text {
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.hasColour.textRight .text {
    padding-left: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft .text.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft.noImagePad.hasColour .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.bigTabletBreak.textLeft.sameBacks .hasColour + .hasColour {
    padding-bottom: 0px;
  }
  .textContent.bigTabletBreak.textRight .sideContent.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.noImagePad .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.bigTabletBreak.textRight.noImagePad .text.hasColour:has(+ .hasColour) {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.sameBacks .hasColour + .hasColour {
    padding-top: 0px;
  }
  .textContent.bigTabletBreak.textLeft.noPadTop .flexer .text.hasColour {
    padding-top: 0;
  }
  .textContent.bigTabletBreak.textLeft.noPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft.halfPadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.bigTabletBreak.textLeft.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft.doublePadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.bigTabletBreak.textLeft.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft.noPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: 0;
  }
  .textContent.bigTabletBreak.textLeft.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.bigTabletBreak.textLeft.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textLeft.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.bigTabletBreak.textRight.noPadTop .flexer .sideContent.hasColour {
    padding-top: 0;
  }
  .textContent.bigTabletBreak.textRight.noPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.bigTabletBreak.textRight.halfPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.bigTabletBreak.textRight.doublePadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.noPadBottom .flexer .text.hasColour {
    padding-bottom: 0;
  }
  .textContent.bigTabletBreak.textRight.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.bigTabletBreak.textRight.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigTabletBreak.textRight.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
} /*$bigTablet ends*/
@media only screen and (max-width: 768px) {
  .textContent.tabletBreak.textLeft .flexer:has(.hasColour + .hasColour), .textContent.tabletBreak.textRight .flexer:has(.hasColour + .hasColour) {
    align-items: stretch;
  }
  .textContent.tabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .text, .textContent.tabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent, .textContent.tabletBreak.textRight .flexer:has(.hasColour + .hasColour) .text, .textContent.tabletBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent .text, .textContent.tabletBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent .text {
    padding-left: 0px;
    padding-right: 0px;
  }
  .textContent.tabletBreak.text33 .flexer, .textContent.tabletBreak.text40 .flexer, .textContent.tabletBreak.text50 .flexer, .textContent.tabletBreak.text66 .flexer, .textContent.tabletBreak.text75 .flexer, .textContent.tabletBreak.text80 .flexer {
    flex-wrap: wrap;
  }
  .textContent.tabletBreak.text33 .text, .textContent.tabletBreak.text40 .text, .textContent.tabletBreak.text50 .text, .textContent.tabletBreak.text66 .text, .textContent.tabletBreak.text75 .text, .textContent.tabletBreak.text80 .text {
    width: 100%;
  }
  .textContent.tabletBreak.text33 .sideContent, .textContent.tabletBreak.text40 .sideContent, .textContent.tabletBreak.text50 .sideContent, .textContent.tabletBreak.text66 .sideContent, .textContent.tabletBreak.text75 .sideContent, .textContent.tabletBreak.text80 .sideContent {
    width: 100%;
  }
  .textContent.tabletBreak.text33 .sideContent .image, .textContent.tabletBreak.text33 .sideContent img, .textContent.tabletBreak.text40 .sideContent .image, .textContent.tabletBreak.text40 .sideContent img, .textContent.tabletBreak.text50 .sideContent .image, .textContent.tabletBreak.text50 .sideContent img, .textContent.tabletBreak.text66 .sideContent .image, .textContent.tabletBreak.text66 .sideContent img, .textContent.tabletBreak.text75 .sideContent .image, .textContent.tabletBreak.text75 .sideContent img, .textContent.tabletBreak.text80 .sideContent .image, .textContent.tabletBreak.text80 .sideContent img {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .textContent.tabletBreak.text33.dividerLine .text, .textContent.tabletBreak.text33.dividerLine .sideContent, .textContent.tabletBreak.text33.dividerLine .sideContent .text, .textContent.tabletBreak.text40.dividerLine .text, .textContent.tabletBreak.text40.dividerLine .sideContent, .textContent.tabletBreak.text40.dividerLine .sideContent .text, .textContent.tabletBreak.text50.dividerLine .text, .textContent.tabletBreak.text50.dividerLine .sideContent, .textContent.tabletBreak.text50.dividerLine .sideContent .text, .textContent.tabletBreak.text66.dividerLine .text, .textContent.tabletBreak.text66.dividerLine .sideContent, .textContent.tabletBreak.text66.dividerLine .sideContent .text, .textContent.tabletBreak.text75.dividerLine .text, .textContent.tabletBreak.text75.dividerLine .sideContent, .textContent.tabletBreak.text75.dividerLine .sideContent .text, .textContent.tabletBreak.text80.dividerLine .text, .textContent.tabletBreak.text80.dividerLine .sideContent, .textContent.tabletBreak.text80.dividerLine .sideContent .text {
    width: 100%;
  }
  .textContent.tabletBreak.text33 .sideContent.hideOnMobile, .textContent.tabletBreak.text40 .sideContent.hideOnMobile, .textContent.tabletBreak.text50 .sideContent.hideOnMobile, .textContent.tabletBreak.text66 .sideContent.hideOnMobile, .textContent.tabletBreak.text75 .sideContent.hideOnMobile, .textContent.tabletBreak.text80 .sideContent.hideOnMobile {
    display: none;
  }
  .textContent.tabletBreak.text33.additionalTextSide .flexer::before, .textContent.tabletBreak.text40.additionalTextSide .flexer::before, .textContent.tabletBreak.text50.additionalTextSide .flexer::before, .textContent.tabletBreak.text66.additionalTextSide .flexer::before, .textContent.tabletBreak.text75.additionalTextSide .flexer::before, .textContent.tabletBreak.text80.additionalTextSide .flexer::before {
    display: none;
  }
  .textContent.tabletBreak.text33.dividerLine .text + .sideContent, .textContent.tabletBreak.text40.dividerLine .text + .sideContent, .textContent.tabletBreak.text50.dividerLine .text + .sideContent, .textContent.tabletBreak.text66.dividerLine .text + .sideContent, .textContent.tabletBreak.text75.dividerLine .text + .sideContent, .textContent.tabletBreak.text80.dividerLine .text + .sideContent {
    margin-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.tabletBreak.text33.dividerLine .text + .sideContent::before, .textContent.tabletBreak.text40.dividerLine .text + .sideContent::before, .textContent.tabletBreak.text50.dividerLine .text + .sideContent::before, .textContent.tabletBreak.text66.dividerLine .text + .sideContent::before, .textContent.tabletBreak.text75.dividerLine .text + .sideContent::before, .textContent.tabletBreak.text80.dividerLine .text + .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(0% - calc(18px + 2.5vw));
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    opacity: 0.5;
  }
  .textContent.tabletBreak.text33.dividerLine::after, .textContent.tabletBreak.text40.dividerLine::after, .textContent.tabletBreak.text50.dividerLine::after, .textContent.tabletBreak.text66.dividerLine::after, .textContent.tabletBreak.text75.dividerLine::after, .textContent.tabletBreak.text80.dividerLine::after {
    display: none;
  }
  .textContent.tabletBreak.max100Outer .flexer.wrapper .text::before, .textContent.tabletBreak.max100Outer .flexer.wrapper .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background-color: inherit;
    transform: translateX(-50%);
  }
  .textContent.tabletBreak.hasColour {
    padding: 0;
  }
  .textContent.tabletBreak.hasColour .text {
    padding: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.hasColour.textLeft .text {
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.hasColour.textRight .text {
    padding-left: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft .text.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft.noImagePad.hasColour .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.tabletBreak.textLeft.sameBacks .hasColour + .hasColour {
    padding-bottom: 0px;
  }
  .textContent.tabletBreak.textRight .sideContent.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.noImagePad .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.tabletBreak.textRight.noImagePad .text.hasColour:has(+ .hasColour) {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.sameBacks .hasColour + .hasColour {
    padding-top: 0px;
  }
  .textContent.tabletBreak.textLeft.noPadTop .flexer .text.hasColour {
    padding-top: 0;
  }
  .textContent.tabletBreak.textLeft.noPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft.halfPadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.tabletBreak.textLeft.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft.doublePadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.tabletBreak.textLeft.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft.noPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: 0;
  }
  .textContent.tabletBreak.textLeft.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.tabletBreak.textLeft.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textLeft.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.tabletBreak.textRight.noPadTop .flexer .sideContent.hasColour {
    padding-top: 0;
  }
  .textContent.tabletBreak.textRight.noPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.tabletBreak.textRight.halfPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.tabletBreak.textRight.doublePadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.noPadBottom .flexer .text.hasColour {
    padding-bottom: 0;
  }
  .textContent.tabletBreak.textRight.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.tabletBreak.textRight.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.tabletBreak.textRight.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
} /*$tablet ends*/
@media only screen and (max-width: 700px) {
  .textContent:not(.neverBreak).textLeft .flexer:has(.hasColour + .hasColour), .textContent:not(.neverBreak).textRight .flexer:has(.hasColour + .hasColour) {
    align-items: stretch;
  }
  .textContent:not(.neverBreak).textLeft .flexer:has(.hasColour + .hasColour) .text, .textContent:not(.neverBreak).textLeft .flexer:has(.hasColour + .hasColour) .sideContent, .textContent:not(.neverBreak).textRight .flexer:has(.hasColour + .hasColour) .text, .textContent:not(.neverBreak).textRight .flexer:has(.hasColour + .hasColour) .sideContent {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft .flexer:has(.hasColour + .hasColour) .sideContent .text, .textContent:not(.neverBreak).textRight .flexer:has(.hasColour + .hasColour) .sideContent .text {
    padding-left: 0px;
    padding-right: 0px;
  }
  .textContent:not(.neverBreak).text33 .flexer, .textContent:not(.neverBreak).text40 .flexer, .textContent:not(.neverBreak).text50 .flexer, .textContent:not(.neverBreak).text66 .flexer, .textContent:not(.neverBreak).text75 .flexer, .textContent:not(.neverBreak).text80 .flexer {
    flex-wrap: wrap;
  }
  .textContent:not(.neverBreak).text33 .text, .textContent:not(.neverBreak).text40 .text, .textContent:not(.neverBreak).text50 .text, .textContent:not(.neverBreak).text66 .text, .textContent:not(.neverBreak).text75 .text, .textContent:not(.neverBreak).text80 .text {
    width: 100%;
  }
  .textContent:not(.neverBreak).text33 .sideContent, .textContent:not(.neverBreak).text40 .sideContent, .textContent:not(.neverBreak).text50 .sideContent, .textContent:not(.neverBreak).text66 .sideContent, .textContent:not(.neverBreak).text75 .sideContent, .textContent:not(.neverBreak).text80 .sideContent {
    width: 100%;
  }
  .textContent:not(.neverBreak).text33 .sideContent .image, .textContent:not(.neverBreak).text33 .sideContent img, .textContent:not(.neverBreak).text40 .sideContent .image, .textContent:not(.neverBreak).text40 .sideContent img, .textContent:not(.neverBreak).text50 .sideContent .image, .textContent:not(.neverBreak).text50 .sideContent img, .textContent:not(.neverBreak).text66 .sideContent .image, .textContent:not(.neverBreak).text66 .sideContent img, .textContent:not(.neverBreak).text75 .sideContent .image, .textContent:not(.neverBreak).text75 .sideContent img, .textContent:not(.neverBreak).text80 .sideContent .image, .textContent:not(.neverBreak).text80 .sideContent img {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .textContent:not(.neverBreak).text33.dividerLine .text, .textContent:not(.neverBreak).text33.dividerLine .sideContent, .textContent:not(.neverBreak).text33.dividerLine .sideContent .text, .textContent:not(.neverBreak).text40.dividerLine .text, .textContent:not(.neverBreak).text40.dividerLine .sideContent, .textContent:not(.neverBreak).text40.dividerLine .sideContent .text, .textContent:not(.neverBreak).text50.dividerLine .text, .textContent:not(.neverBreak).text50.dividerLine .sideContent, .textContent:not(.neverBreak).text50.dividerLine .sideContent .text, .textContent:not(.neverBreak).text66.dividerLine .text, .textContent:not(.neverBreak).text66.dividerLine .sideContent, .textContent:not(.neverBreak).text66.dividerLine .sideContent .text, .textContent:not(.neverBreak).text75.dividerLine .text, .textContent:not(.neverBreak).text75.dividerLine .sideContent, .textContent:not(.neverBreak).text75.dividerLine .sideContent .text, .textContent:not(.neverBreak).text80.dividerLine .text, .textContent:not(.neverBreak).text80.dividerLine .sideContent, .textContent:not(.neverBreak).text80.dividerLine .sideContent .text {
    width: 100%;
  }
  .textContent:not(.neverBreak).text33 .sideContent.hideOnMobile, .textContent:not(.neverBreak).text40 .sideContent.hideOnMobile, .textContent:not(.neverBreak).text50 .sideContent.hideOnMobile, .textContent:not(.neverBreak).text66 .sideContent.hideOnMobile, .textContent:not(.neverBreak).text75 .sideContent.hideOnMobile, .textContent:not(.neverBreak).text80 .sideContent.hideOnMobile {
    display: none;
  }
  .textContent:not(.neverBreak).text33.additionalTextSide .flexer::before, .textContent:not(.neverBreak).text40.additionalTextSide .flexer::before, .textContent:not(.neverBreak).text50.additionalTextSide .flexer::before, .textContent:not(.neverBreak).text66.additionalTextSide .flexer::before, .textContent:not(.neverBreak).text75.additionalTextSide .flexer::before, .textContent:not(.neverBreak).text80.additionalTextSide .flexer::before {
    display: none;
  }
  .textContent:not(.neverBreak).text33.dividerLine .text + .sideContent, .textContent:not(.neverBreak).text40.dividerLine .text + .sideContent, .textContent:not(.neverBreak).text50.dividerLine .text + .sideContent, .textContent:not(.neverBreak).text66.dividerLine .text + .sideContent, .textContent:not(.neverBreak).text75.dividerLine .text + .sideContent, .textContent:not(.neverBreak).text80.dividerLine .text + .sideContent {
    margin-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent:not(.neverBreak).text33.dividerLine .text + .sideContent::before, .textContent:not(.neverBreak).text40.dividerLine .text + .sideContent::before, .textContent:not(.neverBreak).text50.dividerLine .text + .sideContent::before, .textContent:not(.neverBreak).text66.dividerLine .text + .sideContent::before, .textContent:not(.neverBreak).text75.dividerLine .text + .sideContent::before, .textContent:not(.neverBreak).text80.dividerLine .text + .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(0% - calc(18px + 2.5vw));
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    opacity: 0.5;
  }
  .textContent:not(.neverBreak).text33.dividerLine::after, .textContent:not(.neverBreak).text40.dividerLine::after, .textContent:not(.neverBreak).text50.dividerLine::after, .textContent:not(.neverBreak).text66.dividerLine::after, .textContent:not(.neverBreak).text75.dividerLine::after, .textContent:not(.neverBreak).text80.dividerLine::after {
    display: none;
  }
  .textContent:not(.neverBreak).max100Outer .flexer.wrapper .text::before, .textContent:not(.neverBreak).max100Outer .flexer.wrapper .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background-color: inherit;
    transform: translateX(-50%);
  }
  .textContent:not(.neverBreak).hasColour {
    padding: 0;
  }
  .textContent:not(.neverBreak).hasColour .text {
    padding: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).hasColour.textLeft .text {
    padding-right: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).hasColour.textRight .text {
    padding-left: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft .text.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft.noImagePad.hasColour .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent:not(.neverBreak).textLeft.sameBacks .hasColour + .hasColour {
    padding-bottom: 0px;
  }
  .textContent:not(.neverBreak).textRight .sideContent.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-top: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.noImagePad .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent:not(.neverBreak).textRight.noImagePad .text.hasColour:has(+ .hasColour) {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.sameBacks .hasColour + .hasColour {
    padding-top: 0px;
  }
  .textContent:not(.neverBreak).textLeft.noPadTop .flexer .text.hasColour {
    padding-top: 0;
  }
  .textContent:not(.neverBreak).textLeft.noPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft.halfPadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent:not(.neverBreak).textLeft.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft.doublePadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent:not(.neverBreak).textLeft.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft.noPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: 0;
  }
  .textContent:not(.neverBreak).textLeft.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent:not(.neverBreak).textLeft.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textLeft.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent:not(.neverBreak).textRight.noPadTop .flexer .sideContent.hasColour {
    padding-top: 0;
  }
  .textContent:not(.neverBreak).textRight.noPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent:not(.neverBreak).textRight.halfPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent:not(.neverBreak).textRight.doublePadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.noPadBottom .flexer .text.hasColour {
    padding-bottom: 0;
  }
  .textContent:not(.neverBreak).textRight.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent:not(.neverBreak).textRight.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent:not(.neverBreak).textRight.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallTabletBreak.textLeft .flexer:has(.hasColour + .hasColour), .textContent.smallTabletBreak.textRight .flexer:has(.hasColour + .hasColour) {
    align-items: stretch;
  }
  .textContent.smallTabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .text, .textContent.smallTabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent, .textContent.smallTabletBreak.textRight .flexer:has(.hasColour + .hasColour) .text, .textContent.smallTabletBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent .text, .textContent.smallTabletBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent .text {
    padding-left: 0px;
    padding-right: 0px;
  }
  .textContent.smallTabletBreak.text33 .flexer, .textContent.smallTabletBreak.text40 .flexer, .textContent.smallTabletBreak.text50 .flexer, .textContent.smallTabletBreak.text66 .flexer, .textContent.smallTabletBreak.text75 .flexer, .textContent.smallTabletBreak.text80 .flexer {
    flex-wrap: wrap;
  }
  .textContent.smallTabletBreak.text33 .text, .textContent.smallTabletBreak.text40 .text, .textContent.smallTabletBreak.text50 .text, .textContent.smallTabletBreak.text66 .text, .textContent.smallTabletBreak.text75 .text, .textContent.smallTabletBreak.text80 .text {
    width: 100%;
  }
  .textContent.smallTabletBreak.text33 .sideContent, .textContent.smallTabletBreak.text40 .sideContent, .textContent.smallTabletBreak.text50 .sideContent, .textContent.smallTabletBreak.text66 .sideContent, .textContent.smallTabletBreak.text75 .sideContent, .textContent.smallTabletBreak.text80 .sideContent {
    width: 100%;
  }
  .textContent.smallTabletBreak.text33 .sideContent .image, .textContent.smallTabletBreak.text33 .sideContent img, .textContent.smallTabletBreak.text40 .sideContent .image, .textContent.smallTabletBreak.text40 .sideContent img, .textContent.smallTabletBreak.text50 .sideContent .image, .textContent.smallTabletBreak.text50 .sideContent img, .textContent.smallTabletBreak.text66 .sideContent .image, .textContent.smallTabletBreak.text66 .sideContent img, .textContent.smallTabletBreak.text75 .sideContent .image, .textContent.smallTabletBreak.text75 .sideContent img, .textContent.smallTabletBreak.text80 .sideContent .image, .textContent.smallTabletBreak.text80 .sideContent img {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .textContent.smallTabletBreak.text33.dividerLine .text, .textContent.smallTabletBreak.text33.dividerLine .sideContent, .textContent.smallTabletBreak.text33.dividerLine .sideContent .text, .textContent.smallTabletBreak.text40.dividerLine .text, .textContent.smallTabletBreak.text40.dividerLine .sideContent, .textContent.smallTabletBreak.text40.dividerLine .sideContent .text, .textContent.smallTabletBreak.text50.dividerLine .text, .textContent.smallTabletBreak.text50.dividerLine .sideContent, .textContent.smallTabletBreak.text50.dividerLine .sideContent .text, .textContent.smallTabletBreak.text66.dividerLine .text, .textContent.smallTabletBreak.text66.dividerLine .sideContent, .textContent.smallTabletBreak.text66.dividerLine .sideContent .text, .textContent.smallTabletBreak.text75.dividerLine .text, .textContent.smallTabletBreak.text75.dividerLine .sideContent, .textContent.smallTabletBreak.text75.dividerLine .sideContent .text, .textContent.smallTabletBreak.text80.dividerLine .text, .textContent.smallTabletBreak.text80.dividerLine .sideContent, .textContent.smallTabletBreak.text80.dividerLine .sideContent .text {
    width: 100%;
  }
  .textContent.smallTabletBreak.text33 .sideContent.hideOnMobile, .textContent.smallTabletBreak.text40 .sideContent.hideOnMobile, .textContent.smallTabletBreak.text50 .sideContent.hideOnMobile, .textContent.smallTabletBreak.text66 .sideContent.hideOnMobile, .textContent.smallTabletBreak.text75 .sideContent.hideOnMobile, .textContent.smallTabletBreak.text80 .sideContent.hideOnMobile {
    display: none;
  }
  .textContent.smallTabletBreak.text33.additionalTextSide .flexer::before, .textContent.smallTabletBreak.text40.additionalTextSide .flexer::before, .textContent.smallTabletBreak.text50.additionalTextSide .flexer::before, .textContent.smallTabletBreak.text66.additionalTextSide .flexer::before, .textContent.smallTabletBreak.text75.additionalTextSide .flexer::before, .textContent.smallTabletBreak.text80.additionalTextSide .flexer::before {
    display: none;
  }
  .textContent.smallTabletBreak.text33.dividerLine .text + .sideContent, .textContent.smallTabletBreak.text40.dividerLine .text + .sideContent, .textContent.smallTabletBreak.text50.dividerLine .text + .sideContent, .textContent.smallTabletBreak.text66.dividerLine .text + .sideContent, .textContent.smallTabletBreak.text75.dividerLine .text + .sideContent, .textContent.smallTabletBreak.text80.dividerLine .text + .sideContent {
    margin-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallTabletBreak.text33.dividerLine .text + .sideContent::before, .textContent.smallTabletBreak.text40.dividerLine .text + .sideContent::before, .textContent.smallTabletBreak.text50.dividerLine .text + .sideContent::before, .textContent.smallTabletBreak.text66.dividerLine .text + .sideContent::before, .textContent.smallTabletBreak.text75.dividerLine .text + .sideContent::before, .textContent.smallTabletBreak.text80.dividerLine .text + .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(0% - calc(18px + 2.5vw));
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    opacity: 0.5;
  }
  .textContent.smallTabletBreak.text33.dividerLine::after, .textContent.smallTabletBreak.text40.dividerLine::after, .textContent.smallTabletBreak.text50.dividerLine::after, .textContent.smallTabletBreak.text66.dividerLine::after, .textContent.smallTabletBreak.text75.dividerLine::after, .textContent.smallTabletBreak.text80.dividerLine::after {
    display: none;
  }
  .textContent.smallTabletBreak.max100Outer .flexer.wrapper .text::before, .textContent.smallTabletBreak.max100Outer .flexer.wrapper .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background-color: inherit;
    transform: translateX(-50%);
  }
  .textContent.smallTabletBreak.hasColour {
    padding: 0;
  }
  .textContent.smallTabletBreak.hasColour .text {
    padding: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.hasColour.textLeft .text {
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.hasColour.textRight .text {
    padding-left: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft .text.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft.noImagePad.hasColour .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.smallTabletBreak.textLeft.sameBacks .hasColour + .hasColour {
    padding-bottom: 0px;
  }
  .textContent.smallTabletBreak.textRight .sideContent.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.noImagePad .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.smallTabletBreak.textRight.noImagePad .text.hasColour:has(+ .hasColour) {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.sameBacks .hasColour + .hasColour {
    padding-top: 0px;
  }
  .textContent.smallTabletBreak.textLeft.noPadTop .flexer .text.hasColour {
    padding-top: 0;
  }
  .textContent.smallTabletBreak.textLeft.noPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft.halfPadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.smallTabletBreak.textLeft.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft.doublePadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallTabletBreak.textLeft.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft.noPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: 0;
  }
  .textContent.smallTabletBreak.textLeft.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.smallTabletBreak.textLeft.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textLeft.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallTabletBreak.textRight.noPadTop .flexer .sideContent.hasColour {
    padding-top: 0;
  }
  .textContent.smallTabletBreak.textRight.noPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.smallTabletBreak.textRight.halfPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallTabletBreak.textRight.doublePadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.noPadBottom .flexer .text.hasColour {
    padding-bottom: 0;
  }
  .textContent.smallTabletBreak.textRight.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.smallTabletBreak.textRight.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallTabletBreak.textRight.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
} /*$smallTablet ends*/
@media only screen and (max-width: 650px) {
  .textContent.bigPhoneBreak.textLeft .flexer:has(.hasColour + .hasColour), .textContent.bigPhoneBreak.textRight .flexer:has(.hasColour + .hasColour) {
    align-items: stretch;
  }
  .textContent.bigPhoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .text, .textContent.bigPhoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent, .textContent.bigPhoneBreak.textRight .flexer:has(.hasColour + .hasColour) .text, .textContent.bigPhoneBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent .text, .textContent.bigPhoneBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent .text {
    padding-left: 0px;
    padding-right: 0px;
  }
  .textContent.bigPhoneBreak.text33 .flexer, .textContent.bigPhoneBreak.text40 .flexer, .textContent.bigPhoneBreak.text50 .flexer, .textContent.bigPhoneBreak.text66 .flexer, .textContent.bigPhoneBreak.text75 .flexer, .textContent.bigPhoneBreak.text80 .flexer {
    flex-wrap: wrap;
  }
  .textContent.bigPhoneBreak.text33 .text, .textContent.bigPhoneBreak.text40 .text, .textContent.bigPhoneBreak.text50 .text, .textContent.bigPhoneBreak.text66 .text, .textContent.bigPhoneBreak.text75 .text, .textContent.bigPhoneBreak.text80 .text {
    width: 100%;
  }
  .textContent.bigPhoneBreak.text33 .sideContent, .textContent.bigPhoneBreak.text40 .sideContent, .textContent.bigPhoneBreak.text50 .sideContent, .textContent.bigPhoneBreak.text66 .sideContent, .textContent.bigPhoneBreak.text75 .sideContent, .textContent.bigPhoneBreak.text80 .sideContent {
    width: 100%;
  }
  .textContent.bigPhoneBreak.text33 .sideContent .image, .textContent.bigPhoneBreak.text33 .sideContent img, .textContent.bigPhoneBreak.text40 .sideContent .image, .textContent.bigPhoneBreak.text40 .sideContent img, .textContent.bigPhoneBreak.text50 .sideContent .image, .textContent.bigPhoneBreak.text50 .sideContent img, .textContent.bigPhoneBreak.text66 .sideContent .image, .textContent.bigPhoneBreak.text66 .sideContent img, .textContent.bigPhoneBreak.text75 .sideContent .image, .textContent.bigPhoneBreak.text75 .sideContent img, .textContent.bigPhoneBreak.text80 .sideContent .image, .textContent.bigPhoneBreak.text80 .sideContent img {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .textContent.bigPhoneBreak.text33.dividerLine .text, .textContent.bigPhoneBreak.text33.dividerLine .sideContent, .textContent.bigPhoneBreak.text33.dividerLine .sideContent .text, .textContent.bigPhoneBreak.text40.dividerLine .text, .textContent.bigPhoneBreak.text40.dividerLine .sideContent, .textContent.bigPhoneBreak.text40.dividerLine .sideContent .text, .textContent.bigPhoneBreak.text50.dividerLine .text, .textContent.bigPhoneBreak.text50.dividerLine .sideContent, .textContent.bigPhoneBreak.text50.dividerLine .sideContent .text, .textContent.bigPhoneBreak.text66.dividerLine .text, .textContent.bigPhoneBreak.text66.dividerLine .sideContent, .textContent.bigPhoneBreak.text66.dividerLine .sideContent .text, .textContent.bigPhoneBreak.text75.dividerLine .text, .textContent.bigPhoneBreak.text75.dividerLine .sideContent, .textContent.bigPhoneBreak.text75.dividerLine .sideContent .text, .textContent.bigPhoneBreak.text80.dividerLine .text, .textContent.bigPhoneBreak.text80.dividerLine .sideContent, .textContent.bigPhoneBreak.text80.dividerLine .sideContent .text {
    width: 100%;
  }
  .textContent.bigPhoneBreak.text33 .sideContent.hideOnMobile, .textContent.bigPhoneBreak.text40 .sideContent.hideOnMobile, .textContent.bigPhoneBreak.text50 .sideContent.hideOnMobile, .textContent.bigPhoneBreak.text66 .sideContent.hideOnMobile, .textContent.bigPhoneBreak.text75 .sideContent.hideOnMobile, .textContent.bigPhoneBreak.text80 .sideContent.hideOnMobile {
    display: none;
  }
  .textContent.bigPhoneBreak.text33.additionalTextSide .flexer::before, .textContent.bigPhoneBreak.text40.additionalTextSide .flexer::before, .textContent.bigPhoneBreak.text50.additionalTextSide .flexer::before, .textContent.bigPhoneBreak.text66.additionalTextSide .flexer::before, .textContent.bigPhoneBreak.text75.additionalTextSide .flexer::before, .textContent.bigPhoneBreak.text80.additionalTextSide .flexer::before {
    display: none;
  }
  .textContent.bigPhoneBreak.text33.dividerLine .text + .sideContent, .textContent.bigPhoneBreak.text40.dividerLine .text + .sideContent, .textContent.bigPhoneBreak.text50.dividerLine .text + .sideContent, .textContent.bigPhoneBreak.text66.dividerLine .text + .sideContent, .textContent.bigPhoneBreak.text75.dividerLine .text + .sideContent, .textContent.bigPhoneBreak.text80.dividerLine .text + .sideContent {
    margin-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.bigPhoneBreak.text33.dividerLine .text + .sideContent::before, .textContent.bigPhoneBreak.text40.dividerLine .text + .sideContent::before, .textContent.bigPhoneBreak.text50.dividerLine .text + .sideContent::before, .textContent.bigPhoneBreak.text66.dividerLine .text + .sideContent::before, .textContent.bigPhoneBreak.text75.dividerLine .text + .sideContent::before, .textContent.bigPhoneBreak.text80.dividerLine .text + .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(0% - calc(18px + 2.5vw));
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    opacity: 0.5;
  }
  .textContent.bigPhoneBreak.text33.dividerLine::after, .textContent.bigPhoneBreak.text40.dividerLine::after, .textContent.bigPhoneBreak.text50.dividerLine::after, .textContent.bigPhoneBreak.text66.dividerLine::after, .textContent.bigPhoneBreak.text75.dividerLine::after, .textContent.bigPhoneBreak.text80.dividerLine::after {
    display: none;
  }
  .textContent.bigPhoneBreak.max100Outer .flexer.wrapper .text::before, .textContent.bigPhoneBreak.max100Outer .flexer.wrapper .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background-color: inherit;
    transform: translateX(-50%);
  }
  .textContent.bigPhoneBreak.hasColour {
    padding: 0;
  }
  .textContent.bigPhoneBreak.hasColour .text {
    padding: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.hasColour.textLeft .text {
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.hasColour.textRight .text {
    padding-left: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft .text.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft.noImagePad.hasColour .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.bigPhoneBreak.textLeft.sameBacks .hasColour + .hasColour {
    padding-bottom: 0px;
  }
  .textContent.bigPhoneBreak.textRight .sideContent.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.noImagePad .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.bigPhoneBreak.textRight.noImagePad .text.hasColour:has(+ .hasColour) {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.sameBacks .hasColour + .hasColour {
    padding-top: 0px;
  }
  .textContent.bigPhoneBreak.textLeft.noPadTop .flexer .text.hasColour {
    padding-top: 0;
  }
  .textContent.bigPhoneBreak.textLeft.noPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft.halfPadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.bigPhoneBreak.textLeft.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft.doublePadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.bigPhoneBreak.textLeft.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft.noPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: 0;
  }
  .textContent.bigPhoneBreak.textLeft.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.bigPhoneBreak.textLeft.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textLeft.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.bigPhoneBreak.textRight.noPadTop .flexer .sideContent.hasColour {
    padding-top: 0;
  }
  .textContent.bigPhoneBreak.textRight.noPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.bigPhoneBreak.textRight.halfPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.bigPhoneBreak.textRight.doublePadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.noPadBottom .flexer .text.hasColour {
    padding-bottom: 0;
  }
  .textContent.bigPhoneBreak.textRight.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.bigPhoneBreak.textRight.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.bigPhoneBreak.textRight.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
} /*$bigPhone ends*/
@media only screen and (max-width: 450px) {
  .textContent.phoneBreak.textLeft .flexer:has(.hasColour + .hasColour), .textContent.phoneBreak.textRight .flexer:has(.hasColour + .hasColour) {
    align-items: stretch;
  }
  .textContent.phoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .text, .textContent.phoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent, .textContent.phoneBreak.textRight .flexer:has(.hasColour + .hasColour) .text, .textContent.phoneBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent .text, .textContent.phoneBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent .text {
    padding-left: 0px;
    padding-right: 0px;
  }
  .textContent.phoneBreak.text33 .flexer, .textContent.phoneBreak.text40 .flexer, .textContent.phoneBreak.text50 .flexer, .textContent.phoneBreak.text66 .flexer, .textContent.phoneBreak.text75 .flexer, .textContent.phoneBreak.text80 .flexer {
    flex-wrap: wrap;
  }
  .textContent.phoneBreak.text33 .text, .textContent.phoneBreak.text40 .text, .textContent.phoneBreak.text50 .text, .textContent.phoneBreak.text66 .text, .textContent.phoneBreak.text75 .text, .textContent.phoneBreak.text80 .text {
    width: 100%;
  }
  .textContent.phoneBreak.text33 .sideContent, .textContent.phoneBreak.text40 .sideContent, .textContent.phoneBreak.text50 .sideContent, .textContent.phoneBreak.text66 .sideContent, .textContent.phoneBreak.text75 .sideContent, .textContent.phoneBreak.text80 .sideContent {
    width: 100%;
  }
  .textContent.phoneBreak.text33 .sideContent .image, .textContent.phoneBreak.text33 .sideContent img, .textContent.phoneBreak.text40 .sideContent .image, .textContent.phoneBreak.text40 .sideContent img, .textContent.phoneBreak.text50 .sideContent .image, .textContent.phoneBreak.text50 .sideContent img, .textContent.phoneBreak.text66 .sideContent .image, .textContent.phoneBreak.text66 .sideContent img, .textContent.phoneBreak.text75 .sideContent .image, .textContent.phoneBreak.text75 .sideContent img, .textContent.phoneBreak.text80 .sideContent .image, .textContent.phoneBreak.text80 .sideContent img {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .textContent.phoneBreak.text33.dividerLine .text, .textContent.phoneBreak.text33.dividerLine .sideContent, .textContent.phoneBreak.text33.dividerLine .sideContent .text, .textContent.phoneBreak.text40.dividerLine .text, .textContent.phoneBreak.text40.dividerLine .sideContent, .textContent.phoneBreak.text40.dividerLine .sideContent .text, .textContent.phoneBreak.text50.dividerLine .text, .textContent.phoneBreak.text50.dividerLine .sideContent, .textContent.phoneBreak.text50.dividerLine .sideContent .text, .textContent.phoneBreak.text66.dividerLine .text, .textContent.phoneBreak.text66.dividerLine .sideContent, .textContent.phoneBreak.text66.dividerLine .sideContent .text, .textContent.phoneBreak.text75.dividerLine .text, .textContent.phoneBreak.text75.dividerLine .sideContent, .textContent.phoneBreak.text75.dividerLine .sideContent .text, .textContent.phoneBreak.text80.dividerLine .text, .textContent.phoneBreak.text80.dividerLine .sideContent, .textContent.phoneBreak.text80.dividerLine .sideContent .text {
    width: 100%;
  }
  .textContent.phoneBreak.text33 .sideContent.hideOnMobile, .textContent.phoneBreak.text40 .sideContent.hideOnMobile, .textContent.phoneBreak.text50 .sideContent.hideOnMobile, .textContent.phoneBreak.text66 .sideContent.hideOnMobile, .textContent.phoneBreak.text75 .sideContent.hideOnMobile, .textContent.phoneBreak.text80 .sideContent.hideOnMobile {
    display: none;
  }
  .textContent.phoneBreak.text33.additionalTextSide .flexer::before, .textContent.phoneBreak.text40.additionalTextSide .flexer::before, .textContent.phoneBreak.text50.additionalTextSide .flexer::before, .textContent.phoneBreak.text66.additionalTextSide .flexer::before, .textContent.phoneBreak.text75.additionalTextSide .flexer::before, .textContent.phoneBreak.text80.additionalTextSide .flexer::before {
    display: none;
  }
  .textContent.phoneBreak.text33.dividerLine .text + .sideContent, .textContent.phoneBreak.text40.dividerLine .text + .sideContent, .textContent.phoneBreak.text50.dividerLine .text + .sideContent, .textContent.phoneBreak.text66.dividerLine .text + .sideContent, .textContent.phoneBreak.text75.dividerLine .text + .sideContent, .textContent.phoneBreak.text80.dividerLine .text + .sideContent {
    margin-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.phoneBreak.text33.dividerLine .text + .sideContent::before, .textContent.phoneBreak.text40.dividerLine .text + .sideContent::before, .textContent.phoneBreak.text50.dividerLine .text + .sideContent::before, .textContent.phoneBreak.text66.dividerLine .text + .sideContent::before, .textContent.phoneBreak.text75.dividerLine .text + .sideContent::before, .textContent.phoneBreak.text80.dividerLine .text + .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(0% - calc(18px + 2.5vw));
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    opacity: 0.5;
  }
  .textContent.phoneBreak.text33.dividerLine::after, .textContent.phoneBreak.text40.dividerLine::after, .textContent.phoneBreak.text50.dividerLine::after, .textContent.phoneBreak.text66.dividerLine::after, .textContent.phoneBreak.text75.dividerLine::after, .textContent.phoneBreak.text80.dividerLine::after {
    display: none;
  }
  .textContent.phoneBreak.max100Outer .flexer.wrapper .text::before, .textContent.phoneBreak.max100Outer .flexer.wrapper .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background-color: inherit;
    transform: translateX(-50%);
  }
  .textContent.phoneBreak.hasColour {
    padding: 0;
  }
  .textContent.phoneBreak.hasColour .text {
    padding: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.hasColour.textLeft .text {
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.hasColour.textRight .text {
    padding-left: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft .text.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft.noImagePad.hasColour .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.phoneBreak.textLeft.sameBacks .hasColour + .hasColour {
    padding-bottom: 0px;
  }
  .textContent.phoneBreak.textRight .sideContent.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.noImagePad .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.phoneBreak.textRight.noImagePad .text.hasColour:has(+ .hasColour) {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.sameBacks .hasColour + .hasColour {
    padding-top: 0px;
  }
  .textContent.phoneBreak.textLeft.noPadTop .flexer .text.hasColour {
    padding-top: 0;
  }
  .textContent.phoneBreak.textLeft.noPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft.halfPadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.phoneBreak.textLeft.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft.doublePadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.phoneBreak.textLeft.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft.noPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: 0;
  }
  .textContent.phoneBreak.textLeft.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.phoneBreak.textLeft.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textLeft.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.phoneBreak.textRight.noPadTop .flexer .sideContent.hasColour {
    padding-top: 0;
  }
  .textContent.phoneBreak.textRight.noPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.phoneBreak.textRight.halfPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.phoneBreak.textRight.doublePadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.noPadBottom .flexer .text.hasColour {
    padding-bottom: 0;
  }
  .textContent.phoneBreak.textRight.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.phoneBreak.textRight.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.phoneBreak.textRight.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
} /*$phone ends*/
@media only screen and (max-width: 350px) {
  .textContent.smallPhoneBreak.textLeft .flexer:has(.hasColour + .hasColour), .textContent.smallPhoneBreak.textRight .flexer:has(.hasColour + .hasColour) {
    align-items: stretch;
  }
  .textContent.smallPhoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .text, .textContent.smallPhoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent, .textContent.smallPhoneBreak.textRight .flexer:has(.hasColour + .hasColour) .text, .textContent.smallPhoneBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft .flexer:has(.hasColour + .hasColour) .sideContent .text, .textContent.smallPhoneBreak.textRight .flexer:has(.hasColour + .hasColour) .sideContent .text {
    padding-left: 0px;
    padding-right: 0px;
  }
  .textContent.smallPhoneBreak.text33 .flexer, .textContent.smallPhoneBreak.text40 .flexer, .textContent.smallPhoneBreak.text50 .flexer, .textContent.smallPhoneBreak.text66 .flexer, .textContent.smallPhoneBreak.text75 .flexer, .textContent.smallPhoneBreak.text80 .flexer {
    flex-wrap: wrap;
  }
  .textContent.smallPhoneBreak.text33 .text, .textContent.smallPhoneBreak.text40 .text, .textContent.smallPhoneBreak.text50 .text, .textContent.smallPhoneBreak.text66 .text, .textContent.smallPhoneBreak.text75 .text, .textContent.smallPhoneBreak.text80 .text {
    width: 100%;
  }
  .textContent.smallPhoneBreak.text33 .sideContent, .textContent.smallPhoneBreak.text40 .sideContent, .textContent.smallPhoneBreak.text50 .sideContent, .textContent.smallPhoneBreak.text66 .sideContent, .textContent.smallPhoneBreak.text75 .sideContent, .textContent.smallPhoneBreak.text80 .sideContent {
    width: 100%;
  }
  .textContent.smallPhoneBreak.text33 .sideContent .image, .textContent.smallPhoneBreak.text33 .sideContent img, .textContent.smallPhoneBreak.text40 .sideContent .image, .textContent.smallPhoneBreak.text40 .sideContent img, .textContent.smallPhoneBreak.text50 .sideContent .image, .textContent.smallPhoneBreak.text50 .sideContent img, .textContent.smallPhoneBreak.text66 .sideContent .image, .textContent.smallPhoneBreak.text66 .sideContent img, .textContent.smallPhoneBreak.text75 .sideContent .image, .textContent.smallPhoneBreak.text75 .sideContent img, .textContent.smallPhoneBreak.text80 .sideContent .image, .textContent.smallPhoneBreak.text80 .sideContent img {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .textContent.smallPhoneBreak.text33.dividerLine .text, .textContent.smallPhoneBreak.text33.dividerLine .sideContent, .textContent.smallPhoneBreak.text33.dividerLine .sideContent .text, .textContent.smallPhoneBreak.text40.dividerLine .text, .textContent.smallPhoneBreak.text40.dividerLine .sideContent, .textContent.smallPhoneBreak.text40.dividerLine .sideContent .text, .textContent.smallPhoneBreak.text50.dividerLine .text, .textContent.smallPhoneBreak.text50.dividerLine .sideContent, .textContent.smallPhoneBreak.text50.dividerLine .sideContent .text, .textContent.smallPhoneBreak.text66.dividerLine .text, .textContent.smallPhoneBreak.text66.dividerLine .sideContent, .textContent.smallPhoneBreak.text66.dividerLine .sideContent .text, .textContent.smallPhoneBreak.text75.dividerLine .text, .textContent.smallPhoneBreak.text75.dividerLine .sideContent, .textContent.smallPhoneBreak.text75.dividerLine .sideContent .text, .textContent.smallPhoneBreak.text80.dividerLine .text, .textContent.smallPhoneBreak.text80.dividerLine .sideContent, .textContent.smallPhoneBreak.text80.dividerLine .sideContent .text {
    width: 100%;
  }
  .textContent.smallPhoneBreak.text33 .sideContent.hideOnMobile, .textContent.smallPhoneBreak.text40 .sideContent.hideOnMobile, .textContent.smallPhoneBreak.text50 .sideContent.hideOnMobile, .textContent.smallPhoneBreak.text66 .sideContent.hideOnMobile, .textContent.smallPhoneBreak.text75 .sideContent.hideOnMobile, .textContent.smallPhoneBreak.text80 .sideContent.hideOnMobile {
    display: none;
  }
  .textContent.smallPhoneBreak.text33.additionalTextSide .flexer::before, .textContent.smallPhoneBreak.text40.additionalTextSide .flexer::before, .textContent.smallPhoneBreak.text50.additionalTextSide .flexer::before, .textContent.smallPhoneBreak.text66.additionalTextSide .flexer::before, .textContent.smallPhoneBreak.text75.additionalTextSide .flexer::before, .textContent.smallPhoneBreak.text80.additionalTextSide .flexer::before {
    display: none;
  }
  .textContent.smallPhoneBreak.text33.dividerLine .text + .sideContent, .textContent.smallPhoneBreak.text40.dividerLine .text + .sideContent, .textContent.smallPhoneBreak.text50.dividerLine .text + .sideContent, .textContent.smallPhoneBreak.text66.dividerLine .text + .sideContent, .textContent.smallPhoneBreak.text75.dividerLine .text + .sideContent, .textContent.smallPhoneBreak.text80.dividerLine .text + .sideContent {
    margin-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallPhoneBreak.text33.dividerLine .text + .sideContent::before, .textContent.smallPhoneBreak.text40.dividerLine .text + .sideContent::before, .textContent.smallPhoneBreak.text50.dividerLine .text + .sideContent::before, .textContent.smallPhoneBreak.text66.dividerLine .text + .sideContent::before, .textContent.smallPhoneBreak.text75.dividerLine .text + .sideContent::before, .textContent.smallPhoneBreak.text80.dividerLine .text + .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(0% - calc(18px + 2.5vw));
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    opacity: 0.5;
  }
  .textContent.smallPhoneBreak.text33.dividerLine::after, .textContent.smallPhoneBreak.text40.dividerLine::after, .textContent.smallPhoneBreak.text50.dividerLine::after, .textContent.smallPhoneBreak.text66.dividerLine::after, .textContent.smallPhoneBreak.text75.dividerLine::after, .textContent.smallPhoneBreak.text80.dividerLine::after {
    display: none;
  }
  .textContent.smallPhoneBreak.max100Outer .flexer.wrapper .text::before, .textContent.smallPhoneBreak.max100Outer .flexer.wrapper .sideContent::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background-color: inherit;
    transform: translateX(-50%);
  }
  .textContent.smallPhoneBreak.hasColour {
    padding: 0;
  }
  .textContent.smallPhoneBreak.hasColour .text {
    padding: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.hasColour.textLeft .text {
    padding-right: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.hasColour.textRight .text {
    padding-left: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft .text.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft.noImagePad.hasColour .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.smallPhoneBreak.textLeft.sameBacks .hasColour + .hasColour {
    padding-bottom: 0px;
  }
  .textContent.smallPhoneBreak.textRight .sideContent.noBack {
    margin-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.noBack .text {
    padding-right: 0;
    padding-left: 0;
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.noImagePad .sideContent {
    margin-top: 0;
    margin-bottom: 0;
  }
  .textContent.smallPhoneBreak.textRight.noImagePad .text.hasColour:has(+ .hasColour) {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.sameBacks .hasColour + .hasColour {
    padding-top: 0px;
  }
  .textContent.smallPhoneBreak.textLeft.noPadTop .flexer .text.hasColour {
    padding-top: 0;
  }
  .textContent.smallPhoneBreak.textLeft.noPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft.halfPadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.smallPhoneBreak.textLeft.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft.doublePadTop .flexer .text.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallPhoneBreak.textLeft.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft.noPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: 0;
  }
  .textContent.smallPhoneBreak.textLeft.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.smallPhoneBreak.textLeft.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textLeft.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallPhoneBreak.textRight.noPadTop .flexer .sideContent.hasColour {
    padding-top: 0;
  }
  .textContent.smallPhoneBreak.textRight.noPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.halfPadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.smallPhoneBreak.textRight.halfPadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.doublePadTop .flexer .sideContent.hasColour {
    padding-top: calc((calc(18px + 2.5vw)) * 2);
  }
  .textContent.smallPhoneBreak.textRight.doublePadTop .flexer .text.hasColour {
    padding-top: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.noPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.noPadBottom .flexer .text.hasColour {
    padding-bottom: 0;
  }
  .textContent.smallPhoneBreak.textRight.halfPadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.halfPadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .textContent.smallPhoneBreak.textRight.doublePadBottom .flexer .sideContent.hasColour {
    padding-bottom: calc(18px + 2.5vw);
  }
  .textContent.smallPhoneBreak.textRight.doublePadBottom .flexer .text.hasColour {
    padding-bottom: calc((calc(18px + 2.5vw)) * 2);
  }
} /*$smallPhone ends*/
.keyPoints .text + .points {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.keyPoints .points + .text {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.keyPoints .points {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: stretch;
  width: 100%;
}
.keyPoints .points .pointHolder {
  padding: calc((calc(18px + 2.5vw)) * 0.25);
}
.keyPoints .points .pointHolder.hasColour {
  padding: calc((calc(18px + 2.5vw)) * 0.75);
}
.keyPoints .points .point {
  width: 100%;
}
.keyPoints .points .point.hasColour {
  padding: calc((calc(18px + 2.5vw)) * 0.75);
}

.keyPoints.vertAlignTop .points {
  align-items: flex-start;
}

.keyPoints.vertAlignCentre .points {
  align-items: center;
}

.keyPoints.vertAlignBottom .points {
  align-items: flex-end;
}

.keyPoints.equalHeight .points {
  align-items: stretch;
}
.keyPoints.equalHeight .points .pointHolder {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: stretch;
}
.keyPoints.equalHeight .points .pointHolder .point {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.keyPoints.equalHeight.vertAlignTop .pointHolder .point {
  justify-content: flex-start;
}
.keyPoints.equalHeight.vertAlignCentre .pointHolder .point {
  justify-content: center;
}
.keyPoints.equalHeight.vertAlignBottom .pointHolder .point {
  justify-content: flex-end;
}

.point .text.hasColour {
  padding: calc((calc(18px + 2.5vw)) * 0.5);
}

.keyPoints.keyPointWidth12 .points .pointHolder {
  width: 12.5%;
}

.keyPoints.keyPointWidth16 .points .pointHolder {
  width: 16.666666%;
}

.keyPoints.keyPointWidth25 .points .pointHolder {
  width: 25%;
}

.keyPoints.keyPointWidth33 .points .pointHolder {
  width: 33.333333%;
}

.keyPoints.keyPointWidth50 .points .pointHolder {
  width: 50%;
}

.iconHolder {
  width: 95%;
  max-width: 350px;
  z-index: 2;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
.iconHolder.hasColour {
  border-radius: 50%;
  border: solid 2px var(--gg-color-white);
  padding: 0;
}
.iconHolder img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  z-index: 2;
}

.keyPoints.keyPointIconLarge .iconHolder {
  max-width: 250px;
}

.keyPoints.keyPointIconMedium .iconHolder {
  max-width: 145px;
}

.keyPoints.keyPointIconSmall .iconHolder {
  max-width: 120px;
}

.iconHolder + .text {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}

.iconHolder.hasColour + .text.hasColour {
  margin-top: 0;
}
.iconHolder.hasColour + .text.hasColour::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: auto;
  right: 0;
  bottom: 100%;
  padding-top: 30%;
  background-color: inherit;
}

@media only screen and (max-width: 1000px) {
  .keyPoints.laptopBreak.keyPointWidth12 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.laptopBreak.keyPointWidth16 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.laptopBreak.keyPointWidth25 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.laptopBreak.keyPointWidth33 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.laptopBreak.keyPointWidth50 .points .pointHolder {
    width: 50%;
    min-width: 250px;
  }
  .keyPoints.laptopBreak.keyPointMobileWidth12 .points .pointHolder {
    width: 12.5%;
  }
  .keyPoints.laptopBreak.keyPointMobileWidth16 .points .pointHolder {
    width: 16.6666666667%;
  }
  .keyPoints.laptopBreak.keyPointMobileWidth25 .points .pointHolder {
    width: 25%;
  }
  .keyPoints.laptopBreak.keyPointMobileWidth33 .points .pointHolder {
    width: 33.3333333333%;
  }
  .keyPoints.laptopBreak.keyPointMobileWidth50 .points .pointHolder {
    width: 50%;
  }
  .keyPoints.laptopBreak.keyPointMobileWidth75 .points .pointHolder {
    width: 75%;
  }
  .keyPoints.laptopBreak.keyPointMobileWidth100 .points .pointHolder {
    width: 100%;
  }
} /*$laptop ends*/
@media only screen and (max-width: 900px) {
  .keyPoints.bigTabletBreak.keyPointWidth12 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.bigTabletBreak.keyPointWidth16 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.bigTabletBreak.keyPointWidth25 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.bigTabletBreak.keyPointWidth33 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.bigTabletBreak.keyPointWidth50 .points .pointHolder {
    width: 50%;
    min-width: 250px;
  }
  .keyPoints.bigTabletBreak.keyPointMobileWidth12 .points .pointHolder {
    width: 12.5%;
  }
  .keyPoints.bigTabletBreak.keyPointMobileWidth16 .points .pointHolder {
    width: 16.6666666667%;
  }
  .keyPoints.bigTabletBreak.keyPointMobileWidth25 .points .pointHolder {
    width: 25%;
  }
  .keyPoints.bigTabletBreak.keyPointMobileWidth33 .points .pointHolder {
    width: 33.3333333333%;
  }
  .keyPoints.bigTabletBreak.keyPointMobileWidth50 .points .pointHolder {
    width: 50%;
  }
  .keyPoints.bigTabletBreak.keyPointMobileWidth75 .points .pointHolder {
    width: 75%;
  }
  .keyPoints.bigTabletBreak.keyPointMobileWidth100 .points .pointHolder {
    width: 100%;
  }
} /*$bigTablet ends*/
@media only screen and (max-width: 768px) {
  .keyPoints.tabletBreak.keyPointWidth12 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.tabletBreak.keyPointWidth16 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.tabletBreak.keyPointWidth25 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.tabletBreak.keyPointWidth33 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.tabletBreak.keyPointWidth50 .points .pointHolder {
    width: 50%;
    min-width: 250px;
  }
  .keyPoints.tabletBreak.keyPointMobileWidth12 .points .pointHolder {
    width: 12.5%;
  }
  .keyPoints.tabletBreak.keyPointMobileWidth16 .points .pointHolder {
    width: 16.6666666667%;
  }
  .keyPoints.tabletBreak.keyPointMobileWidth25 .points .pointHolder {
    width: 25%;
  }
  .keyPoints.tabletBreak.keyPointMobileWidth33 .points .pointHolder {
    width: 33.3333333333%;
  }
  .keyPoints.tabletBreak.keyPointMobileWidth50 .points .pointHolder {
    width: 50%;
  }
  .keyPoints.tabletBreak.keyPointMobileWidth75 .points .pointHolder {
    width: 75%;
  }
  .keyPoints.tabletBreak.keyPointMobileWidth100 .points .pointHolder {
    width: 100%;
  }
} /*$tablet ends*/
@media only screen and (max-width: 700px) {
  .keyPoints.keyPointWidth12 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.keyPointWidth16 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.keyPointWidth25 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.keyPointWidth33 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.keyPointWidth50 .points .pointHolder {
    width: 50%;
    min-width: 250px;
  }
  .keyPoints.keyPointMobileWidth12 .points .pointHolder {
    width: 12.5%;
  }
  .keyPoints.keyPointMobileWidth16 .points .pointHolder {
    width: 16.6666666667%;
  }
  .keyPoints.keyPointMobileWidth25 .points .pointHolder {
    width: 25%;
  }
  .keyPoints.keyPointMobileWidth33 .points .pointHolder {
    width: 33.3333333333%;
  }
  .keyPoints.keyPointMobileWidth50 .points .pointHolder {
    width: 50%;
  }
  .keyPoints.keyPointMobileWidth75 .points .pointHolder {
    width: 75%;
  }
  .keyPoints.keyPointMobileWidth100 .points .pointHolder {
    width: 100%;
  }
  .keyPoints.smallTabletBreak.keyPointWidth12 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.smallTabletBreak.keyPointWidth16 .points .pointHolder {
    width: 30%;
    min-width: 250px;
  }
  .keyPoints.smallTabletBreak.keyPointWidth25 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.smallTabletBreak.keyPointWidth33 .points .pointHolder {
    width: 45%;
    min-width: 250px;
  }
  .keyPoints.smallTabletBreak.keyPointWidth50 .points .pointHolder {
    width: 50%;
    min-width: 250px;
  }
  .keyPoints.smallTabletBreak.keyPointMobileWidth12 .points .pointHolder {
    width: 12.5%;
  }
  .keyPoints.smallTabletBreak.keyPointMobileWidth16 .points .pointHolder {
    width: 16.6666666667%;
  }
  .keyPoints.smallTabletBreak.keyPointMobileWidth25 .points .pointHolder {
    width: 25%;
  }
  .keyPoints.smallTabletBreak.keyPointMobileWidth33 .points .pointHolder {
    width: 33.3333333333%;
  }
  .keyPoints.smallTabletBreak.keyPointMobileWidth50 .points .pointHolder {
    width: 50%;
  }
  .keyPoints.smallTabletBreak.keyPointMobileWidth75 .points .pointHolder {
    width: 75%;
  }
  .keyPoints.smallTabletBreak.keyPointMobileWidth100 .points .pointHolder {
    width: 100%;
  }
} /*$smallTablet ends*/
@media only screen and (max-width: 650px) {
  .keyPoints.keyPointWidth12 .points, .keyPoints.keyPointWidth16 .points, .keyPoints.keyPointWidth25 .points, .keyPoints.keyPointWidth33 .points, .keyPoints.keyPointWidth50 .points, .keyPoints.keyPointMobileWidth12 .points, .keyPoints.keyPointMobileWidth16 .points, .keyPoints.keyPointMobileWidth25 .points, .keyPoints.keyPointMobileWidth33 .points, .keyPoints.keyPointMobileWidth50 .points, .keyPoints.keyPointMobileWidth75 .points, .keyPoints.keyPointMobileWidth100 .points {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
  }
  .keyPoints.keyPointWidth12 .points .pointHolder, .keyPoints.keyPointWidth16 .points .pointHolder, .keyPoints.keyPointWidth25 .points .pointHolder, .keyPoints.keyPointWidth33 .points .pointHolder, .keyPoints.keyPointWidth50 .points .pointHolder, .keyPoints.keyPointMobileWidth12 .points .pointHolder, .keyPoints.keyPointMobileWidth16 .points .pointHolder, .keyPoints.keyPointMobileWidth25 .points .pointHolder, .keyPoints.keyPointMobileWidth33 .points .pointHolder, .keyPoints.keyPointMobileWidth50 .points .pointHolder, .keyPoints.keyPointMobileWidth75 .points .pointHolder, .keyPoints.keyPointMobileWidth100 .points .pointHolder {
    width: 100%;
    width: -moz-fit-content;
    width: fit-content;
  }
  .keyPoints.keyPointWidth12 .points .pointHolder .point, .keyPoints.keyPointWidth16 .points .pointHolder .point, .keyPoints.keyPointWidth25 .points .pointHolder .point, .keyPoints.keyPointWidth33 .points .pointHolder .point, .keyPoints.keyPointWidth50 .points .pointHolder .point, .keyPoints.keyPointMobileWidth12 .points .pointHolder .point, .keyPoints.keyPointMobileWidth16 .points .pointHolder .point, .keyPoints.keyPointMobileWidth25 .points .pointHolder .point, .keyPoints.keyPointMobileWidth33 .points .pointHolder .point, .keyPoints.keyPointMobileWidth50 .points .pointHolder .point, .keyPoints.keyPointMobileWidth75 .points .pointHolder .point, .keyPoints.keyPointMobileWidth100 .points .pointHolder .point {
    max-width: 100%;
    width: 100%;
  }
  .keyPoints.keyPointWidth12 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointWidth16 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointWidth25 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointWidth33 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointWidth50 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointMobileWidth12 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointMobileWidth16 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointMobileWidth25 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointMobileWidth33 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointMobileWidth50 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointMobileWidth75 .points .pointHolder .point:has(.iconHolder), .keyPoints.keyPointMobileWidth100 .points .pointHolder .point:has(.iconHolder) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start;
    gap: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .keyPoints.keyPointWidth12 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointWidth16 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointWidth25 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointWidth33 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointWidth50 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointMobileWidth12 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointMobileWidth16 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointMobileWidth25 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointMobileWidth33 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointMobileWidth50 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointMobileWidth75 .points .pointHolder .point:has(.iconHolder) .iconHolder, .keyPoints.keyPointMobileWidth100 .points .pointHolder .point:has(.iconHolder) .iconHolder {
    max-width: 60px;
    min-width: 60px;
    width: 60px;
  }
  .keyPoints.keyPointWidth12 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointWidth16 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointWidth25 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointWidth33 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointWidth50 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointMobileWidth12 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointMobileWidth16 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointMobileWidth25 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointMobileWidth33 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointMobileWidth50 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointMobileWidth75 .points .pointHolder .point:has(.iconHolder) .text, .keyPoints.keyPointMobileWidth100 .points .pointHolder .point:has(.iconHolder) .text {
    flex-grow: 1;
  }
  .keyPoints.keyPointWidth12 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointWidth16 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointWidth25 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointWidth33 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointWidth50 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointMobileWidth12 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointMobileWidth16 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointMobileWidth25 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointMobileWidth33 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointMobileWidth50 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointMobileWidth75 .points .pointHolder .point:has(.iconHolder) .text *, .keyPoints.keyPointMobileWidth100 .points .pointHolder .point:has(.iconHolder) .text * {
    text-align: left;
  }
} /*$bigPhone ends*/
/*$phone ends*/
/*$smallPhone ends*/
.customBanner {
  display: grid;
  grid-template-areas: "bannerHolder";
  grid-template-columns: 1fr;
  min-height: 55vh;
}
.customBanner .flexer {
  grid-area: bannerHolder;
  z-index: 2;
  align-self: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  padding: calc(18px + 2.5vw) 0;
}
.customBanner.textRight .flexer {
  justify-content: flex-end;
}
.customBanner.textLeft .flexer {
  justify-content: flex-start;
}
.customBanner.clearText .bannerText {
  background-color: transparent !important;
}

.customBanner .bannerText {
  width: calc(33.333% + (calc(18px + 2.5vw)) * 2);
  padding: calc(18px + 2.5vw);
  z-index: 1;
}
.customBanner .bannerText *:last-child:not(.bgImage) {
  margin-bottom: 0;
}
.customBanner .bannerText::after {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  top: 0;
  right: auto;
  bottom: 0;
  display: none;
  background-color: var(--gg-color-secondary);
  z-index: -2;
}
.customBanner .bannerText .bgImage {
  z-index: -1;
  mix-blend-mode: luminosity;
  opacity: 0.2;
}

.customBanner .customImages {
  align-self: center;
  justify-self: center;
  width: 100%;
  grid-area: bannerHolder;
  height: 100%;
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
}
.customBanner .customImages .image {
  height: 100%;
  width: 100%;
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
}
.customBanner .customImages .image img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 700px) {
  .customBanner .customImages {
    grid-auto-rows: 1fr;
    grid-auto-flow: row;
  }
  .customBanner .bannerText {
    width: 80%;
    padding: calc((calc(18px + 2.5vw)) * 0.75);
    margin: calc(calc((calc(18px + 2.5vw)) * 2) * 1.5) 0;
  }
} /*$smallTablet ends*/
.customCode.forceFullWidth iframe {
  width: 100%;
  height: clamp(300px, 66vw, 700px);
  min-height: 300px;
}
.customCode.forceFullWidth.iFrame50vh iframe {
  height: 50vh;
}
.customCode.forceFullWidth.iFrame66vh iframe {
  height: 66vh;
}
.customCode.forceFullWidth.iFrame75vh iframe {
  height: 75vh;
}

.thumbs {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.imageGallery {
  text-align: center;
}
.imageGallery.noBack {
  padding-bottom: 0px;
  padding: 0;
}
.imageGallery.hasBackground {
  padding: calc(18px + 2.5vw) 0;
}
.imageGallery .text + .thumbs {
  margin-top: calc(18px + 2.5vw);
}
.imageGallery .thumbs + .text {
  margin-top: calc(18px + 2.5vw);
}
.imageGallery .thumbs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  justify-content: center;
  width: calc(100% + calc((calc(18px + 2.5vw)) * 0.25));
  margin-bottom: calc(0px - calc((calc(18px + 2.5vw)) * 0.25));
}
.imageGallery .thumbs .image {
  width: 33.3333333333%;
  padding: 0 calc(calc((calc(18px + 2.5vw)) * 0.25)) calc(calc((calc(18px + 2.5vw)) * 0.25)) 0;
}
.imageGallery .thumbs .image img {
  -o-object-position: center bottom;
     object-position: center bottom;
}
.imageGallery.noPad .thumbs {
  width: 100%;
}
.imageGallery .thumbs.flickity-enabled {
  display: block;
}
.imageGallery .thumbs.flickity-enabled .image {
  padding-top: 0px;
  padding-bottom: 0px;
}
.imageGallery .thumbs.flickity-enabled .flickity-slider {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
}
.imageGallery .thumbs.flickity-enabled .flickity-page-dots {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  margin: calc((calc(18px + 2.5vw)) * 0.5) 0;
}
.imageGallery .thumbs.flickity-enabled .flickity-viewport {
  height: 100%;
  min-height: 100%;
}
.imageGallery.noPad .thumbs {
  padding-bottom: 0;
}
.imageGallery.noPad .thumbs .image {
  padding: 0;
}
.imageGallery.quarterPad .thumbs {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.25 / 2);
}
.imageGallery.quarterPad .thumbs .image {
  padding: calc((calc(18px + 2.5vw)) * 0.25 / 2);
}
.imageGallery.halfPad .thumbs {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.25);
}
.imageGallery.halfPad .thumbs .image {
  padding: calc((calc(18px + 2.5vw)) * 0.25);
}
.imageGallery.normalPad .thumbs {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.25);
}
.imageGallery.normalPad .thumbs .image {
  padding: calc((calc(18px + 2.5vw)) * 0.5);
}
.imageGallery.doublePad .thumbs {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.25);
}
.imageGallery.doublePad .thumbs .image {
  padding: calc(18px + 2.5vw);
}
.imageGallery.propRound .thumbs .image img {
  border-radius: 50%;
  aspect-ratio: 1/1;
}
.imageGallery.propSquare .thumbs .image img {
  aspect-ratio: 1/1;
}
.imageGallery.propLandscape .thumbs .image img {
  aspect-ratio: 1.3/1;
}
.imageGallery.propPortrait .thumbs .image img {
  aspect-ratio: 1/1.3;
}
.imageGallery.thumbAlignTop .thumbs {
  align-items: flex-start;
}
.imageGallery.thumbAlignTop .thumbs .image img {
  -o-object-position: center top;
     object-position: center top;
}
.imageGallery.thumbAlignMiddle .thumbs {
  align-items: center;
}
.imageGallery.thumbAlignMiddle .thumbs .image img {
  -o-object-position: center center;
     object-position: center center;
}
.imageGallery.thumbAlignBottom .thumbs {
  align-items: flex-end;
}
.imageGallery.thumbAlignBottom .thumbs .image img {
  -o-object-position: center bottom;
     object-position: center bottom;
}

.imageGallery.thumb50 .thumbs .image {
  width: 50%;
}

.imageGallery.thumb33 .thumbs .image {
  width: 33.3333333333%;
}

.imageGallery.thumb25 .thumbs .image {
  width: 25%;
}

.imageGallery.thumb20 .thumbs .image {
  width: 20%;
}

.imageGallery.thumb16 .thumbs .image {
  width: 16.6666666667%;
}

.imageGallery.thumb12 .thumbs .image {
  width: 12.5%;
}

@media only screen and (max-width: 768px) {
  .imageGallery.thumb50:not(.neverBreak) .thumbs .image {
    width: 50%;
  }
  .imageGallery.thumb33:not(.neverBreak) .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.thumb25:not(.neverBreak) .thumbs .image {
    width: 25%;
  }
  .imageGallery.thumb20:not(.neverBreak) .thumbs .image {
    width: 20%;
  }
}
@media only screen and (max-width: 700px) {
  .imageGallery.thumb50:not(.neverBreak) .thumbs .image {
    width: 50%;
  }
  .imageGallery.thumb33:not(.neverBreak) .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.thumb25:not(.neverBreak) .thumbs .image {
    width: 50%;
  }
  .imageGallery.thumb20:not(.neverBreak) .thumbs .image {
    width: 50%;
  }
  .imageGallery.thumb16:not(.neverBreak) .thumbs .image {
    width: 25%;
  }
  .imageGallery.thumb12:not(.neverBreak) .thumbs .image {
    width: 25%;
  }
  .imageGallery.minThumb50:not(.neverBreak) .thumbs .image {
    min-width: 50%;
  }
  .imageGallery.minThumb33:not(.neverBreak) .thumbs .image {
    min-width: 33.3333333333%;
  }
}
.imageGallery.immediateBreak.minThumb50 .thumbs .image {
  min-width: 50%;
}
.imageGallery.immediateBreak.minThumb33 .thumbs .image {
  min-width: 33.3333333333%;
}
.imageGallery.immediateBreak.thumb50 .thumbs .image {
  width: 33.3333333333%;
}
.imageGallery.immediateBreak.thumb33 .thumbs .image {
  width: 33.3333333333%;
  flex-grow: 1;
}
.imageGallery.immediateBreak.thumb25 .thumbs .image {
  width: 50%;
}
.imageGallery.immediateBreak.thumb20 .thumbs .image {
  width: 50%;
  flex-grow: 1;
}
.imageGallery.immediateBreak.thumb16 .thumbs .image {
  width: 50%;
  flex-grow: 1;
}
.imageGallery.immediateBreak.thumb12 .thumbs .image {
  width: 50%;
  flex-grow: 1;
}

@media only screen and (max-width: 650px) {
  .imageGallery:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 1000px) {
  .imageGallery.laptopBreak:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery.laptopBreak:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery.laptopBreak:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.laptopBreak:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery.laptopBreak:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery.laptopBreak:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.laptopBreak:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.laptopBreak:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
} /*$laptop ends*/
@media only screen and (max-width: 900px) {
  .imageGallery.bigTabletBreak:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery.bigTabletBreak:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery.bigTabletBreak:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.bigTabletBreak:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery.bigTabletBreak:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery.bigTabletBreak:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.bigTabletBreak:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.bigTabletBreak:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
} /*$bigTablet ends*/
@media only screen and (max-width: 768px) {
  .imageGallery.tabletBreak:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery.tabletBreak:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery.tabletBreak:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.tabletBreak:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery.tabletBreak:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery.tabletBreak:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.tabletBreak:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.tabletBreak:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
} /*$tablet ends*/
@media only screen and (max-width: 700px) {
  .imageGallery:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.smallTabletBreak:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery.smallTabletBreak:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery.smallTabletBreak:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.smallTabletBreak:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery.smallTabletBreak:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery.smallTabletBreak:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.smallTabletBreak:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.smallTabletBreak:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
} /*$smallTablet ends*/
@media only screen and (max-width: 650px) {
  .imageGallery.bigPhoneBreak:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery.bigPhoneBreak:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery.bigPhoneBreak:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.bigPhoneBreak:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery.bigPhoneBreak:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery.bigPhoneBreak:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.bigPhoneBreak:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.bigPhoneBreak:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
} /*$bigPhone ends*/
@media only screen and (max-width: 450px) {
  .imageGallery.phoneBreak:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery.phoneBreak:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery.phoneBreak:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.phoneBreak:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery.phoneBreak:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery.phoneBreak:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.phoneBreak:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.phoneBreak:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
} /*$phone ends*/
@media only screen and (max-width: 350px) {
  .imageGallery.smallPhoneBreak:not(.neverBreak).minThumb50 .thumbs .image {
    min-width: 50%;
  }
  .imageGallery.smallPhoneBreak:not(.neverBreak).minThumb33 .thumbs .image {
    min-width: 33.3333333333%;
  }
  .imageGallery.smallPhoneBreak:not(.neverBreak).thumb50 .thumbs .image {
    width: 33.3333333333%;
  }
  .imageGallery.smallPhoneBreak:not(.neverBreak).thumb33 .thumbs .image {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .imageGallery.smallPhoneBreak:not(.neverBreak).thumb25 .thumbs .image {
    width: 50%;
  }
  .imageGallery.smallPhoneBreak:not(.neverBreak).thumb20 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.smallPhoneBreak:not(.neverBreak).thumb16 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
  .imageGallery.smallPhoneBreak:not(.neverBreak).thumb12 .thumbs .image {
    width: 50%;
    flex-grow: 1;
  }
} /*$smallPhone ends*/
.videoBlock .introText * {
  text-align: center;
}
.videoBlock .text + .video_embed_code {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.videoBlock .video_embed_code {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  width: 100%;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.videoBlock .video_embed_code .heading {
  text-align: center;
}
.videoBlock .video_embed_code .proportioner {
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.videoBlock .video_embed_code .proportioner > div:first-child {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 !important;
}
.videoBlock .wp-video {
  margin: auto;
  max-width: 720px;
  /*$tablet ends*/
}
@media only screen and (max-width: 768px) {
  .videoBlock .wp-video {
    max-width: 100%;
  }
}
.videoBlock .mejs-container {
  background-color: transparent;
}
.videoBlock .mejs-container .mejs-mediaelement {
  background-color: var(--gg-color-secondary);
}
.videoBlock .mejs-container.videoSD {
  /*$bigPhone ends*/
}
@media only screen and (min-width: 650px) {
  .videoBlock .mejs-container.videoSD {
    display: none;
  }
}
.videoBlock .mejs-container.videoHD {
  /*$bigPhone ends*/
}
@media only screen and (max-width: 650px) {
  .videoBlock .mejs-container.videoHD {
    display: none;
  }
}
.videoBlock .mejs-controls {
  background-color: var(--gg-color-primary);
}
.videoBlock .mejs-controls.mejs-time-rail.mejs-time-current {
  background-color: var(--gg-color-secondary);
}
.videoBlock .mejs-inner {
  min-height: 100%;
}
.videoBlock .mediaelementwrapper {
  min-height: 100%;
}
.videoBlock .mejs-overlay {
  min-height: 100%;
}
.videoBlock .mejs-layers {
  min-height: 100%;
  position: initial;
}
.videoBlock .mejs-overlay-button {
  opacity: 0.5;
}
.videoBlock .mejs-overlay-button:hover {
  opacity: 1;
}

.testimonials {
  margin-right: auto;
  margin-left: auto;
}
.testimonials > .text {
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  max-width: 1050px;
}
.testimonials .testimonial {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: flex-start;
}
.testimonials .testimonial blockquote {
  max-width: 500px;
  width: 100%;
  padding-top: 0.5em;
  text-align: center;
}
.testimonials .testimonial blockquote * {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  font-size: var(--kc-h6-size-clamp);
  font-style: italic;
  line-height: 1.2em;
}
.testimonials .testimonial blockquote *:last-child {
  margin-bottom: 0;
}
.testimonials .testimonial blockquote *:first-child:before {
  opacity: 0.5;
  content: "“";
  font-size: 4em;
  line-height: 0.1em;
  display: inline-block;
  margin-right: 0.15em;
  vertical-align: -0.35em;
}
.testimonials .testimonial .quoteFoot {
  width: 100%;
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  font-size: var(--kc-small-font-size-clamp);
  text-align: center;
  padding-top: 0.75em;
  color: var(--gg-color-primary);
  font-weight: 700;
}
.testimonials .testimonial .quoteFoot .source {
  font-size: var(--kc-small-font-size-clamp);
  color: var(--gg-color-light-grey);
}

.testimonialGrid,
.testimonialTrack {
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}

.testimonialGrid {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
}
.testimonialGrid .testimonial {
  width: 50%;
  padding: 0 calc((calc(18px + 2.5vw)) * 0.5);
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.testimonialGrid .testimonial blockquote * {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
}

.testimonialTrack.flickity-enabled .flickity-slider {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
}
.testimonialTrack.flickity-enabled .flickity-page-dots {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}

.rating {
  width: 40%;
  margin: 1em auto;
  max-width: 180px;
  min-width: 100px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.rating span {
  width: 100%;
  display: block;
  padding-top: 20%;
}
.rating.oneStar {
  background-image: url("../img/star-rating-1.svg");
}
.rating.twoStar {
  background-image: url("../img/star-rating-2.svg");
}
.rating.threeStar {
  background-image: url("../img/star-rating-3.svg");
}
.rating.fourStar {
  background-image: url("../img/star-rating-4.svg");
}
.rating.fiveStar {
  background-image: url("../img/star-rating-5.svg");
}

.textContent.testimonialSide .testimonials {
  background-color: var(--gg-color-light-grey);
}
.textContent.testimonialSide .testimonials .testimonial {
  padding: calc(18px + 2.5vw);
}
.textContent.testimonialSide .testimonialTrack.flickity-enabled {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.textContent.testimonialSide .testimonialTrack.flickity-enabled .testimonial {
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.textContent.testimonialSide .testimonialTrack.flickity-enabled .flickity-page-dots {
  margin-top: 0;
  margin-bottom: 0;
}

.wrapper.specialOffers {
  max-width: calc(100% + calc((calc(18px + 2.5vw)) * 0.5));
}

.specialOffers .introText {
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.specialOffers .introText * {
  text-align: center;
}
.specialOffers .specialOffer {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: 25%;
  padding-right: calc((calc(18px + 2.5vw)) * 0.5);
  margin-bottom: calc(18px + 2.5vw);
  min-width: 350px;
}
.specialOffers .specialOffer img.specialOfferImage {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.specialOffers .specialOffer .image {
  order: 0;
  width: 100%;
}
.specialOffers .specialOffer .image img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.specialOffers .specialOffer .image span {
  display: block;
  width: 100%;
  padding-top: 100%;
}
.specialOffers .specialOffer .text {
  width: 100%;
  order: 1;
  padding: calc((calc(18px + 2.5vw)) * 0.5);
  border: 1px solid var(--gg-color-grey);
  flex-grow: 1;
}
.specialOffers .specialOffer .text h3 {
  font-size: var(--kc-h5-size-clamp);
}
.specialOffers .specialOffer .price {
  padding: 1.2em calc((calc(18px + 2.5vw)) * 0.5);
  order: 2;
  background-color: var(--gg-color-primary);
  width: 100%;
}
.specialOffers .specialOffer .price h4 {
  color: var(--gg-color-white);
  margin: 0;
}
.specialOffers .specialOffer .offerLink {
  order: 4;
  width: 100%;
}
.specialOffers .specialOffer .offerLink .blockLink {
  white-space: normal;
  margin: 0;
  width: 100%;
  padding-left: calc((calc(18px + 2.5vw)) * 0.5);
  padding-right: calc(calc((calc(18px + 2.5vw)) * 0.5) + 2em);
  background-position: right calc((calc(18px + 2.5vw)) * 0.5) center;
}

.specialOfferTrack, .specialOfferGrid {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: stretch;
}
.specialOfferTrack.flickity-enabled .flickity-viewport, .specialOfferGrid.flickity-enabled .flickity-viewport {
  width: 100%;
}
.specialOfferTrack.flickity-enabled .soecialOffer, .specialOfferGrid.flickity-enabled .soecialOffer {
  min-height: 100%;
}
.specialOfferTrack.flickity-enabled .flickity-page-dots, .specialOfferGrid.flickity-enabled .flickity-page-dots {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}

@media only screen and (max-width: 700px) {
  .specialOffers .specialOffer {
    width: 50%;
  }
  .specialOffers .specialOffer .image span {
    padding-top: 75%;
  }
} /*$smallTablet ends*/
:root {
  interpolate-size: allow-keywords;
}

.faqs.hasColour .faqSignOff {
  margin-top: calc(18px + 2.5vw);
}
.faqs .introText, .faqs .outtroText {
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
}
.faqs.hasIcon.hasColour {
  padding-top: 0;
  margin-top: calc((calc(18px + 2.5vw)) * 2);
}
.faqs.hasIcon.hasColour .iconHolder {
  transform: translateY(calc(0px - (18px + 2.5vw)));
  margin-bottom: calc(0px - (18px + 2.5vw));
}
.faqs.hasIcon .iconHolder + .introText {
  margin-top: calc((calc(18px + 2.5vw)) * 0.75);
}
.faqs.mainFAQPage {
  padding-top: 0;
}
.faqs .introText + .flexer {
  margin-top: calc((calc(18px + 2.5vw)) * 0.25);
}
.faqs .flexer {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
}
.faqs.lightGreyBack .faq {
  border-bottom: solid 1px var(--gg-color-white);
}
.faqs .faq {
  width: 100%;
  max-width: 850px;
  padding: calc((calc(18px + 2.5vw)) * 0.5) calc(18px + 2.5vw);
  border-bottom: solid 1px var(--gg-color-light-grey);
}
.faqs .faq:last-child {
  border: 0;
  padding-bottom: 0px;
}
.faqs .faq .question {
  font-size: var(--kc-h6-size-clamp);
  margin-bottom: 0;
  color: var(--gg-color-primary);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  cursor: pointer;
}
.faqs .faq .question::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-image: url("../img/red-minus.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0.75em;
}
.faqs .faq .question.closed::before {
  content: "";
  background-image: url("../img/primary-plus.svg");
}
.faqs .faq .answer > *:first-child {
  margin-top: 1.2em;
}
.faqs .faq .answer {
  height: -moz-fit-content;
  height: fit-content;
  opacity: 1;
  transition: height 1s, opacity 1s;
}
.faqs .faq .question.closed + .answer {
  height: 1px;
  overflow: hidden;
  opacity: 0;
  transition: height 1s, opacity 1s;
}
.faqs .faqSignOff {
  margin: auto;
  background-color: rgba(255, 255, 255, 0.5);
  padding: calc(18px + 2.5vw);
  max-width: 850px;
}
.faqs .faqSignOff *:last-child {
  margin-bottom: 0;
}
.faqs .faqSignOff * {
  text-align: center;
}

@media only screen and (max-width: 900px) {
  .faqs .faq {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .faqs .faq:nth-child(odd)::after {
    display: none;
  }
} /*$bigTablet ends*/
.manufacturersBlock {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.manufacturersBlock .text + .flexer {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.manufacturersBlock .flexer {
  justify-content: center;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.manufacturersBlock .flexer.flickity-enabled {
  display: block;
}
.manufacturersBlock .flexer.flickity-enabled .manufacturer {
  padding-top: 0px;
  padding-bottom: 0px;
  width: 33.33%;
}
.manufacturersBlock .flexer.flickity-enabled .flickity-slider {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
}
.manufacturersBlock .flexer.flickity-enabled .flickity-page-dots {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  margin: calc((calc(18px + 2.5vw)) * 0.5) 0;
}
.manufacturersBlock .flexer.flickity-enabled .flickity-viewport {
  height: 100%;
  min-height: 100%;
}
.manufacturersBlock .manufacturer {
  width: 20%;
  min-width: 145px;
  text-align: center;
  padding: calc((calc(18px + 2.5vw)) * 0.25) calc((calc(18px + 2.5vw)) * 0.5);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.manufacturersBlock .manufacturer img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 1.5/1;
}
.manufacturersBlock .manufacturer p {
  padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  font-size: var(--kc-small-font-size-clamp);
  width: 100%;
  margin: auto;
  margin-bottom: 0;
}

.manufacturersBlock.largeLogos .manufacturer {
  width: 33%;
  min-width: 180px;
}
.manufacturersBlock.largeLogos .manufacturer img {
  max-height: 120px;
}

.flooringTypes.squareImages .floorType img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.flooringTypes .text + .floorTypes {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.flooringTypes .floorTypes {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: stretch;
  width: calc(100% + (calc(18px + 2.5vw)) * 0.5);
  margin-left: calc(0px - (calc((calc(18px + 2.5vw)) * 0.25)));
}
.flooringTypes .floorTypes .floorType {
  width: 25%;
  max-width: calc(100% - (calc(18px + 2.5vw)) * 2);
  min-width: 220px;
  padding: calc((calc(18px + 2.5vw)) * 0.25);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: stretch;
}
.flooringTypes .floorTypes .floorType .text {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: stretch;
  padding: calc((calc(18px + 2.5vw)) * 0.5);
  flex-grow: 1;
}
.flooringTypes .floorTypes .floorType .text *:last-child {
  margin-bottom: 0;
}
.flooringTypes .floorTypes .floorType h5 {
  display: inline-block;
  margin-bottom: 12px;
}
.flooringTypes .floorTypes.flickity-enabled {
  display: block;
  padding: 0 30px;
}
.flooringTypes .floorTypes.flickity-enabled .floorType {
  padding-top: 0px;
  padding-bottom: 0px;
}
.flooringTypes .floorTypes.flickity-enabled .flickity-slider {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: stretch;
}
.flooringTypes .floorTypes.flickity-enabled .flickity-page-dots {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  margin: calc((calc(18px + 2.5vw)) * 0.5) 0;
}
.flooringTypes .floorTypes.flickity-enabled .flickity-viewport {
  height: 100%;
  min-height: 100%;
}

.flooringTypes .floorTypes .floorType {
  width: 25%;
}

.flooringTypes.type100 .floorTypes .floorType {
  width: 100%;
}

.flooringTypes.type50 .floorTypes .floorType {
  width: 50%;
}

.flooringTypes.type33 .floorTypes .floorType {
  width: 33%;
}

.flooringTypes.type25 .floorTypes .floorType {
  width: 25%;
}

.flooringTypes.type20 .floorTypes .floorType {
  width: 20%;
}

@media only screen and (max-width: 700px) {
  .flooringTypes .floorTypes .floorType,
  .flooringTypes.type25 .floorTypes .floorType,
  .flooringTypes.type20 .floorTypes .floorType {
    width: 40%;
  }
  .flooringTypes.type100 .floorTypes .floorType,
  .flooringTypes.type50 .floorTypes .floorType {
    width: 100%;
  }
} /*$smallTablet ends*/
@media only screen and (max-width: 650px) {
  .flooringTypes .floorTypes .floorType,
  .flooringTypes.type25 .floorTypes .floorType,
  .flooringTypes.type20 .floorTypes .floorType {
    width: 50%;
  }
  .flooringTypes.type100 .floorTypes .floorType,
  .flooringTypes.type50 .floorTypes .floorType,
  .flooringTypes.type33 .floorTypes .floorType {
    width: 100%;
  }
} /*$bigPhone ends*/
.comparisonTable .text + .compTable {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.comparisonTable > .text {
  max-width: var(1050px);
  margin-left: auto;
  margin-right: auto;
}
.comparisonTable .compTable {
  width: 100%;
  display: grid;
  grid-auto-rows: auto;
  grid-template-columns: 1fr 1fr;
  gap: calc((calc(18px + 2.5vw)) * 0.5);
}
.comparisonTable .compTable .compItem {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  background-color: var(--gg-color-light-grey);
}
.comparisonTable .compTable .compItem img.compImage {
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
.comparisonTable .compTable .compItem .text {
  width: 100%;
  padding: calc(18px + 2.5vw);
  flex-grow: 1;
}
@supports (font-size: clamp(1em, 1vw, 2em)) {
  .comparisonTable .compTable .compItem .text ul.ticks {
    font-size: clamp(16px, 2.1vw, 18px);
  }
}

@media only screen and (max-width: 700px) {
  .comparisonTable .compTable {
    grid-template-columns: 1fr;
  }
} /*$smallTablet ends*/
.socialBlock .introText * {
  text-align: center;
}
.socialBlock .text + .social_embed_code {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.socialBlock .social_embed_code {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  width: 100%;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.socialBlock .social_embed_code .heading {
  text-align: center;
}
.socialBlock .social_embed_code iframe {
  margin: calc((calc(18px + 2.5vw)) * 0.5) auto;
}

.featureImage {
  text-align: center;
}
.featureImage .image {
  display: block;
  margin: auto;
}

.divider {
  display: block;
  width: 100%;
  border-top: solid 1px var(--gg-color-primary);
}
.divider.primaryLine {
  border-top: solid 1px var(--gg-color-primary);
}
.divider.secondaryLine {
  border-top: solid 1px var(--gg-color-secondary);
}
.divider.whiteLine {
  border-top: solid 1px var(--gg-color-white);
}
.divider.blackLine {
  border-top: solid 1px var(--gg-color-black);
}
.divider.greyLine {
  border-top: solid 1px var(--gg-color-grey);
}
.divider.lightGreyLine {
  border-top: solid 1px var(--gg-color-light-grey);
}
.divider.darkGreyLine {
  border-top: solid 1px var(--gg-color-dark-grey);
}
.divider.redLine {
  border-top: solid 1px var(--gg-color-red);
}

/*$phone ends*/
.imageGrid {
  display: grid;
  gap: calc((calc(18px + 2.5vw)) * 0.25);
  width: 100%;
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}
.imageGrid .image {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}
.imageGrid .image .toolTipIndicator,
.imageGrid .image .toolTip {
  display: none;
}
.imageGrid .image .toolTip {
  right: 0;
  bottom: 0;
}
.imageGrid .image img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.imageGrid.grid4 {
  grid-template-areas: "image1 image1 image2" "image3 image4 image4";
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr 1fr;
}
.imageGrid.grid4 .image1 {
  grid-area: image1;
}
.imageGrid.grid4 .image1 .stilt {
  display: block;
  padding-top: 50%;
}
.imageGrid.grid4 .image2 {
  grid-area: image2;
}
.imageGrid.grid4 .image3 {
  grid-area: image3;
}
.imageGrid.grid4 .image4 {
  grid-area: image4;
}
.imageGrid.grid6 {
  grid-template-areas: "image1 image1 image2 image3" "image4 image5 image5 image3" "image4 image5 image5 image6";
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 2fr 1fr 2fr;
}
.imageGrid.grid6 .image1 {
  grid-area: image1;
}
.imageGrid.grid6 .image1 .stilt {
  display: block;
  padding-top: 50%;
}
.imageGrid.grid6 .image2 {
  grid-area: image2;
}
.imageGrid.grid6 .image3 {
  grid-area: image3;
}
.imageGrid.grid6 .image4 {
  grid-area: image4;
}
.imageGrid.grid6 .image5 {
  grid-area: image5;
}
.imageGrid.grid6 .image6 {
  grid-area: image6;
}

@media only screen and (max-width: 650px) {
  .imageGrid.grid6 {
    grid-template-areas: "image1 image1 image2" "image3 image5 image5" "image6 image6 image4";
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
  .imageGrid.grid6 .image1 .stilt {
    padding-top: 66%;
  }
} /*$bigPhone ends*/
.fittingService .fittingGrid {
  display: grid;
  grid-template-areas: "image serviceInfo" "image serviceBullets";
  grid-template-columns: 1fr 1fr;
}
.fittingService .serviceInfo {
  grid-area: serviceInfo;
}
.fittingService .serviceBullets {
  grid-area: serviceBullets;
}
.fittingService img {
  grid-area: image;
  align-self: stretch;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 700px) {
  .fittingService .fittingGrid {
    grid-template-areas: "serviceInfo" "image" "serviceBullets";
    grid-template-columns: 1fr;
  }
  .fittingService img {
    aspect-ratio: 1/0.6;
  }
} /*$smallTablet ends*/
.projectNav {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: stretch;
  max-width: 1050px;
  margin-right: auto;
  margin-left: auto;
  margin-top: calc(18px + 2.5vw);
}

.projectsNavFoot {
  width: 100%;
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  order: 3;
}

.projectsNavBlock {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: stretch;
  width: calc(50% - (calc(18px + 2.5vw)) * 0.25);
}
.projectsNavBlock::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  right: auto;
  bottom: 0;
  width: 28px;
  height: 28px;
  background-color: var(--gg-color-primary);
  background-image: url("../img/arrow.svg");
  background-size: auto 60%;
  background-repeat: no-repeat;
  background-position: center center;
  transform-origin: center center;
  transform: translateY(-50%);
  transition: all 0.35s ease;
}
.projectsNavBlock.prevBlock .text {
  order: 1;
}
.projectsNavBlock.prevBlock .image {
  order: 0;
}
.projectsNavBlock.nextBlock .text {
  order: 0;
}
.projectsNavBlock.nextBlock .text * {
  text-align: right;
}
.projectsNavBlock.nextBlock .image {
  order: 1;
}
.projectsNavBlock.nextBlock::after {
  left: auto;
  right: 0;
  transform: rotate(180deg) translateY(50%);
}
.projectsNavBlock .text {
  background-color: var(--gg-color-light-grey);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  flex-grow: 1;
  padding: calc((calc(18px + 2.5vw)) * 0.5);
}
.projectsNavBlock .text p {
  font-size: var(--kc-small-font-size-clamp);
  margin-bottom: 6px;
}
.projectsNavBlock .image {
  order: 0;
  width: 100%;
  background-color: var(--gg-color-light-grey);
  overflow: hidden;
  width: 140px;
  min-width: 140px;
}
.projectsNavBlock .image img {
  transition: transform 1s ease-out;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.projectsNavBlock .image span {
  display: block;
  width: 100%;
  padding-top: 100%;
}

@media only screen and (max-width: 700px) {
  .projectsNavBlock {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;
    width: calc(50% - (calc(18px + 2.5vw)) * 0.5);
    max-width: 450px;
  }
  .projectsNavBlock.prevBlock .text {
    order: 1;
  }
  .projectsNavBlock.prevBlock .image {
    order: 0;
  }
  .projectsNavBlock.nextBlock .text {
    order: 0;
  }
  .projectsNavBlock.nextBlock .text * {
    text-align: right;
  }
  .projectsNavBlock.nextBlock .image {
    order: 1;
  }
  .projectsNavBlock .image {
    width: 110px;
    min-width: 110px;
  }
} /*$smallTablet ends*/
@media only screen and (max-width: 650px) {
  .projectNav {
    justify-content: center;
    max-width: calc(100% - (calc(18px + 2.5vw)) * 2);
  }
  .projectsNavBlock {
    width: 100%;
    max-width: 100%;
  }
  .projectsNavBlock.prevBlock {
    order: 1;
  }
  .projectsNavBlock.prevBlock .text {
    order: 1;
  }
  .projectsNavBlock.prevBlock .image {
    order: 0;
  }
  .projectsNavBlock.nextBlock {
    order: 0;
    margin-bottom: calc((calc(18px + 2.5vw)) * 0.25);
  }
  .projectsNavBlock.nextBlock .text {
    order: 0;
  }
  .projectsNavBlock.nextBlock .text * {
    text-align: right;
  }
  .projectsNavBlock.nextBlock .image {
    order: 1;
  }
  .projectsNavBlock.nextBlock::after {
    left: auto;
    right: 0;
    transform: rotate(180deg) translateY(50%);
  }
  .projectsNavBlock .text {
    padding: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .projectsNavBlock .text p {
    font-size: var(--kc-small-font-size-clamp);
    margin-bottom: 6px;
  }
  .projectsNavBlock .image {
    width: 80px;
    min-width: 80px;
  }
} /*$bigPhone ends*/
.inlineProjectsMenu {
  text-align: center;
  max-width: calc(100% - (calc(18px + 2.5vw)) * 2);
}
.inlineProjectsMenu.notAllProjects {
  padding-bottom: 0;
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.inlineProjectsMenu.notAllProjects .blockLink {
  transform: translateY(50%);
}
.inlineProjectsMenu .viewAllProjects {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
  margin-left: auto;
  margin-right: auto;
}

.projectsTiles {
  z-index: 2;
}
.projectsTiles .projectsMenuIntro {
  text-align: center;
  margin: calc(18px + 2.5vw) auto;
  max-width: 650px;
}
.projectsTiles .tileTrack, .projectsTiles .tileGrid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: center;
  width: calc(100% + (calc(18px + 2.5vw)) * 0.5);
  margin-left: calc(0px - (calc((calc(18px + 2.5vw)) * 0.25)));
  overflow: hidden;
}
.projectsTiles.withIntro .trackIntro {
  width: 100%;
  padding-bottom: calc(18px + 2.5vw);
  text-align: center;
  margin: auto;
  margin-bottom: 0;
  max-width: 950px;
}
.projectsTiles.withIntro .trackIntro h1::after, .projectsTiles.withIntro .trackIntro h2::after, .projectsTiles.withIntro .trackIntro h3::after {
  display: none;
}

.projectsTile {
  width: 25%;
  padding: calc(calc((calc(18px + 2.5vw)) * 0.25) / 2);
  padding-top: 0px;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.25);
}
.projectsTile .text {
  order: 1;
  padding: calc((calc(18px + 2.5vw)) * 0.5);
  z-index: 2;
  border: 1px solid var(--gg-color-grey);
}
.projectsTile .text .positioner {
  width: 100%;
  transition: padding-bottom 0.25s ease-out;
}
.projectsTile .text .positioner * {
  text-align: center;
}
.projectsTile .text .positioner .viewProject {
  font-size: var(--kc-small-font-size-clamp);
}
.projectsTile .image {
  order: 0;
  width: 100%;
  background-color: var(--gg-color-light-grey);
  overflow: hidden;
}
.projectsTile .image img {
  transition: transform 1s ease-out;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.projectsTile .image span {
  display: block;
  width: 100%;
  padding-top: 100%;
}

.tileTrack.flickity-enabled {
  overflow: visible;
  padding-left: 44px;
  padding-right: 44px;
}
.tileTrack.flickity-enabled .projectsTile {
  min-height: 100%;
}
.tileTrack.flickity-enabled .flickity-slider {
  width: 100%;
}
.tileTrack.flickity-enabled .flickity-viewport {
  width: 100%;
}
.tileTrack.flickity-enabled .flickity-page-dots {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: none;
  margin: auto;
  margin-top: calc((calc(18px + 2.5vw)) * 0.25);
}
.tileTrack.flickity-enabled .flickity-page-dots li {
  display: block;
  width: 1.2em;
  height: 1.2em;
  margin-left: 0;
  margin-right: 0.6em;
  border-radius: 0;
  background-color: var(--gg-color-light-grey);
  opacity: 0.8;
}
.tileTrack.flickity-enabled .flickity-page-dots li.is-selected {
  background-color: var(--kc-color-secondary);
}

@media only screen and (max-width: 900px) {
  .projectsTiles .projectsTile {
    width: 33.33%;
  }
} /*$bigTablet ends*/
@media only screen and (max-width: 700px) {
  .projectsTiles .projectsTile {
    width: 50%;
  }
} /*$smallTablet ends*/
@media only screen and (max-width: 350px) {
  .projectsTiles .projectsTile {
    width: 80%;
    margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
} /*$smallPhone ends*/
.flooringCalcBlock {
  background-color: color-mix(in srgb, var(--gg-color-light-grey), transparent 50%);
}
.flooringCalcBlock .calcFlex {
  flex-wrap: wrap;
  align-items: stretch;
}
.flooringCalcBlock .flooringCalculator {
  width: 60%;
  background-color: color-mix(in srgb, var(--gg-color-light-grey), transparent 50%);
  padding: calc(18px + 2.5vw);
  flex-grow: 1;
}
.flooringCalcBlock .flooringCalculator input {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  padding: 0.75em;
  border: solid 1px var(--gg-color-grey);
  border-radius: 0.5em;
  width: 100%;
  max-width: 150px;
}
.flooringCalcBlock .flooringCalculator h6 {
  font-size: var(--kc-body-font-size-clamp);
  margin: 0;
}
.flooringCalcBlock .flooringCalculator h6#estCost {
  display: block;
  padding: 1em 1em;
  font-weight: 500;
  font-size: var(--kc-h6-size-clamp);
  margin-top: 1.5em;
  background-color: color-mix(in srgb, var(--gg-color-light-grey), transparent 50%);
  border: solid 1px var(--gg-color-grey);
  border-radius: 0.6em;
}
.flooringCalcBlock .flooringCalculator .inputWrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  gap: 1em;
}
.flooringCalcBlock .flooringCalculator .inputWrap span {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
}
.flooringCalcBlock .flooringCalculator label {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  gap: 0.75em;
}
.flooringCalcBlock .flooringCalculator label + label {
  padding-top: 2em;
  border-top: solid 1px var(--gg-color-light-grey);
}
.flooringCalcBlock .flooringCalculator .calcNote {
  margin: 0;
  font-size: var(--kc-small-font-size-clamp);
}
.flooringCalcBlock .flooringCalculator select {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  padding: 1em;
  width: 100%;
  max-width: 150px;
}
.flooringCalcBlock .flooringCalculator .widthLength {
  width: 100%;
  margin-top: 2em;
  padding-top: 2em;
  border-top: solid 1px var(--gg-color-light-grey);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  gap: calc((calc(18px + 2.5vw)) * 0.5);
}
.flooringCalcBlock .flooringCalculator .widthLength label {
  width: 40%;
  flex-grow: 1;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.flooringCalcBlock .flooringCalculator form {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  gap: 0.75em;
  border: solid 1px var(--gg-color-grey);
  padding: calc((calc(18px + 2.5vw)) * 0.75);
  background-color: var(--gg-color-white);
  border-radius: 2em;
}
.flooringCalcBlock .addresses {
  width: 40%;
  min-width: 300px;
  flex-grow: 1;
  background-color: color-mix(in srgb, var(--gg-color-grey), transparent 50%);
  padding: calc(18px + 2.5vw);
}
.flooringCalcBlock .addresses h3, .flooringCalcBlock .addresses p {
  width: -moz-fit-content;
  width: fit-content;
}
.flooringCalcBlock .addresses ul {
  list-style-type: none;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.contactForm {
  background-color: var(--gg-color-light-grey);
  padding: 0px;
}
.contactForm form {
  display: grid;
  grid-template-areas: "name email" "tel postcode" "enquiry enquiry" "interestedIn woudlLikeTo" "buttons buttons";
  grid-template-columns: 1fr 1fr;
  gap: calc((calc(18px + 2.5vw)) * 0.5);
  padding: calc((calc(18px + 2.5vw)) * 0.5);
}
.contactForm .formHolder {
  padding: calc(18px + 2.5vw);
  padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  display: block;
}
.contactForm .formHolder .introP {
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.contactForm .formHead {
  grid-area: formHead;
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
  padding: calc((calc(18px + 2.5vw)) * 0.5);
  background-color: var(--gg-color-primary);
}
.contactForm .formHead h3 {
  text-align: center;
  color: var(--gg-color-white);
}
.contactForm .formHead *:last-child {
  margin-bottom: 0;
}
.contactForm .name {
  grid-area: name;
}
.contactForm .email {
  grid-area: email;
}
.contactForm .tel {
  grid-area: tel;
}
.contactForm .postcode {
  grid-area: postcode;
}
.contactForm .enquiry {
  grid-area: enquiry;
}
.contactForm .interestedIn {
  grid-area: interestedIn;
}
.contactForm .woudlLikeTo {
  grid-area: woudlLikeTo;
}
.contactForm .buttons {
  grid-area: buttons;
}
.contactForm #form-errors {
  font-weight: 700;
  text-align: center;
  background-color: var(--gg-color-red);
  color: var(--gg-color-white);
  opacity: 0;
  height: 1px;
  padding: 0 2em;
}
.contactForm #form-errors.active {
  padding: 1.5em 2em;
  opacity: 1;
  height: -moz-fit-content;
  height: fit-content;
}
.contactForm .pristine-error {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  margin: 0.5em 0 0 0;
  color: var(--gg-color-red);
}
.contactForm .pristine-error.error {
  font-weight: 500;
}
.contactForm .form-group.has-danger {
  border: solid 1px var(--gg-color-red);
  padding: 1.8em;
}
.contactForm .buttons #processing {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: var(--gg-color-light-grey);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  gap: 1.5em;
  opacity: 0;
  pointer-events: none;
}
.contactForm .buttons #processing h6 {
  font-weight: 700;
  color: var(--gg-color-black);
  margin: 0;
}
.contactForm .buttons #processing span {
  display: block;
  height: 3em;
  width: 3em;
  background-image: url("../img/loading.svg");
  background-size: contain;
  animation: spin 1.5s linear infinite;
}
.contactForm .buttons #processing.active {
  opacity: 1;
  pointer-events: all;
}
.contactForm .checkList {
  border: solid 1px var(--gg-color-grey);
  padding: calc((calc(18px + 2.5vw)) * 0.5);
  background-color: color-mix(in srgb, var(--gg-color-white), transparent 50%);
}
.contactForm .checkList h6 {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  color: var(--gg-color-text-colour);
  margin-bottom: 12px;
}
.contactForm .checkList input[type=checkbox] {
  display: none;
  margin-bottom: 8px;
}
.contactForm .checkList input[type=checkbox] + label {
  cursor: pointer;
  padding-left: 36px;
  margin: 8px 0;
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
}
.contactForm .checkList input[type=checkbox] + label:before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 0px;
  right: auto;
  bottom: auto;
  width: 24px;
  height: 24px;
  border: solid 1px var(--gg-color-grey);
  background-color: var(--gg-color-white);
}
.contactForm .checkList input[type=checkbox] + label:after {
  position: absolute;
  content: "";
  display: block;
  left: 9px;
  top: 9px;
  right: auto;
  bottom: auto;
  width: 8px;
  height: 8px;
  background-color: var(--gg-color-primary);
  transform: scale(0.25);
  transform-origin: center center;
  opacity: 0;
  transition: all 0.35s ease;
}
.contactForm .checkList input[type=checkbox]:checked + label:after {
  transform: scale(1);
  opacity: 1;
}
.contactForm .buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
}
.contactForm .buttons button, .contactForm .buttons input[type=submit] {
  margin-right: 12px;
}
.contactForm .buttons p {
  margin: 8px 0;
}
.contactForm label {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  color: var(--gg-color-text-colour);
  display: block;
  width: 100%;
  margin-bottom: 6px;
}
.contactForm label span {
  font-size: var(--kc-small-font-size-clamp);
  color: var(--gg-color-red);
}
.contactForm textarea,
.contactForm input[type=text],
.contactForm input[type=email],
.contactForm input[type=tel] {
  width: 100%;
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  margin-bottom: 0;
  padding: 8px;
  border: 1px solid var(--gg-color-light-grey);
}
.contactForm input#postcode {
  max-width: 12em;
}
.contactForm textarea {
  height: 150px;
}
.contactForm input[type=submit] {
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  padding: 12px 18px;
  margin: 8px 0;
}
.contactForm .form-group.hidden {
  display: none;
}

@media only screen and (max-width: 650px) {
  .contactForm form {
    grid-template-areas: "name" "email" "tel" "postcode" "enquiry" "interestedIn" "woudlLikeTo" "buttons";
    grid-template-columns: 1fr;
  }
  .contactForm form .buttons {
    flex-wrap: wrap;
  }
  .contactForm form .buttons p {
    width: -moz-fit-content;
    width: fit-content;
  }
} /*$bigPhone ends*/
.contactMap.hasColour {
  padding: 0;
}
.contactMap .wrapper {
  background-color: var(--gg-color-light-grey);
  display: grid;
  grid-template-areas: "map mapHeader" "map contactDetails" "map addresses";
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
}
.contactMap .text {
  grid-area: contactDetails;
  padding: calc(18px + 2.5vw);
  padding-bottom: calc((calc(18px + 2.5vw)) * 0.25);
  width: 100%;
}
.contactMap .text .showroomLogo {
  width: 20em;
}
.contactMap .text .showroomLogo + * {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.contactMap .redHead {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  padding: 1em 1.4em;
  padding-left: calc(18px + 2.5vw);
  background-color: var(--gg-color-primary);
  color: var(--gg-color-white);
  grid-area: mapHeader;
}
.contactMap .map {
  grid-area: map;
}
.contactMap .map .mapHolder {
  min-height: 100%;
}
.contactMap .map .mapHolder span {
  display: block;
  padding-top: 100%;
}
.contactMap .map .mapHolder iframe {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.contactMap .addresses {
  grid-area: addresses;
  padding: calc(18px + 2.5vw);
  padding-top: calc((calc(18px + 2.5vw)) * 0.25);
}
.contactMap .addresses ul:not(.socials) {
  list-style-type: none;
  display: inline-block;
  vertical-align: top;
  min-width: 100%;
  padding-right: 12px;
}
.contactMap .addresses ul:not(.socials) li {
  padding: 0;
  margin: 0;
}
.contactMap .addresses ul:not(.socials) li::before {
  display: none;
}
.contactMap.mapBlock .wrapper {
  grid-template-columns: 1fr 1fr;
}
.contactMap.mapBlock .map .mapHolder {
  min-height: 100%;
}
.contactMap.mapBlock .map .mapHolder span {
  padding-top: 66%;
}
@media only screen and (max-width: 768px) {
  .contactMap .wrapper {
    display: grid;
    grid-template-areas: "mapHeader map" "contactDetails map" "addresses addresses";
    grid-template-columns: 2fr 1fr;
  }
  .contactMap .redHead {
    width: 100%;
  }
  .contactMap .text, .contactMap .addresses {
    padding-left: 0;
  }
  .contactMap.mapBlock .wrapper {
    display: grid;
    grid-template-areas: "mapHeader contactDetails" "map contactDetails" "map addresses";
  }
  .contactMap.mapBlock .text, .contactMap.mapBlock .addresses {
    padding-left: calc(18px + 2.5vw);
  }
} /*$tablet ends*/
@media only screen and (max-width: 650px) {
  .contactMap.mapBlock .wrapper {
    display: grid;
    grid-template-areas: "mapHeader" "map" "contactDetails" "addresses";
    grid-template-columns: 1fr;
  }
  .contactMap.mapBlock .text, .contactMap.mapBlock .addresses {
    padding-left: calc(18px + 2.5vw);
  }
  .contactMap.mapBlock .map {
    grid-area: map;
  }
} /*$bigPhone ends*/
@media only screen and (max-width: 450px) {
  .contactMap .wrapper {
    display: grid;
    grid-template-areas: "map" "contactDetails" "addresses";
    grid-template-columns: 1fr;
  }
  .contactMap .text, .contactMap .addresses {
    padding-left: 0;
  }
} /*$phone ends*/
/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  border: none;
  color: var(--gg-color-primary);
  background-color: transparent;
  margin-top: 0;
  margin-bottom: 0;
}

.flickity-button:hover {
  cursor: pointer;
  transform: scale(1) translateY(-50%);
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 24px;
  height: 24px;
  padding: 0;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 0px;
}

.flickity-prev-next-button.next {
  right: 0px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 0;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 0;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 0%;
  top: 0%;
  width: 100%;
  height: 100%;
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 4px 8px;
  background: var(--gg-color-secondary);
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
  background: var(--gg-color-primary);
}

/* flickity-fade */
.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1;
}

body .fslightbox-container {
  background: transparent;
  background-color: rgba(255, 255, 255, 0.9);
}
body .fslightbox-container .fslightbox-svg-path {
  fill: var(--gg-color-white);
}
body .fslightbox-container .fslightbox-caption {
  background: rgba(255, 255, 255, 0.65);
}
body .fslightbox-container .fslightbox-caption .fslightbox-caption-inner * {
  color: var(--gg-color-primary);
}

body .rpi {
  --fs: 1.4em;
  --card-color: #333333;
}
body * + .rpi {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
body .rpi-header {
  display: none;
}
body .rpi-header .rpi-score {
  text-align: center;
  font-size: var(--kc-h6-size-clamp);
}
body .rpi-header .rpi-score .rpi-grade {
  color: var(--gg-color-primary);
}
body .rpi-header .rpi-score .rpi-stars .rpi-star::after {
  background-color: var(--gg-color-primary);
}
body .rpi .rpi-ltgt {
  z-index: 10 !important;
}

.preFoot {
  margin-top: calc((calc(18px + 2.5vw)) * 2);
}

.grecaptcha-badge {
  z-index: 99999999;
  bottom: 60px !important;
}

.cky-btn-revisit-wrapper {
  z-index: 99999999;
}

.footer .logoGrid {
  display: grid;
  grid-template-areas: "logo contacts quickLinks" "logo address address";
  grid-template-columns: clamp(80px, 15%, 140px) fit-content(100%) 1fr;
  grid-template-rows: auto auto;
}
.footer .footLogo {
  grid-area: logo;
  width: 100%;
  max-width: 140px;
  min-width: 80px;
  background-color: var(--gg-color-secondary);
  padding: 12px 24px;
  align-self: stretch;
  min-height: 100%;
  z-index: 2;
}
.footer address {
  grid-area: address;
  background-color: var(--gg-color-primary);
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  font-style: normal;
  color: var(--gg-color-white);
  padding: 16px;
  padding-left: 24px;
  margin: 0;
  font-size: var(--kc-footer-font-size-clamp);
}
.footer address::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  right: auto;
  bottom: 0;
  width: 150vw;
  height: 100%;
  background-color: inherit;
  transform: translateX(-50%);
  z-index: -1;
}
.footer ul.contacts,
.footer ul.quickLinks {
  padding: 14px;
  padding-left: 24px;
  margin: 0;
  list-style-type: none;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  gap: 4px;
  font-size: var(--kc-footer-font-size-clamp);
}
.footer ul.contacts {
  grid-area: contacts;
}
.footer ul.contacts a {
  color: var(--gg-color-primary);
}
.footer ul.quickLinks {
  grid-area: quickLinks;
  align-items: flex-end;
}
.footer ul.quickLinks a {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  gap: 0.475em;
  color: var(--gg-color-secondary);
  font-weight: 700;
}
.footer ul.quickLinks a::after {
  content: "";
  display: block;
  width: 1.4em;
  height: 1.4em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.footer ul.quickLinks a.contactUs::after {
  transform: translateY(-8%);
  background-image: url("../img/contact-icon-primary.svg");
}
.footer ul.quickLinks a.findUs::after {
  transform: translateY(-8%);
  background-image: url("../img/findus-icon-primary.svg");
}
.footer .secondBar {
  background-color: var(--gg-color-light-grey);
  padding: 24px 0;
}
.footer .secondBar .wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  gap: 12px calc((calc(18px + 2.5vw)) * 2);
}
.footer .secondBar .openingHours {
  width: -moz-fit-content;
  width: fit-content;
}
.footer .secondBar .openingHours * {
  font-size: var(--kc-footer-font-size-clamp);
}
.footer .secondBar .footMenu ul {
  list-style-type: none;
  -moz-columns: 3;
       columns: 3;
  -moz-column-gap: 3em;
       column-gap: 3em;
  -moz-column-rule: solid 1px var(--gg-color-grey);
       column-rule: solid 1px var(--gg-color-grey);
}
.footer .secondBar .footMenu ul li {
  padding: 4px 0;
}
.footer .secondBar .footMenu a {
  font-size: var(--kc-footer-font-size-clamp);
  color: var(--gg-color-black);
}
.footer .secondBar .socials {
  width: -moz-fit-content;
  width: fit-content;
}

.cky-consent-container,
.cky-btn-revisit-wrapper,
.cky-overlay {
  z-index: 100000000000 !important;
}

.smallLinks {
  justify-content: space-between;
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.25);
  margin-top: calc((calc(18px + 2.5vw)) * 0.25);
  flex-wrap: wrap;
}
.smallLinks ul {
  list-style-type: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: -moz-fit-content;
  width: fit-content;
  gap: 6px 12px;
}
.smallLinks li {
  width: -moz-fit-content;
  width: fit-content;
}
.smallLinks li, .smallLinks p, .smallLinks a {
  font-size: var(--kc-small-font-size-clamp);
  padding: 0;
  margin: 4px 0;
  color: var(--gg-color-dark-grey);
}

a.kingCredit {
  color: var(--gg-color-dark-grey);
  padding-bottom: 2em;
}

.areasMenu {
  background-color: color-mix(in srgb, var(--gg-color-light-grey), transparent 50%);
  padding: calc((calc(18px + 2.5vw)) * 0.5) 0;
}
.areasMenu p {
  margin-bottom: 6px;
  font-size: var(--kc-menu-font-size-clamp);
}
.areasMenu ul {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  list-style-type: none;
}
.areasMenu ul li {
  width: 50%;
  min-width: 300px;
  padding-right: 12px;
}
.areasMenu ul a {
  font-size: var(--kc-menu-font-size-clamp);
  color: var(--gg-color-text-colour);
}

@media only screen and (max-width: 768px) {
  .footer address,
  .footer ul.contacts,
  .footer ul.quickLinks {
    padding-left: 18px;
  }
} /*$tablet ends*/
@media only screen and (max-width: 650px) {
  .footer .logoGrid {
    grid-template-areas: "logo contacts" "logo address";
    grid-template-columns: clamp(80px, 25%, 140px) 1fr;
    grid-template-rows: auto auto;
  }
  .footer ul.quickLinks {
    display: none;
  }
  .smallLinks {
    justify-content: flex-start;
  }
  .smallLinks ul, .smallLinks li, .smallLinks p, .smallLinks a {
    width: 100%;
  }
} /*$bigPhone ends*/
@media only screen and (max-width: 450px) {
  .footer .logoGrid {
    grid-template-areas: "logo" "contacts" "address";
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  .footer .logoGrid .footLogo {
    display: none;
  }
  .footer .logoGrid address,
  .footer .logoGrid ul.contacts,
  .footer .logoGrid ul.quickLinks {
    padding-left: 0px;
  }
  .footer ul.quickLinks {
    display: none;
  }
} /*$phone ends*/
.footTiles,
.flooringTiles {
  width: 100%;
}
.footTiles *,
.flooringTiles * {
  z-index: 1;
}
.footTiles .bgImage,
.flooringTiles .bgImage {
  mix-blend-mode: luminosity;
  opacity: 0.15;
  z-index: 0;
}
.footTiles .brand,
.flooringTiles .brand {
  display: block;
  width: 20em;
  margin: calc((calc(18px + 2.5vw)) * 0.5) auto;
}
.footTiles h4,
.flooringTiles h4 {
  max-width: 1050px;
  margin: auto;
  text-align: center;
}
.footTiles * + .tileTrack,
.flooringTiles * + .tileTrack {
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
}
.footTiles .tileTrack,
.footTiles .tileGrid,
.flooringTiles .tileTrack,
.flooringTiles .tileGrid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
}
.footTiles .tileTrack,
.flooringTiles .tileTrack {
  justify-content: center;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.footTiles .tileGrid,
.flooringTiles .tileGrid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}
.footTiles .flooringTile,
.flooringTiles .flooringTile {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 20%;
  text-align: center;
  padding: calc((calc(18px + 2.5vw)) * 0.25);
}
.footTiles .flooringTile img,
.flooringTiles .flooringTile img {
  aspect-ratio: 1/1;
  order: 0;
  grid-area: tile;
  -o-object-fit: cover;
     object-fit: cover;
  order: 0;
}
.footTiles .flooringTile .details,
.flooringTiles .flooringTile .details {
  width: 80%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: center;
  gap: 1.2em;
  text-align: center;
  align-self: center;
  order: 2;
  margin-top: -3em;
  z-index: 2;
}
.footTiles .flooringTile .details h6,
.flooringTiles .flooringTile .details h6 {
  background-color: var(--gg-color-secondary);
  padding: 0.75em 2em;
  width: 100%;
  color: var(--gg-color-white);
  margin: 0;
  text-align: center;
}
.footTiles .flooringTile .details p,
.flooringTiles .flooringTile .details p {
  margin: 0;
  text-align: center;
}
.footTiles .flooringTile .details p.viewMore,
.flooringTiles .flooringTile .details p.viewMore {
  color: var(--gg-color-primary);
}
.footTiles .flooringTile .details p + p.viewMore,
.flooringTiles .flooringTile .details p + p.viewMore {
  color: var(--gg-color-primary);
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.75em;
  padding-top: 1em;
  border-top: solid 1px var(--gg-color-primary);
}
.footTiles.footTiles h3,
.flooringTiles.footTiles h3 {
  text-align: center;
  width: 100%;
  margin-bottom: 1em;
}
.footTiles.footTiles .flooringTile,
.flooringTiles.footTiles .flooringTile {
  display: grid;
  grid-template-areas: "tile";
  grid-template-columns: 1fr;
  justify-items: center;
  padding: 0;
}
.footTiles.footTiles img, .footTiles.footTiles .details,
.flooringTiles.footTiles img,
.flooringTiles.footTiles .details {
  grid-area: tile;
}
.footTiles.footTiles .details,
.flooringTiles.footTiles .details {
  margin: 0;
}
.footTiles.footTiles .details h6,
.flooringTiles.footTiles .details h6 {
  padding: 1em 0.5em;
  background-color: color-mix(in srgb, var(--gg-color-secondary), transparent 20%);
}
.footTiles.footTiles .details p,
.flooringTiles.footTiles .details p {
  display: none;
}
.footTiles .tileTrack.flickity-enabled,
.flooringTiles .tileTrack.flickity-enabled {
  display: block;
  padding-left: 32px;
  padding-right: 32px;
}
.footTiles .tileTrack.flickity-enabled .flooringTile,
.flooringTiles .tileTrack.flickity-enabled .flooringTile {
  padding-top: 0px;
  padding-bottom: 0px;
}
.footTiles .tileTrack.flickity-enabled .flickity-slider,
.flooringTiles .tileTrack.flickity-enabled .flickity-slider {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
}
.footTiles .tileTrack.flickity-enabled .flickity-page-dots,
.flooringTiles .tileTrack.flickity-enabled .flickity-page-dots {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  margin: calc((calc(18px + 2.5vw)) * 0.5) 0;
}
.footTiles .tileTrack.flickity-enabled .flickity-viewport,
.flooringTiles .tileTrack.flickity-enabled .flickity-viewport {
  height: 100%;
  min-height: 100%;
}

.inlineFloorMenu .flooringTile {
  width: 33.3333333333%;
}

@media only screen and (max-width: 768px) {
  .inlineFloorMenu .flooringTiles .tileTrack,
  .footTiles .tileTrack,
  .flooringTiles .tileTrack {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .inlineFloorMenu .flooringTiles .flooringTile,
  .footTiles .flooringTile,
  .flooringTiles .flooringTile {
    width: 50%;
  }
} /*$tablet ends*/
@media only screen and (max-width: 520px) {
  .inlineFloorMenu .flooringTiles .tileTrack,
  .footTiles .tileTrack,
  .flooringTiles .tileTrack {
    padding-left: calc(18px + 2.5vw);
    padding-right: calc(18px + 2.5vw);
  }
  .inlineFloorMenu .flooringTiles .flooringTile,
  .footTiles .flooringTile,
  .flooringTiles .flooringTile {
    width: 100%;
  }
} /*$550px ends*/
.pageContent.postContent .wrapper {
  max-width: 1050px;
}
.pageContent.postContent .pageHeading {
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
.pageContent.postContent .pageHeading .wrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.pageContent.postContent .pageHeading h1 {
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.25);
  order: 1;
}
.pageContent.postContent .pageHeading p.date {
  order: 2;
}
.pageContent.postContent .pageHeading p.breadcrumb {
  order: 0;
  font-size: var(--kc-small-font-size-clamp);
}
.pageContent.postContent .postThumbnail {
  max-width: 1050px;
  margin: auto;
  margin-bottom: calc(18px + 2.5vw);
}
.pageContent.postContent .postThumbnail.squareCrop span, .pageContent.postContent .postThumbnail.landscapeCrop span {
  display: block;
  width: 100%;
  padding-top: 100%;
}
.pageContent.postContent .postThumbnail.squareCrop img, .pageContent.postContent .postThumbnail.landscapeCrop img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.pageContent.postContent .postThumbnail.landscapeCrop span {
  padding-top: 60%;
}

.postTerms {
  border-top: 1px solid var(--gg-color-light-grey);
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
  padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  text-align: center;
}
.postTerms ul {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.postTerms li {
  display: inline-block;
  padding-right: 0.75em;
  padding-left: 0.75em;
}

.postWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}
.postWrapper .postCategories {
  width: 200px;
}
.postWrapper .postArchive {
  width: calc(100% - 200px);
  padding-right: calc((calc(18px + 2.5vw)) * 0.5);
}

.postCategories li {
  margin-left: 1.25em;
}
.postCategories > li {
  list-style-type: none;
  font-weight: 600;
}
.postCategories > li ul {
  border-top: solid 1px var(--gg-color-light-grey);
  padding-top: 8px;
  margin-top: 8px;
}

.postArchive .postLink {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
}
.postArchive .postLink .text {
  order: 1;
  flex-grow: 1;
  width: 75%;
}
.postArchive .postLink .thumbnail {
  order: 0;
  padding-right: calc((calc(18px + 2.5vw)) * 0.5);
  width: 25%;
  min-width: 200px;
  display: block;
}
.postArchive .postLink .thumbnail a {
  display: block;
  padding-top: 100%;
}
.postArchive .postLink .thumbnail a img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.postArchive .postLink h4 {
  margin: 18px 0;
}
.postArchive .postLink h4 a {
  color: var(--gg-color-primary);
}
.postArchive .postLink p.date {
  opacity: 0.5;
  margin: 0;
  font-size: var(--kc-small-font-size-clamp);
}
.postArchive .postLink p.mobileExcerpt {
  display: none;
}
.postArchive .postLink a.readMore {
  display: inline-block;
  font-family: var(--kc-body-font);
  font-weight: var(--kc-body-font-weight);
  line-height: var(--kc-body-font-line-height);
  margin-bottom: 1.2em;
  font-size: var(--kc-body-font-size-clamp);
  margin-top: calc((calc(18px + 2.5vw)) * 0.25);
}
.postArchive .postLink + .postLink {
  padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  margin-top: calc((calc(18px + 2.5vw)) * 0.5);
  border-top: solid 1px var(--gg-color-light-grey);
}

.postNav {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
  border-top: solid 1px var(--gg-color-primary);
  padding-top: calc((calc(18px + 2.5vw)) * 0.5);
  margin-top: calc(18px + 2.5vw);
}
.postNav a {
  font-family: var(--kc-menu-font);
  font-weight: var(--kc-menu-font-weight);
  line-height: var(--kc-body-font-line-height);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  font-size: var(--kc-menu-font-size-clamp);
  display: inline-block;
}
.postNav p {
  font-size: var(--kc-small-font-size-clamp);
  opacity: 0.5;
  margin: 0;
}
.postNav .prev,
.postNav .next {
  max-width: 50%;
  padding: calc((calc(18px + 2.5vw)) * 0.5);
}
.postNav .prev {
  text-align: left;
}
.postNav .prev a::before {
  content: "< ";
}
.postNav .next {
  text-align: right;
}
.postNav .next a::after {
  content: " >";
}

@media only screen and (max-width: 768px) {
  .postWrapper .postArchive,
  .postWrapper .postCategories {
    width: 100%;
  }
  .postWrapper .postCategories {
    margin-top: calc((calc(18px + 2.5vw)) * 0.5);
    padding-top: calc((calc(18px + 2.5vw)) * 0.5);
    border-top: solid 1px var(--gg-color-light-grey);
  }
} /*$tablet ends*/
@media only screen and (max-width: 650px) {
  .postArchive .postLink {
    flex-wrap: wrap;
  }
  .postArchive .postLink .thumbnail, .postArchive .postLink .text {
    width: 100%;
  }
  .postArchive .postLink .thumbnail {
    max-width: 180px;
    margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .postArchive .postLink p.excerpt {
    display: none;
  }
  .postArchive .postLink p.mobileExcerpt {
    display: block;
  }
} /*$bigPhone ends*/
@media only screen and (max-width: 450px) {
  .postArchive .postLink .thumbnail {
    min-width: 100px;
  }
  .postNav {
    flex-wrap: wrap;
    justify-content: center;
  }
  .postNav .prev,
  .postNav .next {
    width: 100%;
    max-width: 100%;
    padding: calc((calc(18px + 2.5vw)) * 0.5);
  }
  .postNav .prev {
    text-align: center;
  }
  .postNav .prev a::before {
    display: none;
  }
  .postNav .next {
    text-align: center;
  }
  .postNav .next a::after {
    display: none;
  }
} /*$phone ends*/
img.guaranteeIcon {
  width: 75%;
  max-width: 300px;
  margin-bottom: calc((calc(18px + 2.5vw)) * 0.5);
}
img.guaranteeIcon.aligncenter {
  margin-left: auto;
  margin-right: auto;
}
img.guaranteeIcon.alignright {
  margin-left: auto;
  margin-right: 0;
}

/*
*/
body::after {
  content: "Oversize";
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  right: auto;
  bottom: auto;
  z-index: 100000;
  background-color: red;
  color: var(--gg-color-white);
}

@media only screen and (max-width: 1200px) {
  body::after {
    content: "Full Width";
  }
}
@media only screen and (max-width: 1000px) {
  body::after {
    content: "Laptop";
  }
}
@media only screen and (max-width: 900px) {
  body::after {
    content: "bigTablet";
  }
}
@media only screen and (max-width: 768px) {
  body::after {
    content: "tablet";
  }
}
@media only screen and (max-width: 700px) {
  body::after {
    content: "smallTablet";
  }
}
@media only screen and (max-width: 650px) {
  body::after {
    content: "bigPhone";
  }
}
@media only screen and (max-width: 450px) {
  body::after {
    content: "phone";
  }
}
@media only screen and (max-width: 350px) {
  body::after {
    content: "smallPhone";
  }
}

/*# sourceMappingURL=ggCarpets.css.map */