@font-face {
  font-family: Candara;
  src: url('../fonts/Candara-Bold-Italic.ttf') format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Candara;
  src: url('../fonts/Candara-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Candara;
  src: url('../fonts/Candara-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Candara;
  src: url('../fonts/Candara-Italic.ttf') format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poor Richard Opti;
  src: url('../fonts/PoorRichardOpti.otf') format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --card-shadow-x: 0px;
  --card-shadow-y: 0px;
  --card-shadow-x-2: 0px;
  --card-shadow-y-2: 0px;
  --card-shadow-x-3: 0px;
  --card-shadow-y-3: 0px;
  --card-shadow-x-4: 0px;
  --card-shadow-y-4: 0px;
  --relume-library-lite--rl-white: white;
  --relume-library-lite--rl-black: black;
}

body {
  color: #101010;
  font-family: Candara, Verdana, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Poor Richard Opti, Palatino Linotype, sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 3.5rem;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Poor Richard Opti, Palatino Linotype, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.75rem;
}

h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Poor Richard Opti, Palatino Linotype, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
}

h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}

h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1rem;
}

p {
  margin-bottom: 0;
}

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

blockquote {
  border-left: 5px solid #101010;
  margin-bottom: 0;
  padding: .5rem 2rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.button-base {
  color: #fff;
  background-color: #317b01;
  border: 3px solid #317b01;
  border-radius: .5rem;
  padding: .75rem 2rem;
  font-size: 1.15rem;
  font-weight: 400;
  -webkit-text-decoration: underline #0000;
  text-decoration: underline #0000;
  transition: text-decoration-color .3s cubic-bezier(.645, .045, .355, 1), border-color .3s cubic-bezier(.645, .045, .355, 1), color .3s cubic-bezier(.645, .045, .355, 1), background-color .3s cubic-bezier(.645, .045, .355, 1);
}

.button-base:hover {
  color: #317b01;
  background-color: #fff;
  -webkit-text-decoration: underline #317b01;
  text-decoration: underline #317b01;
}

.button-base.hero {
  font-size: 1.3rem;
  line-height: 1.3rem;
}

.button-base.hero:hover {
  color: #255c01;
  background-color: #efefef;
  border-color: #efefef;
}

.button-base.hero.hallow {
  background-color: #3d9a0100;
}

.button-base.hero.hallow:hover {
  color: #efefef;
  text-decoration-color: #fff;
}

.button-base.banner {
  color: #317b01;
  background-color: #fff;
  border-color: #fff;
  margin-top: .5rem;
}

.button-base.banner:hover {
  color: #fff;
  background-color: #317b01;
  text-decoration-color: #fff;
}

.button-base.footer {
  margin-top: .5rem;
}

.button-base.footer:hover {
  color: #fff;
  background-color: #0000;
  border-color: #fff;
  text-decoration-color: #fff;
}

.button-base.contact-page {
  color: #317b01;
  background-color: #fff;
  border-color: #fff;
  font-weight: 700;
}

.button-base.contact-page:hover {
  color: #fff;
  background-color: #0000;
}

.form-block-base {
  flex-flow: column;
  margin-bottom: 0;
  display: flex;
}

.form-container-base {
  flex-flow: column;
  width: 100%;
  display: flex;
}

.nav-section {
  z-index: 999;
  background-color: #ffffffe6;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 1rem 2rem;
  display: flex;
  position: fixed;
}

.nav-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1600px;
  display: flex;
}

.nav-logo {
  max-height: 7rem;
}

.nav-link-list {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: row;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.nav-link-list.mobile {
  display: none;
}

.nav-link-main {
  color: #317b01;
  text-align: center;
  border-bottom: 2px solid #317b0100;
  padding: .6125rem 1.5rem .5rem;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.1rem;
  text-decoration: none;
  transition: border-color .3s cubic-bezier(.645, .045, .355, 1);
}

.nav-link-main:hover, .nav-link-main.w-current {
  border-bottom-color: #317b01;
}

.hero-section {
  background-image: url('../images/hero-photo-edited-min.jpg');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-height: 100svh;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
  position: relative;
}

.hero-content {
  color: #fff;
  background-color: #00000080;
  border-radius: 2rem;
  max-width: 40rem;
  padding: 2rem;
}

.hero-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2.2rem;
  line-height: 2.6rem;
}

