/* SPDX-License-Identifier: LGPL-2.1-or-later */

@font-face {
    font-family: 'Heebo';
    src: url('fonts/heebo-regular.woff');
    font-weight: 400;
}

@font-face {
    font-family: 'Heebo';
    src: url('fonts/heebo-bold.woff');
    font-weight: 600;
}

/* Variables */
:root {
  --sd-brand-black: hsl(270, 19%, 13%); /* #201A26; */
  --sd-brand-green: hsl(145, 66%, 51%); /* #30D475; */
  --sd-brand-white: #fff;

  --sd-black: hsl(270, 7%, 13%);
  --sd-green: hsl(145, 66%, 43%); /* #26b763 */
  --sd-gray-extralight: hsl(30, 10%, 96%); /* #f6f5f4 */
  --sd-gray-light: hsl(30, 10%, 92%);
  --sd-gray: hsl(30, 10%, 85%);
  --sd-gray-dark: hsl(257, 23%, 20%);
  --sd-gray-extradark: hsl(257, 23%, 16%); /* #241f31 */
  --sd-blue: hsl(200, 66%, 55%);

  --sd-highlight-bg-light: rgba(255, 255, 255, 1);
  --sd-highlight-bg-dark: rgba(0, 0, 0, .6);
  --sd-highlight-inline-bg-light: rgba(0, 0, 0, 0.07);
  --sd-highlight-inline-bg-dark: rgba(255, 255, 255, 0.1);

  --sd-font-weight-normal: 400;
  --sd-font-weight-bold: 600;

  /* Light mode variables */
  --sd-foreground-color: var(--sd-gray-extradark);
  --sd-background-color: var(--sd-gray-extralight);
  --sd-logo-color: var(--sd-brand-black);
  --sd-link-color: var(--sd-green);
  --sd-small-color: var(--sd-gray-dark);
  --sd-highlight-bg: var(--sd-highlight-bg-light);
  --sd-highlight-inline-bg: var(--sd-highlight-inline-bg-light);
  --sd-link-font-weight: var(--sd-font-weight-bold);
  --sd-table-row-bg: var(--sd-highlight-inline-bg-light);
  --sd-table-row-hover-bg: var(--sd-gray);
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --sd-foreground-color: var(--sd-gray);
    --sd-background-color: var(--sd-black);
    --sd-logo-color: var(--sd-brand-white);
    --sd-link-color: var(--sd-brand-green);
    --sd-small-color: var(--sd-gray);
    --sd-highlight-bg: var(--sd-highlight-bg-dark);
    --sd-highlight-inline-bg: var(--sd-highlight-inline-bg-dark);
    --sd-link-font-weight: var(--sd-font-weight-normal);
    --sd-table-row-bg: var(--sd-highlight-inline-bg-dark);
    --sd-table-row-hover-bg: var(--sd-highlight-bg-dark);
  }
}

/* Typography */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html, body {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  font-family: "Heebo", sans-serif;
  font-weight: 400;
  line-height: 1.6;
}
body {
  color: var(--sd-foreground-color);
  background-color: var(--sd-background-color);
}
h1, h2, h3, h4, h5, h6 {
  margin: 1rem 0 0.625rem;
  font-weight: 600;
  line-height: 1.25;
}
h1 {
  text-align: center;
  font-size: 1.87rem;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 2rem;
}
@media screen and (min-width: 650px) {
  h1 {
    font-size: 2.375em;
  }
}
h2 {
  font-size: 1.25rem;
  margin-top: 2.5em;
}
h3 {
  font-size: 1.15rem;
}
a {
  font-weight: var(--sd-link-font-weight);
  text-decoration: none;
  color: var(--sd-link-color);
  cursor: pointer;
}
a:hover {
  text-decoration: underline;
}
b {
  font-weight: 600;
}
small {
  color: var(--sd-small-color);
}
hr {
  margin: 3rem auto 4rem;
  width: 40%;
  opacity: 40%;
}

