:root {
  color-scheme: light dark;
  --HeadingColor: light-dark(#162e4f, #4797ff);
  --CodeBackground: light-dark(#f9f9f9, #13151a);
  --LineColor: light-dark(#aaaaaa, #868686);
  --SiteBackground: light-dark(#677296, #020c1c);
  --MainSectionBackground: light-dark(white, #0f0f0f);
  --LinkColor: light-dark(#244d82, #83bbff);
  --LinkHoverColor: light-dark(#ffaa01, #754e00);
  --NavigationBackground: #4d5571;
  --TextColor: light-dark(black, #e7e7e7);
  --ContentsHeaderText: light-dark(white, #e7e7e7);
}

html {
  font-family: sans-serif;
  font-size: 1em;
  line-height: 1.4;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  background-color: var(--SiteBackground);
  height: 100%;
  color: var(--TextColor); 
}

body {
  height: 100%;
  min-height: 100%;
  max-width: 70em;
  margin: auto;
  background-color: var(--MainSectionBackground);
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {
  display: block;
}

audio,canvas,progress,video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],template {
  display: none;
}

a {
  background-color: transparent;
  color: var(--LinkColor);
}

a, a:visited {
  outline: 0;
  color: var(--LinkColor);
  text-decoration: none;
  padding:0.2em;
}

a:hover {
  outline: 0;
  text-decoration: none;
  border-radius: 4px;
  padding:0.2em;
  background-color: var(--LinkHoverColor);
}

a.active {
  background-color: var(--HeadingColor);
  border-radius: 3px;
}

.LinkIndexPage:first-child {
  margin-left: calc(50% - 85px);
}

.LinkIndexPage {
  border: 1px solid var(--LineColor);
  border-radius: 3px;
  margin-bottom: 2em;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  font-size: 75%;
  top: -0.5em;
}

img {
  border: 0;
  max-width: 100%;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code {
  background: var(--CodeBackground);
  padding-left:2px;
  padding-right:2px;
  font-size: 125%;
  border: 1px solid var(--LineColor);
  border-radius: 3px;
}

.code,kbd,pre,samp {
  font-family: monospace, monospace;
  margin: 0 .2rem;
  padding: 0 .2rem;
  font-size: 100%;
  background: var(--CodeBackground);
  border: 1px solid var(--LineColor);
  border-radius: 4px;
  margin-top: 1em;
  word-break: break-all;
  word-wrap: break-word;
  text-align: left;
}

pre > code {
  border:0;
  padding-left:0;
}

button,input,optgroup,select,textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,select {
  text-transform: none;
}

button,html input[type="button"], input[type="reset"],input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  padding: 4px 4px;
  text-align: left;
  border: 1px solid var(--LineColor);
}

tr.odd {
  background-color: var(--CodeBackground);
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

audio,canvas,iframe,img,svg,video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

.hidden {
  display: none !important;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix:before,.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

@media only screen and (min-width: 35em) {
}

@media print,(-webkit-min-device-pixel-ratio: 1.25),(min-resolution: 1.25dppx),(min-resolution: 120dpi) {
}

h1, h2, h3, h4, h5, h6 {
  color: var(--HeadingColor);
  background: none;
  font-weight: normal;
  margin: 0;
  overflow: hidden;
  padding-top: 0.5em;
  padding-bottom: 0.17em;
}

h1 {
  line-height: 1.3;
  margin-bottom: 0.25em;
  padding: 0;
  letter-spacing: 0;
  font-size: 2.3em;
}

.article h1 {
  border-bottom: 1px solid var(--LineColor);
}

.article h2 {
  font-size: 1.6em;
  margin: 0.5em 0 0.5em 0;
  border-bottom: 1px solid var(--LineColor);
  line-height: 1.4em;
  padding-bottom: 0em;
}

.article h3 {
  font-weight: bold;
  font-size: 1.2em;
}

.article p.roleNote {
  padding: 1em 0 0 1.6em;
  font-style: italic;
}

.article {
  line-height: 1.6;
  font-size: 1em;
}

.article p {
  line-height: inherit;
  margin: 0.5em 0;
}

.article ul {
  list-style-type: disc;
  padding-left: 1.5em;
}

p.siteSub {
  font-size: 92%;
}

ul {
  list-style-type: none;
  list-style-image: none;
  margin: 0;
  padding: 0.3em 0 0 0;
}

.wrapAll {
  width: 100%;
  background-color: var(--SiteBackground);
}

.navigation {
  margin-top: 0em;
  margin-left:0;
  margin-right:0;
  padding-left:1em;
  padding-top:0.5em;
  padding-bottom:1.2em;
  padding-right:0.5em;
  background-color: var(--NavigationBackground);
  border-radius:15px 15px 0px 0px;
  height:1.8em;
}

.navigation a {
  padding: 0.5em;
  color: white;
  float:right;
}

.logo {
  float: left;
  width:6.5em;
  min-width:6.5em;
  margin-top:-27px;
  margin-bottom: 0;
  padding-right: 0.5em;
  margin-left:0;
}

.logo a {
  padding-left:0;
  background-color: transparent;
}

.navigation li {
  line-height: 1.125em;
  margin: 0;
  padding: 0.25em 0;
  font-size: 1em;
  word-wrap: break-word;
}

div.articleRight {
  border: 1px solid var(--LineColor);
  border-radius:3px;
  padding-bottom:5px;
  float: right;
  background-color: var(--CodeBackground);
  overflow: hidden;
  font-size: 90%;
  margin: 0 0 5px 15px;
  text-align: left;
}

div.articleRightInner {
  padding: 0px;
  text-align: center;
  overflow: hidden;
  font-weight: bold;
  background-color: var(--NavigationBackground);
  color: var(--ContentsHeaderText);
}

div.articleRight ul{
   list-style-type: none;
}

.navlinks {
  padding: 0.15em 0 0 0.45em;
}

.mainsection {
  padding-right: 1em;
  padding-left: 1em;
  padding-top: 1em;
  padding-bottom: 3em;
  background-color: var(--MainSectionBackground);
}

.headerLinks {
  text-align: right;
  padding: 0.8em 1.4em;
  font-size: 0.72em;
  color: #777;
  letter-spacing: 0.017em;
}

.headerLinks a{
  display: inline-block;
  margin: 0 0 0 0.5em;
}

.tabs a {
  font-size: 0.85em;
  padding-left: 0.5em;
  line-height: 2em;
  position: relative;
  top: 1px;
  left: 1px;
  color: var(--LinkColor);
}

#BackToTopBtn {
  display: none;
  position: fixed;
  bottom: 5px;
  right: calc(50% - 25px);
  z-index: 99;
  border: none;
  outline: none;
  background-color: var(--HeadingColor);
  color: white;
  cursor: pointer;
  padding: 0.3em 1em 0.3em 1em;
  border-radius: 3px;
}

#BackToTopBtn:hover {
  background-color: var(--LinkHoverColor);
}

.tabsRight {
  float: right;
  line-height: 0;
}

span.user {
  background-position: left top;
  background-repeat: no-repeat;
  background-image: url(/images/user-ico.png);
  padding-left: 15px !important;
}

.contentsPanel {
  border: 1px solid #a2a9b1;
  position: relative;
  line-height: 1.7em;
  margin: 1em auto 0;
}

.contentsHeader {
  background: var(--NavigationBackground);
  font-size: 16px;
  line-height: 1.5em;
  text-align: center;
  font-weight: bold;
  color: var(--ContentsHeaderText);
  margin-bottom: 3px;
  padding: 0.25em 1em;
}

.contentsHeader p {
  font-size: 16px;
  line-height: 1.5em;
  text-align: center;
  font-weight: bold;
  color: var(--ContentsHeaderText);
  margin: 0;
  padding: 0;
}

.hidePanel, .showPanel {
  float: right;
  margin: 0 5px;
  position: absolute;
  right: 20px;
  cursor: pointer;
  color: #0645ad;
  top: 4px;
}

.contentsPanel ul li span {
  display: inline-block;
  margin-right: 8px;
}

.contentsPanel ul li ul li {
  padding: 0 0 0 25px;
}

.showPanel {
  display: none;
}

.minimizedPanel .showPanel {
  display: block;
}

.minimizedPanel .hidePanel {
  display: none
}

.contentsPanel.minimizedPanel {
  width: 130px;
}

.minimizedPanel .contentsHeader {
  text-align: left;
}

.lavenderBox {
  border: 1px solid var(--LineColor);
  clear: both;
  font-size: 88%;
  text-align: center;
  border-radius:3px;
  line-height: 1.7em;
  margin: 1em auto 0;
}
.lavenderBox .header {
  background: var(--NavigationBackground);
  font-size: 16px;
  padding: 0.25em 1em;
  line-height: 1.5em;
  text-align: center;
  font-weight: bold;
  color: var(--ContentsHeaderText);
  margin-bottom: 3px;
}

.linklist a:after {
  font-weight: bold;
}

.linklist a:last-child:after {
  content: "";
}

.linklist a {
  white-space: nowrap;
}

.categories {
  border: 1px solid var(--LineColor);
  background-color: #f8f9fa;
  padding: 5px;
  margin-top: 1em;
  font-size: 1.1em;
  clear: both;
}

.categories a:after {
  content: " | ";
  font-weight: bold;
}

.categories a:last-child:after {
  content: "";
}

.pagefooter {
  font-size: 75%;
  line-height: 2em;
  padding-bottom:2em;
  padding-top:2em;
}

.pagefooter a {
  display: inline-block;
}

blockquote {
  margin: 0px;
  padding-left: 1em;
  margin-bottom: 1em;
  color: light-dark(#ff7300, #ffb577);
  background-color: light-dark(#ffebd2, #4f412f);
  border-left: 0.25em solid #ff7300;
}

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

hr.menuSeparator {
  margin-top: .5em;
  margin-bottom: 0;
  margin-right: 1em;
}

sub {
  font-family: monospace, monospace;
  font-size: 1em;
}

sub:before {
  content: "\00bb";
}

sub:after {
  content: "\00ab";
}

div.date > div {
  color: #777;
  font-size: 90%;
}

div.date > div:before {
  content: "\1f558";
  padding-right: .5em;
}

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

div.columns {
  display: flex;
  gap: min(4vw, 1.5em);
}

div.column {
  flex: auto;
  overflow-x: auto;
}

div.hanging-indent {
  margin-left: 1.5em;
  text-indent: -1.5em;
}

ul.task-list {
  list-style: none;
}

ul.task-list li input[type="checkbox"] {
  width: 0.8em;
  margin: 0 0.8em 0.2em -1.6em;
  vertical-align: middle;
}

.display.math {
  display: block;
  text-align: center;
  margin: 0.5rem auto;
}

pre > button {
  background-color:var(--CodeBackground);
}

img.screenshot {
  max-height:300px;
  max-width:22em; 
}
a.screenshot {
  display: inline-block;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* CSS for syntax highlighting */
pre > code.sourceCode { white-space: pre; position: relative; border:0px;}
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: auto; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; padding: 0.1em 0.1em 0.3em 0.5em;}
pre > code.sourceCode a {
  display: none;
}
@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;
    color: #aaaaaa;
    }
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
div.sourceCode
    {   }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: light-dark(#902000, #dd3201); } /* DataType */
code span.dv { color: light-dark(#40a070, #16c26c); } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: light-dark(#06287e, #8c6cff); } /* Function */
code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: light-dark(#007020, #f0a900); font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: light-dark(#4070a0, #54a1ee); } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; }

@media screen and (max-width: 850px) {
  .contentsPanel {
    width: auto;
  }

  div.articleRight {
    display: none;
  }

  .navigation {
    height:2.8em;
    line-height:0.8em;
  }
}

@media screen and (max-width: 500px) {
  .contentsPanel {
    width: auto;
  }

  div.articleRight {
    display: none;
  }

  .navigation {
    height:4.8em;
    line-height:0.8em;
  }
}

@media screen and (max-width: 430px) {
  .contentsPanel {
    width: auto;
  }

  div.articleRight {
    display: none;
  }

  .navigation {
    height:6.4em;
    line-height:0.8em;
  }
}

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a, a:visited {
    text-decoration: underline;
  }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,h2,h3 {
    orphans: 3;
    widows: 3;
  }

  h1,h2,h3,h4 {
    page-break-after: avoid;
  }
  
    div.articleRight {
    display: none;
  }
}
