﻿/* ==========================================================================
   s3waas-footer.css
   Footer for every page that uses MasterPage.master (index.aspx has its own).
   Layout: "Useful Links" (2 columns) | "Website Information" + Follow Us,
   then a centred strip: ownership line, Last Updated On, copyright. Back-to-top is a round button at the bottom right.
   Load AFTER s3waas-gigw.css.
   ========================================================================== */

.s3-footer { background: #162F6A; color: #fff; }

/* headings */
.s3-footer .f-h { margin: 0 0 .75rem; font-size: 1.1rem; font-weight: 700; color: #fff; }

/* main two columns: Useful Links | Website Information (vertical divider) */
.s3-footer .footer-main--dbim { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2rem; padding-block: 2rem 1.5rem; }
.s3-footer .footer-main--dbim .f-id { padding-left: 2rem; border-left: 1px solid rgba(255, 255, 255, .25); }
.s3-footer .f-qgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }
.s3-footer .f-qgrid a,
.s3-footer .f-qgrid .link-btn { min-height: 2.4rem; font-size: .95rem; }

/* bottom strip: centred, divider on top */
.s3-footer .f-bottom { border-top: 1px solid rgba(255, 255, 255, .25); text-align: center; }
.s3-footer .f-lineage-row { padding-top: .9rem; }
.s3-footer .f-lineage { margin: 0; padding: 0; font-weight: 600; text-align: center; }
.s3-footer .f-bottom-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; padding-block: .6rem 1.5rem; }
.s3-footer .f-bottom-inner p { margin: 0; text-align: center; }
.s3-footer .f-updated { order: 1; }
.s3-footer .f-copy { order: 2; }

/* back to top: round white button, bottom right */
.s3-footer .f-top {
  position: fixed; right: 1rem; bottom: 1rem; z-index: 60;
  display: inline-flex; align-items: center; justify-content: center;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: #fff; color: #162F6A; text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}
.s3-footer .f-top:hover { background: #FFC107; color: #162F6A; }
.s3-footer .f-top svg { width: 1.4rem; height: 1.4rem; }
.s3-footer .f-top > span:not([aria-hidden]) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }


/* --------------------------------------------------------------------------
   Useful Links list: plain 2-column grid, small icons, no box, no bullets
   -------------------------------------------------------------------------- */
.s3-footer .f-qlinks { background: none; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.s3-footer .f-h { border-bottom: 0; padding-bottom: 0; }
.s3-footer .f-h::after { content: none; }
.s3-footer .f-qgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }
.s3-footer .f-qgrid li { margin: 0; padding: 0; background: none; }
.s3-footer .f-qgrid li::before { content: none; }
.s3-footer .f-qgrid a,
.s3-footer .f-qgrid .link-btn {
  display: flex; align-items: center; gap: .75rem; min-height: 2.4rem;
  color: #fff; background: none; border: 0; padding: 0; margin: 0;
  font: inherit; text-align: left; text-decoration: none; cursor: pointer;
}
.s3-footer .f-qgrid a:hover,
.s3-footer .f-qgrid .link-btn:hover { text-decoration: underline; }
.s3-footer .f-qgrid .ico {
  width: 1.25rem !important; height: 1.25rem !important; flex: none;
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}

/* Website Information: readable links on the navy background */
.s3-footer .f-id a { color: #fff; text-decoration: underline; }
.s3-footer .f-id a:hover { color: #FFC107; }
.s3-footer .f-social { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.s3-footer .f-social a { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50%; text-decoration: none; }
.s3-footer .f-social svg { width: 1.25rem; height: 1.25rem; flex: none; }

/* small screens: stack everything */
@media (max-width: 900px) {
  .s3-footer .footer-main--dbim { grid-template-columns: 1fr; }
  .s3-footer .footer-main--dbim .f-id { padding-left: 0; border-left: 0; }
}
@media (max-width: 480px) {
  .s3-footer .f-qgrid { grid-template-columns: 1fr; }
}

/* high contrast mode keeps the same structure */
:root[data-theme="contrast"] .s3-footer, :root.hc .s3-footer { background: #000a24; }
:root[data-theme="contrast"] .s3-footer .f-top, :root.hc .s3-footer .f-top { background: #ffd43b; color: #000; }

@media print { .s3-footer .f-top { display: none; } }