/* ========================================
   SHARED STYLES (both horizontal and accordion)
   ======================================== */

.sf-menu.sf-style-uva li:hover>ul,
.sf-menu.sf-style-uva li.sfHover>ul {
  top: 2em;
}
.sf-menu.sf-style-uva li li:hover>ul,
.sf-menu.sf-style-uva li li.sfHover>ul {
  top: 0;
}

.sf-menu.sf-style-uva a {
  color: #ffffff;
  padding: 1em 0.5em;
  text-decoration: none;
  text-transform: uppercase;
}

.sf-menu.sf-style-uva .sf-sub-indicator::after,
.sf-menu.sf-style-uva ul .sf-sub-indicator::after {
  content: "+";
  color: #e57200;
}

.sf-menu.sf-style-uva .sf-with-ul {
  padding-right: 2.3em;
}

.sf-menu.sf-style-uva span.nolink {
  color: white;
  text-transform: uppercase;
}

.sf-menu.sf-style-uva a.sf-depth-2 {
  color: white;
}

.sf-menu.sf-style-uva .sf-depth-1 {
  color: #232d4b !important;
}

.sf-menu.sf-style-uva.menu,
.sf-menu.sf-style-uva.menu ul,
.sf-menu.sf-style-uva.menu li {
  margin: 0 auto;
  max-width: 1300px;
}

.sf-menu.sf-style-uva.block-menu ul {
  margin-left: 15px;
}

/* ========================================
   HORIZONTAL MENU STYLES
   ======================================== */

.sf-menu.sf-style-uva.sf-horizontal li {
  list-style: none;
  flex: 1 1 12.5%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.sf-menu.sf-style-uva.sf-horizontal li a {
  font-size: 1em;
}

.sf-menu.sf-style-uva.sf-horizontal li li a {
  color: #ffffff;
}

.sf-menu.sf-style-uva.sf-horizontal li ul {
  margin-top: 15px;
}

.sf-menu.sf-style-uva.sf-horizontal ul {
  background-color: #0E1A26;
  border: 1px solid #232D4B;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.sf-menu.sf-style-uva.sf-horizontal ul a {
  color: #ffffff;
  border-bottom: 1px solid rgba(35, 45, 75, 0.1);
}

.sf-menu.sf-style-uva.sf-horizontal ul a:hover,
.sf-menu.sf-style-uva.sf-horizontal ul a:focus {
  text-decoration: underline;
}

ul.sf-menu.sf-style-uva.sf-horizontal.sf-shadow ul,
ul.sf-menu.sf-style-uva.sf-vertical.sf-shadow ul,
ul.sf-menu.sf-style-uva.sf-navbar.sf-shadow ul ul {
  background-color: #232d4b;
}

/* ========================================
   ACCORDION MENU STYLES
   ======================================== */

.sf-menu.sf-style-uva.sf-accordion {
  display: block !important;
  flex-direction: column;
  background: #fff;
  width: 100% !important;
  padding: 0 1rem;
  margin: 0;
  list-style: none;
  position: relative !important;
  z-index: 999;
  border-radius: 0;
}

.sf-menu.sf-style-uva.sf-accordion > li {
  display: block;
  border-bottom: 1px solid #e2e8f0;
  padding: 0;
}

.sf-menu.sf-style-uva.sf-accordion > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  font-weight: 700;
  font-size: 1.125rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #232d4b !important;
  text-decoration: none;
  background: rgba(0, 0, 0, 0) !important;
}

.sf-menu.sf-style-uva.sf-accordion > li > a::after {
  content: "+";
  font-size: 1.75rem;
  font-weight: 500;
  color: #e57200;
  line-height: 1;
}

.sf-menu.sf-style-uva.sf-accordion > li.sf-expanded > a::after,
.sf-menu.sf-style-uva.sf-accordion > li.sfHover > a::after {
  content: "−";
}

.sf-menu.sf-style-uva.sf-accordion > li > a:hover,
.sf-menu.sf-style-uva.sf-accordion > li > a:focus {
  background: rgba(0, 0, 0, 0) !important;
  text-decoration: none;
}

.sf-menu.sf-style-uva.sf-accordion a:hover {
  background-color: hsla(0, 0%, 100%, 0.1);
}

.sf-menu.sf-style-uva.sf-accordion.sf-horizontal {
  display: block !important;
  flex-direction: column !important;
}

.sf-menu.sf-style-uva.sf-accordion > li > ul {
  margin: 0 0 12px 0;
  padding: 0 0 8px 0;
  list-style: none;
  border: 0;
  background: rgba(0, 0, 0, 0);
}

.sf-menu.sf-style-uva.sf-accordion > li > ul > li {
  border: 0;
  margin: 0;
  padding: 0;
}

.sf-menu.sf-style-uva.sf-accordion > li > ul > li > a {
  display: block;
  padding: 6px 0 6px 0;
  margin-left: 0;
  font-size: 0.95rem;
  font-weight: 400;
  text-transform: none;
  color: #232d4b !important;
  background: rgba(0, 0, 0, 0) !important;
  border: 0 !important;
}

.sf-menu.sf-style-uva.sf-accordion > li > ul > li > a:hover,
.sf-menu.sf-style-uva.sf-accordion > li > ul > li > a:focus {
  text-decoration: underline;
  background: rgba(0, 0, 0, 0) !important;
}

.sf-menu.sf-style-uva.sf-accordion .sf-sub-indicator {
  display: none !important;
}

.sf-style-uva.sf-accordion-toggle,
.sf-style-uva.sf-accordion-toggle.sf-style-none {
  display: none !important;
}

.sf-menu.sf-style-uva.sf-accordion,
.sf-menu.sf-style-uva.sf-accordion.sf-horizontal {
  display: block !important;
  flex-direction: column !important;
}

/* ========================================
   PROGRAMS STYLE (separate style)
   ======================================== */

.sf-menu.sf-style-custom-programs {
  background-color: #f8f9fa;
  border: 2px solid #232D4B;
}

.sf-menu.sf-style-custom-programs a {
  color: #232D4B;
  font-weight: 600;
  padding: 10px 20px;
}

.sf-menu.sf-style-custom-programs a:hover,
.sf-menu.sf-style-custom-programs a:focus {
  background-color: #E57200;
  color: #ffffff;
}

.sf-menu.sf-style-custom-programs ul {
  background-color: #ffffff;
  border: 1px solid #E57200;
}