.hero-heading.bigger {
  font-size: 3rem;
  line-height: 4rem;
}

.hero-subheading {
  text-align: left;
  margin-top: .5rem;
  margin-bottom: 1rem;
  font-family: Candara, Verdana, sans-serif;
  font-size: 1.5rem;
  line-height: 1.75rem;
}

.hero-content-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 1600px;
  margin-top: 9rem;
  padding-left: 12rem;
  display: flex;
}

.hero-buttons {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.services-section {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 4rem 2rem 5rem;
  display: flex;
}

.services-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1600px;
  display: flex;
}

.services-heading {
  color: #317b01;
  text-align: center;
  margin-top: 0;
  margin-bottom: 4rem;
  font-size: 3rem;
  line-height: 4rem;
}

.services-card-container {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.services-card {
  box-shadow: var(--card-shadow-x) var(--card-shadow-y) 12px 6px #00000054;
  backface-visibility: hidden;
  color: #101010;
  border-radius: 2rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 2rem;
  text-decoration: none;
  transition: color .3s cubic-bezier(.645, .045, .355, 1);
  display: flex;
  transform: rotate(0);
}

.services-card:hover {
  color: #317b01;
}

.services-card._2 {
  box-shadow: var(--card-shadow-x-2) var(--card-shadow-y-2) 12px 6px #00000054;
}

.services-card._3 {
  box-shadow: var(--card-shadow-x-3) var(--card-shadow-y-3) 12px 6px #00000054;
}

.services-card._4 {
  box-shadow: var(--card-shadow-x-4) var(--card-shadow-y-4) 12px 6px #00000054;
}

.service-card-image {
  box-sizing: border-box;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-top-left-radius: 2rem;
  border-top-right-radius: 2rem;
  width: 100%;
  margin-bottom: 1rem;
}

.newsletter-section {
  background-color: #317b01;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 4rem 2rem;
  display: flex;
}

.newsletter-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1600px;
  display: flex;
}

.banner-heading {
  color: #fff;
  line-height: 2.25rem;
}

.base-form-block {
  width: 50%;
}

.base-form-block.footer {
  width: 39%;
}

.base-form-wrapper {
  flex-flow: column;
  display: flex;
}

.base-form-heading {
  color: #efefef;
  font-size: 1.25rem;
  font-weight: 400;
}

.base-form-heading.footer {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.3rem;
}

.newsletter-text-container {
  width: 50%;
}

.social-media-links-container {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: flex-start;
  align-items: center;
  margin-top: 1rem;
  display: flex;
}

.social-media-links-text {
  color: #fff;
  font-family: Candara, Verdana, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
}

.social-media-link {
  filter: brightness();
  flex-flow: column;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  transition: filter .3s cubic-bezier(.645, .045, .355, 1);
  display: flex;
}

.social-media-link:hover {
  filter: brightness(75%);
}

.base-text-input {
  border: 1px #000;
  border-radius: .5rem;
}

.base-text-input.footer {
  border-style: solid;
  border-color: #101010;
}

.base-text-input.full-message {
  min-width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
}

.footer-section {
  color: #fff;
  background-color: #0c1f00;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding: 4rem 2rem;
  display: flex;
}

.certifications-section {
  color: #fff;
  background-color: #317b01;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding: 4rem 2rem;
  display: flex;
}

.testimonials-section {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding: 4rem 2rem;
  display: flex;
}

.service-card-heading {
  margin-bottom: .5rem;
  font-size: 2.5rem;
  line-height: 3.5rem;
}

.footer-copyright {
  flex: none;
  order: 9999;
  align-self: flex-end;
  width: 100%;
  margin-top: 1rem;
}

