.rst-site-footer,
.rst-home-footer,
.rst-about-footer,
.footer-v8.rst-footer {
  background: #0c0c0c !important;
  background-color: #0c0c0c !important;
  width: 100%;
  padding: clamp(56px, 7vw, 92px) clamp(32px, 7vw, 112px) 28px !important;
  box-sizing: border-box;
  color: #ededeb !important;
}

.rst-site-footer a,
.rst-home-footer a,
.rst-about-footer a,
.footer-v8.rst-footer a,
.rst-site-footer p,
.rst-home-footer p,
.rst-about-footer p,
.footer-v8.rst-footer p,
.rst-site-footer h2,
.rst-site-footer h3,
.rst-home-footer h3,
.rst-about-footer h3,
.footer-v8.rst-footer h3,
.footer-v8.rst-footer .footer-v8__newsletter-title,
.rst-footer__tagline,
.rst-home-footer__tagline,
.rst-about-footer__tagline,
.rst-footer__cta p,
.rst-home-footer__cta p,
.rst-about-footer__cta p,
.footer-v8.rst-footer .footer-v8__email-text,
.footer-v8.rst-footer .footer-v8__socials a,
.footer-v8.rst-footer .footer-v8__legal a,
.footer-v8.rst-footer .footer-v8__bottom p,
.footer-v8.rst-footer .footer-v8__legal li,
.rst-site-footer__bottom nav,
.rst-home-footer__bottom nav,
.rst-about-footer__bottom nav {
  color: #ededeb !important;
}

.rst-site-footer__email-icon,
.rst-home-footer__email-icon,
.rst-about-footer__email-icon,
.footer-v8.rst-footer .footer-v8__link-circle {
  background: rgba(237, 237, 235, 0.16) !important;
  color: #ededeb !important;
}

.rst-site-footer__cta a,
.rst-home-footer__button,
.rst-about-footer__button,
.rst-footer__button {
  color: #ededeb !important;
  border-color: rgba(237, 237, 235, 0.45) !important;
}

.rst-site-footer__cta a:hover,
.rst-site-footer__cta a:focus-visible,
.rst-home-footer__button:hover,
.rst-home-footer__button:focus-visible,
.rst-about-footer__button:hover,
.rst-about-footer__button:focus-visible,
.rst-footer__button:hover,
.rst-footer__button:focus-visible {
  background: #ededeb !important;
  border-color: #ededeb !important;
  color: #030303 !important;
}

.rst-site-footer svg path,
.rst-home-footer svg path,
.rst-about-footer svg path,
.footer-v8.rst-footer svg path {
  stroke: #ededeb !important;
}

.rst-site-footer__main,
.rst-home-footer__main,
.rst-about-footer__main,
.footer-v8__main.rst-footer__main {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(280px, 1.1fr) minmax(280px, 1fr);
  gap: clamp(36px, 7vw, 120px);
  align-items: start;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/* Override G&M theme flex + fixed logo box on clone service pages */
.footer-v8.rst-footer .footer-v8__main.rst-footer__main {
  display: grid !important;
  flex-direction: unset !important;
  justify-content: unset !important;
  text-align: initial !important;
}

.footer-v8.rst-footer .footer-v8__logo {
  width: auto !important;
  height: auto !important;
  flex-shrink: initial !important;
  overflow: visible !important;
}

.footer-v8.rst-footer .footer-v8__contact {
  align-items: flex-start !important;
  text-align: left !important;
}

.footer-v8.rst-footer .footer-v8__bottom {
  width: 100% !important;
  max-width: 100% !important;
  margin: clamp(56px, 7vw, 86px) auto 0 !important;
  text-align: center;
}

.rst-site-footer__cta,
.rst-home-footer__cta,
.rst-about-footer__cta,
.rst-footer__cta,
.footer-v8__newsletter.rst-footer__cta {
  width: 100%;
  max-width: min(420px, 100%);
  margin-left: 0 !important;
  margin-right: auto;
  padding-right: clamp(8px, 1.5vw, 20px);
  box-sizing: border-box;
}

.footer-v8.rst-footer .footer-v8__newsletter.rst-footer__cta {
  width: 100% !important;
  max-width: min(420px, 100%);
}

.rst-site-footer__cta h2,
.rst-site-footer__cta h3,
.rst-home-footer__cta h3,
.rst-about-footer__cta h3,
.rst-footer__cta h3,
.footer-v8__newsletter.rst-footer__cta .footer-v8__newsletter-title,
.rst-site-footer__cta p,
.rst-home-footer__cta p,
.rst-about-footer__cta p,
.rst-footer__cta p {
  max-width: 100%;
}

.rst-site-footer__button,
.rst-home-footer__button,
.rst-about-footer__button,
.rst-footer__button,
.rst-site-footer__cta a {
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .rst-site-footer,
  .rst-home-footer,
  .rst-about-footer,
  .footer-v8.rst-footer {
    padding: clamp(56px, 7vw, 92px) clamp(24px, 6vw, 40px) 28px !important;
  }

  .rst-site-footer__main,
  .rst-home-footer__main,
  .rst-about-footer__main,
  .footer-v8__main.rst-footer__main {
    grid-template-columns: 1fr !important;
  }

  .rst-site-footer__cta,
  .rst-home-footer__cta,
  .rst-about-footer__cta,
  .rst-footer__cta,
  .footer-v8__newsletter.rst-footer__cta {
    max-width: 100%;
    padding-right: 0;
  }
}
