/* One composited timing model for the shared services menu on every page. */
.shared-site-header .header-services-dropdown {
  will-change: opacity, transform;
  transition:
    opacity 180ms cubic-bezier(.22, 1, .36, 1),
    transform 180ms cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear 180ms !important;
}

.shared-site-header .header-services:hover:not(.is-collapsed) .header-services-dropdown,
.shared-site-header .header-services:focus-within .header-services-dropdown,
.shared-site-header .header-services.is-open .header-services-dropdown {
  transition-delay: 0s !important;
}

@media (min-width: 901px) {
  @keyframes shared-services-card-in {
    from {
      opacity: 0;
      transform: translateY(-6px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .shared-site-header .header-services.is-open .header-services-grid > a {
    animation: shared-services-card-in 180ms cubic-bezier(.22, 1, .36, 1);
  }

  html body .shell.shell {
    width: min(1200px, calc(100% - 48px)) !important;
    max-width: 1200px !important;
  }

  /* The footer background is a full-bleed surface, not a content shell. */
  html body footer.ws-footer.shell.shell {
    width: 100% !important;
    max-width: none !important;
  }

  html body.home-page main#top#top .shell.shell {
    width: min(1200px, calc(100% - 48px)) !important;
  }

  html body .shared-site-header.shared-site-header nav a.active.active,
  html body .shared-site-header.shared-site-header nav a[aria-current="page"] {
    font-weight: 400 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shared-site-header .header-services.is-open .header-services-grid > a {
    animation: none !important;
  }
}

@media (max-width: 900px) {
  .shared-site-header .header-services-dropdown {
    transition:
      max-height 220ms cubic-bezier(.22, 1, .36, 1),
      opacity 160ms ease,
      transform 220ms cubic-bezier(.22, 1, .36, 1),
      visibility 0s linear 220ms !important;
  }

  .shared-site-header .header-services.is-open .header-services-dropdown {
    transition-delay: 0s !important;
  }
}

@media (max-width: 420px) {
  html body header#site-header.shared-site-header > a.nav-cta {
    gap: 4px !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 8px 0 10px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  html body header#site-header.shared-site-header > a.nav-cta > .nav-cta-icon svg {
    width: 11px !important;
    height: 11px !important;
  }
}
