/* Accessibility layer. Resting visual design stays unchanged. */

html {
  scroll-padding-top: 96px;
  scroll-padding-bottom: 72px;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -48px;
  z-index: 1000001;
  background: #fff;
  color: #202124;
  padding: 8px 16px;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  text-decoration: none;
}

.skip-link:focus {
  top: 8px;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: 2px solid #202124;
  outline-offset: 3px;
}

input::placeholder,
textarea::placeholder {
  color: #757575;
  opacity: 1;
}

.gridWhite a {
  color: #006ADB;
}

footer .Partners,
footer .talk-to-heading {
  color: #fff;
}

footer .Partners a {
  color: #1988FF;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

button.closeicon,
#chat-bot button.icon,
button.carousel-left-arrow-span,
button.carousel-right-arrow-span,
button.investor-ticker__pause {
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
}

button.closeicon {
  background: transparent;
  border: 0;
  padding: 0;
  line-height: 0;
  cursor: pointer;
  box-sizing: border-box;
  min-width: 24px;
  min-height: 24px;
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-end;
}

/* 24px target. Extra height is taken from the existing margin so text stays put. */
footer .footer_menu .Policy-link > a {
  box-sizing: border-box;
  min-height: 24px;
  margin-bottom: 18px;
}

.Policy-link .implinks a {
  box-sizing: border-box;
  min-height: 24px;
  padding-top: 4px;
  padding-bottom: 5px;
  margin-top: -4px;
  margin-bottom: 5px;
  border-right-color: transparent;
  background: linear-gradient(#fff, #fff) right center / 1px 15px no-repeat;
}

.Policy-link .implinks a:last-child {
  background: none;
}

@media screen and (max-width: 767px) {
  footer .footer_menu .Policy-link > a {
    margin-bottom: 17px;
  }

  footer .footer_menu .row > div:nth-child(2) {
    margin-bottom: -3px;
  }
}

#chat-bot button.icon {
  border: 0;
}

button.carousel-left-arrow-span,
button.carousel-right-arrow-span {
  border: 0;
  padding: 0;
  line-height: 0;
  cursor: pointer;
}

.investor-ticker__pause {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  border: 0;
  background: #FDE2D9;
  color: #202124;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  padding: 0 14px;
  cursor: pointer;
}

.investor-ticker:hover .investor-ticker__track,
.investor-ticker:focus-within .investor-ticker__track,
.investor-ticker.is-paused .investor-ticker__track {
  animation-play-state: paused;
}

.owl-carousel .owl-nav button.owl-next:focus-visible,
.owl-carousel .owl-nav button.owl-prev:focus-visible,
.owl-carousel button.owl-dot:focus-visible {
  outline: 2px solid #202124;
  outline-offset: 3px;
}

.Nxheader a:focus-visible {
  outline: 1px dashed #202124;
  outline-offset: 3px;
}

main {
  display: block;
}

/* Browser zoom shrinks CSS viewport height. Below ~580px the banner title
   meets the absolutely positioned scroll cue. Only that range is adjusted. */
@media screen and (min-width: 768px) and (max-height: 580px) {
  .banner-section .banner-content {
    height: auto;
    min-height: calc(100vh - 140px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .banner-section .banner-content .banner-hgroup {
    height: auto;
    flex: 0 0 auto;
  }

  .banner-section .banner-content .scrolldown-arrow {
    position: static;
    margin-top: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}
