html { -webkit-text-size-adjust: 100%; }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
  { counter-reset: source-line 0; }
pre.numberSource code > span
  { position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
  { content: counter(source-line);
    position: relative; left: -1em; text-align: right; vertical-align: baseline;
    border: none; display: inline-block;
    -webkit-touch-callout: none; -webkit-user-select: none;
    -khtml-user-select: none; -moz-user-select: none;
    -ms-user-select: none; user-select: none;
    padding: 0 4px; width: 4em;
    background-color: #ffffff;
    color: #a0a0a0;
  }
pre.numberSource { margin-left: 3em; border-left: 1px solid #a0a0a0;  padding-left: 4px; }
div.sourceCode
  { color: #1f1c1b; background-color: #ffffff; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span { color: #1f1c1b; } /* Normal */
code span.al { color: #bf0303; background-color: #f7e6e6; font-weight: bold; } /* Alert */
code span.an { color: #ca60ca; } /* Annotation */
code span.at { color: #0057ae; } /* Attribute */
code span.bn { color: #b08000; } /* BaseN */
code span.bu { color: #644a9b; font-weight: bold; } /* BuiltIn */
code span.cf { color: #1f1c1b; font-weight: bold; } /* ControlFlow */
code span.ch { color: #924c9d; } /* Char */
code span.cn { color: #aa5500; } /* Constant */
code span.co { color: #898887; } /* Comment */
code span.cv { color: #0095ff; } /* CommentVar */
code span.do { color: #607880; } /* Documentation */
code span.dt { color: #0057ae; } /* DataType */
code span.dv { color: #b08000; } /* DecVal */
code span.er { color: #bf0303; text-decoration: underline; } /* Error */
code span.ex { color: #0060a4; font-weight: bold; } /* Extension */
code span.fl { color: #b08000; } /* Float */
code span.fu { color: #644a9b; } /* Function */
code span.im { color: #ff5500; } /* Import */
code span.in { color: #b08000; } /* Information */
code span.kw { color: #1f1c1b; font-weight: bold; } /* Keyword */
code span.op { color: #1f1c1b; } /* Operator */
code span.ot { color: #006e28; } /* Other */
code span.pp { color: #006e28; } /* Preprocessor */
code span.re { color: #0057ae; background-color: #e0e9f8; } /* RegionMarker */
code span.sc { color: #3daee9; } /* SpecialChar */
code span.ss { color: #ff5500; } /* SpecialString */
code span.st { color: #bf0303; } /* String */
code span.va { color: #0057ae; } /* Variable */
code span.vs { color: #bf0303; } /* VerbatimString */
code span.wa { color: #bf0303; } /* Warning */


html
{
  margin           : 0px 0px 0px 0px;
  padding          : 0px 0px 0px 0px;
  background-color : #ffffff;
  color            : #000000;
  font-family      : "Source Serif 4", serif;
}

body
{
  min-height            : 100vh;
  display               : grid;
  grid-template-columns : 300px 800px;
  grid-template-rows    : auto 1fr;
  grid-template-areas   : "navbar navbar"
"tocs   main";
  margin                : 0px auto 0px auto;
  overflow-y            : auto;
}

div.navbar
{
  grid-area        : navbar;
  height           : 4rem;
  width            : 100%;
  top              : 0px;
  position         : fixed;
  z-index          : 1000;
  border-bottom    : 1px solid #cccccc;
  background-color : #ffffff;
}

div.navbar div.breadcrumbs
{
  font-family : "Source Sans 3", sans-serif;
  font-size   : 1.6rem;
  margin      : 12px 0px 10px 20px;
}

div.navbar span.breadcrumb-separator
{
  color : #888888;
}

nav.tocs
{
  grid-area           : tocs;
  height              : calc(100vh - 4rem);
  width               : 300px;
  font-family         : "Source Sans 3", sans-serif;
  position            : fixed;
  top                 : 4rem;
  border-right        : 1px solid #cccccc;
  overflow            : hidden;
  display             : grid;
  grid-template-rows  : auto auto auto 1fr;
  grid-template-areas : "gtoc-title"
"gtoc"
"toc-title"
"toc";
  z-index             : 990;
  background-color    : #ffffff;
}

.toc-title
{
  grid-area : toc-title;
  margin    : 0px 20px 10px 20px;
}

nav.toc
{
  grid-area  : toc;
  overflow-y : auto;
}

nav.toc div.toc-entries
{
  padding-left : 30px;
}

nav.toc div.toc-entries ol
{
  margin-top      : 0px;
  padding-left    : 0rem;
  list-style-type : none;
}

nav.toc div.toc-entries ol li.toc-level-1
{
  position : relative;
}

nav.toc div.toc-entries ol li.toc-level-1::before
{
  content     : "■";
  margin-left : -1.3rem;
  position    : absolute;
  left        : 0px;
  top         : -2px;
  font-size   : 24px;
  font-family : "Arial", sans-serif;
  line-height : 1;
}

nav.toc div.toc-entries ol li.toc-level-2
{
  position : relative;
}

nav.toc div.toc-entries ol li.toc-level-2::before
{
  content     : "○";
  margin-left : -1.3rem;
  position    : absolute;
  left        : 0px;
  top         : -2px;
  font-size   : 24px;
  font-family : "Arial", sans-serif;
  line-height : 1;
}

nav.toc div.toc-entries ol div
{
  padding-left  : 30px;
  padding-right : 10px;
  margin-left   : -30px;
}

nav.toc div.toc-entries ol div.active
{
  background-color : #eafaff;
}

nav.toc div.toc-entries ol div.active-ancestor
{
  background-color : #ededed;
}

nav.toc div.toc-entries span.toc-counter
{
  margin-right : 0.3rem;
}

.gtoc-title
{
  grid-area : gtoc-title;
  margin    : 10px 20px 10px 20px;
}

nav.gtoc
{
  grid-area    : gtoc;
  max-height   : 50vh;
  padding-left : 20px;
  overflow-y   : auto;
  font-family  : "Source Sans 3", sans-serif;
}

nav.gtoc ul
{
  margin-top   : 0px;
  padding-left : 1rem;
}

main
{
  grid-area    : main;
  margin-left  : 17px;
  height       : auto;
  overflow-y   : visible;
  padding      : 0px 20px 0px 20px;
  padding-left : 50px;
  position     : relative;
  top          : 4rem;
}

div.page-metrics
{
  font-family : "Source Sans 3", sans-serif;
}

div.page-metrics ol
{
  margin-top   : 0px;
  padding-left : 20px;
}


footer div.lilac-stamp
{
  font-family   : "Source Sans 3", sans-serif;
  font-style    : italic;
  font-size     : 0.9rem;
  margin-bottom : 10px;
}

p.widget-title
{
  font-weight   : bold;
  margin-bottom : 10px;
  border-bottom : 1px solid #cccccc;
}

div
{
  margin : 0px 0px 0px 0px;
}

hr
{
  border        : 0px solid #cccccc;
  border-bottom : 1px solid #cccccc;
}

hr.title-underline
{
  margin-bottom : 1rem;
}

h1
{
  font-size     : 36pt;
  position      : relative;
  font-family   : "Source Sans 3", sans-serif;
  margin-top    : 0px;
  margin-bottom : 0px;
  border        : 1px solid #ffffff;
  padding       : 0px 5px 0px 5px;
  margin-left   : -7px;
  max-width     : fit-content;
}

h1::before
{
  content     : "●";
  margin-left : -2.8rem;
  position    : absolute;
  top         : -3px;
  left        : 0px;
  font-size   : 67px;
  font-family : "Arial", sans-serif;
  line-height : 1;
}

h1 a
{
  color : #000000;
}

h1 a:visited
{
  color : #000000;
}

h1.active
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

h2
{
  font-size     : 26pt;
  position      : relative;
  font-family   : "Source Sans 3", sans-serif;
  margin-top    : 0px;
  margin-bottom : 0px;
  border        : 1px solid #ffffff;
  padding       : 0px 5px 0px 5px;
  margin-left   : -7px;
  max-width     : fit-content;
}

h2::before
{
  content     : "■";
  margin-left : -2.5rem;
  position    : absolute;
  top         : -3px;
  left        : 0px;
  font-size   : 44px;
  font-family : "Arial", sans-serif;
  line-height : 1;
}

h2 a
{
  color : #000000;
}

h2 a:visited
{
  color : #000000;
}

h2.active
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

h3
{
  font-size     : 22pt;
  position      : relative;
  font-family   : "Source Sans 3", sans-serif;
  margin-top    : 0px;
  margin-bottom : 0px;
  border        : 1px solid #ffffff;
  padding       : 0px 5px 0px 5px;
  margin-left   : -7px;
  max-width     : fit-content;
}

h3::before
{
  content     : "○";
  margin-left : -2.25rem;
  position    : absolute;
  top         : -1px;
  left        : 0px;
  font-size   : 39px;
  font-family : "Arial", sans-serif;
  line-height : 1;
}

h3 a
{
  color : #000000;
}

h3 a:visited
{
  color : #000000;
}

h3.active
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

h4
{
  font-size     : 18pt;
  position      : relative;
  font-family   : "Source Sans 3", sans-serif;
  margin-top    : 0px;
  margin-bottom : 0px;
  border        : 1px solid #ffffff;
  padding       : 0px 5px 0px 5px;
  margin-left   : -7px;
  max-width     : fit-content;
}

h4 a
{
  color : #000000;
}

h4 a:visited
{
  color : #000000;
}

h4.active
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

h5
{
  font-size     : 16pt;
  position      : relative;
  font-family   : "Source Sans 3", sans-serif;
  margin-top    : 0px;
  margin-bottom : 0px;
  border        : 1px solid #ffffff;
  padding       : 0px 5px 0px 5px;
  margin-left   : -7px;
  max-width     : fit-content;
}

h5 a
{
  color : #000000;
}

h5 a:visited
{
  color : #000000;
}

h5.active
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

h6
{
  font-size     : 14pt;
  position      : relative;
  font-family   : "Source Sans 3", sans-serif;
  margin-top    : 0px;
  margin-bottom : 0px;
  border        : 1px solid #ffffff;
  padding       : 0px 5px 0px 5px;
  margin-left   : -7px;
  max-width     : fit-content;
}

h6 a
{
  color : #000000;
}

h6 a:visited
{
  color : #000000;
}

h6.active
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

.bold
{
  font-weight : bold;
}

.italic
{
  font-style : italic;
}

.underline
{
  text-decoration : underline;
}

.verbatim
{
  font-family : "Source Code Pro", monospace;
  font-size   : 0.9em;
  white-space : pre;
}

.code
{
  font-family      : "Source Code Pro", monospace;
  font-size        : 0.9em;
  white-space      : pre;
  background-color : #f7f7f7;
  border           : 1px solid #cccccc;
  border-radius    : 4px 4px 4px 4px;
  padding          : 0px 0.2em 0px 0.2em;
}

.smallcaps
{
  font-variant : small-caps;
}

.subscript
{
  vertical-align : sub;
}

.superscript
{
  vertical-align : super;
}

a
{
  color           : #2161ac;
  text-decoration : none;
}

a:hover
{
  text-decoration : underline;
}

a:visited
{
  color            : #7d3c98;
  background-color : #f8e9ff;
  text-decoration  : none;
}

a:hover:visited
{
  text-decoration : underline;
  border          : 1px solid #7d3c98;
}

a.self-link
{
  color : #000000;
}

a.self-link:visited
{
  color : #000000;
}

a.internal-link
{
  font-family      : "Source Code Pro", monospace;
  font-size        : 0.9em;
  color            : #2161ac;
  background-color : #d8f6ff;
  border-radius    : 5px 5px 5px 5px;
  padding          : 1px 3px 1px 3px;
  border           : 1px solid #cccccc;
}

a.internal-link:hover
{
  border          : 1px solid #2161ac;
  text-decoration : none;
}


a.internal-link:hover:visited
{
  border          : 1px solid #7d3c98;
  text-decoration : none;
}

a.external-link
{
  color : #2161ac;
}

a.external-link:visited
{
  color : #7d3c98;
}

a.external-link::after
{
  content : url('data:image/svg+xml;charset=UTF-8,<svg xmlns=%22http://www.w3.org/2000/svg%22      class=%22external-link%22      viewBox=%220 0 60 60%22>  <path fill=%22%232161ac%22 d=%22M36 24c-1.2 0-2 0.8-2 2v12c0 1.2-0.8 2-2 2h-22c-1.2 0-2-0.8-2-2v-22c0-1.2 0.8-2 2-2h12c1.2 0 2-0.8 2-2s-0.8-2-2-2h-12c-3.4 0-6 2.6-6 6v22c0 3.4 2.6 6 6 6h22c3.4 0 6-2.6 6-6v-12c0-1.2-0.8-2-2-2z%22></path>  <path fill=%22%232161ac%22 d=%22M43.8 5.2c-0.2-0.4-0.6-0.8-1-1-0.2-0.2-0.6-0.2-0.8-0.2h-12c-1.2 0-2 0.8-2 2s0.8 2 2 2h7.2l-18.6 18.6c-0.8 0.8-0.8 2 0 2.8 0.4 0.4 0.8 0.6 1.4 0.6s1-0.2 1.4-0.6l18.6-18.6v7.2c0 1.2 0.8 2 2 2s2-0.8 2-2v-12c0-0.2 0-0.6-0.2-0.8z%22></path>  </svg>');
  display : inline-block;
  width   : 1rem;
  height  : 1rem;
  margin  : 0px -0.2rem 0px 0px;
}




main ol li:empty
{
  min-height : 2.2rem;
}

.code-block-container
{
  display               : grid;
  grid-template-columns : 50px 1fr;
  margin                : 16px 0px 16px -50px;
  position              : relative;
  font-size             : 0.9rem;
}

.code-block-container a
{
  display : inline-block;
  margin  : 2px 0px 2px 0px;
}

.code-block-container > .code-block-meta
{
  grid-column : 2;
}

.code-block-container > .code-block-meta-raw
{
  grid-column : 2;
}

.code-block-container > .code-block-controls-inline
{
  grid-column : 2;
}

.code-block-container > .code-block-body
{
  grid-column : 2;
}

.code-block-controls
{
  padding            : 2px 5px 0px 0px;
  width              : 50px;
  text-align         : right;
  -webkit-box-sizing : border-box;
  -moz-box-sizing    : border-box;
  -ms-box-sizing     : border-box;
  -o-box-sizing      : border-box;
  box-sizing         : border-box;
  top                : 0px;
  bottom             : 0px;
  position           : absolute;
  grid-column        : 1;
  grid-row           : 1;
  visibility         : hidden;
  opacity            : 0;
}

.code-block-controls a:hover
{
  text-decoration : none;
}

.code-block-controls button.toggle-code-block-meta-raw
{
  margin-right  : 5px;
  border        : 0;
  cursor        : pointer;
  border-radius : 2px 2px 2px 2px;
  border        : 1px solid #cccccc;
}

.code-block-controls button.toggle-code-block-meta-raw::before
{
  content : "M";
}

.code-block-container:hover > .code-block-controls
{
  visibility : visible;
  opacity    : 1;
}

.code-block-controls-inline
{
  padding     : 4px 8px 4px 8px;
  border      : 1px solid #cccccc;
  font-family : "Source Sans 3", sans-serif;
}

.code-block-controls-inline button.toggle-code-block-body
{
  border        : 0;
  cursor        : pointer;
  border-radius : 2px 2px 2px 2px;
  border        : 1px solid #cccccc;
}

.code-block-controls-inline button.toggle-code-block-body::before
{
  content : "Expand contents";
}


.code-block-controls-inline button.toggle-code-block-body.action-collapse::before
{
  content : "Collapse contents";
}

.active .code-block-controls-inline
{
  border : 1px solid #008000;
}

.code-block-meta
{
  padding                 : 0px 8px 0px 8px;
  border                  : 1px solid #cccccc;
  border-bottom-width     : 0px;
  border-top-left-radius  : 5px 5px;
  border-top-right-radius : 5px 5px;
  font-family             : "Source Sans 3", sans-serif;
}


.code-block-meta a.parent-block-arrow
{
  margin-left : 0.25em;
}

.active .code-block-meta
{
  font-weight         : bold;
  border              : 1px solid #008000;
  border-bottom-width : 0px;
}

div.code-block-meta-raw
{
  padding             : 0px 8px 0px 8px;
  font-family         : "Source Code Pro", monospace;
  font-size           : 0.9em;
  border              : 1px solid #cccccc;
  border-bottom-width : 0px;
}

div.code-block-meta-raw.hidden
{
  display : none;
}

.active .code-block-meta-raw
{
  border              : 1px solid #008000;
  border-bottom-width : 0px;
}

pre
{
  margin : 0px 0px 0px 0px;
}

code
{
  margin : 0px 0px 0px 0px;
}

code a
{
  color            : #2161ac;
  background-color : #d8f6ff;
  border-radius    : 5px 5px 5px 5px;
  padding          : 1px 3px 1px 3px;
  border           : 1px solid #cccccc;
}

code a:hover
{
  border          : 1px solid #2161ac;
  text-decoration : none;
}


code a:hover:visited
{
  border          : 1px solid #7d3c98;
  text-decoration : none;
}

code a span
{
  color : #2161ac;
}

.sourceCode
{
  margin : 0px 0px 0px 0px;
}

.code-block-body
{
  overflow-x                 : visible;
  font-family                : "Source Code Pro", monospace;
  font-size                  : 0.9em;
  font-size                  : 0.9rem;
  background-color           : #f7f7f7;
  color                      : #1f1c1b;
  border-bottom-left-radius  : 5px 5px;
  border-bottom-right-radius : 5px 5px;
  border                     : 1px solid #cccccc;
  padding                    : 2px 8px 2px 8px;
}

.active .code-block-body
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
}

.collapsed
{
  display : none;
}

.code-block-body .sourceCode .active
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
}

.code-block-body .sourceCode .active::after
{
  content : " 👈";
}

.fully-rounded
{
  border-radius : 5px 5px 5px 5px;
}

.top-rounded
{
  border-top-left-radius  : 5px 5px;
  border-top-right-radius : 5px 5px;
}

.bottom-rounded
{
  border-bottom-left-radius  : 5px 5px;
  border-bottom-right-radius : 5px 5px;
}

.hide-border-bottom
{
  border-bottom : 0px solid #cccccc;
}

.active .hide-border-bottom
{
  border-bottom : 0px solid #cccccc;
}

.figure-image
{
  display : block;
  margin  : 0px auto 0px auto;
}

figcaption
{
  margin        : 10px auto 10px auto;
  padding       : 0px 5px 0px 5px;
  text-align    : center;
  font-family   : "Source Sans 3", sans-serif;
  max-width     : 80%;
  display       : table;
  border        : 1px solid #ffffff;
  border-radius : 5px 5px 5px 5px;
}

.caption-prefix
{
  font-weight : bold;
}


figure.active figcaption
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

.table-wrapper
{
  border : 2px solid #cccccc;
  margin : 0px auto 0px auto;
  width  : fit-content;
}

table
{
  font-family     : "Source Sans 3", sans-serif;
  border-collapse : collapse;
}

table th
{
  position         : -webkit-sticky;
  position         : sticky;
  top              : -1px;
  background-color : #f7f7f7;
  padding          : 4px 8px 4px 8px;
}

table td
{
  padding : 4px 8px 4px 8px;
}

table td.table-cell-numeric
{
  text-align : right;
}

table thead
{
  background-color : #f7f7f7;
}



table tbody tr.table-horizontal-line
{
  border-top : 3px solid #cccccc;
  padding    : 0px 0px 0px 0px;
}

table tbody tr.table-horizontal-line td
{
  background-color : #cccccc;
  padding          : 0px 0px 0px 0px;
}

table tbody tr.table-body-row
{
  border-top : 2px solid #cccccc;
}

.table-vertical-thick-line-colgroup
{
  border-left : 4px solid #cccccc;
}

.table-vertical-thin-line-col
{
  border-left : 2px solid #cccccc;
}

.bibliography
{
  margin-top : 1rem;
}

.bib-ref
{
  margin-top : 0.5rem;
}

.csl-left-margin
{
  float : left;
}

.csl-right-inline
{
  margin : 0px 0px 0px 2rem;
}



sup.footnote-link a
{
  border-style  : none;
  border-radius : 0px 0px 0px 0px;
  padding       : 0px 0px 0px 0px;
  margin        : 0px 0px 0px 0px;
  font-style    : normal;
}

sup.footnote-link a.internal-link
{
  background-color : #ffffff;
}

sup.footnote-link a.internal-link:hover
{
  border-style    : none;
  text-decoration : underline;
}


sup.footnote-link a.internal-link:hover:visited
{
  border-style    : none;
  text-decoration : underline;
}

p.footnote-definition
{
  border        : 1px solid #ffffff;
  border-radius : 5px 5px 5px 5px;
  margin-left   : -7px;
  padding       : 0px 5px 0px 5px;
}

p.active.footnote-definition
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

p.footnote-definition a.footnote-backlink
{
  display : inline-block;
}

dl
{
  margin-top : 1rem;
}

dt
{
  display     : inline-block;
  font-weight : bold;
  font-family : "Source Sans 3", sans-serif;
}

dt.inner-dt
{
  margin-top : 1rem;
}

dd
{
  display     : inline;
  margin-left : 0.5rem;
}

dd::after
{
  content     : "\a";
  white-space : pre;
}

dd a.glossary-term-anchor
{
  font-size : 0.7em;
}

dd a.glossary-term-anchor:hover
{
  text-decoration : none;
}

div.glossary-term
{
  border  : 1px solid #ffffff;
  padding : 0px 5px 0px 5px;
}

div.active.glossary-term
{
  border           : 1px solid #008000;
  background-color : #f1ffef;
  border-radius    : 5px 5px 5px 5px;
}

span.glossary-external-source
{
  font-family : "Source Sans 3", sans-serif;
}

.doc-meta-author
{
  font-style : italic;
  margin     : 2px 2px 2px 2px;
}

.doc-meta-date
{
  font-style : italic;
  margin     : 2px 2px 2px 2px;
}


/* Generated with Clay, http://fvisser.nl/clay */
/* rawCss */
@counter-style parenthesis {
  system: extends decimal;
  suffix: ") ";
}

main ol {
  list-style-type: parenthesis;
}

html {
  scroll-padding-top: calc(4rem + 1px + 10px);
}
