/* Final site-wide footer contract, loaded after page-specific styles. */
footer {
  background: #252839 !important;
  color: #fff;
  padding: 42px 0 !important;
}

footer .footer-grid,
footer .shell.footer-grid {
  align-items: center;
  display: grid !important;
  gap: 28px 44px !important;
  grid-template-columns: minmax(320px, 1fr) auto auto;
  justify-content: initial !important;
}

footer .brand {
  color: #fff !important;
  display: inline-flex;
}

footer .brand-mark {
  background: #635bff !important;
  color: #fff !important;
}

footer p {
  color: #aeb5c2 !important;
  font-size: 12px !important;
  line-height: 1.55;
  margin: 8px 0 0 !important;
}

footer .footer-links {
  align-items: center;
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px 20px !important;
  justify-content: flex-end;
}

footer .footer-links a,
footer .footer-links a:visited {
  color: #d3d7df !important;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

footer .footer-links a:hover,
footer .footer-links a.active {
  color: #aaa5ff !important;
}

footer .footer-grid > span,
footer .shell.footer-grid > span {
  color: #aeb5c2 !important;
  font-size: 12px;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 850px) {
  footer .footer-grid,
  footer .shell.footer-grid {
    align-items: start;
    grid-template-columns: 1fr;
  }

  footer .footer-links {
    justify-content: flex-start;
  }

  footer .footer-grid > span,
  footer .shell.footer-grid > span {
    text-align: left;
  }
}

@media (max-width: 520px) {
  footer { padding: 34px 0 !important; }
  footer p { display: block !important; }
}
