/*!
 * This meant to be css corresponding to the \documentclass{article}
 *
 * Derived from:
 * LaTeX.css (https://latex.now.sh/)
 * Source: https://github.com/vincentdoerig/latex-css
 * Licensed under MIT (https://github.com/vincentdoerig/latex-css/blob/master/LICENSE)
*/

@font-face {
  font-family: 'Latin Modern';
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url('./fonts/LM-regular.woff2') format('woff2'),
    url('./fonts/LM-regular.woff') format('woff'),
    url('./fonts/LM-regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Latin Modern';
  font-style: italic;
  font-weight: normal;
  font-display: swap;
  src: url('./fonts/LM-italic.woff2') format('woff2'),
    url('./fonts/LM-italic.woff') format('woff'),
    url('./fonts/LM-italic.ttf') format('truetype');
}

@font-face {
  font-family: 'Latin Modern';
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url('./fonts/LM-bold.woff2') format('woff2'),
    url('./fonts/LM-bold.woff') format('woff'),
    url('./fonts/LM-bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Latin Modern';
  font-style: italic;
  font-weight: bold;
  font-display: swap;
  src: url('./fonts/LM-bold-italic.woff2') format('woff2'),
    url('./fonts/LM-bold-italic.woff') format('woff'),
    url('./fonts/LM-bold-italic.ttf') format('truetype');
}

@font-face {
  font-family: 'Libertinus';
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url('./fonts/Libertinus-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Libertinus';
  font-style: italic;
  font-weight: normal;
  font-display: swap;
  src: url('./fonts/Libertinus-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Libertinus';
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url('./fonts/Libertinus-bold.woff2') format('woff2');
}

@font-face {
  font-family: 'Libertinus';
  font-style: italic;
  font-weight: bold;
  font-display: swap;
  src: url('./fonts/Libertinus-bold-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Libertinus';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fonts/Libertinus-semibold.woff2') format('woff2');
}

@font-face {
  font-family: 'Libertinus';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('./fonts/Libertinus-semibold-italic.woff2') format('woff2');
}

body.libertinus {
  font-family: 'Libertinus', Georgia, Cambria, 'Times New Roman', Times, serif;
}


/* Indents paragraphs like in LaTeX documents*/
.indent-pars p {
  text-indent: var(--text-indent-size);
}

.indent-pars p.no-indent,
p.no-indent {
  text-indent: 0;
}

.indent-pars ol p,
.indent-pars ul p {
  text-indent: 0;
}

.indent-pars h2 + p,
.indent-pars h3 + p,
.indent-pars h4 + p {
  text-indent: 0;
}

/* --------------------------------- */
/* Begin article specific style here */
/* --------------------------------- */
article {
  font-family: 'Latin Modern', Georgia, Cambria, 'Times New Roman', Times, serif;
  line-height: 1.8;
  counter-reset: theorem definition sidenote-counter;
}

/* Justify and hyphenate all paragraphs */
article p {
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  margin-top: 1rem;
}


/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Heading typography */
article h1 {
  font-size: 2.5rem;
  line-height: 3.25rem;
  margin-bottom: 1.625rem;
  font-weight: bold;
}

article h2 {
  font-size: 1.7rem;
  line-height: 2rem;
  margin-top: 3rem;
  font-weight: bold;
}

article h3 {
  font-size: 1.4rem;
  margin-top: 2.5rem;
  font-weight: bold;
}

article h4 {
  font-size: 1.2rem;
  margin-top: 2rem;
  font-weight: bold;
}

article h5 {
  font-size: 1rem;
  margin-top: 1.8rem;
  font-weight: bold;
}

article h6 {
  font-size: 1rem;
  font-style: italic;
  font-weight: normal;
  margin-top: 2.5rem;
}

article h3,
article h4,
article h5,
article h6 {
  line-height: 1.625rem;
}

article h1 + h2 {
  margin-top: 1.625rem;
}

article h2 + h3,
article h3 + h4,
article h4 + h5 {
  margin-top: 0.8rem;
}

article h5 + h6 {
  margin-top: -0.8rem;
}

article h2,
article h3,
article h4,
article h5,
article h6 {
  margin-bottom: 0.8rem;
}

/* For subsequent CSS I haven't decided whether */
/* it should be article specific or not */
/* Probably lots should be but I haven't used these tags yet */

/* Styles for inline code or code snippets */
code,
pre,
kbd {
  font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
  font-size: 85%;
}
pre {
  padding: 1rem 1.4rem;
  max-width: 100%;
  overflow: auto;
  border-radius: 4px;
  background: var(--pre-bg-color);
}
pre code {
  font-size: 95%;
  position: relative;
}
kbd {
  background: var(--kbd-bg-color);
  border: 1px solid var(--kbd-border-color);
  border-radius: 2px;
  padding: 2px 4px;
  font-size: 75%;
}

/* Better tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: auto;
  max-width: 100%;
  border-top: 2.27px solid var(--table-border-color);
  border-bottom: 2.27px solid var(--table-border-color);
  /* display: block; */
  overflow-x: auto; /* does not work because element is not block */
  /* white-space: nowrap; */
  counter-increment: caption;
}
/* add bottom border on column table headings  */
table tr > th[scope='col'] {
  border-bottom: 1.36px solid var(--table-border-color);
}
/* add right border on row table headings  */
table tr > th[scope='row'] {
  border-right: 1.36px solid var(--table-border-color);
}
table > tbody > tr:first-child > td,
table > tbody > tr:first-child > th {
  border-top: 1.36px solid var(--table-border-color);
}
table > tbody > tr:last-child > td,
table > tbody > tr:last-child > th {
  border-bottom: 1.36px solid var(--table-border-color);
}

th,
td {
  text-align: left;
  padding: 0.5rem;
  line-height: 1.1;
}
/* Table caption */
caption {
  text-align: left;
  font-size: 0.923em;
  /* border-bottom: 2pt solid #000; */
  padding: 0 0.25em 0.25em;
  width: 100%;
  margin-left: 0;
}

caption::before {
  content: 'Table ' counter(caption) '. ';
  font-weight: bold;
}

/* allow scroll on the x-axis */
.scroll-wrapper {
  overflow-x: auto;
}

/* if a table is wrapped in a scroll wrapper,
  the table cells shouldn't wrap */
.scroll-wrapper > table td {
  white-space: nowrap;
}

/* Center align the title */
h1:first-child {
  text-align: center;
}

/* Nested ordered list for ToC */
nav ol {
  counter-reset: item;
  padding-left: 2rem;
}
nav li {
  display: block;
}
nav li:before {
  content: counters(item, '.') ' ';
  counter-increment: item;
  padding-right: 0.85rem;
}

/* Center definitions (most useful for display equations) */
dl dd {
  text-align: center;
}

/* Theorems, lemmas, proofs, definitions */
/* I have these handled differently as the output comes from pandoc. */
/* .theorem {
  counter-increment: theorem;
  display: block;
  margin: 12px 0;
  font-style: italic;
}
.theorem::before {
  content: 'Theorem ' counter(theorem) '. ';
  font-weight: bold;
  font-style: normal;
}

.lemma {
  counter-increment: theorem;
  display: block;
  margin: 12px 0;
  font-style: italic;
}
.lemma::before {
  content: 'Lemma ' counter(theorem) '. ';
  font-weight: bold;
  font-style: normal;
}

.proof {
  display: block;
  margin: 12px 0;
  font-style: normal;
  position: relative;
}
.proof::before {
  content: 'Proof. ' attr(title);
  font-style: italic;
}
.proof:after {
  content: '◾️';
  filter: var(--proof-symbol-filter);
  position: absolute;
  right: -12px;
  bottom: -2px;
}

.definition {
  counter-increment: definition;
  display: block;
  margin: 12px 0;
  font-style: normal;
}
.definition::before {
  content: 'Definition ' counter(definition) '. ';
  font-weight: bold;
  font-style: normal;
} */
/* No indent for first paragraph of theorems, lemmas, proofs */
article .theorem > p, article .lemma > p, article .corollary > p, article .proof > p {
  text-indent: 0;
}

/* Center align author name, use small caps and add vertical spacing  */
.author {
  margin: 0.85rem 0;
  font-variant-caps: small-caps;
  text-align: center;
}

/* Sidenotes */

.sidenote {
  font-size: 0.8rem;
  float: right;
  clear: right;
  width: 18vw;
  margin-right: -20vw;
  margin-bottom: 1em;
  text-indent: 0;
}

.sidenote.left {
  float: left;
  margin-left: -20vw;
  margin-bottom: 1em;
  text-indent: 0;
}

/* (WIP) add border when a sidenote is clicked on */
.sidenote:target {
  border: var(--sidenote-target-border-color) 1.5px solid;
  padding: 0 .5rem;
  scroll-margin-block-start: 10rem;
}

/* sidenote counter */
.sidenote-number {
  counter-increment: sidenote-counter;
}

.sidenote-number::after,
.sidenote::before {
  position: relative;
  vertical-align: baseline;
}

/* add number in main content */
.sidenote-number::after {
  content: counter(sidenote-counter);
  font-size: 0.7rem;
  top: -0.5rem;
  left: 0.1rem;
}

/* add number in front of the sidenote */
.sidenote-number ~ .sidenote::before {
  content: counter(sidenote-counter) ' ';
  font-size: 0.7rem;
  top: -0.5rem;
}

label.sidenote-toggle:not(.sidenote-number) {
  display: none;
}

/* sidenotes inside blockquotes are indented more */
blockquote .sidenote {
  margin-right: -24vw;
  width: 18vw;
}


label.sidenote-toggle {
  display: inline;
  cursor: pointer;
}

input.sidenote-toggle {
  display: none;
}

@media (max-width: 1050px) {
  label.sidenote-toggle:not(.sidenote-number) {
    display: inline;
  }
  .sidenote {
    display: none;
  }
  .sidenote-toggle:checked + .sidenote {
    display: block;
    margin: 0.5rem 1.25rem 1rem 0.5rem;
    float: left;
    left: 1rem;
    clear: both;
    width: 95%;
  }
  /* tweak indentation of sidenote inside a blockquote */
  blockquote .sidenote {
    margin-right: -25vw;
    width: 16vw;
  }
}

/* Make footnote text smaller and left align it (looks bad with long URLs) */
.footnotes p {
  text-align: left;
  line-height: 1.5;
  font-size: 85%;
  margin-bottom: 0.4rem;
}

/* Center title and paragraph */
.abstract,
.abstract p {
  text-align: center;
  margin-top: 0;
}
.abstract {
  margin: 2.25rem 0;
}
.abstract > h2 {
  font-size: 1rem;
  margin-bottom: -0.2rem;
}

/* Format the LaTeX symbol correctly (a higher up, e lower) */
.latex span:nth-child(1) {
  text-transform: uppercase;
  font-size: 0.75em;
  vertical-align: 0.28em;
  margin-left: -0.48em;
  margin-right: -0.15em;
  line-height: 1ex;
}

.latex span:nth-child(2) {
  text-transform: uppercase;
  vertical-align: -0.5ex;
  margin-left: -0.1667em;
  margin-right: -0.125em;
  line-height: 1ex;
}

/* put wide equations in a horizontal scroll box
.math.display {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
}
There's some bugs here.
Without overflow-y: hidden there are unwanted vertical scrollbars on all equations
with equation numbering. When clicking links to these it slightly changes
the scroll position.
Adding overflow-y: hidden gets rid of the vertical scrollbars, but there are still
problems because upon clicking links it seems to slightly move the equation vertically
without the option to scroll and correct this. */
.references {
  font-size: 0.9em;
}

.csl-entry {
  display: flex;
}

.csl-left-margin {
  margin-right: 1em;
}

