/* Mobile menu position and scrolling */
.rd-navbar-fixed .rd-navbar-nav-wrap {
  position: fixed !important;
  top: 148px !important;
  bottom: auto !important;
  height: calc(100vh - 142px) !important;
  max-height: calc(100dvh - 142px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

.rd-navbar-fixed .rd-navbar-nav-inner {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 0 40px !important;
  padding-bottom: calc(40px + env(safe-area-inset-bottom)) !important;
  box-sizing: border-box;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

.rd-navbar-fixed .rd-navbar-nav {
  margin: 0 !important;
  padding: 0 !important;
}

/* Main category tap areas */
.rd-navbar-fixed .rd-navbar-nav > li {
  position: relative !important;
}

.rd-navbar-fixed .rd-navbar-nav > li > a {
  position: relative;
  display: block !important;
  min-height: 52px;
  padding: 15px 55px 15px 18px !important;
  box-sizing: border-box;
  font-size: 16px !important;
  line-height: 22px !important;
}

/* Draw arrows directly on expandable category labels */
.rd-navbar-fixed .rd-navbar-nav > li.rd-navbar-submenu > a::after {
  content: "" !important;
  position: absolute;
  top: 20px;
  right: 22px;
  width: 9px;
  height: 9px;
  border: solid #535457;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  pointer-events: none;
}

.rd-navbar-fixed .rd-navbar-nav > li.rd-navbar-submenu.opened > a::after {
  top: 24px;
  transform: rotate(225deg);
}

/* The whole category label now handles taps */
.rd-navbar-fixed .rd-navbar-nav > li > .rd-navbar-submenu-toggle {
  display: none !important;
}

/* Space below an expanded main category */
.rd-navbar-fixed .rd-navbar-nav > li.opened > .rd-navbar-dropdown,
.rd-navbar-fixed .rd-navbar-nav > li.opened > .rd-navbar-megamenu {
  padding: 16px 0 20px !important;
}

/* Uniform category headings in Business Resources and Programs */
.rd-navbar-fixed .rd-navbar-nav .rd-megamenu-header {
  margin: 0 0 8px !important;
  padding: 10px 18px !important;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 22px !important;
}

.rd-navbar-fixed .rd-navbar-nav .rd-megamenu-header > a {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Comfortable tap areas for submenu links */
.rd-navbar-fixed .rd-navbar-dropdown > li > a,
.rd-navbar-fixed .rd-navbar-list > li > a {
  display: block !important;
  min-height: 48px;
  padding: 13px 20px 13px 30px !important;
  box-sizing: border-box;
  font-size: 15px !important;
  line-height: 22px !important;
  white-space: normal;
  overflow-wrap: break-word;
}

/* Align Program Index and Marketing Center with category headings */
.rd-navbar-fixed .rd-navbar-dropdown-programs > li.text-bold > a,
.rd-navbar-fixed .rd-navbar-megamenu .rd-navbar-list > li.text-bold > a {
  padding-left: 18px !important;
}

/* Separate category groups */
.rd-navbar-fixed .rd-navbar-megamenu > li + li,
.rd-navbar-fixed .rd-navbar-dropdown-programs > li + li {
  margin-top: 12px;
}

/* Remove individual spacing offsets inside mobile submenus */
.rd-navbar-fixed .rd-navbar-nav .rd-navbar-dropdown li,
.rd-navbar-fixed .rd-navbar-nav .rd-navbar-megamenu li {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Consistent spacing between category groups */
.rd-navbar-fixed .rd-navbar-nav .rd-megamenu-header {
  margin: 0 !important;
  padding: 16px 18px 4px !important;
}

/* Linked headings should not add their own spacing */
.rd-navbar-fixed .rd-navbar-nav .rd-megamenu-header > a {
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep lists close to their headings */
.rd-navbar-fixed .rd-navbar-nav .rd-navbar-list {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Hide the added arrows on desktop */
.gsfa-mobile-arrow {
  display: none;
}

/* Remove the previous generated arrows */
.rd-navbar-fixed .rd-navbar-nav > li > a::after {
  content: none !important;
}

/* Draw the mobile arrows */
.rd-navbar-fixed .rd-navbar-nav > li > a > .gsfa-mobile-arrow {
  display: block !important;
  position: absolute;
  top: 50%;
  right: 22px;
  width: 9px;
  height: 9px;
  box-sizing: border-box;
  border-right: 2px solid #535457;
  border-bottom: 2px solid #535457;
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}

/* Point upward when expanded */
.rd-navbar-fixed .rd-navbar-nav > li.opened > a > .gsfa-mobile-arrow {
  transform: translateY(-30%) rotate(225deg);
}