::selection {
  color: #c7f3ff;
  background: #314462;
}
/* Firefox */
::-moz-selection {
  color: #c7f3ff;
  background: #314462;
}
.logo-assets-w {
  width: max-content;
  animation: logo-ticker-scroll 100s linear infinite;
  will-change: transform;
}
@keyframes logo-ticker-scroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .logo-assets-w {
    animation: none;
  }
}
/* Nav Hover */
@media screen and (min-width: 992px) {
  .nav_menu .nav_link:after {
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background: transparent;
    transition: all 500ms ease;
  }
  .nav_menu .nav_link:hover:after,
  .nav_menu .nav_link.w--current:after {
    width: 100%;
    background: var(--color--text-black);
  }
  .nav_menu .nav_link.w--current:after {
    height:2px;
    transition: height 400ms ease 400ms;
  }
  /* Dropdown Submenu */
  .nav-dropdown .nav_submenu {
    transform: translate(-50%, -2rem);
    opacity: 0;
      transition: 
      opacity 100ms ease,
      transform 300ms ease;
  }
  .nav-dropdown:hover .nav_submenu,
  .nav-dropdown:focus-within .nav_submenu {
    transform: translate(-50%, 0rem);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
      opacity 300ms ease 150ms,
      transform 300ms ease;
  }
  
  /* External Icon */
  .nav_link:hover .nav_link-icon {
    opacity: 1;
    margin-right: 0.5rem;
    transition: all 500ms ease;    
  }
}
/* FAQ Module */
.faq-item.is-open .faq-answer {
  max-height: 20rem;
  opacity: 1;
}
.faq-item.is-open .faq-toggle-icon .toggle-line {
  transform: rotateZ(-90deg);
  transition: all 300ms ease 600ms;
}
.faq-item .faq-answer {
  max-height: 0rem;
}
/* Services Tab Module */
.tab-visual__item:hover .tab-visual__cta,
.tab-visual__item:hover .tab-visual__overlay {
  opacity:1;
}
/* Underline Link Styles */
[data-underline-link] {
  text-decoration: none;
  position: relative;
}

[data-underline-link]::before,
[data-underline-link="alt"]::before,
[data-underline-link="alt"]::after{
  content: "";
  position: absolute;
  bottom: -0.0625em;
  left: 0;
  width: 100%;
  height: 0.0625em;
  background-color: currentColor;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}

[data-underline-link="alt"]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}

[data-underline-link="alt"]::after {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}

@media (hover: hover) and (pointer: fine) {
  [data-hover]:hover [data-underline-link]::before,
  [data-underline-link]:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }  
  
  [data-hover]:hover [data-underline-link="alt"]::before,
  [data-underline-link="alt"]:hover::before {
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    transition-delay: 0s;
  }
  
  [data-hover]:hover [data-underline-link="alt"]::after,
  [data-underline-link="alt"]:hover::after {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
    transition-delay: 0.3s;
  }
}
/* Copy Email Button Styles */
/* Hover styling */
@media (hover: hover) {
  [data-copy-email]:hover .copy-email-icon__wrap{
    color: var(--color--dark-grey);
  }
  [data-copy-email]:hover .copy-email-text__el{
    transform: translate(0px, -100%);
  }
}

/* Keyboard focus styling */
[data-copy-email]:focus .copy-email-icon__wrap{
  color: var(--color--text-black);
  background: white;
}
[data-copy-email]:focus .copy-email-text__el {
  transform: translate(0px, -100%);
}

/* 'Copied' state, when a user has clicked the button */
[data-copy-button="copied"] .copy-email-icon__wrap{ background: white; !important;}
[data-copy-button="copied"] .copy-email-text__el{ transform: translate(0px, -200%) !important; }
