/* Small adaptations to the official Academic Pages stylesheet. */
:root {
  --global-link-color: #24788d;
  --global-link-color-hover: #165466;
  --global-link-color-visited: #24788d;
}
html { scroll-padding-top: 6rem; }
body { padding-bottom: 0; display: flex; min-height: 100vh; flex-direction: column; }
a:focus-visible { outline: 2px solid #24788d; outline-offset: 4px; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: 0.5rem 1rem; background: white; }
.skip-link:focus { top: 0.5rem; }
.masthead__inner-wrap { padding-top: 1em; padding-bottom: 1em; }
.site-navigation { display: flex; align-items: center; gap: 3rem; }
.site-title { color: var(--global-masthead-link-color); font-weight: 700; white-space: nowrap; text-decoration: none; }
.site-navigation ul { display: flex; flex-wrap: wrap; gap: 1.6rem; list-style: none; padding: 0; margin: 0; }
.site-navigation .masthead__menu-item { display: block; padding: 0; }
.site-navigation a { text-decoration: none; }
.site-navigation li a { display: block; color: var(--global-masthead-link-color); padding: 0.15rem 0; border-bottom: 2px solid transparent; }
.site-navigation li a:hover, .site-navigation a[aria-current="page"] { border-color: var(--global-link-color); color: var(--global-link-color); }
#main { width: 100%; flex: 1; margin-bottom: 3rem; animation: none; }
.sidebar { position: static; height: auto; padding-top: 0; overflow: visible; }
.sidebar .author__content { display: block; padding: 0; }
.sidebar .author__name { margin: 0 0 0.6em; font-size: 1.1rem; }
.sidebar .author__bio { margin: 0 0 1.2rem; }
.profile-details { list-style: none; padding: 0; margin: 0 0 1rem; }
.profile-details li { margin-bottom: 0.75rem; }
.profile-links { display: flex; flex-direction: column; gap: 0.65rem; }
.profile-link { display: flex; align-items: center; gap: 0.5rem; color: var(--global-text-color); font-size: 0.7rem; text-decoration: none; overflow-wrap: anywhere; }
.profile-link:hover { text-decoration: underline; }
.profile-link svg { width: 1rem; height: 1rem; flex: none; }
.file-type { white-space: nowrap; font-size: 0.6rem; color: #626a70; }
.page__title { margin-bottom: 1.1rem; line-height: 1.2; }
.page__content > :first-child { margin-top: 0; }
.page__content h2 { margin-top: 1.6em; }
.page__content h3 { line-height: 1.35; }
.research-interests { padding-left: 1.2em; }
.opportunity { border-left: 3px solid #24788d; padding-left: 1em; margin-top: 1.5em !important; }
.pubs { padding: 0; list-style: none; }
.pubs > li { margin-bottom: 2rem; }
.year, .date { color: #626a70; font-size: 0.75rem; }
.pubs h3.title { margin: 0.35rem 0; }
.page__content .authors { margin-bottom: 0.3rem; font-size: 0.85rem; }
.page__content .venue { font-size: 0.8rem; }
.pub-links { display: flex; gap: 1rem; margin-top: 0.65rem; font-size: 0.75rem; }
.card + .card { margin-top: 2rem; }
.card-head h3 { margin: 0 0 0.4rem; }
.card .sub { margin: 0.65rem 0; font-size: 0.85rem; }
.card ul { padding-left: 1.15em; margin-top: 0.7rem; }
.card-links { font-size: 0.8rem; }
.teaching { margin-top: 2rem !important; }
.edu { list-style: none; padding: 0; }
.edu li { margin-bottom: 1.4rem; }
.edu p { margin-top: 0.35rem; font-size: 0.85rem; }
.page__footer { position: static; margin-top: auto; float: none; clear: both; }
.footer-inner { max-width: 1280px; padding: 1.5rem 1rem; margin: auto; }
.footer-inner p { margin: 0.4rem 0; font-size: 0.65rem; }
@media (min-width: 1024px) {
  #main { display: grid; grid-template-columns: 220px minmax(0, 800px); gap: 3rem; align-items: start; }
  #main::before, #main::after { display: none; }
  .page { float: none; width: auto; padding: 0; margin: 0; min-width: 0; }
  .sidebar { float: none; width: auto; margin: 0; }
  .sidebar { position: sticky; top: 6rem; }
}
@media (max-width: 1023px) {
  .sidebar, .page { float: none; width: 100%; max-width: none; padding-left: 0; padding-right: 0; }
  .sidebar { padding-bottom: 1.5rem; margin-bottom: 2rem; border-bottom: 1px solid var(--global-border-color); }
  .profile-links { flex-direction: row; flex-wrap: wrap; column-gap: 1.2rem; }
  .profile-details { display: flex; flex-wrap: wrap; gap: 0 2rem; }
  .profile-details br { display: none; }
}
@media (max-width: 640px) {
  body { padding-top: 0; }
  .masthead { position: static; }
  .site-navigation { align-items: flex-start; flex-direction: column; gap: 0.6rem; }
  .site-navigation ul { gap: 0.5rem 1.1rem; font-size: 0.85rem; }
  #main { margin-top: 1.5rem; }
  html { scroll-padding-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }
@media print {
  body { padding: 0; display: block; }
  .masthead, .sidebar, .page__footer, .skip-link { display: none; }
  #main, .page { width: 100%; margin: 0; padding: 0; float: none; }
  .pubs > li, .card, .edu li { break-inside: avoid; }
}
