@import url(https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,500;0,600;1,400&display=swap);

/* Navbar */
.navbar { background: #fff; padding-top: 1rem; padding-bottom: .5rem; }
.navbar .navbar-brand { color: #1a1a1a; font-weight: 600; }
.navbar a { color: #555; }
.navbar a:hover { color: #00698f; }
.navbar-nav .nav-link.active { color: #1a1a1a; }
.navbar .bi { font-size: .95rem; }

/* Type */
body { font-family: 'Source Sans 3', sans-serif; font-weight: 400; font-size: 17px; color: #1a1a1a; line-height: 1.6; }
strong { font-weight: 600; }
h1, h2, h3 { font-family: 'Source Sans 3', sans-serif; font-weight: 600; color: #1a1a1a; }
h3 { font-size: 1.05rem; margin-top: 2.25rem; }
h2 { font-size: 1.1rem; margin-top: 2.75rem; margin-bottom: 1.25rem; border: none; }
.quarto-title h1.title { font-size: 1.35rem; font-weight: 600; margin-bottom: 1.5rem; }
a { color: #00698f; text-decoration: none; }
a:hover { text-decoration: underline; }

/* Layout */
#quarto-content main.content { max-width: 46rem; }
.headshot img { width: 100%; max-width: 16rem; display: block; margin-left: auto; }
.headshot figcaption { display: none; }

/* Papers */
.feat { margin-bottom: 1.1rem; line-height: 1.45; }
.ftitle { font-size: 1rem; font-weight: 500; }
.affil { color: #6b6b6b; font-size: .85rem; margin: -.25rem 0 1.5rem; }
.affil a { color: #00698f; }
.paper { margin-bottom: 2.25rem; }
.ptitle { font-size: 1.1rem; font-weight: 500; }
.meta { color: #555; font-size: .92rem; }
.links { color: #555; font-size: .9rem; margin-top: .15rem; }
.footnote { margin-top: 2rem; font-size: .85rem; }
sup { font-size: .7em; }

/* Archived course pages */
.archive-note { color: #555; font-size: .92rem; margin-bottom: 1.75rem; }
ul.papers { list-style: none; padding-left: 0; }

/* Footer */
.nav-footer { color: #555; font-size: .85rem; line-height: 1.6; text-align: center; }

/* Mobile: stack the homepage columns, circular headshot on top */
@media (max-width: 767px) {
  div.columns { display: flex !important; flex-direction: column; }
  .columns .column { display: block; width: 100% !important; }
  .columns .column.headshot { order: -1; }
  .headshot img { width: 9rem; height: 9rem; max-width: none; object-fit: cover; object-position: top; border-radius: 50%; margin: .5rem auto 1.75rem; }
  body { font-size: 16px; }
  .feat { margin-bottom: 1.4rem; }
  .quarto-title h1.title { text-align: center; }
}
