/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */
   html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    scroll-behavior: smooth;
    background: var(--color-background);
  }
  html * {
    box-sizing: border-box;
  }
  /* Sections
     ========================================================================== */
  body {
    margin: 0;
  }
  main {
    display: block;
  }
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  
  /* Grouping content
     ========================================================================== */
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /* Text-level semantics
     ========================================================================== */
  a {
    background-color: transparent;
  }
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  
  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  
  b,
  strong {
    font-weight: bolder;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  
  small {
    font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  /* Embedded content
     ========================================================================== */
  
  /**
   * Remove the border on images inside links in IE 10.
   */
  
  img {
    border-style: none;
  }
  
  /* Forms
     ========================================================================== */
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  
  button,
  input {
    /* 1 */
    overflow: visible;
  }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  
  button,
  select {
    /* 1 */
    text-transform: none;
  }
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  
  /**
   * Correct the padding in Firefox.
   */
  
  fieldset { padding: 0.35em 0.75em 0.625em; }
  
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  
  legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  
  progress { vertical-align: baseline;}
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  
  textarea { overflow: auto;}
  
  /**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
  
  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
  }
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  
  [type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  
  /* Interactive
     ========================================================================== */
  
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  
  details { display: block; }
  
  /*
   * Add the correct display in all browsers.
   */
  
  summary { display: list-item; }
  
  /* Misc ============================================================ */
  
  /**
   * Add the correct display in IE 10+.
   */
  
  template { display: none; }
  
  /**
   * Add the correct display in IE 10.
   */
  
  [hidden] { display: none; }
  
  /* xSweet theme ========================================================================== */
  /* 1. variantes  ========================================================================== */
  
  /* 2. Base ========================================================================== */
  
  body {
    overflow-y: scroll;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: [left] 25% [main] 50% [right] 25% [end];
    width: 80%;
    grid-gap: 0vw;
    background: var(--color-background);
    max-width: 1300px;
    margin: auto;
    position: relative;
    z-index: 0;
    padding: 3em;
    /* min-height: 100%; */
  }
  body {
    font-family: var(--font-serif);
    font-size: var(--font-size);
    line-height: 1.4;
    color: var(--color-body);
    letter-spacing: 0.2px;
    font-variant-ligatures: common-ligatures;
    font-weight: 300;
  }
  /* 
  body:not(.homepage):before {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    max-width: 1300px;
    margin-left: 0px;
    background: linear-gradient(to right,#1e549e 20%, #94c11f, #3aaa35);
  } */
  
  article {
    grid-template-columns: [left] 5% [main] 90% 5%[end];
    margin-top: 0.5em;
  }
  
  article {
    grid-column: left / end;
  }
  
  /* Documentation  ----------------------------------------*/
  .docssidebar {
    position: fixed;
  }
  .docs-content {
    line-height: 1.6;
  }
  .docs-content .meta {
    margin: 0;
    width: 100%;
    max-width: 100%;
    margin-top: 2em;
    margin-bottom: 2em;
    font-family: var(--font-sans);
  }
  .docs-content .date {
    font-weight: 500;
  }
  .docs-content p,
  .docs-content li {
    margin-bottom: 0em;
    margin-top: 0.5em;
    hyphens: auto;
    font-family: var(--font-serif);
    font-size: 0.9em;
  }
  .docs-content p,
  article p,
  article li {
    max-width: 60ch;
  }
  .docs-content strong {
    font-weight: 700;
    line-height: 0;
  }
  
  .docs-content li {
    max-width: calc(60ch - 10ch);
    margin-left: 5ch;
  }
  .docs-content a {
    text-decoration: none;
    border: 0;
    line-height: 1;
    color: var(--color-body);
    border-bottom: 1px solid black;
  }
  .docs-content a:hover {
    border-bottom: 2px solid var(--color-primary);
  }
  .docs-content blockquote {
    font-size: 0.9em;
    font-family: var(--font-serif);
    text-align: center;
    font-style: italic;
  }
  
  /* DOC list ----------------*/
  .docs-content ol {
    padding: 0;
  }
  .docs-content ul {
    list-style-type: none;
    padding: 0;
    font-family: var(--font-sans);
  }
  .docs-content ul li::before {
    content: " - ";
    display: block;
    position: absolute;
    margin-left: -3ch;
  }
  
  /* DOC headings ----------------*/
  .docs-content h1,
  .docs-content h2,
  .docs-content h3,
  .docs-content h4,
  .docs-content h5,
  .docs-content h6 {
    margin: 0;
    font-weight: 300;
    font-family: var(--font-sans);
    line-height: 1.2;
    margin-top: 1.8em;
    margin-bottom: 0.5em;
    break-after: avoid;
    word-break: break-word;
  }
  .docs-content h1:first-child,
  .docs-content h2:first-child,
  .docs-content h3:first-child,
  .docs-content h4:first-child,
  .docs-content h5:first-child,
  .docs-content h6:first-child {
    margin-top: 1em;
  }
  .docs-content h1 {
    max-width: 100%;
    font-size: 3.5em;
    line-height: 1.1;
    text-transform: none;
    margin-bottom: 0.8em;
    padding-bottom: 25px;
    font-family: var(--font-mono);
    font-style: italic;
    background-image: var(--color-gradient);
    background-size: 100%;
    background-repeat: repeat;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text;
    -moz-text-fill-color: transparent;
    background-color: var(--color-primary);
    
  }
  .docs-content h2 {
    font-size: 1.7em;
    margin-top: 2em;
    padding-top: 1em;
    font-weight: 500;
  
  }
  .docs-content h3 {
    font-size: 1.4em;
    padding-top: 2em;
    margin-top: 0;
    color: var(--color-primary);
    font-weight: 500;
  
  
  }
  .docs-content h4 {
    font-size: 1.1em;
    font-style: normal;
    font-weight: 500;
  }
  .docs-content h5 {
    font-size: 1.125em;
    font-family: var(--font-sans);
    font-style: italic;
  }
  .docs-content h6 {
    font-size: 1em;
    font-family: var(--font-sans);
  }
  /* DOC code ----------------*/
  .highlight {
    margin: 1em 0 2em 0;
  }
  .highlight + .highlight {
    margin-top: -2em;
  }
  pre {
    padding: 0em 0.5em;
    font-weight: 300;
    font-size: 1em;
    line-height: 1.35;
    padding: 0.2em 0.5em;
    white-space: pre-wrap;
    margin: 0;
    background: var(--color-background) !important;
  
  }
  
  code {
    font-size: 0.8em;
    font-family: var(--font-mono);
    line-height: 1.2em;
    background: var(--color-background);
    margin: 0 0.3ch;
    line-height: 1;
    padding-left: 1ch;
    padding-right: 1ch;
    font-weight: 600;
    word-break: break-word;
  }
  a code {
    font-style: normal;
    border-bottom: none;
  }
  pre code {
    padding: 0;
    background: transparent;
  }
  article article h2 :not(pre) code {
    font-weight: 600;
    font-size: 0.8em;
  }
  
  /* DOC table ----------------*/
  .docs-content .table {
    flex-direction: column;
    width: 100%;
    margin: 3em auto;
  }
  .docs-content .table figcaption {
    display: block;
    font-family: var(--font-sans);
    text-align: center;
    font-style: italic;
    font-size: 0.9em;
  }
  .docs-content .table figcaption span {
    font-size: 0.8em;
    font-weight: 800;
    margin-right: 4ch;
    display: none;
  }
  .docs-content table.specs a {
    font-style: normal;
  }
  .docs-content table [colspan="4"] {
    padding-top: 3em;
  }
  .docs-content table {
    border-collapse: collapse;
    font-family: var(--font-sans);
    font-size: 0.75em;
    width: 100%;
    margin: 2em auto;
  }
  .docs-content table tr:nth-of-type(even) {
    background: var(--color-lightest-grey);
  }
  .docs-content table tr {
    border-bottom: 1px solid grey;
  }
  .docs-content table tr th {
    padding: 0.3em 1em 0.2em;
    border-bottom: 5px solid var(--color-grey);
  }
  .docs-content table tr td {
    padding: 0.5em 1em 0.2em;
  }
  
  /* DOC figure ----------------*/
  .docs-content figure {
    margin: 1em 0em;
    display: flex;
  }
  
  /* picture */
  .docs-content figure img {
    width: 720px;
    margin: 0 auto;
  }
  .docs-content img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
  }
  
  /* DOC definition terms ----------------*/
  .docs-content .dt {
    display: inline;
    border-bottom: 3px solid var(--color-primary);
    cursor: help;
    position: relative;
  }
  .docs-content .dt:hover .dd {
    display: block;
  }
  .docs-content .dd {
    position: absolute;
    background: var(--color-primary);
    color: var(--color-body);
    font-family: var(--font-sans);
    top: 2em;
    left: 0px;
    width: 15em;
    padding: 0.5em 1em;
    display: none;
    border-radius: 8px;
  }
  
  /* DOC Note ----------------*/
  .docs-content .note {
    font-size: 0.8em;
    font-family: var(--font-sans);
    margin: 4em -30px 3em -30px;
    padding: 2px 20px;
    border-left: 15px solid var(--color-primary);
    border-right: 15px solid var(--color-primary);
  }
  
  .docs-content .note::before {
    z-index: -1;
    content: " ";
    width: 2em;
    height: 2em;
    background: var(--color-lightest-grey);
    display: block;
    position: absolute;
    left: -2ch;
    top: -0.7em;
    border-radius: 50%;
    background: linear-gradient(34deg, #f6f6f6, var(--color-lightest-grey));
  }
  
  .docs-content .note :first-child {
    padding-top: 0;
  }
  
  /* HEADINGS ----------------------------------------*/
  
  header {
    --color-primary: var(color-body);
    display: flex;
    flex-direction: column;
    position: relative;
    grid-column: left/end;
    font-size: 0.8em;
    margin-bottom: 2em;
    margin-top: 3em;
  }
  
  header .top-title {
    color: grey;
    display: block;
    font-size: 0.5em;
    margin-top: -1em;
  }
  
  header #title {
    margin-top: 0;
    margin-bottom: 0;
    color: var(--color-body);
    font-size: 2.5em;
    font-family: var(--font-serif);
    position: relative;
    border: 0px solid transparent;
  }
  
  .intro {
    font-family: var(--font-sans);
    font-size: 1.2em;
    line-height: 1.5;
    max-width: 50ch;
    margin-top: 0.5em;
    color: var(--color-body);
    max-width: 90%;
    display: block;
    grid-column: main/end;
  }
  
  .intro + p {
    margin-top: 4em;
  }
  
  header p,
  header ul,
  header ol,
  header h2,
  header h4,
  header h5,
  header h6 {
    margin-left: 0;
  }
  
  header h2 {
    font-size: 1.5em;
  }
  
  .downloads table {
    grid-column: main/main;
  }
  
  #discourse-comments {
    margin-top: 5em;
    grid-column: main/main;
  }
  
  /* SEARCH -------------------------------------------------------- */
  #search {
    margin-top: 3em;
    width: 100%;
    grid-column: left/end;
  }
  #search input {
    width: 100%;
    border: 0 solid transparent;
    background: transparent;
    border-bottom: 2px dashed var(--color-lightest-grey);
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 1.3em;
    text-align: center;
    letter-spacing: 2px;
    color: var(--color-body);
    padding-bottom: 0.2em;
  }
  #search input::placeholder {
    color: grey;
  }
  #search label {
    font-family: var(--font-sans);
  }
  #search label[for="search"] {
    display: block;
    font-family: var(--font-serif);
    font-size: 2em;
    margin: 0 0 1em 0;
  }
  #searchResults {
    list-style-type: none;
    margin-top: 3em;
  }
  #searchResults .title {
    font-size: 1.5em;
    margin-bottom: 0;
  }
  #searchResults .meta {
    margin-top: 0;
    font-family: var(--font-sans);
    font-size: 0.8em;
  }
  #searchResults li {
    position: relative;
    margin-bottom: 3em;
  }
  #searchResults a {
    background: none;
  }
  #searchResults li::before {
    content: none;
  }
  #searchResults span.type {
    font-family: var(--font-sans);
    text-transform: uppercase;
    display: block;
    font-size: 0.7em;
    margin-top: 1em;
    margin-bottom: 0.5em;
  }
  @media screen and (max-width: 900px) {
    #search {
      width: calc(100%);
      margin: 0 0 2em;
    }
    #search li {
      margin-left: 0;
    }
  }
  
  /* RUNNING HEAD -------------------------------------------------------- */
  
  .running-head {
    grid-column: left/end;
    display: flex;
    justify-content: space-between;
    position: sticky;
    top: 0;
    background: var(--color-background);
    z-index: 9999999;
    align-items: flex-end;
    font-size: 0.9em;
    padding-bottom: 50px;
    padding-top: 20px;
  }
  .running-head:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    max-width: 1300px;
    margin-left: 0px;
    margin-bottom: -50px;
    background: linear-gradient(to right,#1e549e 20%, #94c11f, #3aaa35);
  }
  .running-head .back-home {
    width: 17ch;
    background: 0 0;
    padding: 0;
    position: relative;
    top: 0;
    margin-left: 0;
    min-width: 10ch;
    box-shadow: none;
    border: none;
  }
  .back-home svg {
    min-width: 140px;
  }
  
  .menu {
    grid-column: left/end;
    margin: 0;
    font-family: var(--font-sans);
    font-size: 1.1em;
    padding-bottom: 15px;
  }
  
  .menu.hide {
    display: flex;
  }
  
  .menu ul {
    width: 100%;
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    margin: 0;
    flex-wrap: wrap;
  }
  
  .menu ul li {
    margin: 0;
    margin-left: 3ch;
    line-height: 1.6;
  }
  
  
  .menu ul li.active {
    font-weight: 700;
    color: #00688b;
  }
  
  .menu ul li a {
    font-style: normal;
    text-decoration: none;
    background: var(--color-paper);
  }
  
  .menu ul li::before {
    content: none;
    margin: 0;
  }
  
  .menu-call {
    display: none;
  }
  
  .menu-call {
    font-family: var(--font-serif);
    background: transparent;
    position: absolute;
    right: 0;
    top: 30px;
    padding: 1em;
    border-top: 1px solid var(--color-body);
    border-bottom: 1px solid var(--color-body);
    border-left: 0px;
    border-right: 0px;
  }
  
  
  /* HOMEPAGE -------------------------------------------------------- */
  
  figure {
    padding: 0;
    margin: 0;
  }
  
  .eighty {
    border: 2px solid var(--color-grey);
  }
  
  .eighty img {
    width: 80%;
    object-fit: contain;
    padding: 1em;
  }
  
  /* FOOTER -------------------------------------------------------- */
  
  footer {
    margin: 10em 0 0;
    font-size: 0.8em;
    grid-column: left/end;
    font-family: var(--font-sans);
    color: white;
    align-items: left;
    position: relative;
    border-radius: 8px;
    background-image: var(--color-gradient);
  }
  .footer-main {
    padding: 20px 20px 0;
    display: flex;
    flex-direction: row;
    width: 100%;
  }
  footer h2 {
    margin-top: 0px;
  }
  
  footer .foot2 {
    margin-left: 50px;
    margin-right: 50px;
    width: 70%;
    min-width: 300px;
  }
  
  footer .col ul li{
    display: inline;
  }
  footer .foot3 ul{
    padding-left: 0px;
  }
  footer .col li img{
    width: 30%;
    min-width: 120px;
  }
  footer .foot3 img{
    margin: 0 10px 15px 0;
  
  }
  footer .cabage svg {
    width: 100%;
    min-width: 150px;
  }
  footer .social svg {
    width: 30px;
    fill: white;
  }
  
  footer p.foot-content {
    line-height: 1.4;
    max-width: unset;
    text-align: center;
  }
  
  input[type=text] {
    width: 50%;
    float: left;
    padding-right: 5px;
  }
  input[type=submit],
  input[type=email] {
    width: 100%;
  }
  input[type=text], input[type=submit],
  input[type=email] {
    padding: 12px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid var(--color-secondary);
    box-sizing: border-box;
    border-radius: 4px;
  }
  
  input[type=checkbox] {
    margin-top: 16px;
  }
  
  input[type=submit] {
    color: white;
    border: 1px solid white;
    background-color: initial;
  }
  
  input[type=submit]:hover {
    background-color: white;
    color: var(--color-body);
  }
  
  
  /* POST IT -------------------------------------------------------- */
  
  .postit {
    line-height: 1;
    text-align: center;
    width: 275px;
    /* margin: 25px; */
    min-height: 250px;
    max-height: 250px;
    /* padding-top: 35px; */
    position: relative;
    border: 1px solid #e8e8e8;
    border-left: 15px solid #fdfd86;
    border-bottom-right-radius: 60px 5px;
    display: inline-block;
    background: #ffff88; /* Old browsers */
    background: -moz-linear-gradient(
      -45deg,
      #ffff88 81%,
      #ffff88 82%,
      #ffff88 82%,
      #ffffc6 100%
    ); /* FF3.6+ */
    background: -webkit-gradient(
      linear,
      left top,
      right bottom,
      color-stop(81%, #ffff88),
      color-stop(82%, #ffff88),
      color-stop(82%, #ffff88),
      color-stop(100%, #ffffc6)
    ); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(
      -45deg,
      #ffff88 81%,
      #ffff88 82%,
      #ffff88 82%,
      #ffffc6 100%
    ); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(
      -45deg,
      #ffff88 81%,
      #ffff88 82%,
      #ffff88 82%,
      #ffffc6 100%
    ); /* Opera 11.10+ */
    background: -ms-linear-gradient(
      -45deg,
      #ffff88 81%,
      #ffff88 82%,
      #ffff88 82%,
      #ffffc6 100%
    ); /* IE10+ */
    background: linear-gradient(
      135deg,
      #ffff88 81%,
      #ffff88 82%,
      #ffff88 82%,
      #ffffc6 100%
    ); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff88', endColorstr='#ffffc6', GradientType=1); /* IE6-9 fallback on horizontal gradient */
  }
  .postit::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -0px;
    bottom: 20px;
    width: 200px;
    height: 25px;
    background: rgba(0, 0, 0, 0.2);
    box-shadow: 2px 15px 5px rgba(0, 0, 0, 0.4);
    /* -moz-transform: matrix(-1, -0.1, 0, 1, 0, 0);
    -webkit-transform: matriX(-1, -0.1, 0, 1, 0, 0);
    -o-transform: matrix(-1, -0.1, 0, 1, 0, 0);
    -ms-transform: matriX(-1, -0.1, 0, 1, 0, 0);
    transform: matrix(-1, -0.1, 0, 1, 0, 0); */
    transform: matrix(-1, -0.1, 0, 1, 0, 0);
  }
  
  /* Background --------------------------------------*/
  .chroma {
    background-color: var(--color-background);
  }
  /* Error */
  .chroma .err {
    color: #a61717;
    background-color: #e3d2d2;
  }
  /* LineTableTD */
  .chroma .lntd {
    vertical-align: top;
    padding: 0;
    margin: 0;
    border: 0;
  }
  /* LineTable */
  .chroma .lntable {
    border-spacing: 0;
    padding: 0;
    margin: 0;
    border: 0;
    width: auto;
    overflow: auto;
    display: block;
  }
  /* LineHighlight */
  .chroma .hl {
    display: block;
    width: 100%;
    background-color: #ffffcc;
  }
  /* LineNumbersTable */
  .chroma .lnt {
    margin-right: 0.4em;
    padding: 0 0.4em 0 0.4em;
    color: #7f7f7f;
  }
  /* LineNumbers */
  .chroma .ln {
    margin-right: 0.4em;
    padding: 0 0.4em 0 0.4em;
    color: #7f7f7f;
  }
  /* Keyword */
  .chroma .k {
    color: #8b008b;
    font-weight: bold;
  }
  /* KeywordConstant */
  .chroma .kc {
    color: #8b008b;
    font-weight: bold;
  }
  /* KeywordDeclaration */
  .chroma .kd {
    color: #8b008b;
    font-weight: bold;
  }
  /* KeywordNamespace */
  .chroma .kn {
    color: #8b008b;
    font-weight: bold;
  }
  /* KeywordPseudo */
  .chroma .kp {
    color: #8b008b;
    font-weight: bold;
  }
  /* KeywordReserved */
  .chroma .kr {
    color: #8b008b;
    font-weight: bold;
  }
  /* KeywordType */
  .chroma .kt {
    color: #00688b;
    font-weight: bold;
  }
  /* NameAttribute */
  .chroma .na {
    color: #658b00;
  }
  /* NameBuiltin */
  .chroma .nb {
    color: #658b00;
  }
  /* NameClass */
  .chroma .nc {
    color: #008b45;
    font-weight: bold;
  }
  /* NameConstant */
  .chroma .no {
    color: #00688b;
  }
  /* NameDecorator */
  .chroma .nd {
    color: #707a7c;
  }
  /* NameException */
  .chroma .ne {
    color: #008b45;
    font-weight: bold;
  }
  /* NameFunction */
  .chroma .nf {
    color: #008b45;
  }
  /* NameNamespace */
  .chroma .nn {
    color: #008b45;
    text-decoration: underline;
  }
  /* NameTag */
  .chroma .nt {
    color: #8b008b;
    font-weight: bold;
  }
  /* NameVariable */
  .chroma .nv {
    color: #00688b;
  }
  /* LiteralString */
  .chroma .s {
    color: #cd5555;
  }
  /* LiteralStringAffix */
  .chroma .sa {
    color: #cd5555;
  }
  /* LiteralStringBacktick */
  .chroma .sb {
    color: #cd5555;
  }
  /* LiteralStringChar */
  .chroma .sc {
    color: #cd5555;
  }
  /* LiteralStringDelimiter */
  .chroma .dl {
    color: #cd5555;
  }
  /* LiteralStringDoc */
  .chroma .sd {
    color: #cd5555;
  }
  /* LiteralStringDouble */
  .chroma .s2 {
    color: #cd5555;
  }
  /* LiteralStringEscape */
  .chroma .se {
    color: #cd5555;
  }
  /* LiteralStringHeredoc */
  .chroma .sh {
    color: #1c7e71;
    font-style: italic;
  }
  /* LiteralStringInterpol */
  .chroma .si {
    color: #cd5555;
  }
  /* LiteralStringOther */
  .chroma .sx {
    color: #cb6c20;
  }
  /* LiteralStringRegex */
  .chroma .sr {
    color: #1c7e71;
  }
  /* LiteralStringSingle */
  .chroma .s1 {
    color: #cd5555;
  }
  /* LiteralStringSymbol */
  .chroma .ss {
    color: #cd5555;
  }
  /* LiteralNumber */
  .chroma .m {
    color: #b452cd;
  }
  /* LiteralNumberBin */
  .chroma .mb {
    color: #b452cd;
  }
  /* LiteralNumberFloat */
  .chroma .mf {
    color: #b452cd;
  }
  /* LiteralNumberHex */
  .chroma .mh {
    color: #b452cd;
  }
  /* LiteralNumberInteger */
  .chroma .mi {
    color: #b452cd;
  }
  /* LiteralNumberIntegerLong */
  .chroma .il {
    color: #b452cd;
  }
  /* LiteralNumberOct */
  .chroma .mo {
    color: #b452cd;
  }
  /* OperatorWord */
  .chroma .ow {
    color: #8b008b;
  }
  /* Comment */
  .chroma .c {
    color: #228b22;
  }
  /* CommentHashbang */
  .chroma .ch {
    color: #228b22;
  }
  /* CommentMultiline */
  .chroma .cm {
    color: #228b22;
  }
  /* CommentSingle */
  .chroma .c1 {
    color: #228b22;
  }
  /* CommentSpecial */
  .chroma .cs {
    color: #8b008b;
    font-weight: bold;
  }
  /* CommentPreproc */
  .chroma .cp {
    color: #1e889b;
  }
  /* CommentPreprocFile */
  .chroma .cpf {
    color: #1e889b;
  }
  /* GenericDeleted */
  .chroma .gd {
    color: #aa0000;
  }
  /* GenericEmph */
  .chroma .ge {
    font-style: italic;
  }
  /* GenericError */
  .chroma .gr {
    color: #aa0000;
  }
  /* GenericHeading */
  .chroma .gh {
    color: #000080;
    font-weight: bold;
  }
  /* GenericInserted */
  .chroma .gi {
    color: #00aa00;
  }
  /* GenericOutput */
  .chroma .go {
    color: #888888;
  }
  /* GenericPrompt */
  .chroma .gp {
    color: #555555;
  }
  /* GenericStrong */
  .chroma .gs {
    font-weight: bold;
  }
  /* GenericSubheading */
  .chroma .gu {
    color: #800080;
    font-weight: bold;
  }
  /* GenericTraceback */
  .chroma .gt {
    color: #aa0000;
  }
  /* GenericUnderline */
  .chroma .gl {
    text-decoration: underline;
  }
  /* TextWhitespace */
  .chroma .w {
    color: #bbbbbb;
  }
  
  .not-found {
    --color-paper: white;
  }
  
  .not-found .background {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    opacity: 0.5;
    z-index: -1;
  }
  
  .not-found h1,
  .not-found p,
  .not-found #title {
    max-width: max-content;
    padding: 0.4em;
    background: white;
  }
  
  section {
    grid-column: left / end;
  } /* breadcrumb */
  #breadcrumbs {
    font-family: var(--font-sans);
  }
  #breadcrumbs .delimiter {
    color: inherit;
    font-weight: 400;
  }
  #breadcrumbs {
    padding-bottom: 0.7em;
    color: var(--color-grey);
  }
  #breadcrumbs a {
    color: inherit;
    background: var(--color-paper);
  }
  #breadcrumbs a::after {
    content: none;
  }
  #breadcrumbs a:last-child {
    color: var(--color-body);
  }
  #breadcrumbs a:hover {
    color: var(--color-accent);
  }
  
  article {
    display: grid;
    grid-template-columns: [left] 20% [main] 70% 10%[end];
  }
  
  article .top {
    grid-column: left/end;
  }
  
  article #breadcrumbs {
    grid-column: left/end;
  }
  
  article header {
    grid-column: left/end;
  }
  
  article figure {
    grid-column: left/end;
  }
  
  article p,
  article ul,
  article ol,
  article h1,
  article h2,
  article h3,
  article h4,
  article h5,
  article h6,
  article blockquote {
    grid-column: main/main;
  }
  
  article pre,
  article table,
  article .highlight,
  article .talkyard-comments {
    grid-column: left/end;
  }
  
  article .signature {
    max-width: 50ch;
    grid-column: main/end;
    font-family: var(--font-sans);
    margin-top: 2em;
    font-size: 0.8em;
    /* max-width: 60%; */
    /* margin: 5em 0 auto auto; */
    line-height: 1.6em;
    color: var(--color-primary);
  }
  
  article .signature .name {
    /* border-bottom: 2px dotted var(--color-lightest-grey); */
    margin-left: -3em;
    padding-left: 3em;
    max-width: max-content;
    padding-right: 0.3ch;
  }
  
  article .signature img {
    border: 2px solid var(--color-lightest-grey);
    float: left;
    display: block;
    width: 73px;
    margin-left: -90px;
    height: auto;
    margin-right: 1em;
    border-radius: 50%;
    padding: 5px;
    background: var(--color-paper);
    margin-top: -6px;
    /* box-shadow: 0 0 0 5px var(--color-primary); */
  }
  
  .tags-wrap {
    margin-top: 1em;
    font-size: 0.8em;
  }
  
  a.tag {
    font-family: var(--font-sans);
    margin-right: 2ch;
    text-decoration: underline;
    font-style: normal;
    font-weight: 400;
    margin-top: 1em;
  }
  
  .talkyard-comments {
    margin-top: 100px !important;
  }
  /* 
  .list {
    counter-reset: doc;
    grid-column: main/end;
  }
  
  .list a {
    text-decoration: none;
    background: none;
    font-style: normal;
  }
  
  .list * {
    max-width: unset;
  }
  
  .list ul ul {
    padding-left: 2ch;
    border-left: 1px solid var(--color-lightest-grey);
    margin-left: 2ch;
    font-size: 1em;
  }
  
  .list nav:not(".menu") > ul {
    margin-left: 5ch;
  }
  
  .list ul li {
    list-style-type: none;
    font-size: 1em;
  }
  
  .list ul li > ul {
    margin-bottom: 0.5em;
    margin-left: 1ch;
    padding-left: 1ch;
    font-size: 1em;
  
    border-left: 1px solid var(--color-lightest-grey);
  }
  
  .list ul li::before {
    content: none;
  }
  
  .list ul li:hover::before {
    color: var(--color-accent);
  }
  
  .list p {
    max-width: 45ch;
    font-size: 1em;
    font-family: var(--font-sans);
  }
  
  .list .article {
    margin-left: 0;
    margin-top: 3em;
  }
  
  .list .article .meta {
    font-family: var(--font-sans);
    font-size: 0.7em;
    margin-bottom: 0;
  }
  
  .list .article .intro {
    font-family: var(--font-sans);
    font-size: 1.4em;
    line-height: 1.5;
    max-width: 50ch;
    margin-top: 0.3em;
    color: var(--color-primary);
    padding-left: 1em;
    border-left: 2px solid var(--color-grey);
  
    max-width: 51ch;
    display: block;
    font-family: var(--font-serif);
    margin-left: 3ch;
  }
  
  .list .article h2 {
    width: 100%;
    font-size: 1.5em;
    font-weight: 400;
    margin-top: 0;
    position: relative;
    border-color: transparent;
    margin-bottom: 0;
    line-height: 1.1;
  }
  
  .list .article h2::before {
    content: ".................................................................................................................................................";
    text-align: right;
    color: #ccc;
    font-size: 0.8em;
    bottom: 2px;
    position: absolute;
    width: 98%;
    padding-left: 5px;
    letter-spacing: 2px;
    overflow: hidden;
  }
  
  .list .article h2 a {
    counter-increment: doc;
    position: relative;
    z-index: 100;
    padding-right: 0.5ch;
    font-style: italic;
    line-height: 1.1;
  }
  
  .list .article h2 a span {
    background: var(--color-paper);
    display: inline;
    padding-right: 1ch;
  }
  
  .list .article h2 a::after {
    padding-left: 1ch;
    content: counter(doc);
    float: right;
    background: var(--color-paper);
    font-style: normal;
    font-size: 0.8em;
    bottom: 0;
    position: relative;
    top: 0.2em;
  }
  
  .list .article .toc-emoji {
    float: right;
    position: relative;
    background: var(--color-paper);
    padding-left: 1ch;
  } */
  
  /* PAGES -----------------------------------------*/
  
  .about .meta {
    display: none;
  }
  .documentation {
    counter-reset: doc;
  }
  
  .documentation .list .content .article ul ul {
    font-size: 1em;
    color: red;
  }
  
  @media screen and (max-width: 570px) {
    body {
      width: 100%;
      padding: 0;
    }
  
    body .article {
      grid-template-columns: [left] 2% [main] 96% 2%[end];
    }
  }
  
  @media screen and (max-width: 1540px) {
    body {
      padding: 1.5em;
      width: 90%;
    }
  }
  
  @media screen and (max-width: 1200px) {
    body {
      padding: 1.5em;
      margin: 1em;
      width: auto;
    }
    .running-head {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: auto;
      padding-top: 0;
      width: 100%;
      background: var(--color-background);
    }
    article {
      grid-template-columns: [left] 10% [main] 80% 10% [end];
    }
  
    .menu {
      width: 100%;
      padding-top: 40px;
    }
  
    .menu ul {
      justify-content: space-around;
      padding: 0;
    }
  
    .menu ul li {
      margin: 0 1ch;
    }
  }
  
  @media screen and (max-width: 900px) {
    :root {
      --font-size: 17px;
    }
    .homepage {
      min-height: 80vh;
      height: 90vh;
      margin: 5%;
      padding-bottom: 5vh;
    }
    .homepage .running-head {
      height: auto;
      border-bottom: 0 solid transparent;
      margin-bottom: 3em;
      justify-content: flex-start;
      padding-top: 4em;
    }
    .homepage .menu {
      align-items: flex-start;
    }
  
    article {
      grid-template-columns: [left] 5% [main] 90% 5%[end];
      margin-top: 0.5em;
    }
  
    body {
      padding: 0em;
      margin: 1em;
      width: auto;
      grid-template-columns: 5% [left] 5% [main] 80% [right] 5% [end] 5%;
    }
    body.homepage {
      grid-template-columns: 0;
    }
  
    .running-head {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: auto;
      padding-top: 0;
      width: 100%;
    }
    .running-head:before {
      content: none;
    }
    .running-head .back-home {
      position: unset;
      background: 0 0;
      padding-top: 1em;
      width: 100%;
      background: var(--color-background);
      padding: 1.5em 73% 0.5em 0;
    }
  
    .running-head .menu-call {
      display: block;
      z-index: 3000;
    }
  
    .running-head .menu {
      margin-top: 0;
      transition: all 0.6s;
      opacity: 1;
      padding-top: 0;
      display: flex;
      flex-direction: column;
    }
  
    .running-head .menu.hide {
      display: none;
    }
  
    .running-head .menu ul {
      padding: 0;
      text-align: left;
      flex-direction: column;
    }
  
    .running-head .menu ul li {
      margin: 0;
      border-bottom: 1px solid grey;
      padding: 1em;
    }
  
    .running-head .menu ul li:last-of-type {
      border-bottom: none;
    }
  
    header {
      grid-column: main/main;
      margin-top: 4em;
    }
  
    header #title {
      font-size: 3.25em;
    }
  
    .intro {
      grid-column: main/main;
    }
  
    .symbol-text {
      display: none;
    }
    .docs-content:before {
    content: '';
    position: absolute;
    width: 90%;
    height: 3px;
    margin-left: -30px;
    background: linear-gradient(to right,#1e549e 10%, #94c11f, #3aaa35);
    }

    .paginator {
      grid-column: main;
      flex-direction: column;
      align-items: center;
      font-size: 1.5em;
      line-height: 1.2;
    }
    .paginator .next,
    .paginator .previous {
      max-width: unset;
    }
    .paginator .next {
      width: 100%;
      text-align: center;
      border: none;
      padding: 0;
      margin-top: 2em;
    }
  
    .paginator .next::before {
      font-size: 0.3em;
      text-align: center;
    }
  
    .paginator .previous {
      text-align: center;
      width: 100%;
      border: none;
      padding: 0;
    }
  
    .paginator .previous::before {
      font-size: 0.3em;
      text-align: center;
    }
  /* 
    footer a {
      white-space: pre;
    } */
  
    /* list */
    body .article {
      grid-template-columns: [left] 2% [main] 96% 2%[end];
    }
  
    .list {
      grid-column: main/main;
    }
    .list .article .intro {
      margin-top: 0.5em;
      font-size: 1.1em;
    }
    .list ul {
      padding-left: 0;
    }
    .list .article .meta {
      font-size: 0.8em;
    }
  }
  
  .hide {
    display: none;
  }
  