/* Auto-generated from Website Settings — do not edit manually */

/* Two-tone footer fix. `body` is `height:100%; display:flex; flex-direction:
   column` (frappe website bundle), so the footer is a flex child with the
   default `flex-shrink:1` and `min-height:140px`. On a short page the footer is
   crushed to that 140px floor while its content is ~360px tall, and the
   overflow paints on the BODY instead of on the footer — a white/dark band
   across the middle of the footer. It survives any colour and any footer
   template, which is why repainting never fixed it on either deployment. */
body > footer {
  flex-shrink: 0;
}

/* Right-hand gap. Core sizes each group as ceil(links / 5) * 2 of 12 columns
   (templates/includes/footer/footer_grouped_links.html), so four groups of
   five links fill only 8 columns and a third of the row stays empty. Grid with
   auto-fit fills the width for ANY number of groups, so this stays correct if
   a site adds or removes one. The Bootstrap column widths must be unset or
   they keep squashing the tracks. */
.footer-grouped-links > .row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.footer-grouped-links > .row > * {
  max-width: none;
  width: auto;
  flex: none;
}

/* Dead space above the footer on /login. Frappe's login bundle reserves
   `min-height: calc(100vh - 220px)` for the content area — a hard-coded guess
   that the footer is ~220px tall. Any site with a fuller footer (ours is ~420px
   with four link groups, a logo and an address) overflows the viewport by the
   difference, so the page scrolls and strands the footer below a long empty
   gap. Letting the content area flex instead of claiming a fixed height makes
   the layout derive from whatever THIS site's footer actually measures, and it
   re-derives by itself whenever the footer changes — no number to keep in sync.
   Centring keeps the leftover space symmetric instead of all below the card. */
body[data-path="login"] .page-content-wrapper {
  min-height: 0;
}
body[data-path="login"] > div {
  /* grow into the leftover space, but never shrink below the card's own height:
     on a narrow screen the footer stacks and gets tall, and `1 1 auto` would
     crush the login card instead of letting the page scroll. */
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Generated from Website Settings → Footer Background Color (#151515). */
.web-footer {
  background-color: #151515;
  border-top: 1px solid rgba(255,255,255,.12);
}
.web-footer,
.web-footer .footer-info,
.web-footer .footer-powered {
  color: rgba(255,255,255,.55);
}
.web-footer .footer-group-label {
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.web-footer a,
.web-footer .footer-link,
.web-footer .footer-child-item a {
  color: rgba(255,255,255,.80);
}
.web-footer a:hover,
.web-footer .footer-link:hover,
.web-footer .footer-child-item a:hover {
  color: #ffffff;
}
.web-footer .footer-info {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 1rem;
  padding-top: 1rem;
}
.web-footer .footer-logo {
  height: 2rem;
}
