/* Shared navigation: button hover and accessible project categories. */
.site-header .header-nav .nav > li > a {
  text-decoration: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
  border-radius: 5px;
  padding-top: 6px;
  padding-bottom: 6px;
  line-height: 24px;
  transition: background-color .18s ease, color .18s ease;
}
.site-header .header-nav .nav > li > a::before,
.site-header .header-nav .nav > li > a::after { content: none !important; display: none !important; }
.site-header .header-nav .nav > li:hover > a,
.site-header .header-nav .nav > li > a:focus-visible,
.site-header .header-nav .nav > li.elis-menu-open > a {
  background-color: #efca30 !important;
  color: #000000 !important;
  text-decoration: none !important;
}
.site-header .header-nav .nav > li.elis-menu-projects {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 36px; align-items: center;
}
.site-header .header-nav .nav > li.elis-menu-projects > a { grid-column: 1 / -1; grid-row: 1; }
.site-header .header-nav .nav > li.elis-menu-projects > a { padding-right: 42px; }
.site-header .elis-menu-toggle {
  position: relative; top: auto; right: auto; transform: none;
  grid-column: 2; grid-row: 1; align-self: center;
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; padding: 0; border: 0; border-radius: 4px;
  background: transparent; color: #000; cursor: pointer; line-height: 1;
}
.site-header .elis-menu-toggle:hover,
.site-header .elis-menu-toggle:focus-visible { background: #efca30; color: #000; }
.site-header .elis-menu-toggle[aria-expanded="true"] span { display: inline-block; transform: rotate(180deg); }
.site-header .elis-menu-categories {
  position: absolute; top: 100%; left: 0; z-index: 1100;
  width: 340px; max-width: calc(100vw - 32px); margin: 0; padding: 8px;
  list-style: none; background: #fff; border: 1px solid #e8e8e8;
  border-radius: 8px; box-shadow: 0 12px 30px rgba(0,0,0,.13);
}
.site-header .elis-menu-categories[hidden] { display: none !important; }
.site-header .elis-menu-categories li { display: block; margin: 0; padding: 0; }
.site-header .elis-menu-categories a {
  display: block; padding: 12px; border: 0; border-radius: 4px;
  font-size: 13px; line-height: 1.5; font-weight: 500; text-transform: none;
  color: #000; background: transparent; text-decoration: none !important; white-space: normal;
}
.site-header .elis-menu-categories a:hover,
.site-header .elis-menu-categories a:focus-visible { color: #000; background: #efca30; }
.site-header .elis-menu-categories a::before,
.site-header .elis-menu-categories a::after { content: none !important; }
.site-header .elis-menu-toggle:focus-visible,
.site-header .header-nav a:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
@media (min-width: 992px) {
  .site-header .header-nav .nav { align-items: center; }
  .site-header .header-nav .nav > li { margin: 0; padding: 18px 2px; }
  .site-header .header-nav .nav > li > a { margin: 0; padding: 6px 14px; }
  .site-header .header-nav .nav > li.elis-menu-projects > a { padding-right: 42px; }
  .site-header .elis-menu-categories { top: calc(100% - 8px); }
}
@media (max-width: 991px) {
  .site-header .header-nav .nav > li > a { margin-top: 0; margin-bottom: 0; }
  .site-header .elis-menu-categories { position: static; grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: 100%; box-shadow: none; margin: 6px 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .header-nav .nav > li > a { transition: none; }
}

/* Match the contact arrow to the menu row, including the sticky header. */
.site-header .extra-nav,
.site-header .is-fixed .extra-nav {
  display: flex; align-items: center; height: 72px; padding-top: 0; padding-bottom: 0;
}
.site-header .extra-nav .extra-cell { display: flex; align-items: center; }
.site-header .extra-nav .extra-cell > a {
  display: inline-flex; align-items: center; justify-content: center;
  height: 36px; min-width: 36px; padding-top: 0; padding-bottom: 0; line-height: 1;
}
.site-header .extra-nav .extra-cell > a i { display: block; margin-top: 0; margin-bottom: 0; line-height: 1; }
@media (max-width: 991px) {
  .site-header .extra-nav, .site-header .is-fixed .extra-nav { height: 70px; }
}
