:root {
  --dark-slate-grey-2: #3c4d54;
  --dark-slate-grey: #1e3037;
  --deep-sky-blue: #00adef;
  --dim-grey-2: #5e6c79;
  --alice-blue: #ebf4fe;
  --dim-grey: #595857;
  --white: white;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  color: var(--dark-slate-grey-2);
  text-align: left;
  letter-spacing: -.9px;
  font-family: century-gothic, sans-serif;
  font-size: 18px;
  line-height: 1.5;
}

h1 {
  letter-spacing: 1px;
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: new-hero, sans-serif;
  font-size: 80px;
  font-weight: 700;
  line-height: 1.2;
}

h2 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
}

h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.2;
}

h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
}

p {
  margin-bottom: 20px;
}

a {
  color: var(--dark-slate-grey);
  cursor: pointer;
  font-weight: 700;
  text-decoration: none;
  transition: color 1s;
}

a:hover {
  color: var(--deep-sky-blue);
}

ul, ol {
  margin-top: 0;
  margin-bottom: 20px;
  padding-left: 40px;
}

li {
  margin-bottom: 6px;
}

strong {
  color: var(--deep-sky-blue);
  font-weight: 700;
}

.colour-example {
  background-color: var(--dim-grey-2);
  color: #fff;
  justify-content: center;
  align-items: center;
  width: 18%;
  height: 120px;
  display: flex;
}

.colour-example._3 {
  background-color: var(--alice-blue);
  color: #000;
}

.colour-example._1 {
  background-color: var(--deep-sky-blue);
}

.colour-example._4 {
  background-color: var(--dim-grey);
}

.colour-example._2 {
  background-color: var(--dark-slate-grey);
}

.header-button {
  color: #fff;
  letter-spacing: 2px;
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #fff;
  padding: 22px 30px;
  font-size: 21px;
  line-height: 1.2;
  transition: color 1s, border-color 1s, background-color 1s;
  display: inline-block;
}

.header-button:hover {
  color: #fff;
  background-color: #316a3d;
  background-image: none;
  text-decoration: none;
}

.header-button.grey {
  background-color: #142036;
  background-image: none;
  transition: color 1s, background-color 1s, border-color 1s;
}

.header-button.grey:hover {
  color: #142036;
  background-color: #fff;
  border-color: #142036;
}

.header-button.alt {
  color: #142036;
  background-color: #c3c3c3;
  background-image: none;
  border-color: #c3c3c3;
  transition: color 1s, border-color 1s, background-color 1s;
}

.header-button.alt:hover {
  color: #142036;
  background-color: #fff;
  border-color: #142036;
}

.main-button {
  z-index: 3;
  border: 1px solid var(--deep-sky-blue);
  background-color: var(--deep-sky-blue);
  color: var(--alice-blue);
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 50px;
  padding: 9px 36px;
  font-family: atrament-web, sans-serif;
  font-size: 21px;
  font-weight: 400;
  transition: background-color 1s, color 1s;
  position: relative;
}

.main-button:hover {
  background-color: var(--white);
  color: var(--deep-sky-blue);
}

.main-button.alt {
  border-color: var(--deep-sky-blue);
  background-color: var(--white);
  color: var(--dark-slate-grey-2);
  transition: border-color 1s, background-color 1s, color 1s;
}

.main-button.alt:hover {
  border-color: var(--dim-grey-2);
  background-color: var(--dim-grey-2);
  color: var(--white);
}

.main-button.alt.head {
  text-align: center;
}

.main-button.head {
  text-align: center;
  min-width: 180px;
}

.main-button.absolute {
  position: absolute;
  bottom: 0;
  left: 0;
}

.body-container {
  z-index: 4;
  max-width: 1200px;
  position: relative;
}

.body-container.centered {
  text-align: center;
}

.body-container.contact {
  padding-left: 20%;
  padding-right: 20%;
}

.body-container.slim {
  max-width: 900px;
}

.body-container.main-form {
  padding-left: 40%;
  padding-right: 0%;
}

.colours-box {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
  display: flex;
}

.spacer {
  width: 100%;
  height: 30px;
}

.spacer.double {
  height: 60px;
}

.spacer.small {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 22px;
  padding-top: 2px;
  display: flex;
}

.ul-point {
  margin-bottom: 14px;
  padding-left: 40px;
}

.body-section {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 100px 10%;
  position: relative;
  overflow: hidden;
}

.body-section.blue {
  background-color: var(--deep-sky-blue);
  color: var(--white);
  padding-bottom: 50px;
}

.body-section.dark {
  background-color: var(--dark-slate-grey);
  color: var(--white);
}

.body-section.dark.thin {
  padding-top: 30px;
  padding-bottom: 30px;
}

.body-section.dark-symbols {
  background-color: var(--dark-slate-grey-2);
  background-image: linear-gradient(145deg, #198bb6, #00adeff2), url('../images/SignStar.svg'), linear-gradient(to bottom, var(--deep-sky-blue), var(--deep-sky-blue));
  color: var(--white);
  background-position: 0 0, 50%, 0 0;
  background-size: auto, 40px 40px, auto;
}

.body-section.shorter {
  padding-bottom: 60px;
}

.body-section.light {
  background-color: var(--alice-blue);
}

.body-section.blog {
  padding-top: 60px;
}

.body-section.product {
  padding-top: 160px;
}

.title-holder {
  color: var(--deep-sky-blue);
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 30px;
  display: flex;
}

.title-holder.left {
  text-align: left;
  align-items: flex-start;
}

.title-holder.left.white, .title-holder.white {
  color: var(--white);
}

.title-border {
  background-color: var(--dim-grey);
  width: 80px;
  max-width: 25%;
  height: 3px;
  margin-top: 10px;
}

.title-border.white {
  background-color: var(--white);
}

.title-border.blue {
  background-color: var(--deep-sky-blue);
}

.services-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 50px;
}

.services-grid.alt {
  grid-column-gap: 30px;
  grid-row-gap: 20px;
}

.service-item {
  width: 100%;
  height: 100%;
  position: relative;
}

.service-item.alt {
  grid-column-gap: 10px;
  grid-row-gap: 12px;
  color: var(--dark-slate-grey);
  background-color: #0000;
  justify-content: flex-start;
  align-items: flex-start;
  min-height: 28px;
  padding: 3px 0 0 40px;
  transition: color 1s;
  display: flex;
  overflow: hidden;
}

.service-item.alt:hover {
  color: var(--deep-sky-blue);
}

.service-item-link {
  width: 100%;
  height: 260px;
  position: relative;
}

.service-item-image {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.service-item-image.alt {
  object-fit: contain;
  width: 28px;
  height: 28px;
  bottom: auto;
  right: auto;
}

.service-item-title-holder {
  z-index: 2;
  background-color: var(--deep-sky-blue);
  color: var(--white);
  width: 80%;
  padding: 20px;
  position: absolute;
  bottom: 30px;
  left: 0;
}

.service-item-title-holder.alt {
  background-color: var(--white);
  color: var(--dark-slate-grey-2);
}

.service-item-title-holder.alt._2 {
  bottom: 25%;
}

.service-item-title-holder.alt2 {
  background-color: var(--white);
  color: var(--dark-slate-grey-2);
  left: auto;
  right: 0;
}

.service-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 21px;
}

.service-title.alt {
  font-size: 18px;
}

.service-item-border {
  z-index: 2;
  background-color: var(--deep-sky-blue);
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 80%;
}

.service-item-border.alt {
  background-color: var(--white);
}

.service-item-border.alt2 {
  background-color: var(--white);
  left: 20%;
}

.service-item-details {
  padding: 18px 20px 20px;
  position: relative;
}

.service-item-details-border {
  background-color: var(--deep-sky-blue);
  width: 1px;
  position: absolute;
  top: 260px;
  bottom: 0;
  left: 0;
}

.service-item-details-border.bottom {
  width: 30%;
  height: 1px;
  top: auto;
}

.service-title-inner {
  width: 210px;
}

.blue-background {
  z-index: 1;
  background-color: var(--alice-blue);
  border-top-left-radius: 25vw;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.benefits-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  text-align: center;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 50px;
}

.benefit-item {
  background-color: #f4f7fc;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 40px 30px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px 2px #0003;
}

.studs {
  z-index: 2;
}

.stud1 {
  z-index: 2;
  object-fit: contain;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 12px;
  left: 12px;
}

.stud1.tl {
  left: auto;
  right: 12px;
}

.stud1.br {
  inset: auto 12px 12px auto;
}

.stud1.bl {
  top: auto;
  bottom: 12px;
}

.benefit-icon {
  z-index: 2;
  object-fit: contain;
  width: 50%;
  height: 90px;
  margin-bottom: 20px;
  position: relative;
}

.benefit-item-border {
  z-index: 1;
  background-color: #f4f7fc;
  border-radius: 100%;
  width: 200%;
  height: 200%;
  position: absolute;
  top: 30px;
  left: 20%;
}

.benefit-title {
  z-index: 2;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 21px;
  position: relative;
}

.blue-top-border {
  z-index: 1;
  background-color: var(--alice-blue);
  perspective-origin: 50% 0;
  transform-origin: 50% 0;
  width: 100%;
  height: 100px;
  position: absolute;
  top: -1px;
  left: 0%;
  right: 0%;
}

.blue-top-border.white {
  background-color: var(--white);
}

.dark-bottom-border {
  z-index: 1;
  background-color: var(--dark-slate-grey-2);
  perspective-origin: 50% 0;
  transform-origin: 50% 0;
  width: 100%;
  height: 140px;
  position: absolute;
  bottom: -1px;
  left: 0%;
  right: 0%;
}

.dark-bottom-border.overlap {
  z-index: 5;
}

.dark-bottom-border.white {
  background-color: var(--white);
}

.cta-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1.65fr;
}

.column {
  width: 100%;
  height: auto;
  position: relative;
}

.column.cta {
  padding-top: 8vw;
  padding-bottom: 12vw;
}

.column.centered {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  display: flex;
}

.cta-image {
  z-index: 1;
  object-fit: cover;
  width: 200%;
  height: 100%;
  position: absolute;
  inset: 0 -100% 0 0;
}

.cta-button-holder {
  z-index: 2;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: absolute;
  bottom: 5vw;
  left: 0;
  right: -80%;
}

.cta-button-holder.shop {
  justify-content: flex-end;
  bottom: 0;
  left: -80%;
  right: 0%;
}

.cta-button-border {
  background-color: var(--white);
  width: auto;
  height: 2px;
  position: absolute;
  left: 0;
  right: 0;
}

.cta-button-border.blue {
  background-color: var(--deep-sky-blue);
}

.columns {
  grid-column-gap: 60px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  height: auto;
  display: grid;
}

.columns.products {
  margin-bottom: 40px;
}

.column-image {
  border-right: 8px solid var(--deep-sky-blue);
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 480px;
  max-height: 540px;
}

.accreds-bar {
  grid-column-gap: 60px;
  grid-row-gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 20px;
  display: flex;
}

.accreds-image {
  object-fit: contain;
  width: auto;
  min-width: 80px;
  max-width: 140px;
  height: auto;
  min-height: 60px;
  max-height: 80px;
}

.accreds-top-border {
  background-color: var(--deep-sky-blue);
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  right: 50%;
}

.accreds-bottom-border {
  background-color: var(--deep-sky-blue);
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 50%;
}

.background-star {
  z-index: 1;
  object-fit: contain;
  width: 30%;
  position: absolute;
  bottom: 20px;
  right: 0;
}

.reverse-half-top-border {
  z-index: 1;
  background-color: var(--deep-sky-blue);
  width: 50%;
  height: 66px;
  position: absolute;
  top: -1px;
  left: 0;
}

.reverse-half-top-border.light {
  background-color: var(--alice-blue);
}

