/* Keep one Universal Awning footer everywhere without changing the homepage. */
.footer-2 .ua-footer-phone {
  display: inline-flex;
  margin-top: 9px;
  color: #fff !important;
  font: 600 16px/1.4 Poppins, Arial, sans-serif;
  letter-spacing: 0.01em;
  text-decoration: none !important;
}

.footer-2 .ua-footer-phone:hover,
.footer-2 .ua-footer-phone:focus-visible {
  color: #ff2a0e !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

/* Page-template heading rules must not recolor the shared dark footer. */
.footer-2 .footer-form-title,
.footer-2 .footer-brand-description-2,
.footer-2 .footer-link-3 {
  color: #fff !important;
}

.footer-2 .footer-form-title .red-h2-text {
  color: #ff2a0e !important;
}

/* Site-wide image safeguards found during the July 2026 visual audit. */
.fabrication-image-wrap.small {
  object-fit: cover;
  object-position: center;
}

.service-image,
.home-features-image,
.process-service-image,
.intro-line-image {
  object-fit: contain;
}

/* Replace the small Webflow thumbnail used as a large process-page
   background with the matching full-resolution project photograph. */
.process-service-image-wrap {
  background-image: url("/assets/drive-projects/park-playground-original.jpg");
  background-position: center;
}

/* Keep the long product hero layouts from enlarging landscape source images
   beyond a clean display size when the adjacent copy is taller. */
.ua-service-hero__media {
  align-self: center;
  width: 100%;
  max-height: 720px;
  overflow: hidden;
}

/* This project photo is 720px wide. Display it at its native width instead of
   stretching and cropping it across the full article canvas. */
.full-bleed-photo img[src$="/assets/ab2bd58c7c978875e35f.jpg"] {
  display: block;
  width: min(100%, 720px);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  object-fit: contain;
}

/* The four custom article templates do not load the original Webflow sheet.
   This scoped fallback recreates the homepage footer without touching them. */
.ua-footer-fallback .footer-2,
.ua-footer-fallback .footer-2 * {
  box-sizing: border-box;
}

.ua-footer-fallback .footer-2 {
  width: 100%;
  padding: 150px 24px 60px;
  overflow: hidden;
  background: #010524 url("/assets/a7e391c3fa3430e41c77.png") 90% 100% / auto 400px no-repeat;
  color: #fff;
  text-align: center;
}

.ua-footer-fallback .footer-2 .base-container-8 {
  position: relative;
  width: min(100%, 1170px);
  max-width: 1170px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ua-footer-fallback .footer-2 .footer-main-wrapper {
  width: 100%;
  margin: 0 0 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 60px;
}

.ua-footer-fallback .footer-2 .footer-content-wrapper {
  width: 45%;
  display: flex;
  align-items: flex-start;
}

.ua-footer-fallback .footer-2 .footer-brand-wrapper-2,
.ua-footer-fallback .footer-2 .footer-logo-wrapper-2 {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ua-footer-fallback .footer-2 .footer-brand-2 {
  max-width: 100%;
  margin: 0 0 15px;
  display: inline-block;
}

.ua-footer-fallback .footer-2 .footer-icon {
  display: block;
  width: auto;
  max-width: none;
  height: 50px;
}

.ua-footer-fallback .footer-2 .footer-brand-description-2 {
  margin: 0;
  color: #fff;
  font: 400 15px/1.6 Lato, Arial, sans-serif;
  text-align: left;
}

.ua-footer-fallback .footer-2 .footer-form-wrapper {
  width: 45%;
  margin-top: 15px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.ua-footer-fallback .footer-2 .footer-form-title-wrap a {
  color: #fff;
  text-decoration: none;
}

.ua-footer-fallback .footer-2 .footer-form-title {
  max-width: 500px;
  margin: 0;
  color: #fff;
  font-family: Poppins, Arial, sans-serif;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 500;
  line-height: 1.15;
  text-align: left;
}

.ua-footer-fallback .footer-2 .red-h2-text {
  color: #ff2a0e;
}

.ua-footer-fallback .footer-2 .footer-form-block,
.ua-footer-fallback .footer-2 .w-form-done,
.ua-footer-fallback .footer-2 .w-form-fail {
  display: none;
}

.ua-footer-fallback .footer-2 .footer-links-wrapper-2 {
  width: 100%;
  margin: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 15px;
  color: #fff;
  text-align: left;
}

.ua-footer-fallback .footer-2 .footer-link-3 {
  padding: 10px 0;
  color: #fff;
  font: 400 15px/1.4 Lato, Arial, sans-serif;
  text-decoration: none;
}

.ua-footer-fallback .footer-2 .footer-link-3:hover,
.ua-footer-fallback .footer-2 .footer-link-3:focus-visible {
  color: #ff2a0e;
}

.ua-footer-fallback .footer-2 .footer-line-wrap {
  flex: 0 0 1px;
  width: 1px;
  height: 25px;
  background: #fff;
}

.ua-footer-fallback .footer-2 .footer-line-wrap.hide {
  display: none;
}

.ua-footer-fallback .footer-2 .footer-link-wrap {
  min-width: 0;
  flex: 1 1 420px;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 10px;
}

.ua-footer-fallback .footer-2 .footer-link-text-wrap {
  min-width: 0;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 15px;
}

@media (max-width: 991px) {
  .ua-footer-fallback .footer-2 {
    padding-top: 60px;
    background-position: 89% 100%;
    background-size: auto 250px;
  }

  .ua-footer-fallback .footer-2 .footer-main-wrapper {
    flex-wrap: wrap;
    gap: 0;
  }

  .ua-footer-fallback .footer-2 .footer-content-wrapper,
  .ua-footer-fallback .footer-2 .footer-form-wrapper {
    width: 100%;
  }

  .ua-footer-fallback .footer-2 .footer-content-wrapper {
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  /* The original blog template forced a landscape photo into a 680px-tall
     mobile slot. Preserve its natural 4:3 shape so it stays sharp. */
  .blog-template-image {
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .ua-service-hero__media {
    max-height: 460px;
  }
}

@media (max-width: 479px) {
  .footer-2 .ua-footer-phone {
    font-size: 15px;
  }

  .ua-footer-fallback .footer-2 {
    padding: 40px 16px;
    background-position: 50% 100%;
    background-size: auto 300px;
    text-align: left;
  }

  .ua-footer-fallback .footer-2 .footer-main-wrapper {
    margin-bottom: 20px;
  }

  .ua-footer-fallback .footer-2 .footer-content-wrapper {
    margin-bottom: 30px;
  }

  .ua-footer-fallback .footer-2 .footer-icon {
    height: 30px;
  }

  .ua-footer-fallback .footer-2 .footer-form-wrapper {
    margin-top: 0;
  }

  .ua-footer-fallback .footer-2 .footer-form-title {
    width: 100%;
    font-size: 29px;
  }

  .ua-footer-fallback .footer-2 .footer-links-wrapper-2 {
    align-items: flex-start;
    gap: 4px 14px;
  }

  .ua-footer-fallback .footer-2 .footer-link-wrap {
    flex-basis: 100%;
    margin-top: 12px;
    display: block;
  }

  .ua-footer-fallback .footer-2 .footer-link-text-wrap {
    margin-top: 4px;
    display: block;
  }
}
