/* Site layer on top of css/bootstrap.min.css, which build.py generates from theme/yeti.min.css
   (the group's Bootswatch "Yeti" theme, v3.2.0) with its blue replaced by UChicago maroon #800000. */
:root { --surface: #ffffff; --ink-2: #666666; --accent: #800000; color-scheme: light; }
[hidden] { display: none !important; }
body { padding-top: 65px; background: #ffffff; color: #222222; }
.navbar-brand { font-weight: 600; }
.navbar-inverse .navbar-toggle { border-color: rgba(255,255,255,.6); }
.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #5c0000; }
.navbar-inverse .navbar-collapse { border-color: #5c0000; }
.navbar-collapse.in { display: block; }

/* home: header with the diffusion animation */
#banner { margin-top: 10px; }
#banner h1 { margin-top: 10px; }
.hero-fig { margin: 0; }
.hero-fig canvas { display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 10; cursor: pointer; border: 1px solid #dddddd; background: #ffffff; }
.hero-fig figcaption { padding-top: 6px; }
.gen-title { padding: 0; font-size: 16px; font-weight: 600; vertical-align: baseline; white-space: normal; text-align: left; }
.hero-fig figcaption p { margin-top: 4px; }

.section-h { border-bottom: 1px solid #dddddd; padding-bottom: 9px; margin: 30px 0 20px; }
/* card grids: strict equal columns, whatever the cards contain (Safari sizes flex items by image width) */
.row-flex { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 30px; margin-left: 0; margin-right: 0; }
@media (min-width: 768px) { .row-flex { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .row-flex { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.row-flex::before, .row-flex::after { display: none; }
.row-flex > [class*="col-"] { float: none; width: auto; min-width: 0; padding-left: 0; padding-right: 0; display: flex; }
.row-flex > .person { display: block; }
.row-flex > [class*="col-"] > .thumbnail { flex: 1 1 auto; width: 100%; min-width: 0; }

/* topic thumbnails */
.theme-card { display: block; color: #222222; text-decoration: none; transition: border-color .2s; }
.theme-card:hover, .theme-card:focus { text-decoration: none; color: #222222; border-color: #800000; }
.theme-card.is-live { border-color: #800000; box-shadow: 0 0 0 1px #800000; }
.thumb-fig { aspect-ratio: 16 / 10; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #ffffff; }
.thumb-fig { width: 100%; }
.thumb-fig img.topic-fig { width: 100%; height: 100%; object-fit: contain; }
.thumb-fig svg.topic-fig { width: 100%; height: 100%; }
.theme-card .caption h4 { color: #800000; margin-top: 4px; }
.theme-card:hover .caption h4 { text-decoration: underline; }

.news-list { padding-left: 18px; }
.news-list li { margin-bottom: 6px; }
.join { margin-top: 30px; }

/* emblem drawings */
.glyph { color: #666666; }
.glyph .gl { stroke: currentColor; fill: none; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.glyph .gs { stroke: #800000; fill: none; stroke-width: 1.5; stroke-linecap: round; }
.glyph .gaf { fill: #800000; }
.glyph .gdf { fill: currentColor; }
.glyph .gbox { fill: none; stroke: currentColor; stroke-width: .8; opacity: .55; }
.glyph .gacc-box { fill: none; stroke: #800000; stroke-width: 1; stroke-dasharray: 2 2; }
.glyph .gnode { fill: #ffffff; stroke: currentColor; stroke-width: 1.3; }
.glyph .gfaint { opacity: .35; }
.glyph .gfil { stroke-width: 1.1; opacity: .8; }

/* research page */
.topic-pills { margin-bottom: 10px; }
.topic-row { scroll-margin-top: 75px; }
.topic-row h2 small { display: block; margin-top: 6px; }
.topic-row .thumbnail { margin-top: 20px; }
.topic-row .thumbnail img, .topic-row .thumbnail svg { width: 100%; height: auto; display: block; }
.questions { padding-left: 18px; }
.questions li { margin-bottom: 6px; }

/* publications */
.pubs li { margin-bottom: 14px; }
.pub-title { font-weight: 600; }
.pubs .label { font-weight: normal; }
.filters { margin-bottom: 10px; }
.fchips { margin-top: 10px; }
.fchips .btn { margin: 0 2px 6px 0; }
.fchips .btn.active, .fchips .btn.active:hover, .fchips .btn.active:focus { color: #ffffff; background-color: #800000; border-color: #6b0000; box-shadow: none; }
.year-block h3 { border-bottom: 1px solid #dddddd; padding-bottom: 6px; }

/* people */
.pi { margin-bottom: 10px; }
.person h4 { margin-bottom: 2px; }
.person { margin-bottom: 15px; }
.news-year { scroll-margin-top: 75px; }
.year-pills { margin-bottom: 10px; }

/* topic pop-up */
dialog.theme-dlg { width: min(720px, calc(100% - 24px)); max-height: calc(100% - 40px); padding: 0; border: 1px solid rgba(0,0,0,.2); border-radius: 0; box-shadow: 0 5px 15px rgba(0,0,0,.5); overflow: auto; color: #222222; background: #ffffff; }
dialog.theme-dlg::backdrop { background: rgba(0,0,0,.5); }
.dlg-kicker { margin: 0; }
.dlg-glyph img, .dlg-glyph svg { display: block; width: 100%; height: auto; margin: 0 auto; }
.areas-list, .dlg-papers ol { padding-left: 18px; }
.areas-list li, .dlg-papers li { margin-bottom: 8px; }
.areas-list .area { display: block; font-weight: 600; }
.areas-list .q { display: block; font-style: italic; }
.areas-list .who { display: block; color: #777777; font-size: 12px; }
.dlg-papers .mono { display: block; color: #777777; font-size: 12px; }
.modal-footer .btn + .btn { margin-left: 5px; }

.site-footer { border-top: 1px solid #dddddd; margin-top: 40px; padding: 20px 0 30px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Yeti: the close button is white by default; author lines a little darker than .text-muted for legibility */
.theme-dlg .close { color: #222222; opacity: .5; font-size: 28px; }
.theme-dlg .close:hover, .theme-dlg .close:focus { opacity: .8; }
.pub .text-muted { color: #6f6f6f; }

/* Typography and chrome after the Engel group site: Inter, light maroon headings, maroon semibold links,
   dark-grey text, translucent maroon navbar, dark-grey footer. */
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .navbar, .btn, .label, .form-control, .lead, .tooltip, .popover {
  font-family: Inter, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
body { color: #4d4d4d; font-size: 15px; line-height: 1.6; }
h1, h2, h3, .h1, .h2, .h3 { color: #800000; font-weight: 300; }
h1, .h1 { letter-spacing: -1px; }
h2, h3, .h2, .h3 { letter-spacing: -.5px; }
h4, .h4 { font-weight: 400; color: #333333; }
h1 small, h2 small, h3 small { color: #777777; letter-spacing: 0; }
.lead { color: #404040; font-weight: 300; line-height: 1.6; }
body > .container a:not(.btn):not(.label):not(.thumbnail), .theme-dlg .modal-body a { font-weight: 600; }
.navbar-inverse { background-color: rgba(128, 0, 0, .95); border-color: transparent; }
.navbar-inverse .navbar-brand { font-weight: 600; letter-spacing: -.2px; }
.navbar-inverse .navbar-nav > li > a { color: #ffffff; font-weight: 500; font-size: 15px; letter-spacing: .5px; }
.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { background-color: rgba(0, 0, 0, .18); }
.theme-card .caption h4 { font-weight: 400; }
.site-footer { background: #4d4d4d; color: #ffffff; border-top: 0; margin-top: 50px; padding: 30px 0 40px; }
.site-footer .text-muted { color: rgba(255, 255, 255, .85); margin: 0; }
.site-footer a { color: #ffffff; font-weight: 600; }

/* topics with several figures: each figure with its caption */
.topic-figure { margin: 0 0 18px; }
.topic-figure .thumbnail { margin: 0 0 6px; }
.topic-row .topic-figure:first-child .thumbnail { margin-top: 20px; }
.topic-figure figcaption { line-height: 1.45; }
.dlg-glyph .topic-figure .thumbnail { border: 0; padding: 0; box-shadow: none; }
.dlg-glyph .topic-figure img { display: block; width: 100%; height: auto; margin: 0 auto; }
.dlg-glyph .thumbnail { border: 0; padding: 0; box-shadow: none; margin: 0 0 6px; }
svg.glyph { aspect-ratio: 16 / 10; }
.dlg-glyph img { max-height: 460px; object-fit: contain; }
.topic-team, .dlg-team { margin: 4px 0 12px; }