/* Layout */
.container > * {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.container > table {
  max-width: 1600px;
}

.container > h1 {
  max-width: 530px;
}

/* Tables */
table {
  width: auto !important;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 2em;
  margin-bottom: 3em;
  overflow-x: auto;
  display: block; /* required for overflow-x auto on tables */
}
@media screen and (min-width: 768px) {
  table {
    display: table;
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
  }
}

thead tr,
tbody:first-child tr:nth-child(odd),
thead + tbody tr:nth-child(even) {
  background-color: var(--sd-table-row-bg);
}

tbody tr:hover {
  background-color: var(--sd-table-row-hover-bg) !important;
}

th, td {
  vertical-align: top;
  text-align: left;
  padding: .5rem;
}

th:first-child, td:first-child {
  padding-left: 0.75rem;
}

th:last-child, td:last-child {
  padding-right: 0.75rem;
}

/* Custom content */
.intro-code-block {
  background-color: var(--sd-brand-black);
  color: var(--sd-brand-white);
  font-size: 0.875rem;
  padding: 1em;
  overflow-x: auto;
}
@media (prefers-color-scheme: dark) {
  .intro-code-block {
    background-color: var(--sd-highlight-bg);
  }
}

/* Singletons */
.page-logo {
  display: block;
  padding: 5rem 0 3rem;
  color: var(--sd-logo-color);
}
.page-logo > svg {
  display: block;
  width: 12.625em;
  height: auto;
  margin: 0 auto;
}

.brand-white {
  background-color: var(--sd-brand-white);
}

.brand-green {
  background-color: var(--sd-brand-green);
}

.brand-black {
  background-color: var(--sd-brand-black);
  color: var(--sd-brand-white);
}

.color-green {
  color: var(--sd-brand-green);
}

.color-blue {
  color: var(--sd-blue);
}

.page-link::after {
  content: " ➜";
}


/* Footer */
footer {
  text-align: center;
  padding: 3em 0 3em;
  font-size: 1em;
  margin-top: 4rem;
}

/* Make tables vertically aligned to the top */
tbody td {
  vertical-align: top;
}

/* Rouge Code Highlight, github style */
/* Generated with: rougify style github | sed '/background-color: #f8f8f8/d' */
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }

@media (prefers-color-scheme: light) {
  .highlight .cm {
    color: #999988;
    font-style: italic;
  }
  .highlight .cp {
    color: #999999;
    font-weight: bold;
  }
  .highlight .c1 {
    color: #999988;
    font-style: italic;
  }
  .highlight .cs {
    color: #999999;
    font-weight: bold;
    font-style: italic;
  }
  .highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf {
    color: #999988;
    font-style: italic;
  }
  .highlight .err {
    color: #a61717;
    background-color: #e3d2d2;
  }
  .highlight .gd {
    color: #000000;
    background-color: #ffdddd;
  }
  .highlight .ge {
    color: #000000;
    font-style: italic;
  }
  .highlight .gr {
    color: #aa0000;
  }
  .highlight .gh {
    color: #999999;
  }
  .highlight .gi {
    color: #000000;
    background-color: #ddffdd;
  }
  .highlight .go {
    color: #888888;
  }
  .highlight .gp {
    color: #555555;
  }
  .highlight .gs {
    font-weight: bold;
  }
  .highlight .gu {
    color: #aaaaaa;
  }
  .highlight .gt {
    color: #aa0000;
  }
  .highlight .kc {
    color: #000000;
    font-weight: bold;
  }
  .highlight .kd {
    color: #000000;
    font-weight: bold;
  }
  .highlight .kn {
    color: #000000;
    font-weight: bold;
  }
  .highlight .kp {
    color: #000000;
    font-weight: bold;
  }
  .highlight .kr {
    color: #000000;
    font-weight: bold;
  }
  .highlight .kt {
    color: #445588;
    font-weight: bold;
  }
  .highlight .k, .highlight .kv {
    color: #000000;
    font-weight: bold;
  }
  .highlight .mf {
    color: #009999;
  }
  .highlight .mh {
    color: #009999;
  }
  .highlight .il {
    color: #009999;
  }
  .highlight .mi {
    color: #009999;
  }
  .highlight .mo {
    color: #009999;
  }
  .highlight .m, .highlight .mb, .highlight .mx {
    color: #009999;
  }
  .highlight .sa {
    color: #000000;
    font-weight: bold;
  }
  .highlight .sb {
    color: #d14;
  }
  .highlight .sc {
    color: #d14;
  }
  .highlight .sd {
    color: #d14;
  }
  .highlight .s2 {
    color: #d14;
  }
  .highlight .se {
    color: #d14;
  }
  .highlight .sh {
    color: #d14;
  }
  .highlight .si {
    color: #d14;
  }
  .highlight .sx {
    color: #d14;
  }
  .highlight .sr {
    color: #009926;
  }
  .highlight .s1 {
    color: #d14;
  }
  .highlight .ss {
    color: #990073;
  }
  .highlight .s, .highlight .dl {
    color: #d14;
  }
  .highlight .na {
    color: #008080;
  }
  .highlight .bp {
    color: #999999;
  }
  .highlight .nb {
    color: #0086B3;
  }
  .highlight .nc {
    color: #445588;
    font-weight: bold;
  }
  .highlight .no {
    color: #008080;
  }
  .highlight .nd {
    color: #3c5d5d;
    font-weight: bold;
  }
  .highlight .ni {
    color: #800080;
  }
  .highlight .ne {
    color: #990000;
    font-weight: bold;
  }
  .highlight .nf, .highlight .fm {
    color: #990000;
    font-weight: bold;
  }
  .highlight .nl {
    color: #990000;
    font-weight: bold;
  }
  .highlight .nn {
    color: #555555;
  }
  .highlight .nt {
    color: #000080;
  }
  .highlight .vc {
    color: #008080;
  }
  .highlight .vg {
    color: #008080;
  }
  .highlight .vi {
    color: #008080;
  }
  .highlight .nv, .highlight .vm {
    color: #008080;
  }
  .highlight .ow {
    color: #000000;
    font-weight: bold;
  }
  .highlight .o {
    color: #000000;
    font-weight: bold;
  }
  .highlight .w {
    color: #bbbbbb;
  }
}

