/* ==========================================================================
   ATHENA_SIDEBAR_UNIFIED_V110_CSS
   Universe-style sidebar visual standard
   ========================================================================== */

:root{
  --asu-width:300px;

  --asu-bg-1:#081d39;
  --asu-bg-2:#09264d;
  --asu-bg-3:#061b37;

  --asu-text:#f5f8fc;
  --asu-muted:#9fb0c6;
  --asu-dim:#758aa5;

  --asu-gold:#f3c35d;
  --asu-gold2:#e4ae2f;

  --asu-hover:rgba(255,255,255,.055);

  --asu-active-a:rgba(37,78,124,.72);
  --asu-active-b:rgba(19,53,91,.65);

  --asu-line:rgba(255,255,255,.11);

  --asu-row:42px;

  --asu-font:13px;
  --asu-heading:9px;

  --asu-icon:18px;

  --asu-radius:8px;
}

/* ==========================================================================
   CANONICAL SIDEBAR SURFACE
   ========================================================================== */

.athena-unified-sidebar{
  background:
    linear-gradient(
      180deg,
      var(--asu-bg-1) 0%,
      var(--asu-bg-2) 52%,
      var(--asu-bg-3) 100%
    ) !important;

  color:var(--asu-text) !important;

  overflow:hidden !important;
}

/* ==========================================================================
   HEADER
   ========================================================================== */

.athena-unified-header{
  flex:0 0 auto;

  min-height:78px;

  display:flex;
  align-items:center;

  gap:12px;

  padding:14px 19px;

  border-bottom:1px solid var(--asu-line);

  background:
    linear-gradient(
      180deg,
      rgba(2,24,50,.38),
      rgba(2,24,50,0)
    );
}

.athena-unified-header-icon{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  color:var(--asu-gold);

  font-size:27px;

  flex:0 0 34px;
}

.athena-unified-header-icon svg{
  width:30px;
  height:30px;

  stroke:currentColor;
}

.athena-unified-header-copy{
  min-width:0;
}

.athena-unified-header-title{
  display:block;

  color:#f6cf68;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:23px;
  font-weight:600;

  line-height:1.05;
  letter-spacing:.03em;
}

.athena-unified-header-subtitle{
  display:block;

  margin-top:4px;

  color:#9faec2;

  font-size:9.5px;
  line-height:1.2;

  white-space:nowrap;
}

/* ==========================================================================
   RETURN / CONTEXT BUTTON
   ========================================================================== */

.athena-unified-return{
  flex:0 0 auto;

  min-height:42px;

  display:flex;
  align-items:center;

  margin:13px 12px 8px;
  padding:0 12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;

  color:#bdcadd;
  background:rgba(255,255,255,.015);

  font-size:12px;

  text-decoration:none;
}

.athena-unified-return:hover{
  color:#fff;
  background:rgba(255,255,255,.05);
}

/* ==========================================================================
   SCROLL HOST
   ========================================================================== */

.athena-unified-scroll{
  flex:1 1 auto;

  min-height:0;

  overflow-y:auto !important;
  overflow-x:hidden !important;

  overscroll-behavior:contain;

  scrollbar-width:thin;

  scrollbar-color:
    rgba(255,255,255,.26)
    transparent;
}

.athena-unified-scroll::-webkit-scrollbar{
  width:5px;
}

.athena-unified-scroll::-webkit-scrollbar-track{
  background:transparent;
}

.athena-unified-scroll::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.24);
  border-radius:999px;
}

.athena-unified-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.38);
}

/* ==========================================================================
   SECTION HEADINGS
   ========================================================================== */

.athena-unified-category{
  min-height:26px;

  display:flex;
  align-items:flex-end;

  padding:
    9px
    25px
    5px;

  color:#8397b1;

  font-size:var(--asu-heading);
  font-weight:800;

  line-height:1;

  letter-spacing:.16em;

  text-transform:uppercase;
}

.athena-unified-category:first-child{
  padding-top:5px;
}

/* ==========================================================================
   MAIN ROWS
   ========================================================================== */

.athena32-navwrap,
.u-nav-section{
  margin:0 !important;
}

.athena32-nav,
.u-nav-link,
.athena-unified-item{
  position:relative;

  min-height:var(--asu-row) !important;
  height:var(--asu-row) !important;

  display:flex !important;
  align-items:center !important;

  gap:10px !important;

  margin:2px 9px !important;
  padding:0 15px !important;

  border:0 !important;
  border-radius:var(--asu-radius) !important;

  background:transparent !important;

  color:var(--asu-text) !important;

  font-size:var(--asu-font) !important;
  font-weight:500 !important;

  line-height:1.15 !important;

  text-decoration:none !important;

  transition:
    background .14s ease,
    color .14s ease !important;
}

.athena32-nav:hover,
.u-nav-link:hover,
.athena-unified-item:hover{
  background:var(--asu-hover) !important;
  color:#fff !important;
}

/* ==========================================================================
   ACTIVE
   ========================================================================== */

.athena32-nav.active,
.athena32-nav[aria-current="page"],
.u-nav-link.active,
.u-nav-link[aria-current="page"],
.athena-unified-item.active{
  background:
    linear-gradient(
      90deg,
      var(--asu-active-a),
      var(--asu-active-b)
    ) !important;

  color:#fff !important;
}

.athena32-nav.active::before,
.athena32-nav[aria-current="page"]::before,
.u-nav-link.active::before,
.u-nav-link[aria-current="page"]::before,
.athena-unified-item.active::before{
  content:"";

  position:absolute;

  left:-9px;
  top:3px;
  bottom:3px;

  width:4px;

  border-radius:
    0
    4px
    4px
    0;

  background:var(--asu-gold) !important;
}

