/* Shared footer alignment. Analytics, consent behavior and DOM order are unchanged. */
:is(body, #top) .footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
  grid-template-areas:
    "brand brand brand"
    "sections sections sections"
    "return return return"
    "divider divider divider"
    "policy settings credit";
  column-gap: 24px;
}
:is(body, #top) .footer > .footer-city { grid-area: brand; }
:is(body, #top) .footer > .footer-main { grid-area: sections; }
:is(body, #top) .footer > .footer-return { grid-area: return; }
:is(body, #top) .footer .footer-bottom {
  display: contents;
  margin: 0;
  padding: 0;
  border: 0;
}
:is(body, #top) .footer .footer-bottom::before {
  content: "";
  grid-area: divider;
  border-top: 1px solid #acc3b733;
  margin: 13px 0 8px;
}
:is(body, #top) .footer .footer-bottom > a,
:is(body, #top) .footer > .privacy-settings {
  display: inline-flex;
  align-items: center;
  align-self: center;
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
  width: auto;
  margin: 0;
  padding: 10px 0;
  color: #c5d3c8;
  font-family: inherit;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
}
:is(body, #top) .footer .footer-bottom > a:first-child {
  grid-area: policy;
  justify-self: start;
  text-align: left;
}
:is(body, #top) .footer .footer-bottom > a:last-child {
  grid-area: credit;
  justify-self: end;
  margin: 0;
  width: auto;
  text-align: right;
}
:is(body, #top) .footer > .privacy-settings {
  grid-area: settings;
  justify-self: center;
  text-align: center;
}
@media (max-width: 700px) {
  :is(body, #top) .footer {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "brand" "sections" "return" "divider" "policy" "credit" "settings";
    column-gap: 0;
  }
  :is(body, #top) .footer .footer-bottom > a:last-child,
  :is(body, #top) .footer > .privacy-settings {
    justify-self: start;
    text-align: left;
  }
}

/* Same animated background line as interactions-v2, including the statistics button. */
:is(body, #top) .footer .footer-bottom > a,
:is(body, #top) .footer > .privacy-settings {
  --link-line: currentColor;
  background-color: transparent;
  background-image: linear-gradient(var(--link-line), var(--link-line));
  background-repeat: no-repeat;
  background-position: left calc(100% - 3px);
  background-size: 0% 1px;
  border: 0;
  border-radius: 0;
  text-decoration: none;
  transition: background-size var(--interaction-time, 350ms) var(--interaction-ease, cubic-bezier(.22,.72,.2,1)), color var(--interaction-time, 350ms) var(--interaction-ease, cubic-bezier(.22,.72,.2,1));
}
:is(body, #top) .footer .footer-bottom > a:focus-visible,
:is(body, #top) .footer > .privacy-settings:focus-visible {
  background-size: 100% 1px;
  outline: none;
  box-shadow: inset 0 0 0 1px #dbe7da80;
}
@media (hover: hover) {
  :is(body, #top) .footer .footer-bottom > a:hover,
  :is(body, #top) .footer > .privacy-settings:hover {
    background-size: 100% 1px;
    color: #fff;
  }
}
@media (prefers-reduced-motion: reduce) {
  :is(body, #top) .footer .footer-bottom > a,
  :is(body, #top) .footer > .privacy-settings { transition: none; }
}
@media (forced-colors: active) {
  :is(body, #top) .footer .footer-bottom > a:focus-visible,
  :is(body, #top) .footer > .privacy-settings:focus-visible {
    outline: 1px solid LinkText;
    outline-offset: -1px;
    text-decoration: underline;
    text-underline-offset: 4px;
  }
}