.footer-section-wrapper {
  flex-flow: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-content: flex-start space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 1600px;
  display: flex;
}

.footer-section-logo {
  max-height: 7rem;
}

.footer-section-logo-link {
  margin-bottom: 1rem;
}

.footer-heading {
  margin-bottom: 1rem;
  font-weight: 400;
}

.footer-heading.social {
  width: 100%;
}

.footer-section-links-container {
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer-section-links-container.social {
  grid-column-gap: 1rem;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 9rem;
}

.footer-nav-link {
  color: #fff;
  margin-bottom: 1rem;
  font-size: 1.1rem;
  text-decoration: none;
}

.footer-nav-link:hover {
  text-decoration: underline;
}

.footer-section-social-link {
  opacity: 1;
  width: 2.5rem;
  margin-bottom: .5rem;
  transition: opacity .3s cubic-bezier(.645, .045, .355, 1);
}

.footer-section-social-link:hover {
  opacity: .5;
}

.footer-copyright-link {
  color: #fff;
  text-decoration: underline;
}

.footer-copyright-link:hover {
  text-decoration: none;
}

.featured-list-section-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 1600px;
  display: flex;
  position: relative;
}

.featured-list-section-wrapper.articles {
  color: #fff;
  padding-top: 13rem;
  padding-bottom: 4rem;
}

.featured-list-text-container {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50%;
  font-size: 1.1rem;
  display: flex;
  position: sticky;
  top: 15rem;
}

.featured-list-text-container.articles {
  top: 13rem;
}

.featured-list-container {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  width: 50%;
  display: flex;
}

.featured-list-section-heading {
  margin-bottom: .5rem;
  font-size: 2.5rem;
  line-height: 2.75rem;
}

.featured-list-section-text {
  margin-bottom: .5rem;
}

.featured-list-section-text-link {
  color: #fff;
}

.featured-list-section-text-link:hover {
  text-decoration: none;
}

.featured-list-item {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  color: #101010;
  background-color: #fff;
  border-radius: 1.5rem;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  padding: 2rem;
  display: flex;
}

.featured-list-item:hover {
  text-decoration: none;
}

.featured-list-item.hidden-sample {
  display: none;
}

.featured-list-image {
  width: 6rem;
}

.featured-list-image.article {
  width: 4rem;
}

.testimonials-section-wrapper {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1600px;
  display: flex;
}

.testimonials-section-heading {
  color: #317b01;
  text-align: center;
  margin-bottom: .5rem;
  font-size: 3rem;
  line-height: 4rem;
}

.testimonials-section-subheading {
  max-width: 80ch;
  margin-bottom: 2rem;
  font-size: 1.1rem;
}

.testimonials-slider {
  background-color: #0000;
  width: 100%;
  height: auto;
}

