/* Site top bar (src/_includes/topbar.html), matching the novatools.org header */
.nvtb{position:sticky;top:0;z-index:1000;background:#fff;padding:0 30px;font-family:'Open Sans',sans-serif;transition:box-shadow .2s;}
.nvtb.nvtb-scrolled{box-shadow:0 2px 5px rgba(0,0,0,.1);}
.nvtb-inner{display:flex;align-items:center;justify-content:space-between;height:69px;}
.nvtb-logo img{display:block;width:100px;height:auto;}
.nvtb ul{list-style:none;margin:0;padding:0;}
.nvtb a{text-decoration:none;}
.nvtb-arrow{width:8px;height:10.5px;fill:currentColor;flex:none;}
.nvtb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.nvtb button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
.nvtb-toggle,.nvtb-close,.nvtb-sub-toggle{display:none;}
html.nvtb-locked{overflow:hidden;}

/* Desktop: hover and keyboard dropdowns */
@media (min-width:960px){
  .nvtb-menu{display:flex;align-items:center;}
  .nvtb-menu > li{position:relative;display:flex;align-items:center;height:69px;padding:0 4px;}
  .nvtb-menu > li > a{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:3px;font-size:14px;font-weight:500;color:#0c0c0c;transition:color .2s,background .2s;}
  .nvtb-menu > li.nvtb-current > a{background:#ddd;color:#050505;}
  .nvtb-menu > li:hover > a,.nvtb-menu > li:focus-within > a{background:#2d2d2d;color:#f4f4f4;}
  .nvtb-sub{position:absolute;top:100%;left:4px;min-width:235px;background:#fff;box-shadow:0 2px 3px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s;}
  /* The menu sits at the right edge, so nested menus open to the left */
  .nvtb-sub .nvtb-sub{top:0;left:auto;right:100%;}
  .nvtb-sub .nvtb-arrow{transform:scaleX(-1);}
  .nvtb-has-sub:hover > .nvtb-sub,.nvtb-has-sub:focus-within > .nvtb-sub{opacity:1;visibility:visible;transform:none;}
  .nvtb-sub li{position:relative;}
  .nvtb-sub a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;font:300 14px/23.8px Arial,Helvetica,sans-serif;color:#151515;}
  .nvtb-sub li:hover > a,.nvtb-sub a:focus-visible{background:#2563e8;color:#fff;}
}

/* Mobile: slide-in drawer */
@media (max-width:959px){
  .nvtb{padding:0 20px;}
  .nvtb-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:-8px;}
  .nvtb-burger,.nvtb-burger::before,.nvtb-burger::after{display:block;width:22px;height:2px;background:#13233d;border-radius:2px;}
  .nvtb-burger{position:relative;}
  .nvtb-burger::before,.nvtb-burger::after{content:"";position:absolute;left:0;}
  .nvtb-burger::before{top:-7px;}
  .nvtb-burger::after{top:7px;}
  .nvtb-nav{display:none;position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.45);}
  .nvtb-open .nvtb-nav{display:block;}
  .nvtb-drawer{position:absolute;top:0;right:0;bottom:0;width:min(320px,82vw);overflow-y:auto;background:#2b2b2b;color:#ddd;animation:nvtb-in .25s ease;}
  @keyframes nvtb-in{from{transform:translateX(100%);}}
  .nvtb-close{display:block;position:relative;width:60px;height:60px;}
  .nvtb-close::before,.nvtb-close::after{content:"";position:absolute;left:20px;top:29px;width:20px;height:2px;background:#ddd;transform:rotate(45deg);}
  .nvtb-close::after{transform:rotate(-45deg);}
  .nvtb-menu{border-top:1px solid rgba(255,255,255,.08);}
  .nvtb-menu li{position:relative;border-bottom:1px solid rgba(255,255,255,.08);}
  .nvtb-menu a{display:block;padding:15px 60px 15px 20px;font-size:14px;color:#ddd;}
  .nvtb-menu a:hover{color:#fff;}
  .nvtb-arrow{display:none;}
  .nvtb-sub-toggle{display:block;position:absolute;top:0;right:0;width:54px;height:52px;}
  .nvtb-sub-toggle::after{content:"";position:absolute;left:22px;top:20px;width:7px;height:7px;border:solid #ddd;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .2s;}
  .nvtb-sub-open > .nvtb-sub-toggle::after{transform:translateY(4px) rotate(-135deg);}
  .nvtb-sub{display:none;background:rgba(0,0,0,.18);}
  .nvtb-sub-open > .nvtb-sub{display:block;}
  .nvtb-sub li:last-child{border-bottom:0;}
  .nvtb-sub a{padding-left:34px;}
  .nvtb-sub .nvtb-sub a{padding-left:48px;}
  .nvtb-sub .nvtb-sub .nvtb-sub a{padding-left:62px;}
}