@media (prefers-color-scheme: dark) {
  /* rouge "base16.dark" code highlight */
  /* generated with: rougify style base16.dark | sed '/background-color: #151515/d' */
  .highlight, .highlight .w {
    color: #d0d0d0;
  }
  .highlight .err {
    color: #151515;
    background-color: #ac4142;
  }
  .highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cpf, .highlight .c1, .highlight .cs {
    color: #505050;
  }
  .highlight .cp {
    color: #f4bf75;
  }
  .highlight .nt {
    color: #f4bf75;
  }
  .highlight .o, .highlight .ow {
    color: #d0d0d0;
  }
  .highlight .p, .highlight .pi {
    color: #d0d0d0;
  }
  .highlight .gi {
    color: #90a959;
  }
  .highlight .gd {
    color: #ac4142;
  }
  .highlight .gh {
    color: #6a9fb5;
    font-weight: bold;
  }
  .highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv {
    color: #aa759f;
  }
  .highlight .kc {
    color: #d28445;
  }
  .highlight .kt {
    color: #d28445;
  }
  .highlight .kd {
    color: #d28445;
  }
  .highlight .s, .highlight .sb, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 {
    color: #90a959;
  }
  .highlight .sa {
    color: #aa759f;
  }
  .highlight .sr {
    color: #75b5aa;
  }
  .highlight .si {
    color: #8f5536;
  }
  .highlight .se {
    color: #8f5536;
  }
  .highlight .nn {
    color: #f4bf75;
  }
  .highlight .nc {
    color: #f4bf75;
  }
  .highlight .no {
    color: #f4bf75;
  }
  .highlight .na {
    color: #6a9fb5;
  }
  .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
    color: #90a959;
  }
  .highlight .ss {
    color: #90a959;
  }
}

/* Code Blocks */
.highlighter-rouge {
  padding: 2px 1rem;
  border-radius: 5px;
  color: var(--sd-foreground-color);
  background-color: var(--sd-highlight-bg);

  overflow: auto;
}
.highlighter-rouge .highlight .err {
  background: transparent !important;
  color: inherit !important;
}

/* Inline Code */
code.highlighter-rouge {
  padding: 2px 6px;
  background-color: var(--sd-highlight-inline-bg);
}

a code.highlighter-rouge {
  color: inherit;
}
