/* Nerfies / Academic-Project-Page-Template look on Bulma 0.9.1. Typography follows the Voost page:
   Noto Sans body at Bulma's default size, Google Sans for the title block, Bulma .title headings. */

body {
  font-family: 'Noto Sans', sans-serif;
}

.container {
  max-width: 1120px !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.text-column {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.content p { line-height: 1.6; }

/* ---- title block (as in Voost) ---- */
.hero-body { padding: 1.8rem 1.5rem 0.2rem; }

.publication-title,
.publication-authors { font-family: 'Google Sans', sans-serif; }

.publication-title { margin-bottom: 0.7rem; }
.title.is-3.publication-title { line-height: 1.3; }
.title.is-4.publication-title { margin-bottom: 0.7rem; }

.publication-authors a { color: hsl(204, 86%, 53%) !important; }
.publication-authors a:hover { text-decoration: underline; }
.publication-affiliations { margin-top: 0.45rem; line-height: 1.4; }
.affiliation { display: block; }

.author-block { display: inline-block; margin: 0 0.3rem; }

.underline { text-decoration: underline; text-underline-offset: 0.12em; text-decoration-thickness: 0.07em; }

.publication-links { margin-top: 0.7rem; }
.link-block a,
.link-block .button { margin-top: 5px; margin-bottom: 5px; }
.button[disabled] { opacity: 0.5; cursor: default; }

/* ---- sections ---- */
.section { padding: 2.4rem 1.5rem; }
.first-figure { padding-top: 1.6rem; padding-bottom: 0.4rem; }
.tldr-section { padding-top: 1.2rem; padding-bottom: 0.4rem; }
.teaser-section { padding-top: 1.4rem; padding-bottom: 0.6rem; }

.title.subsection { margin-top: 3rem; margin-bottom: 1rem; }

.box.tldr {
  max-width: 880px;
  margin: 0 auto;
  background: #f5f5f5;
}

/* ---- figures ---- */
.fig { margin: 1.6rem auto; text-align: center; }
.fig.top { margin-top: 0; max-width: 1000px; }
.fig img { display: block; margin: 0 auto; max-width: 100%; height: auto; }
.fig.narrow { max-width: 720px; }
.fig a { cursor: zoom-in; }
.fig figcaption {
  font-size: 0.88rem;
  line-height: 1.5;
  text-align: center;
  margin: 0.6rem auto 0;
}

/* ---- result tables (plain rules, like the paper) ---- */
.table-wrap { overflow-x: auto; margin: 1.4rem auto 0.3rem; text-align: center; }

table.results {
  border-collapse: collapse;
  margin: 0 auto;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #363636;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
table.results th,
table.results td { padding: 0.18rem 0.5rem; text-align: center; border: 0; background: none; }
table.results th { font-weight: 600; }
table.results td:first-child,
table.results th:first-child { text-align: left; }
table.results thead tr:first-child th { border-top: 2px solid #363636; padding-top: 0.35rem; }
table.results thead tr:last-child th { border-bottom: 1px solid #363636; padding-bottom: 0.3rem; }
table.results thead th.rule { box-shadow: inset 0 -1px 0 #999; }
table.results tbody tr:last-child td { border-bottom: 2px solid #363636; padding-bottom: 0.35rem; }
table.results tr.grp td {
  font-weight: 600;
  font-size: 0.78rem;
  color: #555;
  text-align: left;
  padding-top: 0.5rem;
}
table.results tr.grp:first-child td { padding-top: 0.25rem; }
table.results tr.ours td { background: #f4f4f4; }
table.results td.best { font-weight: 700; }
table.results td.second { text-decoration: underline; text-underline-offset: 0.18em; }
table.results .sub { color: #777; font-weight: 400; }

.table-note {
  font-size: 0.85rem;
  line-height: 1.5;
  text-align: center;
  max-width: 900px;
  margin: 0.4rem auto 0;
}

/* ---- code blocks: light, GitHub-like colors ---- */
.code-block {
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  background: #f6f8fa;
  overflow: hidden;
}
.code-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3rem 0.5rem 0.3rem 0.9rem;
  background: #eef1f4;
  border-bottom: 1px solid #e1e4e8;
  font-family: 'Google Sans', sans-serif;
  font-size: 0.78rem;
  color: #6a737d;
}
button.copy {
  font: inherit;
  font-family: 'Google Sans', sans-serif;
  font-size: 0.78rem;
  color: #586069;
  background: #fff;
  border: 1px solid #d1d5da;
  border-radius: 4px;
  padding: 0.1rem 0.6rem;
  cursor: pointer;
}
button.copy:hover { background: #f3f4f6; }
.plain-wrap { position: relative; }
.plain-wrap .copy { position: absolute; top: 0.5rem; right: 0.6rem; }
.code-block pre,
.content .code-block pre {
  margin: 0;
  padding: 0.9rem 1.1rem;
  background: transparent;
  color: #24292e;
  font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.84rem;
  line-height: 1.6;
  white-space: pre;
  overflow-x: auto;
}
.code-block code { background: none; padding: 0; color: inherit; font-size: inherit; }
.code-block .kw  { color: #d73a49; }
.code-block .st  { color: #032f62; }
.code-block .cm  { color: #6a737d; }
.code-block .fn  { color: #6f42c1; }
.code-block .num { color: #005cc5; }
.code-block .key { color: #005cc5; }

pre.plain {
  background: #f5f5f5;
  color: #4a4a4a;
  padding: 1rem 1.2rem;
  font-size: 0.85rem;
  line-height: 1.5;
  white-space: pre;
  overflow-x: auto;
}
pre.plain code { background: none; padding: 0; color: inherit; font-size: inherit; }

.footer { padding: 2rem 1.5rem 2.5rem; background: none; }

@media screen and (max-width: 768px) {
  .hero-body { padding-top: 1.6rem; }
  .title.is-3.publication-title { font-size: 1.5rem; }
  .title.is-4.publication-title { font-size: 1.2rem; }
  .publication-authors.is-size-5 { font-size: 1.02rem !important; }
  .publication-authors.is-size-6 { font-size: 0.92rem !important; }
  .section { padding: 1.8rem 1rem; }
  .author-block { margin: 0 0.15rem; }
}
