/* weiredly titles are hardcoded to this font so over-ride with .sans-serif */
.athelas {
  font-family: -apple-system, BlinkMacSystemFont,
               'avenir next', avenir,
               'helvetica neue', helvetica,
               ubuntu,
               roboto, noto,
               'segoe ui', arial,
               sans-serif;
}

/* START dark mode */
:root {
  --red-000: #2a1311;
  --red-100: #4d1d1c;
  --red-200: #732627;
  --red-300: #9b2e32;
  --red-400: #c5363d;
  --red-500: #d95857;
  --red-600: #e57c76;
  --red-700: #f09d97;
  --red-800: #f8beb8;
  --red-900: #fddedb;
  --gold-000: #271609;
  --gold-100: #45240f;
  --gold-200: #663212;
  --gold-300: #894213;
  --gold-400: #ad5112;
  --gold-500: #d36110;
  --gold-600: #e48043;
  --gold-700: #f0a071;
  --gold-800: #f9bf9f;
  --gold-900: #ffdfce;
  --green-000: #111c0f;
  --green-100: #193218;
  --green-200: #1f4920;
  --green-300: #246227;
  --green-400: #287b2f;
  --green-500: #2b9637;
  --green-600: #2db13e;
  --green-700: #2dcd46;
  --green-800: #2cea4e;
  --green-900: #96fc93;
  --teal-000: #121b1b;
  --teal-100: #1b302f;
  --teal-200: #234644;
  --teal-300: #2b5e5a;
  --teal-400: #337672;
  --teal-500: #3a8f8a;
  --teal-600: #41aaa3;
  --teal-700: #48c4bd;
  --teal-800: #54e0d8;
  --teal-900: #b5f0eb;
  --blue-000: #131a26;
  --blue-100: #1c2d47;
  --blue-200: #22416b;
  --blue-300: #255791;
  --blue-400: #256db9;
  --blue-500: #4884d2;
  --blue-600: #769bdb;
  --blue-700: #9bb3e5;
  --blue-800: #bdccee;
  --blue-900: #dee5f6;
  --indigo-000: #201237;
  --indigo-100: #35196c;
  --indigo-200: #491fa7;
  --indigo-300: #5d22e6;
  --indigo-400: #7d41f8;
  --indigo-500: #9962fa;
  --indigo-600: #b282fc;
  --indigo-700: #c8a1fe;
  --indigo-800: #dcc0ff;
  --indigo-900: #eedfff;
  --violet-000: #2a121d;
  --violet-100: #4e1933;
  --violet-200: #761c4b;
  --violet-300: #9f1d65;
  --violet-400: #cb187f;
  --violet-500: #dd4a95;
  --violet-600: #e873a9;
  --violet-700: #f098be;
  --violet-800: #f7bbd3;
  --violet-900: #fcdde9;
  --gray-000: #191a1a;
  --gray-100: #2c2d2d;
  --gray-200: #3f4141;
  --gray-300: #545657;
  --gray-400: #696c6d;
  --gray-500: #808385;
  --gray-600: #979b9d;
  --gray-700: #b0b3b4;
  --gray-800: #cacccd;
  --gray-900: #e4e5e6;
}
@media (prefers-color-scheme: dark) {
  .bg-near-white {
    background-color: var(--gray-100);
    color: var(--gray-800);
  }
  .bg-near-black {
    background-color: var(--gray-800);
    color: var(--gray-100);
  }
  .bg-lightest-red {
    background-color: var(--red-000);
    color: var(--red-800);
  }
  .bg-light-red {
    background-color: var(--red-200);
    color: var(--red-600);
  }
  .bg-dark-red {
    background-color: var(--red-600);
    color: var(--red-200);
  }
  .bg-darkest-red {
    background-color: var(--red-800);
    color: var(--red-000);
  }
  .bg-lightest-gold {
    background-color: var(--gold-000);
    color: var(--gold-800);
  }
  .bg-light-gold {
    background-color: var(--gold-200);
    color: var(--gold-600);
  }
  .bg-dark-gold {
    background-color: var(--gold-600);
    color: var(--gold-200);
  }
  .bg-darkest-gold {
    background-color: var(--gold-800);
    color: var(--gold-000);
  }
  .bg-lightest-green {
    background-color: var(--green-000);
    color: var(--green-800);
  }
  .bg-light-green {
    background-color: var(--green-200);
    color: var(--green-600);
  }
  .bg-dark-green {
    background-color: var(--green-600);
    color: var(--green-200);
  }
  .bg-darkest-green {
    background-color: var(--green-800);
    color: var(--green-000);
  }
  .bg-lightest-teal {
    background-color: var(--teal-000);
    color: var(--teal-800);
  }
  .bg-light-teal {
    background-color: var(--teal-200);
    color: var(--teal-600);
  }
  .bg-dark-teal {
    background-color: var(--teal-600);
    color: var(--teal-200);
  }
  .bg-darkest-teal {
    background-color: var(--teal-800);
    color: var(--teal-000);
  }
  .bg-lightest-blue {
    background-color: var(--blue-000);
    color: var(--blue-800);
  }
  .bg-light-blue {
    background-color: var(--blue-200);
    color: var(--blue-600);
  }
  .bg-dark-blue {
    background-color: var(--blue-600);
    color: var(--blue-200);
  }
  .bg-navy {
    background-color: var(--blue-800);
    color: var(--blue-000);
  }
  .bg-lightest-indigo {
    background-color: var(--indigo-000);
    color: var(--indigo-800);
  }
  .bg-light-indigo {
    background-color: var(--indigo-200);
    color: var(--indigo-600);
  }
  .bg-dark-indigo {
    background-color: var(--indigo-600);
    color: var(--indigo-200);
  }
  .bg-darkest-indigo {
    background-color: var(--indigo-800);
    color: var(--indigo-000);
  }
  .light-silver: {
    color: var(--gray-200);
  }
  .mid-gray {
    color: var(--gray-600);
  }
}
/* END dark mode */

