:root>* {
  /* primary */
  --md-primary-fg-color: #2c2c2c;
  --md-primary-fg-color--light: #a8a8a8;
  --md-primary-fg-color--dark: #181818;
  /* accent */
  --md-accent-fg-color: #c50d0d;
  --md-accent-fg-color--light: #ff8f8f;
  --md-accent-fg-color--dark: #A30000;

  /* Style links */
  --md-typeset-a-color: var(--md-typeset-color);
}

/* Dark theme customisation */
[data-md-color-scheme="slate"] {
  --md-accent-fg-color--dark: #F25757;
}

.md-header {
  border-top: 5px solid #A30000;
}

body hr {
  border-top: 1px dotted var(--md-accent-fg-color--dark);
}

.badges {
  display: flex;
  justify-content: end;
  gap: 8px;
}

/* Cutesy quote styling */
[dir="ltr"] .md-typeset blockquote {
  font-family: Georgia, serif;
  font-size: 18px;
  font-style: italic;
  margin: 0.25em 0;
  padding: 0.25em 40px;
  line-height: 1.45;
  position: relative;
  color: var(--md-typeset-color);
  border-left: none;
}

[dir="ltr"] .md-typeset blockquote:before {
  display: block;
  content: "\201C";
  font-size: 80px;
  position: absolute;
  left: -10px;
  top: -20px;
  color: #7a7a7a;
}

[dir="ltr"] .md-typeset blockquote p:last-child {
  color: #999999;
  font-size: 14px;
  display: block;
  margin-top: 5px;
}

.md-typeset a {
  color: var(--md-accent-fg-color--dark);
}

/* Replacement for `body { background-attachment: fixed; }`, which
   has performance issues when scrolling on large displays. */
body::before {
  content: ' ';
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #f8f8f8;
  background: url(../img/grid.png) repeat-x;
  will-change: transform;
  z-index: -1;
}

a.md-nav__link.md-nav__link--active {
  font-weight: 700;
  color: var(--md-accent-fg-color--dark);
}