.testimonials-slider-mask {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.testimonials-slide-wrapper {
  grid-row-gap: 1rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.testimonials-slide {
  width: 48%;
  height: 100%;
  margin-right: 4%;
}

.left-arrow, .right-arrow {
  color: #255c01;
  width: 5%;
}

.testimonial-text {
  border-left-color: #8bc267;
}

.testimonial-info {
  grid-column-gap: 1rem;
  grid-row-gap: .25rem;
  color: #101010;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  padding-left: 37px;
  text-decoration: none;
  display: flex;
  position: relative;
}

.testimonial-image {
  flex: none;
  width: 4rem;
  height: 4rem;
}

.testimonial-name {
  flex: none;
  font-family: Poor Richard Opti, Palatino Linotype, sans-serif;
  font-size: 1.5rem;
  line-height: 2rem;
}

.slide-nav {
  position: relative;
}

.mobile-nav-menu-button {
  flex-flow: column;
  justify-content: center;
  width: 3.5rem;
  height: 2.5rem;
  display: none;
  position: relative;
}

.mobile-menu-button-line1 {
  background-color: #317b01;
  width: 3.5rem;
  height: 4px;
  position: absolute;
  top: 0;
}

.mobile-menu-button-line2 {
  background-color: #317b01;
  width: 3.5rem;
  height: 4px;
}

.mobile-menu-button-line3 {
  background-color: #317b01;
  width: 3.5rem;
  height: 4px;
  position: absolute;
  bottom: 0;
}

.mobile-nav-menu-overlay {
  display: none;
}

.google-review-notice {
  width: 100%;
  font-size: .8rem;
}

.small-hero-section {
  background-color: #317b01;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
}

.small-hero-section.white {
  background-color: #0000;
}

.small-hero-content-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1600px;
  padding-top: 13rem;
  padding-bottom: 4rem;
  display: flex;
}

.small-hero-content-wrapper.gallery {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
}

.small-hero-text-container {
  color: #fff;
  flex-flow: column;
  width: 50%;
  display: flex;
}

.small-hero-text-container.gallery {
  text-align: center;
  width: auto;
  max-width: 90ch;
}

.small-hero-text-container.gallery.black {
  color: #101010;
}

.small-hero-image {
  box-sizing: border-box;
  aspect-ratio: 3 / 2;
  border-radius: 2rem;
  width: 100%;
  box-shadow: 0 0 12px 6px #ffffff5c;
}

.small-hero-image-grid {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 50%;
  display: grid;
}

.services-page-section {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding: 4rem 2rem;
  display: flex;
  position: relative;
}

.services-page-content-wrapper {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  width: 100%;
  max-width: 1600px;
  display: grid;
}

.services-page-sticky-nav {
  grid-row-gap: 2rem;
  background-color: #b1d799;
  border-radius: 1rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 2rem;
  display: flex;
  position: sticky;
  top: 13rem;
}

.services-page-sticky-link {
  color: #101010;
  text-align: center;
  border-bottom: 2px solid #0000;
  padding: .5rem 2rem;
  font-size: 1.5rem;
  line-height: 2rem;
  text-decoration: none;
}

.services-page-sticky-link:hover {
  border-bottom-color: #101010;
}

.services-page-sticky-link.w-current {
  border-bottom: 2px solid #101010;
  font-weight: 700;
}

.services-page-main {
  grid-row-gap: 40px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.services-page-subsection {
  position: relative;
}

.services-page-subsection-heading {
  color: #317b01;
  margin-bottom: 1rem;
}

.services-page-subsection-grid {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.service-page-subsection-grid-block {
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
}

.services-page-subsection-block-heading {
  margin-top: .5rem;
  margin-bottom: .5rem;
}

.services-page-subsection-image {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 1rem;
  width: 100%;
}

.phone-number-nav {
  color: #101010;
  text-align: center;
  flex: none;
  margin-left: 1rem;
  font-family: Poor Richard Opti, Palatino Linotype, sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem;
  text-decoration: none;
}

.phone-number-nav:hover {
  text-decoration: underline;
}

.contact-page-inline-link {
  color: #fff;
}

.contact-page-inline-link:hover {
  text-decoration: none;
}

.service-page-subsection-text {
  font-size: 1.1rem;
  line-height: 1.6rem;
}

.gallery-section {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
}

.gallery-section-content-wrapper {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  flex-flow: column;
  width: 100%;
  max-width: 1600px;
  padding-top: 4rem;
  padding-bottom: 4rem;
  display: flex;
}

.gallery-section-project-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  border-radius: 2rem;
  flex-flow: column;
  padding: 2rem;
  display: flex;
  box-shadow: 0 0 12px 6px #00000054;
}

.gallery-section-project-heading {
  color: #317b01;
  text-align: center;
  font-size: 2.5rem;
  line-height: 3.5rem;
}

.gallery-section-project-before-after-container {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.gallery-section-project-before-wrapper, .galler-section-project-after-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  width: 50%;
  display: flex;
}

.gallery-section-project-main-image {
  border-radius: 1.5rem;
}

.gallery-section-project-progress-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: wrap;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.gallery-section-project-progress-image {
  border-radius: 1rem;
  max-width: 30%;
}

.gallery-section-project-progress-image.smaller {
  max-width: 23%;
}

.gallery-section-project-heading-small {
  text-align: center;
  font-size: 2rem;
  line-height: 2.5rem;
}

.gallery-section-project-heading-small.neg-margin {
  margin-bottom: -1rem;
}

.email-received-image {
  align-self: center;
  width: 35%;
}

@media screen and (max-width: 991px) {
  .nav-link-list {
    display: none;
  }

  .nav-link-list.mobile {
    z-index: 900;
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    background-color: #fff;
    flex-flow: column;
    justify-content: center;
    min-width: 28%;
    height: 100%;
    display: none;
    position: fixed;
    top: 0;
    right: 0;
  }

  .hero-heading.bigger {
    font-size: 2.75rem;
    line-height: 3.75rem;
  }

  .hero-content-wrapper {
    justify-content: center;
    align-items: center;
    padding-left: 0;
  }

  .services-card-container {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
  }

  .base-form-block, .base-form-block.footer {
    width: 100%;
  }

  .footer-heading {
    margin-bottom: .5rem;
  }

  .footer-heading.social {
    text-align: center;
  }

  .footer-section-links-container {
    justify-content: flex-start;
    align-items: center;
  }

  .footer-section-links-container.social {
    justify-content: center;
    align-items: flex-start;
  }

  .featured-list-item {
    flex-flow: column;
  }

  .featured-list-heading {
    text-align: center;
  }

  .testimonials-slider-mask {
    width: 86%;
  }

  .testimonials-slide-wrapper {
    justify-content: center;
    align-items: flex-start;
  }

  .testimonials-slide {
    width: 100%;
    margin-right: 0%;
  }

  .left-arrow, .right-arrow {
    width: 7%;
  }

  .mobile-nav-menu-button {
    z-index: 999;
    display: flex;
  }

  .mobile-nav-menu-overlay {
    z-index: 800;
    background-color: #101010b0;
    width: 100%;
    height: 100%;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
  }

  .small-hero-content-wrapper {
    flex-flow: column;
  }

  .small-hero-text-container {
    width: 100%;
  }

  .small-hero-text-container.gallery {
    text-align: left;
  }

  .small-hero-image-grid {
    width: 100%;
  }

  .services-page-content-wrapper {
    grid-template-columns: 1fr 1fr;
  }

  .services-page-sticky-nav {
    grid-row-gap: 2rem;
    position: relative;
    top: 0;
  }

  .services-page-sticky-link {
    text-align: center;
    width: 100%;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .gallery-section-project-progress-image, .gallery-section-project-progress-image.smaller {
    max-width: 45%;
  }

  .email-received-image {
    width: 45%;
  }
}

@media screen and (max-width: 767px) {
  .nav-section {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .hero-section {
    padding-bottom: 9rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .hero-heading.bigger {
    font-size: 2.5rem;
    line-height: 3rem;
  }

  .hero-content-wrapper {
    margin-top: 12rem;
  }

  .services-section {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .services-heading {
    line-height: 3rem;
  }

  .newsletter-section {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .newsletter-wrapper {
    flex-flow: column;
  }

  .newsletter-text-container {
    width: 100%;
  }

  .social-media-links-container {
    grid-row-gap: .25rem;
    flex-flow: wrap;
  }

  .social-media-links-text.header {
    width: 100%;
  }

  .footer-section, .certifications-section, .testimonials-section {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .footer-copyright {
    font-size: 14px;
    line-height: 20px;
  }

  .footer-section-wrapper {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .footer-section-logo-link {
    margin-left: auto;
    margin-right: auto;
  }

  .footer-heading {
    text-align: center;
  }

  .footer-heading.social {
    flex: none;
  }

  .footer-section-links-container, .footer-section-links-container.social {
    width: 100%;
  }

  .featured-list-section-wrapper {
    flex-flow: column;
  }

  .featured-list-text-container {
    width: 100%;
    position: static;
  }

  .featured-list-container {
    width: 100%;
  }

  .featured-list-item {
    text-align: center;
  }

  .featured-list-heading {
    line-height: 1.75rem;
  }

  .testimonial-text {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .testimonial-info {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
  }

  .testimonial-quote-mark, .small-hero-image.no-mobile {
    display: none;
  }

  .small-hero-image-grid {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .services-page-section {
    padding: 60px 15px;
  }

  .services-page-subsection-grid {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .phone-number-nav {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .gallery-section-project-wrapper {
    padding: 2rem 1rem;
  }

  .gallery-section-project-heading {
    font-size: 2.25rem;
    line-height: 3rem;
  }

  .gallery-section-project-before-after-container {
    flex-flow: column;
  }

  .gallery-section-project-before-wrapper, .galler-section-project-after-wrapper {
    width: 100%;
  }

  .gallery-section-project-progress-image, .gallery-section-project-progress-image.smaller {
    max-width: 100%;
  }

  .gallery-section-project-heading-small {
    font-size: 1.75rem;
    line-height: 2.25rem;
  }

  .email-received-image {
    width: 75%;
  }
}

@media screen and (max-width: 479px) {
  .services-card-container {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .testimonials-slider-mask {
    width: 74%;
  }

  .left-arrow, .right-arrow {
    width: 13%;
  }

  .services-page-content-wrapper {
    grid-template-columns: 1fr;
  }
}

#w-node-_60b35b4b-82ae-4d70-4f09-68ab6e62916a-60d65af3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_60b35b4b-82ae-4d70-4f09-68ab6e62917a-60d65af3 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#design-services.w-node-_60b35b4b-82ae-4d70-4f09-68ab6e62917b-60d65af3, #w-node-_60b35b4b-82ae-4d70-4f09-68ab6e62917c-60d65af3, #w-node-_0c715007-e2b1-f072-824a-8b03e4ea9bae-60d65af3, #installation-services.w-node-_60b35b4b-82ae-4d70-4f09-68ab6e62917f-60d65af3, #w-node-b7e7a406-ceaa-79fc-39ea-f9d171c1f325-60d65af3, #w-node-b7e7a406-ceaa-79fc-39ea-f9d171c1f32b-60d65af3, #w-node-b7e7a406-ceaa-79fc-39ea-f9d171c1f337-60d65af3, #w-node-_2a379b9b-b9bb-a18a-0d82-3a523b262106-60d65af3, #maintenance-services.w-node-_60b35b4b-82ae-4d70-4f09-68ab6e629183-60d65af3, #w-node-_560e00d8-ad91-24b1-b1d3-84339c62dc1a-60d65af3, #w-node-_560e00d8-ad91-24b1-b1d3-84339c62dc14-60d65af3, #w-node-_364d037a-7c3a-bf47-7c5a-66263185d316-60d65af3, #w-node-_560e00d8-ad91-24b1-b1d3-84339c62dc20-60d65af3, #repair-services.w-node-_60b35b4b-82ae-4d70-4f09-68ab6e629187-60d65af3, #w-node-_68c54ca4-615e-8b9f-095c-41c31a4b5f4a-60d65af3, #w-node-_68c54ca4-615e-8b9f-095c-41c31a4b5f50-60d65af3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

@media screen and (max-width: 991px) {
  #w-node-_60b35b4b-82ae-4d70-4f09-68ab6e62916a-60d65af3 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_60b35b4b-82ae-4d70-4f09-68ab6e62916a-60d65af3, #w-node-_60b35b4b-82ae-4d70-4f09-68ab6e62917a-60d65af3 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}


@font-face {
  font-family: 'Candara';
  src: url('../fonts/Candara-Bold-Italic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Candara';
  src: url('../fonts/Candara-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Candara';
  src: url('../fonts/Candara-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Candara';
  src: url('../fonts/Candara-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poor Richard Opti';
  src: url('../fonts/PoorRichardOpti.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
