/* Site footer. Markup: the <footer> that opens every src/partials/footer-*.html (the same in all six files).
   Uses the colour tokens and element resets that /header.css sets on .srf; it loads first on every page. */

.srf { --srf-gutter: 24px; padding: 48px 0 24px; border-top: 1px solid var(--srh-line); background: var(--srh-canvas); font-size: 15px; line-height: 24px; }
/* Same edges as the page content above it: the theme's side margin, capped at the content width. */
.srf-top,
.srf-legal { width: calc(100% - 2 * var(--srf-gutter)); max-width: var(--site-content-width, 1920px); margin: 0 auto; }

.srf-top { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "logo badge" "services services" "resources resources"; gap: 32px 40px; align-items: start; }
.srf-logo { grid-area: logo; display: block; width: auto; max-width: none; height: 56px; }
.srf-badge { grid-area: badge; justify-self: end; display: block; width: auto; max-width: none; height: 80px; }
.srf-group--services { grid-area: services; }
.srf-group--resources { grid-area: resources; }

.srf-title { margin: 0 0 8px; color: var(--srh-muted); font-size: 12px; font-weight: 600; line-height: 16px; letter-spacing: .04em; text-transform: uppercase; }
/* Two columns whenever each can hold the longest link (183px) on one line, otherwise one. */
.srf-group ul { columns: 2 184px; column-gap: 24px; }
.srf-group li { break-inside: avoid; }
.srf-group a,
.srf-legal ul a { display: inline-flex; align-items: center; min-height: 40px; }
.srf .current-menu-item > a { color: var(--srh-cta); }

.srf-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 32px; margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--srh-line); color: var(--srh-muted); font-size: 13px; line-height: 20px; }
.srf-legal p,
.srf-legal ul { display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px; }
.srf-legal p a { text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 600px) {
  .srf-top { grid-template-columns: 1fr 1fr; grid-template-areas: "logo badge" "services resources"; }
}

/* Above phone width the theme's side margin grows to 40px, and its scroll-to-top button shows in the bottom-right
   corner (on phones it sits behind the Call Now bar), so the last row stops short of that corner. */
@media (min-width: 601px) {
  .srf { --srf-gutter: 40px; }
  .srf-legal { padding-right: 64px; }
}

@media (min-width: 1024px) {
  .srf-top { grid-template-columns: minmax(160px, 1fr) minmax(0, 560px) minmax(0, 560px) auto; grid-template-areas: "logo services resources badge"; }
  .srf-badge { height: 112px; }
  .srf-group a,
  .srf-legal ul a { min-height: 32px; }
}

/* The .srf prefix is needed to outrank the theme's ".no-touch a:hover". */
@media (hover: hover) {
  .srf a:hover { color: var(--srh-cta); text-decoration: underline; text-underline-offset: 4px; }
}
