/* Shared public-site desktop navigation. Mobile navigation remains unchanged. */
@media only screen and (min-width: 769px) {
  #cssmenu {
    background: #fff !important;
    border-top: 1px solid #edf1f3 !important;
    border-bottom: 1px solid #dce5e9 !important;
    box-shadow: none !important;
  }
  #cssmenu > ul > li > a {
    color: #102c40 !important;
    text-shadow: none !important;
  }
  #cssmenu > ul > li:after {
    top: auto !important;
    bottom: 0 !important;
    height: 0 !important;
    background: #087f9b !important;
  }
  #cssmenu > ul > li:hover:after,
  #cssmenu > ul > li.active:after {
    height: 3px !important;
  }
  #cssmenu > ul > li:hover > a,
  #cssmenu > ul > li.active > a {
    color: #087f9b !important;
  }
  #cssmenu ul li ul {
    padding: 6px 0 !important;
    background: #fff !important;
    border: 1px solid #dce5e9 !important;
    box-shadow: 0 12px 28px rgba(16, 44, 64, .13) !important;
  }
  #cssmenu ul li ul li {
    background: #fff !important;
    border-bottom: 1px solid #edf1f3 !important;
  }
  #cssmenu ul li ul li:last-child {
    border-bottom: 0 !important;
  }
  #cssmenu ul li ul li a {
    color: #18384c !important;
    background: transparent !important;
    padding: 11px 16px !important;
    line-height: 1.35 !important;
    text-shadow: none !important;
  }
  #cssmenu ul li ul li:hover {
    background: #eef8fa !important;
  }
  #cssmenu ul li ul li:hover > a {
    color: #087f9b !important;
  }
  #cssmenu ul li ul li.active {
    background: #fff !important;
  }
  #cssmenu ul li ul li.active > a {
    color: #18384c !important;
  }
  #cssmenu ul li ul li.has-sub:after {
    background: #d9edf2 !important;
  }
  #cssmenu ul li ul li.has-sub:before {
    border-left-color: #087f9b !important;
  }
  /* Regional trip lists open as a compact two-column panel on laptops. */
  #cssmenu > ul > li:nth-child(2) > ul > li > ul {
    width: 540px !important;
    max-height: none;
    overflow: visible;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: #fff !important;
  }
  #cssmenu > ul > li:nth-child(2) > ul > li:hover > ul {
    display: grid !important;
  }
  #cssmenu > ul > li:nth-child(2) > ul > li > ul > li {
    width: auto !important;
    min-width: 0;
    border-right: 1px solid #edf1f3;
  }
  #cssmenu > ul > li:nth-child(2) > ul > li > ul > li:nth-child(even) {
    border-right: 0;
  }
  #cssmenu > ul > li:nth-child(2) > ul > li > ul > li > a {
    width: auto !important;
    min-width: 0;
    white-space: normal;
  }
}

/* Retina phones/tablets use the legacy hamburger menu. Keep its label and
   three bars visible on the shared white navigation surface. */
@media only screen and (max-width: 1024px) {
  #cssmenu #menu-button {
    color: #102c40 !important;
    background: #fff !important;
  }
  #cssmenu #menu-button:before,
  #cssmenu #menu-button:after {
    border-color: #087f9b !important;
  }
  #cssmenu > ul.open {
    background: #fff !important;
  }
  #cssmenu > ul.open > li > a,
  #cssmenu > ul.open ul li a {
    color: #18384c !important;
    background: #fff !important;
  }
}