.large-blue-background {
  z-index: 1;
  background-color: var(--alice-blue);
  width: 85%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.large-blue-background.smaller {
  height: auto;
  top: 40px;
  bottom: 40px;
}

.work-gallery-holder {
  grid-column-gap: 2%;
  grid-row-gap: 2%;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 900px;
  display: flex;
}

.work-gallery-titles {
  background-color: var(--deep-sky-blue);
  color: var(--white);
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 35%;
  height: 49%;
  padding: 10px 30px 40px;
  display: flex;
}

.work-gallery-link {
  background-color: var(--dark-slate-grey);
  color: var(--white);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 30.5%;
  height: 28%;
  padding: 40px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.work-gallery-link.tall {
  width: 35%;
  height: 49%;
}

.work-gallery-link.wide {
  width: 63%;
  position: absolute;
  bottom: 0;
  right: 0;
}

.work-gallery-link.tallside {
  height: 40%;
  position: absolute;
  top: 30%;
  right: 0;
}

.work-gallery-link.midsmall {
  height: 19%;
  position: absolute;
  top: 30%;
  left: 37%;
}

.work-gallery-link.midmid {
  height: 19%;
  position: absolute;
  top: 51%;
  left: 37%;
}

.work-gallery-image {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: filter 1s;
  position: absolute;
  inset: 0%;
}

.work-gallery-image:hover {
  filter: grayscale() brightness(50%);
}

.work-gallery-title {
  z-index: 2;
  font-size: 28px;
  position: relative;
}

.faq-holder {
  grid-row-gap: 40px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 40px;
  padding-left: 5%;
  padding-right: 5%;
  display: flex;
}

.faq-item {
  border-bottom: 1px solid var(--deep-sky-blue);
  border-left: 1px solid var(--deep-sky-blue);
  cursor: pointer;
  width: 70%;
  position: relative;
}

.faq-item.left {
  margin-left: 27%;
}

.faq-question {
  padding: 12px 20px 12px 30px;
  font-weight: 700;
}

.faq-answer {
  padding-left: 30px;
  padding-right: 20px;
  overflow: hidden;
}

.faq-button {
  background-color: var(--deep-sky-blue);
  color: var(--white);
  border-radius: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  padding: 12px 0;
  font-size: 28px;
  display: flex;
  position: absolute;
  bottom: -22px;
  right: -22px;
  overflow: hidden;
}

.faq-button-inner {
  background-color: var(--white);
  border-radius: 4px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  transform: rotate(45deg);
}

.faq-button-inner.inner {
  background-color: var(--deep-sky-blue);
  width: 90%;
  height: 90%;
  transform: none;
}

.faq-icon {
  transform: rotate(-90deg);
}

.faq-spacer {
  height: 20px;
}

.blog-item {
  border-bottom: 8px solid var(--deep-sky-blue);
  background-color: var(--white);
  color: var(--dark-slate-grey-2);
  width: 100%;
  max-width: 300px;
  height: 100%;
  padding: 220px 26px 26px;
  font-size: 16px;
  position: relative;
}

.blog-item-link {
  width: 100%;
  height: 220px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.blog-item-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: filter 1s;
}

.blog-item-image:hover {
  filter: brightness(50%);
}

.blog-cat-holder {
  z-index: 2;
  background-color: var(--deep-sky-blue);
  color: var(--white);
  letter-spacing: 2px;
  text-transform: uppercase;
  width: auto;
  height: auto;
  padding: 8px;
  font-family: atrament-web, sans-serif;
  font-size: 14px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.blog-post-title {
  color: var(--dark-slate-grey-2);
  font-size: 26px;
}

.blog-post-title-link {
  color: var(--dark-slate-grey-2);
}

.blog-post-title-link:hover {
  color: var(--deep-sky-blue);
}

.bottom-left-background-image {
  z-index: 1;
  opacity: .25;
  width: 40%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.button-holder {
  grid-column-gap: 20px;
  grid-row-gap: 12px;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 50px;
  display: flex;
}

.background-image {
  z-index: 1;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.blue-column-overlay {
  z-index: 2;
  background-color: var(--deep-sky-blue);
  width: 30%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.blue-column-overlay.extra {
  background-color: var(--white);
}

.contact-form-block {
  margin-left: 40%;
  margin-right: 15%;
}

.contact-form-block.wide {
  margin-left: 0%;
  margin-right: 0%;
}

.contact-form-block.pop-up {
  width: 100%;
  max-width: 420px;
  margin-left: 0%;
  margin-right: 0%;
}

.form-item {
  border: 2px solid var(--deep-sky-blue);
  cursor: text;
  border-radius: 10px;
  width: 100%;
  height: 52px;
  margin-bottom: 0;
  font-size: 18px;
  transition: border-color 1s;
}

.form-item:hover {
  border-color: var(--dark-slate-grey-2);
}

.form-item.text-area {
  height: 102px;
  min-height: 102px;
  max-height: 102px;
}

.form-item.select {
  background-color: var(--white);
  cursor: pointer;
  padding-left: 10px;
}

.form-item.small {
  width: 60%;
  min-width: 60%;
}

.form-grid {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  margin-bottom: 16px;
  font-size: 14px;
}

.form-grid._2-cols {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  grid-template-columns: 1fr 1fr;
}

.contact-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  text-align: left;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 0;
  font-size: 16px;
  font-weight: 700;
}

.contact-item-holder {
  grid-column-gap: 20px;
  justify-content: flex-start;
  align-items: flex-start;
  width: auto;
  height: auto;
  display: flex;
}

.contact-item-holder.top {
  grid-column-gap: 12px;
}

.contact-item-icon {
  object-fit: contain;
  width: 44px;
  height: 44px;
}

.contact-item-icon.mini {
  width: 18px;
  height: 18px;
}

.contact-item-text {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.contact-link {
  color: var(--white);
}

.contact-link:hover {
  color: var(--deep-sky-blue);
}

.contact-item-inner {
  justify-content: center;
  align-items: center;
  display: flex;
}

.dark-main-background {
  z-index: 1;
  background-color: var(--dark-slate-grey);
  width: 75%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.main-shop-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  width: 100%;
  height: auto;
  margin-bottom: 60px;
}

.inner-shop-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  width: 100%;
  height: auto;
}

.shop-block-text-holder {
  color: var(--white);
  margin-bottom: 60px;
  padding-left: 25%;
  padding-right: 25%;
}

.shop-item-link {
  width: 100%;
  height: 700px;
  position: relative;
}

.shop-item-link.small {
  height: 340px;
}

.home-head-section {
  background-color: var(--dark-slate-grey);
  color: var(--white);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  min-height: 760px;
  padding: 180px 10% 100px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.home-head-section.blue {
  background-color: var(--deep-sky-blue);
  color: var(--white);
  padding-bottom: 50px;
}

.home-head-section.dark {
  background-color: var(--dark-slate-grey);
  color: var(--white);
}

.home-head-section.dark.thin {
  padding-top: 30px;
  padding-bottom: 30px;
}

.blue-highlight {
  color: var(--deep-sky-blue);
}

.sub-head {
  letter-spacing: 4px;
  text-transform: uppercase;
  font-size: 16px;
}

.star-ratings-holder {
  grid-column-gap: 6px;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
  margin-bottom: 8px;
  display: flex;
}

.star-ratings-holder.left {
  justify-content: flex-start;
}

.star-ratings-holder.product {
  grid-column-gap: 2px;
  justify-content: flex-start;
  align-items: center;
  margin-top: 20px;
}

.ratings-star {
  object-fit: contain;
  width: 32px;
  height: 32px;
}

.ratings-star.product {
  width: 24px;
  height: 24px;
}

.header-text-inner {
  z-index: 3;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  height: auto;
  font-size: 14px;
  display: flex;
  position: relative;
}

.header-text-inner.left {
  text-align: left;
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-start;
}

.header-border {
  z-index: 3;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.header-border.blog {
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  height: auto;
  padding-left: 10%;
  top: 180px;
}

.header-border-inner {
  background-color: var(--white);
  width: 1px;
  height: 100%;
}

.header-border-inner.blog {
  margin-left: -30px;
}

.home-header-background {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.menu-image-link {
  width: 100%;
  height: 80px;
  margin-bottom: 14px;
}

.footer-link-item-inner {
  grid-column-gap: 8px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.menu-links-holder {
  grid-column-gap: 10px;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.contact-link-icon {
  object-fit: contain;
  object-position: 0% 50%;
  width: 56px;
  height: 56px;
  margin-right: 16px;
}

.contact-link-icon.header {
  width: 24px;
  height: 24px;
  margin-right: 0;
}

.menu-dropdown {
  border-top: 1px solid var(--dim-grey);
  border-bottom: 4px solid var(--deep-sky-blue);
  color: var(--dark-slate-grey-2);
  background-color: #fff;
  width: 100%;
  height: auto;
  padding: 20px 10% 30px;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}

.menu-drawer-holder {
  width: auto;
  height: 100%;
  display: block;
}

.menu-link-holder {
  letter-spacing: 2px;
  text-transform: uppercase;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-left: 2px;
  padding-right: 2px;
  font-size: 14px;
  font-weight: 400;
  display: flex;
  position: relative;
}

.menu-link-holder.child {
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  height: auto;
  min-height: 42px;
  padding: 8px 12px 8px 16px;
  transition: background-color 1s;
  display: flex;
  position: static;
}

.menu-link-holder.child:hover {
  background-color: #f1f1f1;
}

.menu-link-holder.child.image {
  text-align: center;
  letter-spacing: 2.4px;
  text-transform: none;
  background-color: #0000;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  padding: 0;
}

.mobile-menu-button {
  display: none;
}

.contact-details {
  color: #7eb73a;
  font-size: 24px;
  transition: color 1s;
}

.contact-details:hover {
  color: #223942;
}

.contact-details.header {
  color: #142036;
  font-size: 16px;
}

.mega-logo {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.mega-logo-holder {
  z-index: 2;
  background-color: var(--deep-sky-blue);
  border-radius: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  padding: 10px;
  display: flex;
  position: relative;
}

.nav-bar {
  z-index: 999;
  background-color: var(--deep-sky-blue);
  color: var(--white);
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 106px;
  padding-top: 30px;
  padding-left: 180px;
  padding-right: 20px;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 2px 12px 2px #0003;
}

.menu-drop-item-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: filter 1s;
}

.menu-drop-item-image:hover {
  filter: brightness(85%);
}

.brand-logo {
  object-fit: contain;
  width: 134px;
  height: 36px;
}

.drop-down-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 14px;
}

.drop-down-grid._4-cols {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 10px;
  margin-bottom: 14px;
}

.drop-down-grid._2-cols {
  grid-template-columns: 1fr 1fr;
  margin-top: 10px;
  margin-bottom: 14px;
}

.contact-link-2 {
  color: #223942;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-weight: 700;
  transition-property: none;
  display: flex;
}

.contact-link-2.header {
  grid-column-gap: 12px;
  color: #142036;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  font-size: 16px;
}

.mega-menu-top-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  letter-spacing: 2.4px;
  text-transform: none;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 12px;
}

.logo-link {
  width: auto;
  max-width: 20vw;
  height: auto;
  position: absolute;
  left: 40px;
}

.mm-title {
  color: var(--deep-sky-blue);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 6px;
  font-family: atrament-web, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.menu-link {
  color: var(--white);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 400;
}

.menu-link:hover {
  color: var(--dark-slate-grey-2);
}

.menu-link.shop {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  border: 1px solid var(--white);
  background-color: var(--alice-blue);
  color: var(--dark-slate-grey-2);
  text-align: center;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  padding: 8px 14px;
  transition: background-color 1s, color 1s;
  display: flex;
}

.menu-link.shop:hover {
  color: var(--white);
  background-color: #0000;
}

.menu-link.drop {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  justify-content: flex-start;
  align-items: center;
  padding: 8px 12px;
  transition: background-color 1s, color 1s;
  display: flex;
}

.menu-link.drop:hover {
  background-color: var(--dark-slate-grey);
  color: var(--white);
}

.footer-link-item {
  color: #fff;
  margin-bottom: 12px;
}

.footer-link-item:hover {
  color: #7b8696;
}

.footer-link-item.mega {
  color: var(--dark-slate-grey-2);
  margin-bottom: 0;
}

.footer-link-item.mega:hover {
  color: var(--deep-sky-blue);
}

.menu-link-child {
  color: #2a3d5b;
  letter-spacing: 1px;
  text-transform: capitalize;
  font-size: 14px;
  font-weight: 400;
}

.menu-link-child:hover {
  color: #929292;
}

.menu-link-child.child {
  color: var(--dark-slate-grey-2);
  letter-spacing: 9.6px;
  text-transform: uppercase;
  font-family: atrament-web, sans-serif;
  font-size: 18px;
  font-weight: 400;
}

.menu-link-child.child:hover {
  color: var(--deep-sky-blue);
}

.mega-menu-item {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.mega-menu-item.right {
  justify-content: center;
  align-items: flex-end;
  display: flex;
}

.contact-link-holder {
  justify-content: flex-start;
  align-items: center;
  margin-top: 20px;
  display: flex;
}

.contact-link-holder.header {
  color: #142036;
  justify-content: flex-end;
  width: 180px;
  margin-top: 0;
  position: absolute;
  right: 20px;
}

.drop-icon {
  color: #142036;
  object-fit: contain;
  object-position: 50% 50%;
  width: 10px;
  height: 10px;
  margin-left: 2px;
}

.nav-contact-bar {
  background-color: var(--dark-slate-grey-2);
  letter-spacing: 2.4px;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 30px;
  padding-left: 40px;
  padding-right: 40px;
  font-family: atrament-web, sans-serif;
  font-size: 14px;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.nav-contact-items {
  grid-column-gap: 40px;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.reviews-slider-button {
  background-color: var(--dark-slate-grey-2);
  color: #fff;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 0;
  margin-left: 0;
  font-size: 34px;
  transition: background-color 1s;
  display: flex;
  bottom: 0;
  left: 0;
}

.reviews-slider-button:hover {
  background-color: var(--white);
  color: var(--deep-sky-blue);
}

.reviews-slider-button.right {
  left: 60px;
}

.spacer-2 {
  height: 30px;
}

.spacer-2.mid {
  height: 20px;
}

.reviews-grid {
  grid-column-gap: 0px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
  grid-template-columns: 40% 60%;
  margin-top: 50px;
  margin-bottom: 50px;
}

.title-underline {
  background-color: #537991;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  width: 120px;
  height: 3px;
  margin-top: 10px;
}

.rev-column {
  width: 100%;
  height: auto;
}

.rev-column.right-border {
  border-right: 1px solid var(--white);
  padding-bottom: 40px;
  padding-right: 60px;
}

.rev-column.left-padding {
  padding-bottom: 40px;
  padding-left: 60px;
}

.review-name {
  font-weight: 700;
}

.reviews-slide {
  width: 100%;
  height: auto;
}

.ratings-star-2 {
  object-fit: contain;
  width: 28px;
  height: 28px;
}

.review-holder {
  width: 100%;
  height: auto;
  margin-top: 120px;
}

.hidden-nav {
  display: none;
}

.review-body {
  font-style: italic;
}

.reviews-slider {
  background-color: #0000;
  width: 100%;
  max-width: 90vw;
  height: auto;
  padding-bottom: 80px;
}

.ratings-holder {
  grid-column-gap: 4px;
  justify-content: flex-start;
  align-items: center;
  margin-top: 30px;
  margin-bottom: 6px;
  display: flex;
}

.reviews-slider-mask {
  width: 100%;
  height: auto;
}

.footer-links-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  text-align: center;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 20px;
  margin-bottom: 40px;
  padding-top: 40px;
  padding-bottom: 20px;
  font-size: 16px;
}

.brand-footer-logo {
  object-fit: contain;
  width: 180px;
  height: 50px;
}

.footer-contact-details {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  letter-spacing: 2px;
  text-transform: uppercase;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  font-family: atrament-web, sans-serif;
  font-size: 21px;
  display: flex;
}

.footer-contact-details.address {
  margin-top: 4px;
}

.body-container-2 {
  z-index: 3;
  max-width: 1200px;
  position: relative;
}

.footer-logo-link {
  width: auto;
  height: auto;
}

.footer-section {
  background-color: #0084b8;
  background-image: linear-gradient(165deg, var(--deep-sky-blue), #00adef00);
  color: #fff;
  text-align: center;
  cursor: auto;
  width: 100%;
  padding: 60px 10% 80px;
  font-size: 16px;
  overflow: hidden;
}

.footer-link {
  color: #fff;
  text-transform: none;
  font-weight: 400;
  text-decoration: none;
}

.footer-link:hover {
  color: var(--dark-slate-grey-2);
}

.page-head-section {
  background-color: var(--dark-slate-grey);
  color: var(--white);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 180px 10% 100px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.page-head-section.blue {
  background-color: var(--deep-sky-blue);
  color: var(--white);
  padding-bottom: 50px;
}

.page-head-section.dark {
  background-color: var(--dark-slate-grey);
  color: var(--white);
}

.page-head-section.dark.thin {
  padding-top: 30px;
  padding-bottom: 30px;
}

.page-head-section.blog {
  padding-bottom: 40px;
}

.home-header-overlay {
  z-index: 2;
  background-color: #000000bf;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.image-grid {
  grid-column-gap: 40px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 30px;
  margin-bottom: 30px;
}

.image-grid.wide {
  grid-template-columns: 1fr 1fr;
}

.case-study-lightbox {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
}

.case-study-thumbnail {
  cursor: pointer;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: filter 1s;
}

.case-study-thumbnail:hover {
  filter: brightness(80%);
}

.text-holder {
  column-count: 2;
  column-gap: 60px;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.text-holder.bullets {
  flex-flow: wrap;
  padding-left: 5%;
  padding-right: 5%;
}

.padded-text {
  padding-left: 10%;
  padding-right: 10%;
}

.padded-text.padded {
  margin-top: 50px;
}

.padded-text.center {
  text-align: center;
  margin-top: 50px;
}

.page-title {
  color: var(--deep-sky-blue);
  font-size: 24px;
  font-weight: 700;
}

.blog-side-bar-title {
  letter-spacing: 0;
  text-transform: uppercase;
  font-weight: 400;
}

.body-section-2 {
  z-index: 1;
  text-align: center;
  cursor: auto;
  background-color: #fff;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 100px 10%;
  font-style: normal;
  position: relative;
  overflow: hidden;
}

.body-section-2.blog {
  padding-top: 60px;
}

.blog-columns {
  grid-column-gap: 0px;
  grid-row-gap: 40px;
  text-align: left;
  grid-template-rows: auto;
  grid-template-columns: 70% 30%;
  grid-auto-columns: 1fr;
  width: 100%;
  height: auto;
  display: grid;
}

.blog-side-bar {
  grid-row-gap: 60px;
  border-left: 1px solid #d6d6d6;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  padding-left: 20px;
  display: flex;
}

.blog-content {
  padding-right: 40px;
}

.blog-side-bar-links {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: 20px;
  font-weight: 400;
  display: flex;
}

.blog-side-bar-links:hover {
  color: var(--deep-sky-blue);
}

.body-container-3 {
  z-index: 4;
  max-width: 1200px;
  position: relative;
}

.card-item-date {
  color: #5e5e5e;
  font-size: 14px;
}

.blog-side-bar-items {
  grid-row-gap: 12px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
}

.blog-title {
  font-size: 52px;
  font-weight: 900;
}

.gallery-overlink {
  z-index: 2;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.video-columns {
  grid-column-gap: 50px;
  grid-row-gap: 20px;
  text-align: left;
  grid-template-rows: auto;
  grid-template-columns: 1fr 2fr;
  grid-auto-columns: 1fr;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  display: grid;
}

.column-2 {
  width: 100%;
  height: auto;
}

.column-2.align-center {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.video-holder {
  aspect-ratio: 16 / 9;
  background-color: var(--dark-slate-grey);
  border-radius: 12px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  transition: box-shadow 1s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.video-holder:hover {
  box-shadow: 0 2px 12px 2px #00000073;
}

.video-placeholder {
  z-index: 2;
  opacity: .5;
  filter: grayscale();
  object-fit: cover;
  border-radius: 12px;
  width: 100%;
  height: 100%;
  position: relative;
}

.video-play {
  z-index: 6;
  cursor: pointer;
  border: 2px solid #fff;
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  padding: 12px 10px 12px 14px;
  transition: background-color 1s;
  display: flex;
  position: absolute;
  bottom: 30px;
  left: 30px;
}

.video-play:hover {
  background-color: var(--deep-sky-blue);
}

.play-inner {
  background-color: #fff;
  width: 80%;
  height: 100%;
}

.mini-title {
  color: var(--dark-slate-grey-2);
  margin-top: 20px;
  font-size: 26px;
  font-weight: 700;
}

.project-details {
  grid-column-gap: 16px;
  grid-row-gap: 6px;
  flex-flow: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: auto;
  margin-bottom: 30px;
  font-size: 21px;
  display: flex;
}

.project-title-item {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.project-item {
  color: var(--deep-sky-blue);
  font-weight: 700;
}

.bullet {
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 20px;
  padding-left: 22px;
  display: flex;
  position: relative;
}

.bullet-item {
  background-color: var(--deep-sky-blue);
  border-radius: 100%;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 8px;
  left: 0;
}

.product-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  height: auto;
  margin-top: 30px;
  display: grid;
}

.product-item {
  border-top: 3px solid var(--deep-sky-blue);
  border-bottom: 3px solid var(--deep-sky-blue);
  background-color: var(--white);
  padding: 180px 20px 20px;
  transition: box-shadow 1s;
  position: relative;
}

.product-item:hover {
  box-shadow: 0 2px 12px 2px #00000059;
}

.product-image-link {
  background-color: var(--dark-slate-grey-2);
  width: 100%;
  height: 180px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.product-image {
  filter: saturate(110%);
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: filter 1s, opacity 1s;
}

.product-image:hover {
  opacity: .5;
  filter: saturate(0%);
}

.product-grid-title {
  font-size: 21px;
}

.product-item-pricing {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  font-size: 16px;
  display: flex;
}

.product-item-cat {
  z-index: 2;
  background-color: var(--deep-sky-blue);
  color: var(--white);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 12px;
  font-family: atrament-web, sans-serif;
  font-size: 16px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.breadcrumbs {
  grid-column-gap: 8px;
  grid-row-gap: 2px;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  font-size: 14px;
  display: flex;
}

.product-title {
  color: var(--deep-sky-blue);
  margin-top: 10px;
  font-size: 28px;
}

.divider {
  background-color: var(--dim-grey-2);
  width: 100%;
  height: 1px;
}

.product-slider {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
}

.slider-arrow {
  color: var(--white);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 100%;
  font-size: 40px;
  transition: color 1s;
  display: flex;
}

.arrow-icon {
  background-color: var(--deep-sky-blue);
  cursor: pointer;
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 8px;
  font-size: 30px;
  transition: background-color 1s;
  display: flex;
}

.arrow-icon:hover {
  background-color: var(--dark-slate-grey);
}

.product-slider-mask {
  width: 100%;
  height: 100%;
}

.product-lightbox {
  width: 100%;
  height: 100%;
}

.product-thumbnail {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.google-review-text {
  font-size: 14px;
}

.shop-icon {
  background-color: var(--white);
  cursor: pointer;
  width: 22px;
  height: 22px;
  transition: background-color 1s;
  position: relative;
}

.shop-icon:hover {
  background-color: var(--dark-slate-grey-2);
}

.shop-inner {
  object-fit: contain;
  width: 22px;
  height: 22px;
}

.form-details {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  display: flex;
}

.form-details.form-right {
  justify-content: flex-end;
}

.form-title {
  margin-top: 12px;
  font-size: 21px;
  font-weight: 700;
}

.form-item-button {
  border: 2px solid var(--dim-grey-2);
  background-color: var(--dim-grey-2);
  color: var(--white);
  cursor: pointer;
  border-radius: 10px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
  margin-bottom: 0;
  padding: 6px 22px;
  font-size: 14px;
  font-weight: 700;
  transition: color 1s, background-color 1s;
  display: flex;
}

.form-item-button:hover {
  border-color: var(--dark-slate-grey-2);
  background-color: var(--white);
  color: var(--dim-grey-2);
}

.form-item-button.text-area {
  height: 102px;
  min-height: 102px;
  max-height: 102px;
}

.form-item-button.select {
  background-color: var(--white);
  cursor: pointer;
  padding-left: 10px;
}

.form-item-button.small {
  width: 60%;
}

.vehicle-group {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  border-bottom: 1px solid var(--dim-grey-2);
  flex-flow: column;
  width: 100%;
  height: auto;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
}

.menu-link-holder-2 {
  grid-column-gap: 2px;
  grid-row-gap: 2px;
  color: #fff;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: auto;
  height: 100%;
  min-height: 82px;
  display: flex;
  position: relative;
}

.menu-link-2 {
  grid-column-gap: 8px;
  color: #fff;
  letter-spacing: 1px;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 16px;
  font-weight: 300;
  display: flex;
  position: relative;
}

.menu-link-2:hover {
  color: #e94e1b;
}

.menu-icon {
  color: #fff;
  margin-top: 4px;
  margin-bottom: 0;
  margin-left: 4px;
  font-size: 14px;
  transform: rotate(-90deg);
}

.drop-holder {
  border-top: 2px solid var(--dark-slate-grey);
  background-color: var(--dim-grey-2);
  flex-flow: column;
  width: auto;
  min-width: 220px;
  max-width: 280px;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
}

.menu-link-icon {
  filter: grayscale() invert() brightness(200%);
  object-fit: contain;
  width: 22px;
  height: 22px;
}

.form-tabs {
  width: 100%;
  height: auto;
}

.form-tabs.main {
  width: auto;
  max-width: 500px;
  height: auto;
  min-height: 540px;
}

.form-tabs-menu {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
  display: flex;
}

.form-tabs-content {
  width: 100%;
  height: auto;
  padding-top: 30px;
}

.form-tab-link {
  border: 1px solid var(--white);
  background-color: var(--dim-grey-2);
  color: var(--white);
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 100px;
  padding-left: 26px;
  padding-right: 26px;
  font-family: atrament-web, sans-serif;
  font-size: 21px;
  transition: background-color 1s, color 1s;
}

.form-tab-link:hover {
  background-color: var(--dark-slate-grey);
  color: var(--white);
}

.form-tab-link.w--current {
  background-color: var(--deep-sky-blue);
}

.product-form-inner {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
}

.product-options-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  height: auto;
  display: grid;
}

.product-column {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
}

.detail {
  font-size: 14px;
}

.form-total {
  color: var(--deep-sky-blue);
  font-size: 18px;
  font-weight: 700;
}

.shop-bubble {
  background-color: var(--dark-slate-grey-2);
  color: var(--white);
  text-align: center;
  letter-spacing: 0;
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  font-family: century-gothic, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  position: absolute;
  top: -10px;
  right: -8px;
}

.shop-link-holder {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin-left: 12px;
  padding-left: 2px;
  padding-right: 2px;
  font-size: 14px;
  font-weight: 400;
  display: flex;
  position: relative;
}

.shop-link-holder.child {
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  height: auto;
  min-height: 42px;
  padding: 8px 12px 8px 16px;
  transition: background-color 1s;
  display: flex;
  position: static;
}

.shop-link-holder.child:hover {
  background-color: #f1f1f1;
}

.shop-link-holder.child.image {
  text-align: center;
  letter-spacing: 2.4px;
  text-transform: none;
  background-color: #0000;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  padding: 0;
}

.search-bar {
  border-top: 2px solid var(--dark-slate-grey-2);
  background-color: var(--alice-blue);
  color: var(--dark-slate-grey-2);
  border-bottom-left-radius: 20px;
  justify-content: flex-start;
  align-items: center;
  width: 400px;
  max-width: 100%;
  height: 62px;
  padding: 12px 20px;
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
}

.search-inner {
  cursor: text;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 12px;
  padding-right: 12px;
  display: flex;
  position: relative;
}

.cart-close {
  border: 1px solid var(--dark-slate-grey-2);
  color: var(--dark-slate-grey-2);
  cursor: pointer;
  border-radius: 50px;
  padding: 2px 12px;
  font-size: 12px;
  font-weight: 900;
  transition: color 1s, background-color 1s;
  position: absolute;
  top: 120px;
  right: 20px;
}

.cart-close:hover {
  background-color: var(--dark-slate-grey-2);
  color: #fff;
}

.cart-item-thumb {
  object-fit: cover;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 0;
  left: 0;
}

.to-cart-button {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  border: 1px solid var(--white);
  background-color: var(--dark-slate-grey-2);
  color: var(--white);
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  padding: 12px 22px;
  font-size: 14px;
  font-weight: 500;
  transition: border-color 1s, background-color 1s, color 1s;
  display: flex;
  position: absolute;
  bottom: 30px;
  left: 40px;
  overflow: hidden;
}

.to-cart-button:hover {
  border-color: var(--dark-slate-grey-2);
  color: var(--dark-slate-grey-2);
  background-color: #fff;
}

.order-total {
  border-top: 1px solid var(--dark-slate-grey-2);
  text-align: right;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-end;
  height: auto;
  font-size: 16px;
  display: flex;
  position: absolute;
  bottom: 90px;
  left: 40px;
  right: 40px;
}

.cart-window-inner {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
  overflow: hidden;
}

.cart-items-total {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-right: 30px;
  display: flex;
  position: relative;
}

.cart-window {
  z-index: 10;
  background-color: var(--alice-blue);
  width: 360px;
  height: 100%;
  padding: 140px 40px 135px;
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  box-shadow: 0 2px 12px 2px #00000059;
}

.cart-window-pane {
  width: 100%;
  height: 100%;
  overflow: scroll;
}

.cart-item {
  border-bottom: 1px solid var(--dark-slate-grey-2);
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  padding-bottom: 6px;
  padding-left: 70px;
  font-size: 14px;
  display: flex;
  position: relative;
}

.cart-item.page {
  min-height: 72px;
  padding: 12px 40px 12px 80px;
}

.cart-item.page.alt {
  background-color: var(--alice-blue);
}

.cart-total {
  grid-column-gap: 3px;
  grid-row-gap: 3px;
  border-bottom: 1px solid var(--dark-slate-grey-2);
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: auto;
  padding-top: 3px;
  padding-bottom: 3px;
  display: flex;
  position: relative;
}

.total-text {
  position: absolute;
  left: 0;
}

.item-remove {
  background-color: var(--dark-slate-grey-2);
  color: #fff;
  cursor: pointer;
  border-radius: 8px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  font-weight: 700;
  transition: background-color 1s;
  display: flex;
  position: absolute;
  right: 0;
}

.item-remove:hover {
  background-color: var(--dim-grey-2);
}

.item-remove.page {
  right: 6px;
}

.pre-title {
  color: #83a7ab;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 500;
}

.quant-text {
  display: none;
}

.table-price {
  width: 14%;
  padding: 6px;
}

.cart-item-thumb-2 {
  object-fit: contain;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 6px;
  left: 6px;
}

.product-table-row {
  border-bottom: 1px solid #83a7ab;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
  padding-left: 4px;
  padding-right: 0;
  font-size: 16px;
  display: flex;
  position: relative;
}

.product-table-row.titles {
  color: #011441;
  font-weight: 700;
}

.product-table-row.alt {
  background-color: #f3f7ff;
}

.table-description {
  width: 40%;
  padding: 6px;
}

.quant-field-outer {
  text-align: right;
  cursor: text;
  background-color: #fff;
  border: 1px solid #83a7ab;
  border-radius: 6px;
  justify-content: flex-end;
  align-items: center;
  width: 50%;
  height: 100%;
  padding: 6px 4px;
  transition: border-color 1s;
  display: flex;
}

.quant-field-outer:hover {
  border-color: #011441;
}

.quant-field-outer.small {
  width: 70px;
  height: auto;
  padding: 3px;
  font-size: 14px;
}

.table-name {
  width: 14%;
  padding: 6px;
}

.item-quantity {
  text-align: right;
  border: 0 solid #fff;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.quant-field {
  text-align: right;
  cursor: text;
  background-color: #fff;
  border: 1px solid #83a7ab;
  border-radius: 6px;
  justify-content: flex-end;
  align-items: center;
  width: 50%;
  height: 100%;
  padding: 6px 12px;
  transition: border-color 1s;
  display: flex;
}

.quant-field:hover {
  border-color: #011441;
}

.product-table {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  text-align: left;
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 3fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.order-details {
  color: #011441;
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: 700;
}

.cart-item-2 {
  border-bottom: 1px solid #83a7ab;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  padding-bottom: 6px;
  padding-left: 70px;
  font-size: 14px;
  display: flex;
  position: relative;
}

.cart-item-2.page {
  min-height: 72px;
  padding: 12px 12px 12px 80px;
}

.cart-item-2.page.alt {
  background-color: #f3f7ff;
}

.sales-page-item-title {
  margin-right: 12px;
  display: block;
}

.product-variation-block {
  width: 100%;
  height: auto;
}

.remove-button {
  color: #fff;
  text-transform: uppercase;
  cursor: pointer;
  background-color: #83a7ab;
  border-radius: 6px;
  padding: 4px 8px;
  font-size: 14px;
  font-weight: 700;
  transition: color 1s, background-color 1s;
  position: absolute;
  top: 10px;
  right: 0;
}

.remove-button:hover {
  color: #011441;
  background-color: #efefef;
}

.item-remove-2 {
  color: #fff;
  cursor: pointer;
  background-color: #83a7ab;
  border-radius: 8px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  font-weight: 700;
  transition: background-color 1s;
  display: flex;
  position: absolute;
  right: 0;
}

.item-remove-2:hover {
  background-color: #011441;
}

.table-quant {
  justify-content: space-around;
  align-items: center;
  width: 20%;
  padding: 6px;
  display: flex;
}

.enquiry-sub-totals {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  text-align: right;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-end;
  margin-top: 20px;
  padding-left: 300px;
  padding-right: 20px;
  display: flex;
}

.form-total-page {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  justify-content: flex-end;
  align-items: center;
  font-size: 16px;
  display: flex;
}

.form-total-page.bold {
  font-size: 18px;
  font-weight: 700;
}

.total-amount {
  width: 120px;
}

.checkout-form {
  width: 100%;
  height: auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.checkout-details {
  background-color: var(--deep-sky-blue);
  color: var(--white);
  border-radius: 30px;
  width: 100%;
  height: auto;
  padding: 30px 40px;
}

.search-results-list {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  background-color: var(--alice-blue);
  border-bottom-right-radius: 12px;
  border-bottom-left-radius: 12px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: auto;
  height: auto;
  margin-top: 4px;
  padding: 12px;
  display: flex;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}

.search-result-item {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  text-align: left;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
  font-size: 16px;
  line-height: 1.2;
  display: flex;
}

.search-result-thumbnail {
  object-fit: cover;
  width: 60px;
  height: 60px;
}

.search-close {
  cursor: pointer;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  left: 8px;
}

.marquee-holder {
  text-align: left;
  justify-content: flex-start;
  align-items: center;
  margin-top: 30px;
  display: flex;
  overflow: hidden;
}

.marquee-bit {
  text-align: center;
  flex: 0 auto;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  min-width: 100%;
  height: 160px;
  display: flex;
}

.clients-grid {
  grid-column-gap: 50px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
}

.logo-holder {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  display: flex;
}

.client-logo {
  object-fit: contain;
  width: 100%;
  min-width: 100px;
  max-width: 200px;
  height: 100%;
  min-height: 80px;
  max-height: 100px;
}

.social-icons {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: auto;
  margin-top: 40px;
  display: flex;
}

.social-link {
  background-color: #fff;
  width: 28px;
  height: 28px;
  transition-property: background-color;
}

.social-link:hover {
  background-color: var(--dark-slate-grey);
}

.home-title {
  letter-spacing: 1px;
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: new-hero, sans-serif;
  font-size: 80px;
  line-height: 1.2;
}

.home-h1 {
  font-family: century-gothic, sans-serif;
  font-size: 21px;
  font-weight: 400;
}

.pop-up-close {
  color: var(--dark-slate-grey);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
  transition: color 1s;
  position: absolute;
  top: 2px;
  left: 10px;
}

.pop-up-close:hover {
  color: var(--deep-sky-blue);
}

.contact-form {
  background-color: #fff;
  border: 1px solid #83b6e1;
  border-bottom-width: 6px;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  padding: 30px;
  box-shadow: 0 2px 12px 2px #0003;
}

.contact-form.pop-up {
  border: 1px #fff0;
  border-radius: 0;
  padding: 0;
  box-shadow: 0 2px 12px 2px #0000;
}

.blog-pop-up {
  z-index: 99;
  background-color: #fff;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: auto;
  min-width: 35%;
  max-width: 440px;
  height: auto;
  padding: 20px 40px;
  display: none;
  position: fixed;
  bottom: 20px;
  right: 0;
  box-shadow: 0 2px 12px 2px #00000073;
}

.text-field {
  cursor: text;
  border: 1px solid #2b3f6d;
  border-radius: 12px;
  height: 52px;
  margin-bottom: 0;
  font-size: 16px;
  transition: border-color 1s, background-color 1s;
}

.text-field:hover {
  background-color: #f2f8fc;
  border-color: #6ab143;
}

.text-field.area {
  min-height: 110px;
  max-height: 110px;
  margin-bottom: 0;
  padding-top: 12px;
  padding-bottom: 12px;
}

.pop-up-heading {
  color: var(--deep-sky-blue);
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 32px;
  font-weight: 700;
}

.inner-form {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
}

.main-button-2 {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: 1px;
  text-transform: none;
  cursor: pointer;
  background-color: #2b3f6d;
  border: 1px solid #2b3f6d;
  border-radius: 30px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: auto;
  min-width: 180px;
  height: 52px;
  padding: 4px 22px;
  font-weight: 500;
  line-height: 1;
  transition: color 1s, background-color 1s;
  display: inline-flex;
  position: relative;
}

.main-button-2:hover {
  color: #2b3f6d;
  background-color: #fff;
  text-decoration: none;
}

.mobile-blog-pop-up {
  display: none;
}

.contact-link-inner {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.contact-icon-2 {
  filter: invert();
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.contact-link-3 {
  color: #050d3d;
  font-weight: 500;
}

.contact-link-3:hover {
  color: #45d8ef;
}

.contact-link-icon-2 {
  background-color: #45d8ef;
  border-radius: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  padding: 8px;
  display: flex;
}

.contact-link-icon-2.pop-up {
  background-color: #83b6e1;
}

.contact-link-icon-2.pop-up:hover {
  background-color: #1f2f4f;
}

.contact-list {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  margin-top: 12px;
  display: flex;
}

.project-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  text-align: center;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  height: auto;
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 16px;
  display: grid;
}

.project-card {
  border-bottom: 4px solid var(--deep-sky-blue);
  color: #fff;
  background-color: #fff;
  width: 100%;
  height: 300px;
  padding: 12px 12px 30px;
  transition: box-shadow 1s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px 2px #0003;
}

.project-card:hover {
  color: #fff;
  box-shadow: 0 2px 12px 2px #00000073;
}

.project-card-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.project-card-text {
  background-image: linear-gradient(#0000, #00000080);
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  padding-bottom: 20px;
  padding-left: 30px;
  padding-right: 30px;
  transition: background-color 1s;
  display: flex;
  position: absolute;
  inset: 0%;
}

.project-card-text:hover {
  background-color: #00000080;
}

.blog-card-title {
  margin-top: 10px;
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: 600;
}

.search-icon {
  background-color: var(--white);
  cursor: pointer;
  width: 22px;
  min-width: 22px;
  height: 22px;
  min-height: 22px;
  transition: background-color 1s;
}

.search-icon:hover {
  background-color: var(--dark-slate-grey-2);
}

.home-head-slider {
  z-index: 2;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100%;
  position: absolute;
  inset: 0%;
}

.home-head-slider-mask, .home-head-slide {
  width: 100%;
  height: 100%;
}

.home-head-slide-inner {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 180px 10% 100px;
  display: flex;
}

.home-head-slider-nav {
  color: var(--white);
  cursor: pointer;
  width: 80px;
  height: 100%;
  font-size: 50px;
  transition: color 1s;
  left: 0;
}

.home-head-slider-nav:hover {
  color: var(--deep-sky-blue);
}

.home-head-slider-nav.right {
  margin-right: 0;
  left: auto;
  right: 0;
}

@media screen and (min-width: 1280px) {
  h2 {
    font-size: 42px;
  }

  .main-button {
    font-size: 22px;
  }

  .work-gallery-titles {
    padding-top: 20px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .blog-item {
    max-width: 330px;
  }

  .header-text-inner {
    font-size: 16px;
  }

  .menu-links-holder {
    grid-column-gap: 16px;
  }

  .text-holder.bullets {
    padding-left: 10%;
    padding-right: 10%;
  }

  .column-2.align-center {
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    display: flex;
  }

  .product-item-pricing {
    font-size: 18px;
  }

  .product-title {
    font-size: 30px;
  }

  .form-tab-link {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media screen and (min-width: 1440px) {
  h1 {
    font-size: 82px;
  }

  h2 {
    font-size: 48px;
  }

  .main-button {
    font-size: 24px;
  }

  .body-container {
    max-width: 1250px;
  }

  .spacer.double {
    height: 80px;
  }

  .body-section {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .services-grid {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
  }

  .service-item.alt {
    min-height: 30px;
    padding-left: 42px;
  }

  .service-item-link {
    height: 280px;
  }

  .service-item-image.alt {
    width: 30px;
    height: 30px;
  }

  .service-title, .benefit-title {
    font-size: 22px;
  }

  .blue-top-border {
    height: 120px;
  }

  .dark-bottom-border {
    height: 150px;
  }

  .reverse-half-top-border {
    height: 76px;
  }

  .work-gallery-holder {
    height: 1000px;
  }

  .faq-holder {
    padding-left: 10%;
    padding-right: 10%;
  }

  .blog-item {
    max-width: 380px;
    padding-top: 240px;
  }

  .blog-item-link {
    height: 240px;
  }

  .blog-post-title {
    font-size: 28px;
  }

  .contact-grid {
    font-size: 18px;
  }

  .contact-item-icon {
    width: 50px;
    height: 50px;
  }

  .main-shop-grid, .inner-shop-grid {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
  }

  .shop-item-link {
    height: 712px;
  }

  .home-head-section {
    padding-bottom: 100px;
  }

  .star-ratings-holder.product {
    grid-column-gap: 3px;
  }

  .ratings-star.product {
    width: 28px;
    height: 28px;
  }

  .header-text-inner {
    font-size: 16px;
  }

  .menu-image-link {
    height: 90px;
  }

  .menu-links-holder {
    grid-column-gap: 20px;
  }

  .menu-link-holder.child {
    width: auto;
  }

  .nav-bar {
    padding-right: 50px;
  }

  .logo-link {
    left: 50px;
  }

  .nav-contact-bar {
    padding-left: 50px;
    padding-right: 50px;
  }

  .page-head-section {
    padding-bottom: 100px;
  }

  .body-section-2 {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .blog-title {
    font-size: 56px;
  }

  .product-item-pricing {
    font-size: 21px;
  }

  .breadcrumbs {
    font-size: 16px;
  }

  .product-title {
    font-size: 32px;
  }

  .google-review-text {
    font-size: 16px;
  }

  .shop-link-holder.child {
    width: auto;
  }

  .home-title {
    font-size: 82px;
  }

  .project-grid {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }

  .project-card {
    height: 320px;
  }

  .blog-card-title {
    font-size: 24px;
  }
}

@media screen and (min-width: 1920px) {
  body {
    font-size: 21px;
  }

  h1 {
    font-size: 90px;
  }

  .header-button {
    font-size: 18px;
  }

  .body-container {
    max-width: 1400px;
  }

  .spacer.double {
    height: 120px;
  }

  .body-section {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .body-section.blue {
    padding-top: 140px;
    padding-bottom: 80px;
  }

  .services-grid {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }

  .service-item.alt {
    min-height: 32px;
    padding-left: 44px;
  }

  .service-item-link {
    height: 320px;
  }

  .service-item-image.alt {
    width: 32px;
    height: 32px;
  }

  .service-title {
    font-size: 24px;
  }

  .service-title.alt {
    font-size: 21px;
  }

  .benefit-title {
    font-size: 24px;
  }

  .blue-top-border {
    height: 140px;
  }

  .dark-bottom-border {
    height: 190px;
  }

  .cta-button-holder {
    bottom: 4vw;
  }

  .reverse-half-top-border {
    height: 82px;
  }

  .work-gallery-holder {
    height: 1200px;
  }

  .blog-item {
    max-width: 430px;
    padding-top: 280px;
    font-size: 18px;
  }

  .blog-item-link {
    height: 280px;
  }

  .blog-post-title {
    font-size: 32px;
  }

  .contact-grid {
    font-size: 21px;
  }

  .contact-item-icon {
    width: 58px;
    height: 58px;
  }

  .home-head-section.blue {
    padding-top: 140px;
    padding-bottom: 80px;
  }

  .sub-head {
    font-size: 18px;
  }

  .header-text-inner {
    max-width: 1200px;
    font-size: 18px;
  }

  .menu-image-link {
    height: 100px;
  }

  .menu-links-holder {
    grid-column-gap: 24px;
  }

  .menu-link-holder {
    font-size: 16px;
  }

  .nav-bar {
    padding-right: 60px;
  }

  .logo-link {
    left: 60px;
  }

  .menu-link, .menu-link-child {
    font-size: 16px;
  }

  .nav-contact-bar {
    padding-left: 60px;
    padding-right: 60px;
  }

  .body-container-2 {
    max-width: 1400px;
  }

  .page-head-section {
    padding-top: 200px;
    padding-bottom: 120px;
  }

  .page-head-section.blue {
    padding-top: 140px;
    padding-bottom: 80px;
  }

  .body-section-2 {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .blog-title {
    font-size: 60px;
  }

  .menu-link-2 {
    font-size: 18px;
  }

  .shop-link-holder {
    font-size: 16px;
  }

  .home-title {
    font-size: 90px;
  }

  .main-button-2 {
    padding-top: 18px;
    padding-bottom: 18px;
    font-size: 16px;
  }
}

@media screen and (max-width: 991px) {
  body {
    letter-spacing: 0;
  }

  h1 {
    font-size: 78px;
  }

  h2, h3 {
    font-size: 36px;
  }

  h4 {
    font-size: 32px;
  }

  p {
    margin-left: 0%;
  }

  .body-container.contact {
    padding-left: 10%;
    padding-right: 10%;
  }

  .body-section {
    text-align: left;
    padding: 80px 5%;
  }

  .body-section.shorter {
    padding-bottom: 10px;
  }

  .body-section.blog {
    padding-top: 30px;
  }

  .body-section.product {
    padding-top: 120px;
  }

  .title-holder {
    text-align: left;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .title-holder.central {
    justify-content: flex-start;
    align-items: center;
  }

  .services-grid {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    grid-template-columns: 1fr 1fr;
  }

  .service-title-inner {
    width: auto;
  }

  .blue-background {
    border-top-left-radius: 0;
    border-top-right-radius: 25vw;
  }

  .benefits-grid {
    grid-template-columns: 1fr 1fr;
  }

  .dark-bottom-border {
    height: 120px;
  }

  .cta-grid {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: stretch;
    margin-top: 30px;
    display: flex;
  }

  .column.cta {
    padding-top: 20px;
    padding-bottom: 0;
  }

  .cta-image {
    width: 100%;
    height: 350px;
    position: static;
  }

  .cta-button-holder {
    margin-top: 40px;
    margin-bottom: 40px;
    position: static;
    bottom: auto;
  }

  .cta-button-holder.shop {
    margin-bottom: 0;
    position: absolute;
    bottom: 0;
  }

  .columns {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    grid-template-columns: 1fr;
  }

  .columns.reverse {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-direction: column-reverse;
    display: flex;
  }

  .columns.products {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
  }

  .column-image {
    height: 350px;
    min-height: auto;
    max-height: none;
    margin-bottom: 20px;
  }

  .background-star {
    width: 55%;
  }

  .large-blue-background.smaller {
    top: 30px;
    bottom: 30px;
  }

  .work-gallery-holder {
    grid-column-gap: 2%;
    grid-row-gap: 16px;
    height: auto;
    padding-top: 432px;
  }

  .work-gallery-titles {
    width: 49%;
    height: 416px;
    padding: 30px;
    position: absolute;
    top: 0;
    left: 0;
  }

  .work-gallery-link {
    width: 49%;
    height: 200px;
    position: absolute;
    top: 0;
    right: 0;
  }

  .work-gallery-link.tall {
    width: 100%;
    height: 240px;
    position: relative;
  }

  .work-gallery-link.wide {
    width: 49%;
    position: relative;
  }

  .work-gallery-link.tallside {
    height: 200px;
    position: relative;
    top: 0%;
  }

  .work-gallery-link.midsmall, .work-gallery-link.midmid {
    height: 200px;
    position: relative;
    top: 0%;
    left: 0%;
  }

  .work-gallery-link.next {
    top: 216px;
  }

  .faq-holder {
    padding-left: 0%;
    padding-right: 0%;
  }

  .blog-item {
    max-width: none;
    padding-left: 20px;
    padding-right: 20px;
  }

  .blog-post-title {
    font-size: 24px;
  }

  .bottom-left-background-image {
    width: 60%;
  }

  .button-holder {
    justify-content: flex-start;
    margin-top: 30px;
  }

  .background-image {
    object-position: 30% 50%;
  }

  .contact-form-block {
    margin-left: 35%;
    margin-right: 0%;
  }

  .form-grid {
    font-size: 12px;
  }

  .contact-grid {
    grid-row-gap: 20px;
    grid-template-columns: 1fr 1fr;
  }

  .contact-link.pop-up {
    color: var(--dark-slate-grey);
    font-weight: 400;
  }

  .contact-item-inner {
    justify-content: flex-start;
  }

  .dark-main-background {
    width: 90%;
  }

  .shop-block-text-holder {
    margin-bottom: 40px;
    padding-left: 15%;
    padding-right: 15%;
  }

  .shop-item-link {
    height: 580px;
  }

  .shop-item-link.small {
    height: 280px;
  }

  .home-head-section {
    text-align: left;
    height: auto;
    padding-left: 5%;
    padding-right: 5%;
  }

  .home-head-section.with-slider {
    min-height: 700px;
  }

  .star-ratings-holder {
    margin-top: 30px;
  }

  .header-text-inner {
    align-items: flex-start;
  }

  .header-border {
    align-items: flex-start;
    height: 60px;
    padding-left: 5%;
  }

  .header-border.blog {
    padding-left: 5%;
    top: 130px;
  }

  .header-border-inner.blog {
    margin-left: -20px;
  }

  .menu-image-link {
    display: none;
  }

  .menu-links-holder {
    text-align: left;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    height: 100%;
    margin-bottom: 0;
    padding: 0 0%;
    display: block;
    overflow: visible;
  }

  .contact-link-icon.pop-up {
    background-color: var(--deep-sky-blue);
    color: var(--deep-sky-blue);
    border-radius: 100%;
    margin-right: 0;
    padding: 13px;
  }

  .menu-dropdown {
    grid-column-gap: 12px;
    grid-row-gap: 0px;
    background-color: #0000;
    border-top: 0 #0000;
    border-bottom: 0 #0000;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 100%;
    max-width: none;
    margin-top: 10px;
    margin-bottom: 0;
    padding: 0 0%;
    display: none;
    position: static;
    top: 0;
    left: 0;
  }

  .menu-drawer-holder {
    z-index: 997;
    background-color: var(--deep-sky-blue);
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100vh;
    padding: 90px 5% 50px;
    display: none;
    position: fixed;
    inset: 0%;
    overflow: auto;
  }

  .menu-link-holder {
    border-bottom: 1px solid #ffffff5c;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: auto;
    min-height: 60px;
    margin-bottom: 0;
    padding-top: 14px;
    padding-bottom: 14px;
    font-size: 21px;
    position: static;
  }

  .menu-link-holder.child {
    border-bottom-style: none;
    border-bottom-width: 0;
    height: auto;
    min-height: auto;
    margin-bottom: 0;
    padding: 6px 0;
    font-size: 16px;
  }

  .menu-link-holder.child:hover {
    background-color: #0000;
  }

  .menu-link-holder.child.image {
    text-align: left;
    padding: 4px 0;
  }

  .menu-link-holder.child.image:hover {
    background-color: #0000;
  }

  .menu-link-holder.searchsite {
    display: none;
  }

  .mobile-menu-button {
    z-index: 998;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 38px;
    height: 26px;
    display: flex;
    position: absolute;
    right: 20px;
    overflow: hidden;
  }

  .nav-bar {
    height: 90px;
    padding-left: 20px;
    padding-right: 82px;
  }

  .brand-logo {
    filter: invert(0%) brightness();
  }

  .drop-down-grid {
    grid-column-gap: 20px;
    grid-row-gap: 16px;
    margin-top: 8px;
    margin-bottom: 12px;
  }

  .contact-link-2.header {
    flex-direction: row;
    align-items: center;
    width: 100%;
  }

  .menu-bar-bottom {
    background-color: var(--white);
    border-radius: 12px;
    width: 38px;
    height: 3px;
    padding-bottom: 0;
    padding-right: 0;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .mega-menu-top-grid {
    grid-column-gap: 20px;
    grid-row-gap: 16px;
    margin-top: 8px;
    margin-bottom: 12px;
    display: none;
  }

  .logo-link {
    z-index: 998;
    max-width: none;
    left: 20px;
  }

  .menu-link {
    text-transform: capitalize;
    font-size: 21px;
    font-weight: 700;
  }

  .menu-link.shop {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    background-color: #ebf4fe00;
    border-style: none;
    border-width: 0;
    border-radius: 0;
    flex-flow: column;
    padding: 0;
    font-size: 0;
  }

  .menu-link.shop:hover {
    color: var(--dark-slate-grey-2);
  }

  .menu-link.drop {
    width: 30%;
    padding: 2px 0;
    font-size: 18px;
  }

  .menu-link.drop:hover {
    background-color: var(--deep-sky-blue);
    color: var(--dark-slate-grey);
  }

  .menu-bar-top {
    background-color: var(--white);
    border-radius: 12px;
    width: 38px;
    height: 3px;
    padding-bottom: 0;
    padding-right: 0;
    position: absolute;
    top: 0;
    left: 0;
  }

  .menu-link-child {
    font-size: 18px;
  }

  .menu-link-child.child {
    color: var(--white);
    font-size: 21px;
  }

  .menu-link-child.child:hover {
    color: var(--dark-slate-grey-2);
  }

  .contact-link-holder.header {
    z-index: 998;
    right: 72px;
  }

  .menu-bar-mid {
    background-color: var(--white);
    border-radius: 12px;
    width: 38px;
    height: 3px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .drop-icon {
    display: none;
  }

  .nav-contact-bar {
    z-index: 998;
    padding-left: 20px;
    padding-right: 20px;
  }

  .reviews-grid {
    grid-row-gap: 0px;
    grid-template-columns: 1fr;
  }

  .rev-column.right-border {
    border-bottom: 1px solid #ffffff80;
    border-right: 0 #0000;
  }

  .rev-column.left-padding {
    padding-left: 0;
  }

  .review-holder {
    margin-top: 30px;
  }

  .footer-links-grid {
    text-align: left;
  }

  .brand-footer-logo {
    width: 200px;
  }

  .footer-contact-details {
    justify-content: flex-start;
  }

  .footer-section {
    text-align: left;
    padding: 60px 5%;
  }

  .page-head-section {
    text-align: left;
    height: auto;
    padding: 130px 5% 90px;
  }

  .image-grid {
    grid-column-gap: 20px;
  }

  .text-holder {
    column-count: 1;
  }

  .text-holder.bullets {
    padding-left: 0%;
    padding-right: 0%;
  }

  .padded-text {
    padding-left: 0%;
  }

  .padded-text.center {
    text-align: left;
  }

  .body-section-2 {
    padding: 40px 5%;
  }

  .body-section-2.blog {
    padding-top: 40px;
  }

  .blog-columns {
    flex-direction: column;
    display: flex;
  }

  .blog-side-bar {
    grid-column-gap: 0px;
    grid-row-gap: 30px;
    border-top: 1px solid #d6d6d6;
    border-left-style: none;
    border-left-width: 0;
    flex-flow: wrap;
    padding-top: 40px;
    padding-left: 0;
  }

  .blog-content {
    padding-right: 0;
  }

  .blog-side-bar-links {
    grid-column-gap: 6px;
    grid-row-gap: 6px;
  }

  .blog-side-bar-items {
    width: 50%;
    padding-right: 60px;
  }

  .blog-title {
    font-size: 44px;
  }

  .video-columns {
    grid-row-gap: 30px;
    flex-flow: column-reverse;
    margin-bottom: 0;
    padding-left: 5%;
    padding-right: 5%;
    display: flex;
  }

  .project-details {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .product-grid {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
  }

  .product-slider {
    width: 50%;
    min-width: 400px;
  }

  .shop-icon {
    width: 26px;
    height: 26px;
  }

  .menu-link-holder-2 {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: auto;
    min-height: auto;
  }

  .menu-link-2 {
    font-size: 21px;
  }

  .menu-icon {
    display: none;
  }

  .drop-holder {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    background-color: #fff0;
    border-top: 0 #fff0;
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    min-width: auto;
    max-width: none;
    margin-top: 8px;
    display: flex;
    position: static;
  }

  .menu-link-icon {
    width: 18px;
    height: 18px;
  }

  .form-tab-link {
    padding-left: 24px;
    padding-right: 24px;
    font-size: 18px;
  }

  .shop-bubble {
    text-align: center;
    justify-content: center;
    align-items: center;
    min-width: 18px;
    min-height: 18px;
    top: -8px;
  }

  .shop-link-holder {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    border-bottom: 1px solid #ffffff5c;
    margin-left: 0;
    padding: 0;
    position: static;
  }

  .shop-link-holder.child {
    border-bottom-style: none;
    border-bottom-width: 0;
    height: auto;
    min-height: auto;
    margin-bottom: 0;
    padding: 6px 0;
    font-size: 16px;
  }

  .shop-link-holder.child:hover {
    background-color: #0000;
  }

  .shop-link-holder.child.image {
    text-align: left;
    padding: 4px 0;
  }

  .shop-link-holder.child.image:hover {
    background-color: #0000;
  }

  .cart-close {
    top: 133px;
    right: 14px;
  }

  .to-cart-button {
    left: 30px;
  }

  .order-total {
    left: 30px;
    right: 30px;
  }

  .cart-window {
    padding: 156px 30px 170px;
  }

  .product-table-row {
    padding-left: 0;
    font-size: 14px;
  }

  .quant-field-outer, .quant-field {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 12px;
  }

  .remove-button {
    padding-left: 6px;
    padding-right: 6px;
    top: 8px;
  }

  .checkout-details {
    padding: 20px 30px;
  }

  .marquee-bit {
    height: 120px;
  }

  .clients-grid {
    grid-column-gap: 40px;
  }

  .client-logo {
    min-width: 80px;
    max-width: 150px;
    min-height: 60px;
    max-height: 100px;
  }

  .social-icons {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    flex-flow: row;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .social-link {
    width: 34px;
    height: 34px;
  }

  .home-title {
    font-size: 78px;
  }

  .pop-up-close.mobile {
    left: auto;
    right: 10px;
  }

  .contact-form {
    padding-top: 20px;
  }

  .blog-pop-up {
    display: none;
  }

  .mobile-blog-pop-up {
    z-index: 99;
    background-color: #fff;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    width: auto;
    height: auto;
    padding: 10px 30px 30px;
    display: none;
    position: fixed;
    bottom: 0;
    left: 20px;
    right: 20px;
    box-shadow: 0 2px 12px 2px #00000073;
  }

  .contact-icon-2 {
    filter: brightness(200%) saturate(0%) invert();
  }

  .contact-link-icon-2.pop-up {
    transition: background-color 1s;
  }

  .contact-link-icon-2.pop-up:hover {
    background-color: #050d3d;
  }

  .contact-list.pop-up {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    flex-flow: wrap;
  }

  .project-grid {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }

  .project-card-text {
    padding-left: 20px;
    padding-right: 20px;
  }

  .blog-card-title {
    font-size: 18px;
  }

  .home-head-slide-inner {
    text-align: left;
    padding-left: 5%;
    padding-right: 5%;
  }

  .home-head-slider-nav {
    width: 60px;
    height: 60px;
    margin-bottom: 0;
    bottom: 60px;
    left: auto;
    right: 60px;
  }

  .home-head-slider-nav.right {
    bottom: 60px;
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 66px;
  }

  h2 {
    font-size: 34px;
  }

  h3 {
    font-size: 32px;
  }

  h4 {
    font-size: 28px;
  }

  p {
    margin-right: 0%;
  }

  .main-button {
    font-size: 24px;
  }

  .body-container {
    padding-left: 0;
  }

  .body-container.contact {
    padding-left: 0%;
    padding-right: 0%;
  }

  .body-container.main-form {
    padding-left: 0%;
  }

  .body-section {
    text-align: left;
    padding-left: 30px;
    padding-right: 30px;
  }

  .service-item.alt {
    padding-left: 30px;
  }

  .service-item-image.alt {
    width: 22px;
    height: 22px;
  }

  .service-title {
    font-size: 18px;
  }

  .service-title.alt {
    font-size: 16px;
  }

  .service-item-details {
    padding: 16px;
    font-size: 16px;
  }

  .benefit-title {
    font-size: 18px;
  }

  .cta-image, .column-image {
    height: 280px;
  }

  .accreds-bar {
    grid-column-gap: 40px;
    justify-content: center;
  }

  .accreds-image {
    max-width: 100px;
  }

  .work-gallery-holder {
    grid-row-gap: 12px;
    padding-top: 0;
  }

  .work-gallery-titles {
    width: 100%;
    height: auto;
    padding-top: 20px;
    position: static;
  }

  .work-gallery-link {
    position: relative;
  }

  .work-gallery-link.tall {
    height: 220px;
  }

  .work-gallery-link.next {
    top: 0;
  }

  .work-gallery-title {
    font-size: 24px;
  }

  .faq-item {
    width: 95%;
  }

  .faq-item.left {
    margin-left: 0%;
  }

  .blog-item {
    padding-top: 180px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .blog-item-link {
    height: 180px;
  }

  .blog-post-title {
    font-size: 21px;
  }

  .bottom-left-background-image {
    width: 95%;
  }

  .background-image {
    display: none;
  }

  .blue-column-overlay {
    background-color: var(--alice-blue);
    width: 100%;
  }

  .contact-form-block {
    margin-left: 0%;
  }

  .contact-grid {
    grid-template-columns: 1fr;
  }

  .main-shop-grid, .inner-shop-grid {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
  }

  .shop-block-text-holder {
    padding-right: 5%;
  }

  .shop-item-link {
    height: 452px;
  }

  .shop-item-link.small {
    height: 220px;
  }

  .home-head-section {
    text-align: left;
    min-height: auto;
    padding-top: 110px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .header-border.blog {
    padding-left: 30px;
    top: 110px;
  }

  .menu-links-holder {
    margin-bottom: 80px;
    padding-bottom: 80px;
  }

  .menu-dropdown {
    grid-template-columns: 1fr 1fr;
  }

  .menu-drawer-holder {
    padding-left: 30px;
    padding-right: 30px;
  }

  .menu-link-holder {
    padding-top: 12px;
    font-size: 18px;
  }

  .menu-link-holder.child {
    font-size: 14px;
  }

  .mobile-menu-button {
    right: 12px;
  }

  .contact-details.header {
    display: none;
  }

  .nav-bar {
    height: 86px;
    padding-right: 72px;
  }

  .brand-logo {
    width: 126px;
    height: 34px;
  }

  .drop-down-grid {
    grid-template-columns: 1fr 1fr;
  }

  .contact-link-2.header {
    width: auto;
  }

  .mega-menu-top-grid {
    grid-template-columns: 1fr 1fr;
  }

  .logo-link {
    left: 12px;
  }

  .menu-link.drop {
    width: 100%;
  }

  .contact-link-holder.header {
    width: auto;
    display: none;
  }

  .nav-contact-bar {
    padding-left: 12px;
    padding-right: 12px;
  }

  .nav-contact-items {
    grid-column-gap: 12px;
  }

  .reviews-slider {
    max-width: 85vw;
  }

  .footer-links-grid {
    grid-row-gap: 0px;
    grid-template-columns: 1fr 1fr;
    padding-bottom: 40px;
  }

  .footer-contact-details {
    grid-column-gap: 12px;
    grid-row-gap: 6px;
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-contact-details.address {
    margin-top: 12px;
  }

  .body-container-2 {
    padding-left: 0;
  }

  .footer-text-divider {
    display: none;
  }

  .footer-section {
    text-align: left;
    padding: 40px 30px;
  }

  .footer-link-list {
    margin-bottom: 0;
  }

  .page-head-section {
    text-align: left;
    min-height: auto;
    padding-top: 110px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .page-head-section.blog {
    padding-bottom: 20px;
  }

  .padded-text {
    padding-right: 0%;
  }

  .body-section-2 {
    padding: 40px 30px;
  }

  .body-container-3 {
    padding-left: 0;
  }

  .blog-side-bar-items {
    width: 100%;
  }

  .blog-title {
    font-size: 38px;
  }

  .video-columns {
    padding-left: 0%;
    padding-right: 0%;
  }

  .video-play {
    width: 80px;
    height: 80px;
  }

  .mini-title {
    font-size: 24px;
  }

  .project-details {
    font-size: 18px;
  }

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

  .product-title {
    font-size: 26px;
  }

  .form-tab-link, .shop-link-holder {
    font-size: 18px;
  }

  .shop-link-holder.child {
    font-size: 14px;
  }

  .cart-close {
    top: 120px;
  }

  .cart-window {
    padding-top: 144px;
  }

  .quant-text {
    display: inline-block;
  }

  .table-price {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    min-width: 30%;
    display: flex;
  }

  .table-price.top {
    width: 15%;
    display: none;
  }

  .product-table-row {
    flex-flow: wrap;
    padding: 12px 10px;
    font-size: 14px;
  }

  .product-table-row.titles {
    padding-top: 2px;
    padding-bottom: 6px;
    font-size: 16px;
  }

  .table-description, .table-description.top {
    width: 70%;
  }

  .quant-field-outer {
    width: 30%;
    font-size: 14px;
  }

  .table-name, .table-name.top {
    width: 30%;
  }

  .item-quantity {
    font-size: 14px;
  }

  .quant-field {
    width: 30%;
    font-size: 14px;
  }

  .remove-button {
    top: 14px;
    right: 4px;
  }

  .table-quant {
    grid-column-gap: 22px;
    grid-row-gap: 22px;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding-top: 12px;
  }

  .table-quant.top {
    width: 15%;
    display: none;
  }

  .enquiry-sub-totals {
    padding-left: 0;
  }

  .checkout-form {
    margin-left: 0%;
  }

  .checkout-details {
    border-radius: 16px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .search-result-item {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }

  .search-result-thumbnail {
    width: 50px;
    height: 50px;
  }

  .marquee-holder {
    margin-top: 0;
  }

  .clients-grid {
    grid-column-gap: 30px;
  }

  .client-logo {
    max-width: 100%;
    max-height: 60px;
  }

  .home-title {
    font-size: 66px;
  }

  .mobile-blog-pop-up {
    padding-top: 2px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .contact-list {
    width: 80%;
  }

  .contact-list.pop-up {
    width: 100%;
  }

  .project-grid {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    grid-template-columns: 1fr;
  }

  .project-card {
    height: 200px;
  }

  .blog-card-title {
    font-size: 21px;
  }

  .home-head-slide-inner {
    padding-top: 90px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .home-head-slider-nav {
    font-size: 40px;
  }
}

@media screen and (max-width: 479px) {
  h1 {
    font-size: 44px;
  }

  h2 {
    font-size: 32px;
  }

  h3 {
    font-size: 28px;
  }

  h4 {
    font-size: 24px;
  }

  .header-button {
    text-align: center;
    width: 100%;
    min-width: auto;
    padding: 17px 4px;
  }

  .main-button {
    text-align: center;
    width: 100%;
  }

  .spacer {
    height: 20px;
  }

  .ul-point {
    padding-left: 20px;
  }

  .body-section {
    padding: 40px 20px 50px;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }

  .service-item-title-holder.alt._2 {
    bottom: 30px;
  }

  .service-item-details {
    padding: 12px;
    font-size: 16px;
  }

  .benefits-grid {
    grid-template-columns: 1fr;
  }

  .blue-top-border {
    height: 80px;
  }

  .dark-bottom-border {
    height: 110px;
  }

  .dark-bottom-border.overlap {
    height: 80px;
  }

  .column.cta {
    padding-top: 0;
  }

  .cta-image {
    height: 220px;
  }

  .cta-button-holder {
    margin-top: 20px;
    margin-bottom: 30px;
  }

  .cta-button-holder.shop {
    margin-top: 0;
    position: static;
    left: 0%;
  }

  .columns.products {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }

  .column-image {
    height: 220px;
  }

  .background-star {
    width: 95%;
  }

  .reverse-half-top-border {
    height: 50px;
  }

  .large-blue-background.smaller {
    top: 20px;
  }

  .work-gallery-link {
    width: 100%;
    height: 180px;
  }

  .work-gallery-link.tall {
    height: 180px;
  }

  .work-gallery-link.wide {
    width: 100%;
  }

  .work-gallery-title {
    font-size: 21px;
  }

  .faq-item {
    width: 90%;
  }

  .faq-question, .faq-answer {
    padding-left: 20px;
    font-size: 16px;
  }

  .button-holder {
    flex-direction: column;
    align-items: stretch;
  }

  .form-item.small {
    width: 100%;
  }

  .form-grid._2-cols {
    grid-template-columns: 1fr;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    font-size: 18px;
  }

  .contact-item-icon.mini {
    filter: brightness(200%) grayscale();
    width: 32px;
    height: 32px;
  }

  .contact-link:hover {
    color: var(--deep-sky-blue);
  }

  .main-shop-grid {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-columns: 1fr;
    margin-bottom: 0;
  }

  .inner-shop-grid {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }

  .shop-block-text-holder {
    margin-bottom: 30px;
    padding-right: 0%;
  }

  .shop-item-link, .shop-item-link.small {
    height: 230px;
  }

  .home-head-section {
    min-height: auto;
    padding: 90px 20px;
  }

  .blue-highlight.alt {
    color: var(--deep-sky-blue);
  }

  .header-border.blog {
    padding-left: 0%;
    top: 0;
  }

  .header-border-inner.blog {
    width: 4px;
    margin-left: 0;
  }

  .contact-link-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    margin-right: 0;
  }

  .contact-link-icon.pop-up {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 52px;
    padding: 11px;
    display: flex;
  }

  .menu-dropdown {
    grid-column-gap: 0px;
    flex-direction: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    margin-bottom: -8px;
  }

  .menu-drawer-holder {
    padding: 220px 20px 40px;
  }

  .menu-link-holder {
    min-height: auto;
    padding-bottom: 10px;
  }

  .menu-link-holder.child {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .menu-link-holder.child.image {
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .mobile-menu-button {
    right: 14px;
  }

  .contact-details {
    font-size: 21px;
  }

  .nav-bar {
    height: 68px;
    padding-top: 8px;
    padding-left: 0;
    padding-right: 70px;
  }

  .brand-logo {
    width: 118px;
    height: 32px;
  }

  .drop-down-grid, .drop-down-grid._4-cols, .drop-down-grid._2-cols, .mega-menu-top-grid {
    grid-template-columns: 1fr;
  }

  .logo-link {
    max-width: 70vw;
    left: 14px;
  }

  .menu-link:hover {
    color: var(--dark-slate-grey);
  }

  .contact-link-holder {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-link-holder.header {
    display: none;
  }

  .nav-contact-bar {
    height: 8px;
    font-size: 21px;
  }

  .nav-contact-items {
    grid-row-gap: 16px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: auto;
    display: none;
    position: absolute;
    top: 120px;
  }

  .nav-contact-text {
    display: none;
    position: absolute;
    top: 76px;
  }

  .rev-column.right-border {
    padding-right: 0;
  }

  .footer-links-grid {
    grid-row-gap: 0px;
    grid-template-columns: 1fr;
  }

  .footer-contact-details {
    grid-row-gap: 10px;
  }

  .footer-contact-details.address {
    margin-top: 16px;
  }

  .footer-section {
    padding-top: 30px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 18px;
  }

  .page-head-section {
    min-height: auto;
    padding-bottom: 90px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .image-grid {
    grid-column-gap: 14px;
    grid-row-gap: 14px;
    grid-template-columns: 1fr 1fr;
  }

  .image-grid.wide {
    grid-template-columns: 1fr;
  }

  .body-section-2 {
    text-align: left;
    padding: 40px 20px 50px;
  }

  .blog-side-bar-items {
    padding-right: 20px;
  }

  .blog-title {
    font-size: 32px;
  }

  .video-play {
    width: 44px;
    height: 44px;
    bottom: 16px;
    left: 16px;
  }

  .mini-title {
    font-size: 21px;
  }

  .project-title-item {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
  }

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

  .product-item {
    padding-left: 16px;
    padding-right: 16px;
  }

  .product-title {
    font-size: 24px;
  }

  .product-slider {
    width: 100%;
    min-width: auto;
  }

  .form-details {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 18px;
  }

  .form-item-button, .form-item-button.small {
    width: 100%;
  }

  .menu-link-2 {
    font-size: 18px;
  }

  .form-tabs-menu {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .form-tab-link {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 21px;
    display: flex;
  }

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

  .shop-link-holder {
    min-height: auto;
  }

  .shop-link-holder.child {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .shop-link-holder.child.image {
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .cart-close {
    top: 80px;
  }

  .to-cart-button {
    width: auto;
    padding-left: 18px;
    padding-right: 18px;
    font-size: 14px;
    left: 20px;
  }

  .order-total {
    left: 20px;
    right: 20px;
  }

  .cart-window {
    width: 100%;
    padding-top: 110px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .quant-text {
    font-size: 14px;
  }

  .table-price {
    width: 100%;
    padding: 4px 10px 8px;
  }

  .product-table-row {
    flex-flow: wrap;
    padding: 4px 0;
    font-size: 16px;
  }

  .product-table-row.titles {
    border-top: 1px solid #83a7ab;
  }

  .table-description {
    width: 100%;
    padding: 4px 10px;
  }

  .table-description.top {
    justify-content: flex-start;
    align-items: center;
    width: 50%;
    height: 100%;
    font-size: 14px;
    display: flex;
  }

  .quant-field-outer {
    text-align: right;
    background-color: #fff;
    border: 1px solid #83a7ab;
    border-radius: 6px;
    width: 60%;
    padding: 6px 12px;
    font-size: 16px;
  }

  .quant-field-outer.small {
    width: 46px;
  }

  .table-name {
    width: 100%;
    padding: 8px 10px 4px;
  }

  .table-name.top {
    justify-content: flex-start;
    align-items: center;
    width: 50%;
    height: 100%;
    padding-top: 4px;
    font-size: 14px;
    display: flex;
  }

  .quant-field {
    text-align: right;
    background-color: #fff;
    border: 1px solid #83a7ab;
    border-radius: 6px;
    width: 60%;
    padding: 6px 12px;
    font-size: 16px;
  }

  .order-details {
    font-size: 21px;
  }

  .remove-button {
    top: 8px;
  }

  .table-quant {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding: 12px 10px;
    display: flex;
  }

  .enquiry-sub-totals {
    padding-bottom: 90px;
  }

  .checkout-details {
    padding-top: 12px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .search-result-item {
    grid-column-gap: 14px;
    grid-row-gap: 14px;
  }

  .search-result-thumbnail {
    width: 40px;
    height: 40px;
  }

  .marquee-bit {
    overflow: hidden;
  }

  .clients-grid {
    grid-column-gap: 18vw;
    grid-row-gap: 40px;
  }

  .client-logo {
    min-width: 31vw;
    min-height: 90px;
    max-height: 90px;
  }

  .social-link {
    width: 42px;
    height: 42px;
  }

  .home-title {
    font-size: 44px;
  }

  .contact-form {
    padding-bottom: 20px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .pop-up-heading {
    font-size: 26px;
  }

  .main-button-2 {
    text-align: center;
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .mobile-blog-pop-up {
    padding-bottom: 20px;
    left: 10px;
    right: 10px;
  }

  .pop-up-link-text {
    display: none;
  }

  .contact-link-inner {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .contact-link-icon-2.pop-up {
    width: 52px;
    height: 52px;
    padding: 14px;
  }

  .project-card {
    height: 280px;
  }

  .home-head-slide-inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  .home-head-slider-nav {
    width: 40px;
    height: 40px;
    right: 40px;
  }
}

#w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1aa2-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1aa4-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1aa6-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1aa8-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1aac-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1aae-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1ab0-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1ab2-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1ab6-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1ab8-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1aba-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1abc-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1ac0-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1ac2-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1ac4-d9812a4a, #w-node-faa6e8ab-9b1c-4ed6-66c9-c37b47aa1ac6-d9812a4a, #w-node-_17967e90-5191-283d-1b73-9e41c41453b4-d9812a4a, #w-node-ef8527af-7b6a-448f-2945-433476022323-d9812a4a, #w-node-aba42f18-2fe9-0965-1fe0-d74433ea3489-d9812a4a, #w-node-_9f8b689f-9779-8dfd-28e9-552486c215e6-d9812a4a, #w-node-_8b0aeaf1-6209-8ed7-7253-de9756b667d7-d9812a4a, #w-node-_696a603d-5198-2dc8-e2ce-d9a4527370b0-d9812a4a, #w-node-_1f820aab-00c7-d93b-4250-c1861e158a26-d9812a4a, #w-node-facf9ff7-759c-0b60-5283-d2bd5152eec6-d9812a4a, #w-node-aeed6a4c-4b2e-c95a-9513-dd8ff1e462cc-d9812a4a, #w-node-_413d4a53-765a-e6cc-5dc0-10bd136c0a48-d9812a4a, #w-node-a1320866-ed36-57b9-c1d8-16adf31f2ffa-d9812a4a, #w-node-a8f16943-3918-4130-12a6-64dd606cde43-d9812a4a, #w-node-c1eb355c-d759-e9e9-fa11-ce1e5630e2ab-d9812a4a, #w-node-_4186b421-c7c2-3210-72e0-e7e3257a966e-d9812a4a, #w-node-_8febd992-4cc3-6b4e-dc81-a8585f1cb9b2-d9812a4a, #w-node-e65ba90a-dc79-a5a8-ee9b-e093e373367c-d9812a4a, #w-node-_818768c4-6e48-5ddb-eb12-b76b8d0805b0-d9812a4a, #w-node-_30747cfb-4fd2-4540-b8f3-149e8ada2e83-d9812a4a, #w-node-_80be635b-5376-f044-6448-2edd5483dc01-d9812a4a, #w-node-_8f0778bd-53f8-299a-391b-bb083373e9e3-d9812a4a, #w-node-_6f68cb54-d5de-9755-6a50-a2b04569e0e2-d9812a4a, #w-node-_831939c3-d171-32e5-178d-627b8dd688a9-d9812a4a, #w-node-_10b2da0d-4469-e658-4f5a-fd66600c33c4-d9812a4a, #w-node-_10b2da0d-4469-e658-4f5a-fd66600c33c6-d9812a4a, #w-node-_6a25911e-ffdb-f847-c1d9-955279056a51-d9812a4a, #w-node-_6a25911e-ffdb-f847-c1d9-955279056a60-d9812a4a, #w-node-_8172d274-eabb-7ac3-3385-21bf0091f620-d9812a4a, #w-node-d45ac6ad-284a-3ba5-4939-4f9178193ab9-d9812a4a, #w-node-_2d8f9f90-182f-0d42-36ec-f35a470a9818-d9812a4a, #w-node-_6478401d-c099-9c08-bf21-a0058c98e4de-d9812a4a, #w-node-eb2caf16-c29d-f9e3-8a2e-a6d7ec3d636e-d9812a4a, #w-node-_402a8c16-e2ce-194f-d5c5-c57faf1d932d-d9812a4a, #w-node-bdbf03ab-8208-fd7f-7e71-d754977906d8-d9812a4a, #w-node-e93ba831-a90b-5465-7486-f5adf58925d8-d9812a4a, #w-node-b5fc2ece-76fc-3b7a-e092-af9da51d56e7-d9812a4a, #w-node-b598fe18-84fa-ac6b-dc48-23c3a4ba0768-d9812a4a, #w-node-ecced710-3f9f-48f6-c7cd-61782f9a88b2-d9812a4a, #w-node-ecced710-3f9f-48f6-c7cd-61782f9a88c8-d9812a4a, #w-node-_55b81051-7654-f910-8dbe-774c6f83d7a3-d9812a4a, #w-node-_55b81051-7654-f910-8dbe-774c6f83d7b9-d9812a4a, #w-node-_3f445b92-f90a-3908-15a2-1e15cb73e2ae-d9812a4a, #w-node-f8fd32f6-76a7-cb4e-cebb-1f9ea247aab2-d9812a4a, #w-node-c4254e9c-0291-7854-d7c3-7c90f819c3b0-d9812a4a, #w-node-a88eb7ed-7196-1800-084a-8e1c35e63b9f-d9812a4a, #w-node-_94d5079b-3c5b-0d8e-6e9d-205c4278b555-d9812a4a, #w-node-_348ad166-f8bd-c736-f133-c07a67d8df54-d9812a4a, #w-node-_9c34f428-8fa4-c9c0-ae38-dd50bd7877a2-d9812a4a, #w-node-_9c34f428-8fa4-c9c0-ae38-dd50bd7877ac-d9812a4a, #w-node-_9c34f428-8fa4-c9c0-ae38-dd50bd7877b6-d9812a4a, #w-node-_9c34f428-8fa4-c9c0-ae38-dd50bd7877c0-d9812a4a, #w-node-_71fcd3d7-0cf6-f28b-1a41-063fe86b5929-d9812a4a, #w-node-_71fcd3d7-0cf6-f28b-1a41-063fe86b592b-d9812a4a, #w-node-_5269def2-474b-cb23-07e9-ffc78e273139-d9812a4a, #w-node-_5269def2-474b-cb23-07e9-ffc78e273137-d9812a4a, #w-node-ba32fc28-bf38-6236-f897-2223ac9c2a4a-d9812a4a, #w-node-_682d2bde-55a1-1d8e-9300-f9922ab75078-11d01431, #w-node-_682d2bde-55a1-1d8e-9300-f9922ab75081-11d01431, #w-node-f08f80ab-07d4-c380-4ccc-98bf84c8433f-11d01431 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

@media screen and (max-width: 479px) {
  #w-node-_2e42d598-29b4-fe4a-f86d-f8b5899610e3-d9812a4a {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}


