/* Status words (`in press`, `open access`) never break mid-phrase. */

code { display: inline-block; white-space: nowrap; }

/* Profile block at the top of the docked sidebar. */

.profile {
  padding: 0.5rem 0.25rem 1rem;
  border-bottom: 1px solid rgba(128, 128, 128, 0.25);
  margin-bottom: 0.5rem;
}

.profile .portrait {
  display: none;
  width: 9rem;
  height: 9rem;
  margin: 0.25rem auto 1rem;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
}

.profile .profile-name {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.35rem;
}

.profile .profile-role {
  font-size: 0.85rem;
  line-height: 1.45;
  opacity: 0.75;
  margin: 0;
}

/* Sidebar links: icon and label on one line, no wrapping. */

.sidebar-item .sidebar-link { white-space: nowrap; }
.sidebar-item .sidebar-link .bi { margin-right: 0.35rem; }
#quarto-sidebar .sidebar-divider { margin: 1.4rem 0 1.25rem; }

/* Heading rhythm in the body. */

#title-block-header { margin-bottom: 2.25rem; }
h2 { font-size: 1.5rem; margin-top: 2.5rem; padding-bottom: 0.4rem; }
h3 { font-size: 1.05rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; opacity: 0.7; margin-top: 1.75rem; margin-bottom: 1rem; }
p { line-height: 1.6; }

/* Sidebar order without a navbar: name and toggle, role, page links, search. */

#quarto-sidebar {
  flex-direction: column;
  padding: 1.25rem 1rem 1.5rem;
}

/* Desktop: docked, content-height. Phones: Bootstrap collapse stays in charge. */

@media (min-width: 992px) {
  #quarto-sidebar {
    display: flex;
    height: auto !important;
    max-height: calc(100vh - 2rem) !important;
    align-self: start;
  }
}
@media (max-width: 991.98px) {
  #quarto-sidebar.collapse:not(.show) { display: none; }
  #quarto-sidebar.show { display: flex; }
}
#quarto-sidebar > .sidebar-header { order: 1; }
#quarto-sidebar > .quarto-sidebar-header { order: 2; }
#quarto-sidebar > .sidebar-menu-container { order: 3; }
#quarto-sidebar > .flex-shrink-0 { order: 4; margin-top: 1.75rem; }
#quarto-sidebar > .quarto-sidebar-footer { order: 5; margin-top: 0.75rem; }
#quarto-sidebar .sidebar-tools-main { display: none; }
#quarto-sidebar .sidebar-search input { font-size: 0.85rem; }

#quarto-sidebar .sidebar-title { font-size: 1.25rem; font-weight: 600; }
#quarto-sidebar .sidebar-title .sidebar-tools-main { margin-left: 0.75rem; }
.profile { padding-top: 0; border-bottom: none; margin-bottom: 0.25rem; }
.profile .profile-role { margin-top: 0.25rem; }

/* Sun/moon theme switch in the sidebar footer. */

.theme-switch .theme-toggle {
  font-size: 0.85rem;
  opacity: 0.7;
  text-decoration: none;
}
.theme-switch .theme-toggle:hover { opacity: 1; }
.theme-switch .bi { margin-right: 0.35rem; }
body.quarto-light .theme-switch .to-light { display: none; }
body.quarto-dark .theme-switch .to-dark { display: none; }

/* Always reserve the scrollbar so short and long pages line up. */

html { overflow-y: scroll; }

/* Page links read as navigation; contact links below the divider are quieter. */

#quarto-sidebar .sidebar-menu-container > ul > li.sidebar-item .sidebar-link {
  font-size: 1.05rem;
  font-weight: 600;
  padding: 0.3rem 0;
}

#quarto-sidebar .sidebar-menu-container > ul > li.px-0 ~ li.sidebar-item .sidebar-link {
  font-size: 0.9rem;
  font-weight: 400;
  opacity: 0.8;
  padding: 0.15rem 0;
}

#quarto-sidebar .sidebar-menu-container > ul > li.px-0 ~ li.sidebar-item .sidebar-link:hover { opacity: 1; }