/* ==========================================================================
   LABELS
   ========================================================================== */

.athena32-label,
.u-nav-link > span:last-child,
.athena-unified-label{
  min-width:0;

  overflow:hidden;

  text-overflow:ellipsis;

  white-space:nowrap;

  color:inherit;

  font-size:var(--asu-font) !important;

  font-weight:500 !important;

  line-height:1.15 !important;

  letter-spacing:0 !important;
}

/* ==========================================================================
   ICONS
   ========================================================================== */

.athena32-icon,
.u-nav-icon,
.athena-unified-icon{
  width:24px !important;
  min-width:24px !important;
  height:24px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  color:#edf3fa !important;

  font-size:var(--asu-icon) !important;

  line-height:1 !important;
}

.athena32-icon svg,
.u-nav-icon svg,
.athena-unified-icon svg{
  width:var(--asu-icon) !important;
  height:var(--asu-icon) !important;

  stroke:currentColor;
}

.athena32-nav.active .athena32-icon,
.athena32-nav[aria-current="page"] .athena32-icon,
.u-nav-link.active .u-nav-icon{
  color:var(--asu-gold) !important;
}

/* ==========================================================================
   DIVIDERS
   ========================================================================== */

.athena32-separator,
.athena-unified-divider{
  height:1px !important;

  margin:8px 18px !important;

  background:var(--asu-line) !important;

  border:0 !important;
}

/* ==========================================================================
   UNIVERSE EXISTING STRUCTURE
   ========================================================================== */

.u-sidebar{
  background:
    linear-gradient(
      180deg,
      var(--asu-bg-1),
      var(--asu-bg-2) 54%,
      var(--asu-bg-3)
    ) !important;
}

.u-brand{
  min-height:78px !important;
  height:78px !important;

  padding:14px 19px !important;

  border-bottom:1px solid var(--asu-line) !important;
}

.u-brand-copy strong{
  color:#f6cf68 !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size:23px !important;
}

.u-brand-copy span{
  margin-top:4px !important;

  color:#9faec2 !important;

  font-size:9.5px !important;
}

.u-home-return{
  min-height:42px !important;

  margin:13px 12px 8px !important;

  padding:0 12px !important;

  border-radius:9px !important;

  font-size:12px !important;
}

.u-nav-heading{
  min-height:26px !important;

  display:flex !important;

  align-items:flex-end !important;

  padding:
    9px
    16px
    5px !important;

  color:#8397b1 !important;

  font-size:var(--asu-heading) !important;

  font-weight:800 !important;

  letter-spacing:.16em !important;

  line-height:1 !important;
}

/* ==========================================================================
   FLYOUT / SUBMENUS
   ========================================================================== */

.sidebar-menu{
  padding:7px 0 !important;

  max-height:min(72vh,640px) !important;

  overflow-y:auto !important;

  border:
    1px
    solid
    #dce4ee !important;

  border-radius:10px !important;

  background:#fff !important;

  box-shadow:
    0 16px 38px
    rgba(12,32,58,.18) !important;

  scrollbar-width:thin !important;
}

.sidebar-menu h4{
  min-height:27px !important;

  display:flex !important;
  align-items:center !important;

  margin:0 !important;

  padding:7px 16px 5px !important;

  color:#7586a0 !important;

  font-size:9px !important;
  font-weight:800 !important;

  letter-spacing:.15em !important;

  line-height:1 !important;

  text-transform:uppercase !important;
}

.menu-link{
  min-height:34px !important;

  display:flex !important;

  align-items:center !important;

  gap:9px !important;

  padding:6px 15px !important;

  color:#173759 !important;

  font-size:12px !important;

  font-weight:500 !important;
}

.menu-link:hover{
  background:#f2f6fb !important;
}

.menu-link .mini{
  width:20px !important;
  min-width:20px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  color:#315c9f !important;

  font-size:15px !important;
}

.menu-link small{
  display:block;

  margin-top:2px !important;

  color:#8493a8 !important;

  font-size:10px !important;

  line-height:1.25 !important;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.athena-unified-footer{
  flex:0 0 auto;

  padding:7px 9px 10px;

  border-top:1px solid var(--asu-line);

  background:
    rgba(2,22,47,.20);
}

.athena-unified-footer-item{
  min-height:38px;

  display:flex;
  align-items:center;

  gap:10px;

  padding:0 12px;

  border-radius:8px;

  color:#aebdd0;

  font-size:12px;

  text-decoration:none;
}

.athena-unified-footer-item:hover{
  color:#fff;

  background:rgba(255,255,255,.05);
}

/* ==========================================================================
   TOOLTIP
   ========================================================================== */

.athena32-tip strong{
  font-size:12px !important;
}

.athena32-tip span{
  font-size:10.5px !important;
}

.athena32-tip p{
  font-size:10.5px !important;
  line-height:1.35 !important;
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media(max-width:1050px) and (min-width:721px){

  .athena32-nav,
  .u-nav-link{
    min-height:38px !important;
    height:38px !important;
  }

  .athena32-label,
  .u-nav-link > span:last-child{
    font-size:12px !important;
  }

}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media(max-width:720px){

  .athena-unified-header{
    min-height:67px;

    padding:
      11px
      14px;
  }

  .athena-unified-header-title{
    font-size:20px;
  }

  .athena32-nav,
  .u-nav-link{
    min-height:40px !important;
    height:40px !important;

    margin:
      2px
      7px !important;
  }

  .athena-unified-category{
    padding-left:20px;
  }

}
