/* Loaded after the recovered site's inline styles. */
:root {
  --accessible-lightblue: #86BDEC;
  --accessible-darkblue: #1F5D96;
  --focus-light: #FFFFFF;
  --focus-dark: #0B1F3A;
  --footer-text: #AEB9C7;
}

html {
  scroll-padding-top: 80px;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 100;
  padding: 10px 14px;
  background: var(--navy);
  color: #FFFFFF;
  text-decoration: none;
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

:focus-visible {
  outline: 3px solid var(--focus-dark);
  outline-offset: 4px;
}

header :focus-visible,
section.cta :focus-visible,
footer :focus-visible,
.btn-primary:focus-visible,
.btn-ghost:focus-visible,
.skip-link:focus-visible {
  outline-color: var(--focus-light);
}

/* #2E75B6 does not meet normal-text contrast on the site backgrounds. */
.eyebrow,
.sec-num,
.deep-link,
.pillar-tag,
.practice .label,
.case-tag,
.product-tag,
.cred-cell dt,
.fit-num {
  color: var(--accessible-darkblue);
}

header .eyebrow,
header.page-head .eyebrow,
header.hero h1 em,
section.cta .sec-num,
.case.feature .case-tag,
.case.feature .deep-link,
.contact-block h3,
.status-bar .label,
.pricing-block .pricing-tag,
.pricing-block li::before,
.back-link::before {
  color: var(--accessible-lightblue);
}

.case .outcome {
  color: var(--accessible-darkblue);
}

.spec-block dt {
  color: var(--accessible-darkblue);
}

.btn-primary {
  background: var(--accessible-darkblue);
  color: #FFFFFF;
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--navy-mid);
  color: #FFFFFF;
}

footer {
  color: var(--footer-text);
}

.footer-col .footer-heading,
.footer-col h4 {
  color: var(--accessible-lightblue);
}

.footer-col a,
.footer-brand p,
.footer-bottom,
.company-disclosure {
  color: var(--footer-text);
}

.footer-col a:hover,
.footer-col a:focus-visible,
.footer-bottom a:hover,
.footer-bottom a:focus-visible {
  color: var(--accessible-lightblue);
}

.footer-bottom a {
  color: #D9E1EB;
}

.company-disclosure {
  margin-bottom: 24px;
  max-width: 90ch;
}

.contact-block a,
a[href^="mailto:"] {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.menu-toggle {
  border: 1px solid var(--navy-mid);
  border-radius: 2px;
  background: var(--bg);
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  padding: 10px 12px;
}

.menu-toggle:hover {
  background: var(--navy);
  color: #FFFFFF;
}

@media (max-width: 900px) {
  nav.top .wrap {
    height: auto;
    min-height: 64px;
    flex-wrap: wrap;
  }

  nav.top ul {
    display: flex;
    flex-basis: 100%;
    flex-direction: column;
    gap: 0;
    padding: 0 0 16px;
  }

  nav.top ul a {
    display: block;
    padding: 10px 0;
  }

  nav.top ul a.cta {
    display: inline-block;
    margin-top: 4px;
    padding: 10px 14px;
  }

  nav.top.is-menu-enhanced .wrap {
    height: 64px;
    min-height: 0;
    position: relative;
  }

  nav.top.is-menu-enhanced .menu-toggle:not([hidden]) {
    display: inline-flex;
    align-items: center;
  }

  nav.top.is-menu-enhanced ul {
    position: absolute;
    top: 64px;
    right: 0;
    left: 0;
    z-index: 51;
    padding: 8px 24px 16px;
    background: var(--bg);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 8px 12px rgba(11, 31, 58, 0.12);
  }

  nav.top.is-menu-enhanced ul[hidden] {
    display: none;
  }
}

@media (max-width: 460px) {
  .wrap {
    padding-right: 16px;
    padding-left: 16px;
  }

  .brand {
    font-size: 16px;
  }

  .brand span {
    display: none;
  }

  nav.top.is-menu-enhanced ul {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media (max-width: 1200px) {
  .brand span {
    display: none;
  }
}

@media (min-width: 901px) {
  nav.top.is-menu-enhanced ul {
    display: flex;
  }

  .menu-toggle:not([hidden]) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
