/* ===== CEU main menu (Superfish) – match live D8 ===== */
.region-primary-menu ul.sf-menu.sf-main {
  display: flex !important; flex-wrap: wrap; align-items: stretch;
  float: none !important; margin: 0 !important; padding: 0 !important;
  background: #f7f7f7 !important; border: 0 !important; box-shadow: none !important;
}
.region-primary-menu ul.sf-menu.sf-main > li {
  float: none !important; margin: 0 !important; padding: 0 !important;
  background: transparent !important; border: 0 !important;
}
.region-primary-menu ul.sf-menu.sf-main > li > a {
  display: block; padding: 14px 17px !important;
  font-family: "RopaSoftPro-Regular", "Ropa Sans", Arial, sans-serif !important;
  font-size: 16px !important; line-height: 1.2 !important; font-weight: normal !important;
  text-transform: uppercase; letter-spacing: 0 !important;
  color: #1d2b5b !important; background: transparent !important;
  border: 0 !important; text-decoration: none !important;
}
/* hover, open dropdown, current page = white box */
.region-primary-menu ul.sf-menu.sf-main > li:hover,
.region-primary-menu ul.sf-menu.sf-main > li.sfHover,
.region-primary-menu ul.sf-menu.sf-main > li.active-trail {
  background: #ffffff !important;
}
.region-primary-menu ul.sf-menu.sf-main > li > a:hover,
.region-primary-menu ul.sf-menu.sf-main > li > a:focus,
.region-primary-menu ul.sf-menu.sf-main > li > a.is-active {
  color: #1d2b5b !important; background: transparent !important;
}

/* replace " »" with a slate ▼ */
.region-primary-menu ul.sf-menu.sf-main > li > a.sf-with-ul { padding-right: 38px !important; position: relative; }
.region-primary-menu ul.sf-menu.sf-main .sf-sub-indicator {
  position: absolute !important; right: 14px; top: 50%; transform: translateY(-50%);
  background: none !important; width: auto !important; height: auto !important;
  text-indent: 0 !important; overflow: visible !important; font-size: 0 !important;
}
.region-primary-menu ul.sf-menu.sf-main .sf-sub-indicator::after {
  content: "\25BC"; font-size: 14px; color: #4b5a86;
}

/* dropdowns */
.region-primary-menu ul.sf-menu.sf-main ul {
  background: #ffffff !important; border: 0 !important; padding: 6px 0 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.12) !important; z-index: 999;
}
.region-primary-menu ul.sf-menu.sf-main ul li {
  float: none !important; background: transparent !important; border: 0 !important;
}
.region-primary-menu ul.sf-menu.sf-main ul a {
  display: block; padding: 10px 18px !important;
  font-family: "RopaSoftPro-Regular", Arial, sans-serif !important;
  font-size: 15px !important; text-transform: none;
  color: #1d2b5b !important; background: transparent !important;
  border: 0 !important; text-decoration: none !important;
}
.region-primary-menu ul.sf-menu.sf-main ul a:hover { background: #f2f4f8 !important; }

/* ===== Header layout: gold row on top, main menu below, both right-aligned ===== */
.region-primary-menu {
  display: flex !important; flex-direction: column; align-items: flex-end;
  width: 100%;
}

/* ===== Gold top row (Footer menu placed in header) ===== */
.region-primary-menu nav.menu--footer { width: auto; margin: 0 0 4px 0; }
.region-primary-menu nav.menu--footer ul.menu {
  display: flex !important; flex-direction: row !important; flex-wrap: wrap;
  justify-content: flex-end; align-items: center;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
  background: transparent !important;
}
.region-primary-menu nav.menu--footer ul.menu > li {
  display: block !important; float: none !important; width: auto !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
  border: 0 !important; background: transparent !important;
}
.region-primary-menu nav.menu--footer ul.menu > li::before { content: none !important; display: none !important; }
.region-primary-menu nav.menu--footer ul.menu > li > a {
  display: block; padding: 6px 0 6px 34px !important;
  font-family: "RopaSoftPro-Regular", "Ropa Sans", Arial, sans-serif !important;
  font-size: 15px !important; font-weight: bold !important; letter-spacing: 1px;
  text-transform: uppercase; line-height: 1.2;
  color: #f4a71d !important; background: transparent !important;
  text-decoration: none !important; border: 0 !important;
}
.region-primary-menu nav.menu--footer ul.menu > li > a:hover { color: #1d2b5b !important; }

/* main menu: keep on one line where space allows */
.region-primary-menu .block-superfish { width: auto; }
.region-primary-menu ul.sf-menu.sf-main { flex-wrap: nowrap; justify-content: flex-end; }
.region-primary-menu ul.sf-menu.sf-main > li > a { padding: 14px 15px !important; white-space: nowrap; }
.region-primary-menu ul.sf-menu.sf-main > li > a.sf-with-ul { padding-right: 34px !important; }

/* smaller screens: allow wrapping */
@media (max-width: 1199px) {
  .region-primary-menu ul.sf-menu.sf-main { flex-wrap: wrap; }
  .region-primary-menu nav.menu--footer ul.menu > li > a { padding-left: 20px !important; font-size: 14px !important; }
}