/* START print mode */
@media print {
  article>header,
  nav {
    display: none;
  }
}
/* END print mode */

/* START headings actually different size to body */
h1 {
  font-size: 2.75rem
}
h2 {
  font-size: 2.5rem
}
h3 {
  font-size: 2.25rem
}
h4 {
  font-size: 2.0rem
}
h5 {
  font-size: 1.75rem
}
h6 {
  font-size: 1.5rem
}
.paragraph,.ulist {
  font-size: 1.5rem
}
/* END headings actually different size to body */

/* START Asciidoc test roles (https://docs.asciidoctor.org/asciidoc/latest/text/text-span-built-in-roles/) */
div span.line-through {
  text-decoration: line-through;
}
/* END Asciidoc test roles */

/* START Asciidoc blocks */
div.admonitionblock table tbody tr td.icon {
  border-right: 2px solid #999;
}
div.admonitionblock table tbody tr td.icon div.title {
  text-transform: uppercase;
}
div.exampleblock {
  border-bottom: 1px solid;
  border-bottom-color: color: var(--gray-200);
  border-top: 1px solid;
  border-top-color: color: var(--gray-200);
  padding-top: 1rem;
  padding-left: 3rem;
  padding-right: 3rem;
}
div.exampleblock .title {
  font-size: larger;
  font-weight: bolder;
}
div.exampleblock .paragraph, .ulist {
  font-size: 1.2rem;
}
div.quoteblock blockquote {
  font-size: 1.2rem;
  margin-bottom: 0;
}
div.quoteblock .attribution {
  font-style: italic;
  padding-left: 2rem;
}
/* END Asciidoc blocks */

/* START Asciidoc lists */
div.ulist p {
  /*line-height: 1;*/
}
/* END Asciidoc lists */

/* START Asciidoc tables */
table td, table th {
  padding: 0.3rem;
}
table.frame-all {
  border: solid 1px #666;
}

table.frame-ends {
  border-bottom: solid 1px #666;
  border-top: solid 1px #666;
}

table.frame-none {
  border: 0px;
}

table.frame-sides {
  border-left: solid 1px #666;
  border-right: solid 1px #666;
}

/* draws boundary lines around each cell (default) */
table.grid-all {
  border-spacing: 0px;
}
table.grid-all td,
table.grid-all th {
  border-bottom: solid 1px #666;
  border-right: solid 1px #666;
}
table.grid-all td:last-child,
table.grid-all th:last-child {
  border-right: solid 0px #666;
}
table.grid-all tr:last-child td {
  border-bottom: solid 0px #666;
}

/* draws boundary lines between columns */
table.grid-cols {
  border-spacing: 0px;
}
table.grid-cols td,
table.grid-cols th {
  border-right: solid 1px #666;
}
table.grid-cols td:last-child,
table.grid-cols th:last-child {
  border-right: solid 0px #666;
}

/* draws boundary lines between rows */
table.grid-rows {
  border-spacing: 0px;
}
table.grid-rows td,
table.grid-rows th {
  border-bottom: solid 1px #666;
}
table.grid-rows tr:last-child td {
  border-bottom: solid 0px #666;
}

/* no boundary lines */
table.grid-none td,
table.grid-none th,
table.grid-none {
  border: none;
}
/* END Asciidoc tables */
