/* Shared navigation for institute pages, documents and private entrances. */
body[data-rpi-page] > :is(.rpi-top,.rpi-interior-nav) {
  --rpi-ink:#182623; --rpi-line:#c4d4cc; --rpi-paper:#fafcf9;
  color:var(--rpi-ink);
}
body[data-rpi-page] > .rpi-top { background:#e9ffe9; border-bottom-color:#c4d4cc; }
body[data-rpi-page] > .rpi-interior-nav { background:#f0fbf1; border-bottom-color:#c4d4cc; z-index:60; }
body[data-rpi-page] .rpi-interior-nav > .rpi-container { gap:.5rem; padding-block:.7rem; }
body[data-rpi-page] .rpi-site-nav .rpi-nav-group {
  position:relative; margin:0; padding:0; border:0; background:none;
  color:#182623; border-radius:0; box-shadow:none; min-width:0;
}
body[data-rpi-page] .rpi-site-nav .rpi-nav-group > summary,
body[data-rpi-page] .rpi-interior-nav > .rpi-container > a {
  display:flex; align-items:center; gap:.65rem; min-height:44px; box-sizing:border-box;
  margin:0; padding:.55rem 1rem; color:#182623; border:1px solid transparent;
  background:none; font:400 .85rem/1.5 var(--rpi-sans,sans-serif);
  letter-spacing:normal; text-transform:none; text-decoration:none; list-style:none; cursor:pointer;
}
body[data-rpi-page] .rpi-site-nav .rpi-nav-group > summary::-webkit-details-marker { display:none; }
body[data-rpi-page] .rpi-site-nav .rpi-nav-group > summary::after { content:none; }
body[data-rpi-page] .rpi-site-nav .rpi-nav-group > summary:hover,
body[data-rpi-page] .rpi-interior-nav > .rpi-container > a:hover { background:#e6f7ff; border-color:#96aaa4; }
body[data-rpi-page] .rpi-site-nav .rpi-nav-group.has-current > summary,
body[data-rpi-page] .rpi-interior-nav > .rpi-container > a[aria-current] { background:#eae7fa; border-color:#a9a5bc; }
body[data-rpi-page] .rpi-site-nav .rpi-nav-group[open] > summary .rpi-chevron { transform:rotate(180deg); }
body[data-rpi-page] .rpi-site-nav .rpi-nav-links {
  position:absolute; z-index:65; top:calc(100% + .65rem); left:0;
  width:18rem; max-width:calc(100vw - 2.5rem); box-sizing:border-box;
  list-style:none; padding:.5rem; margin:0; border:1px solid #c4d4cc;
  background:#fafcf9; box-shadow:0 .5rem 1.5rem #171c2714;
}
body[data-rpi-page] .rpi-site-nav .rpi-nav-links li { margin:0; padding:0; border:0; list-style:none; }
body[data-rpi-page] .rpi-site-nav .rpi-nav-links a {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  box-sizing:border-box; min-height:44px; width:100%;
  padding:.75rem; margin:0; border:0; color:#182623;
  font:400 .85rem/1.5 var(--rpi-sans,sans-serif); letter-spacing:normal;
  text-transform:none; text-decoration:none; white-space:normal;
}
body[data-rpi-page] .rpi-site-nav .rpi-nav-links a:hover { background:#e6f7ff; text-decoration:underline; }
body[data-rpi-page] .rpi-site-nav .rpi-nav-links a[aria-current] { background:#eae7fa; }
body[data-rpi-page] .rpi-site-nav a.rpi-collaborate-link {
  display:flex; align-items:center; justify-content:center; gap:.7rem;
  margin-left:auto; border:1px solid #9cb9ab; text-transform:none;
}
body[data-rpi-page] .rpi-site-nav :is(a,summary):focus-visible,
body[data-rpi-page] .rpi-menu-toggle:focus-visible { outline:2px solid #405f51; outline-offset:2px; }
.rpi-site-nav .rpi-lock { flex:none; width:1rem; height:1rem; opacity:.7; }
.rpi-site-nav .rpi-chevron { flex:none; width:.75rem; height:.75rem; }
body[data-rpi-page="publications"] > .wrap,
body[data-rpi-page="jonathan-washburn"] > .wrap { padding-top:2.5rem; }
#collaborate { scroll-margin-top:7rem; }
.rpi-visually-hidden {
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}
.rpi-menu-toggle { display:none; }
body[data-rpi-document] .rpi-document-nav > .rpi-mobile-panel { display:contents; }
@media(max-width:960px) {
  /* Native details still work when JavaScript is unavailable. */
  body[data-rpi-page] .rpi-interior-nav > .rpi-container { align-items:stretch; flex-direction:column; }
  body[data-rpi-page] .rpi-site-nav .rpi-nav-links {
    position:static; width:auto; max-width:none; margin:0 0 .5rem .75rem;
    border:0; border-left:1px solid #a6bdb0; box-shadow:none; background:transparent;
  }
  body[data-rpi-page] .rpi-site-nav a.rpi-collaborate-link { margin-left:0; }
  body[data-rpi-document]:not(.rpi-mobile-ready) .rpi-document-nav { flex-direction:column; align-items:stretch; }
  body.rpi-mobile-ready .rpi-mobile-header {
    position:sticky; top:0; z-index:70; background:#e9ffe9; border-bottom:1px solid #c4d4cc;
  }
  body.rpi-mobile-ready .rpi-top > .rpi-container {
    display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between;
    gap:1rem; min-height:76px; padding:12px 20px; box-sizing:border-box;
    width:100%; max-width:none; margin:0;
  }
  body.rpi-mobile-ready .rpi-top .rpi-brand { font-size:.85rem; line-height:1.15; flex-shrink:1; }
  body.rpi-mobile-ready .rpi-top .rpi-utility { display:none; }
  body.rpi-mobile-ready .rpi-menu-toggle {
    display:inline-flex; flex:none; align-items:center; justify-content:center; gap:12px;
    width:auto; min-height:44px; min-width:96px; margin:0; padding:10px 12px; box-sizing:border-box;
    border:1px solid #8ca89a; border-radius:0; background:transparent; color:#182623;
    font:500 14px/1.4 var(--rpi-sans,sans-serif); letter-spacing:normal;
    text-transform:none; box-shadow:none; cursor:pointer;
  }
  body.rpi-mobile-ready .rpi-menu-toggle:hover { background:#dcf5de; }
  .rpi-menu-icon { position:relative; width:16px; height:14px; flex:none; }
  .rpi-menu-icon::before,.rpi-menu-icon::after { content:""; position:absolute; left:0; width:16px; height:1.5px; background:currentColor; }
  .rpi-menu-icon::before { top:4px; }.rpi-menu-icon::after { top:10px; }
  [aria-expanded="true"] .rpi-menu-icon::before { top:7px; transform:rotate(45deg); }
  [aria-expanded="true"] .rpi-menu-icon::after { top:7px; transform:rotate(-45deg); }
  body.rpi-mobile-ready > .rpi-mobile-panel,
  body.rpi-mobile-ready .rpi-document-nav > .rpi-mobile-panel {
    display:none; position:fixed; top:var(--rpi-mobile-header-height,76px); left:0; right:0;
    width:auto; max-width:none!important; margin:0!important; padding:0!important;
    max-height:calc(100vh - var(--rpi-mobile-header-height,76px));
    max-height:calc(100dvh - var(--rpi-mobile-header-height,76px));
    overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box;
    z-index:65; background:#f4fcf5; border:0; border-bottom:1px solid #a6bdb0;
    box-shadow:0 14px 22px #18262314;
  }
  body.rpi-mobile-ready > .rpi-mobile-panel.rpi-menu-open,
  body.rpi-mobile-ready .rpi-document-nav > .rpi-mobile-panel.rpi-menu-open { display:block; }
  body.rpi-mobile-ready .rpi-mobile-panel > .rpi-container,
  body.rpi-mobile-ready .rpi-document-nav > .rpi-mobile-panel.rpi-menu-open {
    display:flex; flex-direction:column; align-items:stretch; gap:4px;
    padding:12px 20px 20px!important; width:100%; max-width:none; margin:0;
  }
  body.rpi-mobile-ready .rpi-mobile-panel > .rpi-container > a,
  body.rpi-mobile-ready .rpi-document-nav > .rpi-mobile-panel > a,
  body.rpi-mobile-ready .rpi-mobile-panel .rpi-nav-group > summary {
    display:flex; align-items:center; justify-content:space-between;
    width:100%; min-height:48px; margin:0; padding:12px; box-sizing:border-box;
    font:400 16px/1.4 var(--rpi-sans,sans-serif); text-transform:none;
    color:#182623; text-decoration:none; border:1px solid transparent; border-radius:0;
  }
  body.rpi-mobile-ready .rpi-mobile-panel .rpi-nav-group { width:100%; margin:0; }
  body.rpi-mobile-ready .rpi-mobile-panel .rpi-nav-links a { min-height:48px; padding:12px; font-size:15px; }
  body.rpi-mobile-ready .rpi-site-nav a.rpi-collaborate-link { border-color:#9cb9ab; margin-top:.5rem; }
  body.rpi-mobile-ready .rpi-document-nav {
    display:flex; flex-wrap:nowrap; justify-content:space-between; align-items:center;
    gap:12px; min-height:76px; margin:0; padding:12px 20px; box-sizing:border-box;
  }
  body.rpi-mobile-ready .rpi-document-nav .rpi-document-brand {
    flex-basis:auto; max-width:190px; margin:0; padding:0; min-height:44px;
    display:flex; align-items:center; white-space:normal; font-size:15px; line-height:1.2;
  }
}
@media print { .rpi-site-nav,.rpi-menu-toggle { display:none!important; } }
