/* Menu */
.menu--desktop {
  display: block;
}
.menu--mobile {
  display: none;
}
.submenu-cta {
  width: 293px;
  min-width: 260px;
  background: var(--primary-color);
  color: #fff;
  display: flex;
  flex-direction: column;
}
.submenu-cta img {
  width: 100%;
  height: auto;
  display: block;
  height: 320px;
  object-fit: cover;
}
.submenu-cta > div {
  padding: 24px 16px 32px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
.submenu-cta h4 {
  color: #fff;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 2.125rem;
  margin-bottom: 10px;
}
.submenu-cta .description, .submenu-cta .description p {
  font-size: 0.9375rem;
  line-height: 1.375rem;
}
.submenu-cta a.text-button {
  color: #fff;
  text-decoration: none;
}
.submenu-cta a.text-button svg circle, .submenu-cta a.text-button svg path {
  stroke: #fff;
  transition: all 350ms;
}
.submenu-cta a.text-button:hover, .submenu-cta a.text-button:focus {
  font-weight: 700;
  text-decoration: none;
}
.submenu-cta a.text-button:hover svg circle, .submenu-cta a.text-button:focus svg circle {
  fill: #fff;
}
.submenu-cta a.text-button:hover svg path, .submenu-cta a.text-button:focus svg path {
  stroke: var(--primary-color);
}
@media (max-width: 979px) {
  .menu--desktop {
    display: none;
  }
  .menu--mobile {
    transform: translateX(-105%);
    opacity: 0;
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    margin-top: 78px;
    background: #F6F7F7;
    transition: opacity 425ms;
  }
  .menu--mobile.open {
    transform: translateX(0);
    opacity: 1;
  }
  .menu__item--depth-1 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border-bottom: 1px solid #ccc;
    background: #fff;
  }
  .menu__item--depth-1 > a {
    display: block;
    padding: 16px 32px;
    text-decoration: none;
    font-size: 1rem;
    color: var(--primary-color);
    font-weight: 700;
    text-transform: uppercase;
  }
  .menu__item--depth-1 > button {
    background: var(--primary-color);
    width: 51px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .menu__item--depth-1 > button svg {
    fill: #fff;
  }
  .menu__item--depth-1 > button svg {
    fill: #fff;
    width: 16px;
    height: 16px;
    transform: rotate(90deg);
  }
  @supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
    .menu__item--depth-1 > button {
      display: block;
    }
  }
  .menu__item--depth-1 a svg {
    display: none;
  }
  .menu__submenu {
    display: none;
  }
  .menu__submenu .menu__submenu {
    display: none;
  }
  .menu__item {
    flex-wrap: wrap;
  }
  .menu__item--open > .menu__submenu {
    display: block !important;
  }
  .menu__item--open > .menu__submenu {
    display: block !important;
  }
  .menu__item--depth-1 .menu__submenu {
    width: 100%;
  }
  .menu__item--depth-1 .menu__submenu > ul > li {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(163, 178, 212, 0.1);
  }
  .menu__item--depth-1 .menu__submenu > ul > li .menu__link {
    padding: 10px 32px;
    font-size: 0.8125rem;
    font-weight: 700;
    text-decoration: none;
    color: var(--primary-color);
  }
  .menu__item--depth-2 {
    background: #F6F7F7;
  }
  .menu__item--depth-2 ul li {
    background: #F6F7F7;
  }
  .menu__item--depth-2.menu__item--open {
    background: var(--primary-color);
  }
  .menu__item--depth-1 .menu__submenu > ul > li.menu__item--depth-2 a.menu__link {
    padding: 12px 32px 0 32px;
  }
  .menu__item--depth-1 .menu__submenu > ul > li.menu__item--depth-2 .menu__item.menu__item--depth-4 > a {
    padding: 12px 32px 12px 32px;
  }
  .menu__item--depth-1 .menu__submenu > ul > li.menu__item--depth-2.menu__item--open > a.menu__link {
    background: var(--primary-color);
    color: #fff;
  }
  .menu__item--depth-2.menu__item--open > button.menu__child-toggle--open {
    background: #fff;
  }
  .menu__item--depth-2.menu__item--open > button.menu__child-toggle--open svg {
    fill: var(--secondary-color);
  }
  .menu__item--depth-2 button {
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background: var(--primary-color);
    margin: 14px 18px 14px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  @supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
    .menu__item--depth-2 button {
      padding: 0;
    }
  }
  .menu__item--depth-2 button svg {
    fill: #fff;
    width: 9px;
    height: 9px;
    transform: rotate(90deg);
  }
  .menu__item--depth-2 .menu__submenu > ul > li .menu__link {
    font-size: 0.875rem;
  }
  .menu__item--depth-3 > button {
    background: none;
    width: 18px;
    height: 18px;
  }
  .menu__item--depth-3 > button svg {
    fill: var(--secondary-color);
    width: 15px;
    height: 15px;
  }
  .menu__submenu--level-3 > ul {
    min-height: 0 !important; /* Override JS set style for desktop */
  }
  .menu__submenu.menu__submenu--level-4 {
    background: #EEF3FF;
  }
  .menu__item--depth-3 .menu__submenu > ul > li {
    border-bottom: 1px solid rgba(163, 178, 212, 0.35);
  }
  .menu__item--depth-3 .menu__submenu > ul > li a.menu__link {
    width: 100%;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 20px;
  }
  .menu__item--depth-3 .menu__submenu > ul > li a.menu__link svg {
    display: block;
    width: 13px;
    height: 13px;
    fill: var(--primry-color);
  }
  .menu__item.menu__item--depth-3 {
    min-height: 46px;
  }
  .menu__item--depth-3 .menu__submenu > ul > li:first-child {
    border-top: 1px solid rgba(163, 178, 212, 0.35);
  }
  .menu__child-toggle.menu__child-toggle--open svg {
    transform: rotate(-90deg);
  }
  .menu__item--depth-1.menu__item--open > button {
    background: var(--secondary-color);
  }
  .mobile-routing-number {
    padding: 8px 31px;
    font-size: 0.9rem;
    background: #EEF3FF;
    color: var(--primary-color);
  }
  .mobile-routing-number a {
    color: var(--primary-color);
    text-decoration: none;
    pointer-events: none;
  }
  .mobile-util-nav {
    padding: 12px 16px 10px 16px;
    background: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 60px;
  }
  .mobile-util-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 5px;
    font-size: 0.8rem;
    color: #fff;
    text-decoration: none;
    flex-grow: 1;
    max-width: 95px;
    text-align: center;
  }
  .mobile-util-nav a svg {
    fill: #fff;
    margin-bottom: 5px;
  }
  .mobile-search label {
    display: none;
  }
  .submenu-cta {
    display: none;
  }
  .menu__submenu--level-2 > ul > li > .menu__link {
    background: #F6F7F7;
  }
  .menu__submenu--level-2 ul li .menu__link {
    font-size: 1rem;
  }

  .mobile-menu-meta {
    background: #EEF3FF;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .mobile-search {
    cursor: pointer;
    padding: 10px 5px 8px 5px;
  }

  .mobile-search img {
    max-width: 40px;
    min-width: 40px;
  }
}
@media (min-width: 980px) {
  .menu__wrapper {
    display: flex;
  }
  .menu__wrapper > li {
    margin-right: 25px;
  }
  .menu__wrapper .menu__child-toggle {
    display: none;
  }
  .menu__submenu {
    display: none;
  }
  .menu__submenu .menu__submenu {
    display: none;
  }
  .menu__item--depth-1 {
    display: flex;
    align-items: center;
    height: 94px;
  }
  .menu__item--depth-1 > .menu__link {
    position: relative;
    font-weight: 700;
    color: var(--primary-color);
    font-size: 1rem;
    text-decoration: none;
    text-transform: uppercase;
    height: calc(100% - 4px);
    display: flex;
    align-items: center;
  }
  .menu__item--depth-1 > .menu__link .hover-icon {
    display: none;
  }
  .menu__item--depth-1 > .menu__link:hover, .menu__item--depth-1 > .menu__link:focus {
    color: var(--secondary-color);
  }
  .menu__item--depth-1 > .menu__link--active-link .hover-icon {
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -22px;
    left: 50%;
    margin-left: -8px;
  }
  .menu__item--depth-1 > .menu__link:hover:after, .menu__item--depth-1 > .menu__link:focus:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--secondary-color);
    margin-top: 12px;
  }
  .menu__item--has-submenu:hover > .menu__submenu {
    display: block;
  }
  .menu__item--has-submenu:focus-within > .menu__submenu {
    display: block;
  }
  .menu__item--has-submenu:hover > .menu__submenu.menu__submenu--level-3 {
    display: flex;
  }
  .menu__item--has-submenu:focus-within > .menu__submenu.menu__submenu--level-3 {
    display: flex;
  }

  .menu-arrow-icon {
    display: none;
  }
  .menu__submenu--level-2 {
    position: absolute;
    left: 0;
    width: 100%;
    padding-left: 247px;
    background: #F6F7F7;
    margin-top: 132px;
    display: block;
    opacity: 0;
    pointer-events: none;
    transition: opacity 350ms;
  }
  @media screen and (max-width: 1220px) {
    .menu__submenu--level-2 {
      padding-left: 120px;
    }
  }
  .menu__item--has-submenu:hover > .menu__submenu.menu__submenu--level-2,
  .menu__item--has-submenu:focus-within > .menu__submenu.menu__submenu--level-2 {
    opacity: 1;
    pointer-events: auto;
  }

  /*Single level Nav override */
  .menu__item.menu__item--depth-1.single-level-nav > .menu__submenu.menu__submenu--level-2 {
    margin-top: 12px;
    height: 0;
  }
  .menu__item.menu__item--depth-1.single-level-nav > .menu__submenu.menu__submenu--level-2 > ul {
    pointer-events: none;
  }
  .menu__item.menu__item--depth-1.single-level-nav > .menu__submenu.menu__submenu--level-2 > ul > li > a,
  .menu__item.menu__item--depth-1.single-level-nav > .menu__submenu.menu__submenu--level-2 > ul > li > button {
    display: none;
  }
  .menu__item.menu__item--depth-1.single-level-nav:hover .menu__submenu.menu__submenu--level-3,
  .menu__item.menu__item--depth-1.single-level-nav:focus-within .menu__submenu.menu__submenu--level-3  {
    opacity: 1;
    pointer-events: auto;
  }

  /*End single level Nav override */

  .menu__submenu--level-2 > ul {
    display: flex;
  }
  .menu__submenu--level-2 > ul > li {
    font-size: 1rem;
    display: flex;
    flex-wrap: wrap;
  }
  .menu__submenu--level-2 > ul > li > .menu__link {
    padding: 8px 34px 10px 16px;
    font-weight: 700;
    font-size: 1rem;
    color: var(--primary-color);
    text-decoration: none;
  }
  .menu__submenu--level-2 > ul > li > .menu__child-toggle {
    display: inline-block;
    margin-left: -32px;
    transform: rotate(90deg);
  }
  .menu__submenu--level-2 > ul > li > .menu__child-toggle svg {
    width: 14px;
    height: 14px;
    fill: var(--primary-color);
  }
  .menu__submenu--level-2 > ul > li:hover > .menu__link, .menu__submenu--level-2 > ul > li:focus-within > .menu__link {
    background: var(--primary-color);
    color: #fff;
  }
  .menu__submenu--level-2 > ul > li:hover > .menu__child-toggle svg, .menu__submenu--level-2 > ul > li:focus-within > .menu__child-toggle svg {
    fill: #fff;
  }
  .menu__submenu .menu__submenu.menu__submenu--level-3 {
    position: absolute;
    left: 0;
    background: #Fff;
    width: auto;
    max-width: 100%;
    margin-top: 40px;
    box-shadow: inset 0px 4px 18px 0px rgba(23, 42, 84, 0.18);
    opacity: 0;
    pointer-events: none;
    display: flex;
    transition: opacity 500ms;
  }

  @media screen and (max-width: 1220px) {
    .menu__submenu .menu__submenu.menu__submenu--level-3 {
      justify-content: space-between;
      width: 100%;
    }
  }
  .menu__item--has-submenu:hover > .menu__submenu.menu__submenu--level-3,
  .menu__item--has-submenu:focus-within > .menu__submenu.menu__submenu--level-3 {
    opacity: 1;
    pointer-events: auto;
  }
  .menu__submenu--level-3 .menu__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 32px;
  }
  .menu__submenu--level-3 .menu-arrow-icon {
    display: inline-block;
  }
  .menu__submenu--level-3 .menu-arrow-icon svg {
    height: 10px;
    width: 10px;
  }
  .menu__submenu--level-3 > ul {
    column-count: 4;
    column-gap: 2em;
    padding: 32px 0px 32px 32px;
    height: 560px;
  }

  .menu__submenu--level-3 > ul.two-col-c {
    column-count: 2;
  }

  .menu__submenu--level-3 > ul.three-col-c {
    column-count: 3;
  }
  
  .menu__submenu--level-3 > ul li.menu__item--has-submenu {
    break-inside: avoid;
    break-before: column;
    border-right: 1px solid rgba(163, 178, 212, 0.3);
    height: 100%;
  }
  .menu__item--depth-3 > a {
    font-weight: 700;
    font-size: 1rem;
    display: inline-block;
    background: #EEF3FF;
    min-height: 55px;
    padding: 10px 40px 10px 16px;
    margin-right: 31px;
    color: var(--primary-color);
    text-decoration: none;
    margin-bottom: 20px;
  }

  @media screen and (max-width: 1220px) {
    .menu__item--depth-3 > a {
      font-size: .75rem;
      margin-right: 10px;
    }

    .menu__submenu--level-3 > ul {
      column-gap: 10px;
    }
  }

  .menu__item--depth-3 > a .menu-arrow-icon {
    width: 15px;
    height: 15px;
    min-width: 15px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: -14px;
    margin-left: 5px;
    background: var(--primary-color);
  }
  .menu__item--depth-3 > a .menu-arrow-icon svg {
    fill: #fff;
    width: 9px;
    height: 9px;
  }
  .menu__item--depth-3 > a:hover {
    color: var(--secondary-color);
    text-decoration: underline;
  }
  .menu__item--depth-3 > a:hover .menu-arrow-icon {
    background: var(--secondary-color);
  }
  .menu__item--depth-3 > a:hover .menu-arrow-icon svg {
    fill: #fff;
  }
  .menu__submenu .menu__submenu .menu__submenu--level-4 {
    display: block;
  }
  .menu__submenu--level-4 li {
    font-size: 1rem;
  }
  .menu__submenu--level-4 li a {
    text-decoration: none;
    font-size: 1rem;
    padding: 18px 5px 18px 0;
    margin-right: 32px;
    padding-right: 0 !important;
    border-bottom: 1px solid rgba(163, 178, 212, 0.3);
    color: var(--primary-color);
  }
  @media screen and (max-width: 1220px) {
    .menu__submenu--level-4 li a {
      font-size: .75rem;
    }
  }
  .menu__submenu--level-4 li a:hover {
    text-decoration: underline;
  }
  .menu__submenu--level-4 li:first-child a {
    padding-top: 0;
  }
}

@media screen and (min-width: 1380px) {
  .n2-l-0  .menu__submenu--level-3.modifier-two,
  .n2-l-1  .menu__submenu--level-3.modifier-two,
  .n2-l-2  .menu__submenu--level-3.modifier-two {
    left: 100px;
  }

  .n2-l-3  .menu__submenu--level-3.modifier-two,
  .n2-l-4  .menu__submenu--level-3.modifier-two,
  .n2-l-5  .menu__submenu--level-3.modifier-two {
    left: 280px;
  }

  .n2-l-0  .menu__submenu--level-3.modifier-three,
  .n2-l-1  .menu__submenu--level-3.modifier-three,
  .n2-l-2  .menu__submenu--level-3.modifier-three {
    left: 60px;
  }

  .n2-l-3  .menu__submenu--level-3.modifier-thre,
  .n2-l-4  .menu__submenu--level-3.modifier-three,
  .n2-l-5  .menu__submenu--level-3.modifier-three {
    left: 110px;
  }
}
