html[data-a11y-scheme="bw"] .footer { background: #000 !important; }
.footer {
  flex: 0 0 auto;
  margin-top: auto;
  padding: 52px 0 40px;
  background: var(--ink);
  color: #fff;
}
.footer__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  align-items: center;
}
.footer__link {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
  transition: opacity .15s;
}
.footer__link:hover { color: #fff; opacity: .75; }
.footer__link img { width: 38px; height: 38px; flex: 0 0 auto; object-fit: contain; }
.footer__link img.is-boxed {
  background: #fff;
  border-radius: 6px;
  padding: 3px;
}
.footer__bottom {
  margin-top: 38px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  font-size: 0.875rem;
  color: rgba(255, 255, 255, .55);
}
.footer--slim { padding: 30px 0; background: var(--ink); }
.footer--slim .footer__shell.shell {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 28px;
  font-size: 0.9063rem;
  color: rgba(255, 255, 255, .6);
}
.footer--slim a { color: rgba(255, 255, 255, .8); }
.footer--slim .is-push { margin-left: auto; }
@media (max-width: 900px) {
  .footer__grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
  .footer { padding: 40px 0 32px; }
}

@media (max-width: 600px) {
  .footer__grid { grid-template-columns: 1fr; gap: 18px; }
  .footer__bottom { margin-top: 26px; }
  .footer--slim .footer__shell.shell { flex-direction: column; align-items: flex-start; gap: 8px; }
  .footer--slim .is-push { margin-left: 0; }
}

@media print {
  .footer { display: none !important; }
}

.footer__contacts {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px 48px;
  align-items: center;
}
.footer__org-line {
  margin: 0 0 6px; font-size: 0.9375rem; line-height: 1.5; color: rgba(255, 255, 255, .72);
}
.footer__org-line a {
  color: rgba(255, 255, 255, .92); border-bottom: 1px solid rgba(255, 255, 255, .35);
}
.footer__org-line a:hover { color: #fff; }
.footer__sep {
  display: inline-block; margin: 0 14px; color: rgba(255, 255, 255, .45);
}
.footer__org-line a { white-space: nowrap; }
.footer__subscribe {
  max-width: 22rem; display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
}
.footer__subscribe p {
  margin: 0; font-size: 0.9375rem; line-height: 1.5; color: rgba(255, 255, 255, .72);
}
@media (max-width: 900px) {
  .footer__contacts { grid-template-columns: 1fr; }
  .footer__subscribe { max-width: none; }
}

.footer__link svg { width: 38px; height: 38px; flex: 0 0 auto; }
.footer__link svg.is-boxed { background: #fff; border-radius: 6px; padding: 3px; }
.footer__link--plain { cursor: default; }
.footer__link--plain:hover { color: #fff; opacity: 1; }
.footer__subscribe .footer__subscribe-btn.btn {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .28);
  color: #fff;
  font-weight: 500;
}
.footer__subscribe .footer__subscribe-btn.btn:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.footer__link--gov span { max-width: 15rem; }
.footer__link img.is-white { background: transparent; padding: 0; filter: brightness(0) invert(1); }
