@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src:
    url(../font/roboto-latin-400-normal.woff2) format("woff2"),
    url(../font/roboto-latin-400-normal.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url(../font/roboto-cyrillic-400-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src:
    url(../font/roboto-latin-400-italic.woff2) format("woff2"),
    url(../font/roboto-latin-400-italic.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src: url(../font/roboto-cyrillic-400-italic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 600;
  src:
    url(../font/roboto-latin-500-normal.woff2) format("woff2"),
    url(../font/roboto-latin-500-normal.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 600;
  src: url(../font/roboto-cyrillic-500-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Roboto";
  font-style: italic;
  font-weight: 600;
  src:
    url(../font/roboto-latin-500-italic.woff2) format("woff2"),
    url(../font/roboto-latin-500-italic.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Roboto";
  font-style: italic;
  font-weight: 600;
  src: url(../font/roboto-cyrillic-500-italic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Roboto Mono";
  font-style: normal;
  font-weight: 400;
  src:
    url(../font/roboto-mono-latin-400-normal.woff2) format("woff2"),
    url(../font/roboto-mono-latin-400-normal.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
@font-face {
  font-family: "Roboto Mono";
  font-style: normal;
  font-weight: 400;
  src: url(~@fontsource/roboto-mono/files/roboto-mono-cyrillic-400-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
*/

@font-face {
  font-family: "Roboto Mono";
  font-style: normal;
  font-weight: 600;
  src:
    url(../font/roboto-mono-latin-500-normal.woff2) format("woff2"),
    url(../font/roboto-mono-latin-500-normal.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
@font-face {
  font-family: "Roboto Mono";
  font-style: normal;
  font-weight: 600;
  src: url(~@fontsource/roboto-mono/files/roboto-mono-cyrillic-500-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
*/

:root {
  /* colors */
  --color-white: #fff;
  --color-smoke-10: #fefefe;
  --color-smoke-30: #fafafa;
  --color-smoke-50: #f5f5f5;
  --color-smoke-70: #f0f0f0;
  --color-smoke-90: #e1e1e1;
  --color-gray-10: #c1c1c1;
  --color-gray-30: #9c9c9c;
  --color-gray-40: #8e8e8e;
  --color-gray-50: #808080;
  --color-gray-70: #5d5d5d;
  --color-jet-20: #4a4a4a;
  --color-jet-30: #424242;
  --color-jet-50: #333;
  --color-jet-70: #222;
  --color-jet-80: #191919;
  --color-black: #000;
  /* fonts */
  --rem-base: 18; /* used to compute rem value from desired pixel value (e.g., calc(18 / var(--rem-base) * 1rem) = 18px) */
  --body-font-size: 1.0625em; /* 17px */
  --body-font-size--desktop: 1.125em; /* 18px */
  --body-font-size--print: 0.9375em; /* 15px */
  --body-line-height: 1.15;
  --body-font-color: var(--color-jet-70);
  --body-font-family: "Roboto", sans-serif;
  --body-font-weight-bold: 600;
  --monospace-font-family: "Roboto Mono", monospace;
  --monospace-font-weight-bold: 600;
  /* base */
  --body-background: var(--color-white);
  --panel-background: var(--color-smoke-30);
  --panel-border-color: var(--color-smoke-90);
  --scrollbar-track-color: var(--color-smoke-30);
  --scrollbar-thumb-color: var(--color-gray-10);
  --scrollbar_hover-thumb-color: var(--color-gray-30);
  /* navbar */
  --navbar-background: var(--color-jet-80);
  --navbar-font-color: var(--color-white);
  --navbar_hover-background: var(--color-black);
  --navbar-button-background: var(--color-white);
  --navbar-button-border-color: var(--panel-border-color);
  --navbar-button-font-color: var(--body-font-color);
  --navbar-menu-border-color: var(--panel-border-color);
  --navbar-menu-background: var(--color-white);
  --navbar-menu-font-color: var(--body-font-color);
  --navbar-menu_hover-background: var(--color-smoke-50);
  /* nav */
  --nav-background: var(--panel-background);
  --nav-border-color: var(--color-gray-10);
  --nav-line-height: 1.35;
  --nav-heading-font-color: var(--color-jet-30);
  --nav-muted-color: var(--color-gray-70);
  --nav-panel-divider-color: var(--color-smoke-90);
  --nav-secondary-background: var(--color-smoke-70);
  /* toolbar */
  --toolbar-background: var(--panel-background);
  --toolbar-border-color: var(--panel-border-color);
  --toolbar-font-color: var(--color-gray-70);
  --toolbar-muted-color: var(--color-gray-40);
  --page-version-menu-background: var(--color-smoke-70);
  --page-version-missing-font-color: var(--color-gray-40);
  /* admonitions */
  --caution-color: #a0439c;
  --caution-on-color: var(--color-white);
  --important-color: #d32f2f;
  --important-on-color: var(--color-white);
  --note-color: #217ee7;
  --note-on-color: var(--color-white);
  --tip-color: #41af46;
  --tip-on-color: var(--color-white);
  --warning-color: #e18114;
  --warning-on-color: var(--color-white);
  /* doc */
  --doc-font-color: var(--color-jet-50);
  --doc-font-size: inherit;
  --doc-font-size--desktop: calc(17/var(--rem-base)*1rem);
  --doc-line-height: 1.6;
  --doc-margin: 0 auto;
  --doc-margin--desktop: 0 2rem;
  --heading-font-color: var(--color-jet-80);
  --heading-font-weight: normal;
  --alt-heading-font-weight: var(--body-font-weight-bold);
  --section-divider-color: var(--panel-border-color);
  --link-font-color: #1565c0;
  --link_hover-font-color: #104d92;
  --link_unresolved-font-color: var(--important-color);
  --abstract-background: var(--color-smoke-70);
  --abstract-font-color: var(--color-jet-20);
  --abstract-border-color: var(--panel-border-color);
  --admonition-background: var(--panel-background);
  --admonition-label-font-weight: var(--body-font-weight-bold);
  --caption-font-color: var(--color-gray-70);
  --caption-font-style: italic;
  --caption-font-weight: var(--body-font-weight-bold);
  --code-background: var(--panel-background);
  --code-font-color: var(--body-font-color);
  --example-background: var(--color-white);
  --example-border-color: var(--color-gray-70);
  --kbd-background: var(--panel-background);
  --kbd-border-color: var(--color-gray-10);
  --pre-background: var(--panel-background);
  --pre-border-color: var(--panel-border-color);
  --pre-annotation-font-color: var(--color-gray-50);
  --quote-background: var(--panel-background);
  --quote-border-color: var(--color-gray-70);
  --quote-font-color: var(--color-gray-70);
  --quote-attribution-font-color: var(--color-gray-40);
  --sidebar-background: var(--color-smoke-90);
  --table-border-color: var(--panel-border-color);
  --table-stripe-background: var(--panel-background);
  --table-footer-background: linear-gradient(to bottom, var(--color-smoke-70) 0%, var(--color-white) 100%);
  /* toc */
  --toc-font-color: var(--nav-muted-color);
  --toc-heading-font-color: var(--doc-font-color);
  --toc-border-color: var(--panel-border-color);
  --toc-line-height: 1.2;
  /* footer */
  --footer-line-height: var(--doc-line-height);
  --footer-background: var(--color-smoke-90);
  --footer-font-color: var(--color-gray-70);
  --footer-link-font-color: var(--color-jet-80);
  /* dimensions and positioning */
  --navbar-height: calc(63/var(--rem-base)*1rem);
  --toolbar-height: calc(45/var(--rem-base)*1rem);
  --drawer-height: var(--toolbar-height);
  --body-top: var(--navbar-height);
  --body-min-height: calc(100vh - var(--body-top));
  --nav-height: calc(var(--body-min-height) - var(--toolbar-height));
  --nav-height--desktop: var(--body-min-height);
  --nav-panel-menu-height: calc(100% - var(--drawer-height));
  --nav-panel-explore-height: calc(50% + var(--drawer-height));
  --nav-width: calc(270/var(--rem-base)*1rem);
  --toc-top: calc(var(--body-top) + var(--toolbar-height));
  --toc-height: calc(100vh - var(--toc-top) - 2.5rem);
  --toc-width: calc(162/var(--rem-base)*1rem);
  --toc-width--widescreen: calc(216/var(--rem-base)*1rem);
  --doc-max-width: calc(720/var(--rem-base)*1rem);
  --doc-max-width--desktop: calc(828/var(--rem-base)*1rem);
  /* stacking */
  --z-index-nav: 1;
  --z-index-toolbar: 2;
  --z-index-page-version-menu: 3;
  --z-index-navbar: 4;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.0625em;
  font-size: var(--body-font-size);
  height: 100%;
  scroll-behavior: smooth;
}

@media screen and (min-width: 1024px) {
  html {
    font-size: 1.125em;
    font-size: var(--body-font-size--desktop);
  }
}

body {
  background: #fff;
  background: var(--body-background);
  color: #222;
  color: var(--body-font-color);
  font-family: "Roboto"
,
sans-serif;
  font-family: var(--body-font-family);
  line-height: 1.15;
  line-height: var(--body-line-height);
  margin: 0;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
  word-wrap: anywhere; /* aka overflow-wrap; used when hyphens are disabled or aren't sufficient */
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:active {
  background-color: none;
}

code,
kbd,
pre {
  font-family: "Roboto Mono"
,
monospace;
  font-family: var(--monospace-font-family);
}

b,
dt,
strong,
th {
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

em em { /* stylelint-disable-line */
  font-style: normal;
}

strong strong { /* stylelint-disable-line */
  font-weight: normal;
}

button {
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  line-height: 1.15;
  line-height: var(--body-line-height);
  margin: 0;
}

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

summary {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

table {
  border-collapse: collapse;
  word-wrap: normal; /* table widths aren't computed as expected when word-wrap is enabled */
}

object[type="image/svg+xml"]:not([width]) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

::-webkit-input-placeholder {
  opacity: 0.5;
}

::-moz-placeholder {
  opacity: 0.5;
}

:-ms-input-placeholder {
  opacity: 0.5;
}

::-ms-input-placeholder {
  opacity: 0.5;
}

::placeholder {
  opacity: 0.5;
}

@media (pointer: fine) {
  @supports (scrollbar-width: thin) {
    html {
      scrollbar-color: #c1c1c1 #fafafa;
      scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-track-color);
    }

    body * {
      scrollbar-width: thin;
      scrollbar-color: #c1c1c1 transparent;
      scrollbar-color: var(--scrollbar-thumb-color) transparent;
    }
  }

  html::-webkit-scrollbar {
    background-color: #fafafa;
    background-color: var(--scrollbar-track-color);
    height: 12px;
    width: 12px;
  }

  body ::-webkit-scrollbar {
    height: 6px;
    width: 6px;
  }

  ::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: #c1c1c1;
    background-color: var(--scrollbar-thumb-color);
    border: 3px solid transparent;
    border-radius: 12px;
  }

  body ::-webkit-scrollbar-thumb {
    border-width: 1.75px;
    border-radius: 6px;
  }

  ::-webkit-scrollbar-thumb:hover {
    background-color: #9c9c9c;
    background-color: var(--scrollbar_hover-thumb-color);
  }
}

@media screen and (min-width: 1024px) {
  .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 1023.5px) {
  html.is-clipped--nav {
    overflow-y: hidden;
  }
}

.nav-container {
  position: fixed;
  top: 3.5rem;
  top: var(--navbar-height);
  left: 0;
  width: 100%;
  font-size: 0.94444rem;
  font-size: calc(17/var(--rem-base)*1rem);
  z-index: 1;
  z-index: var(--z-index-nav);
  visibility: hidden;
}

@media screen and (min-width: 769px) {
  .nav-container {
    width: 15rem;
    width: var(--nav-width);
  }
}

@media screen and (min-width: 1024px) {
  .nav-container {
    font-size: 0.86111rem;
    font-size: calc(15.5/var(--rem-base)*1rem);
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    position: static;
    top: 0;
    visibility: visible;
  }
}

.nav-container.is-active {
  visibility: visible;
}

.nav {
  background: #fafafa;
  background: var(--nav-background);
  position: relative;
  top: 2.5rem;
  top: var(--toolbar-height);
  height: calc(100vh - 6rem);
  height: var(--nav-height);
}

@media screen and (min-width: 769px) {
  .nav {
    -webkit-box-shadow: 0.5px 0 3px #c1c1c1;
            box-shadow: 0.5px 0 3px #c1c1c1;
    -webkit-box-shadow: 0.5px 0 3px var(--nav-border-color);
            box-shadow: 0.5px 0 3px var(--nav-border-color);
  }
}

@media screen and (min-width: 1024px) {
  .nav {
    top: 3.5rem;
    top: var(--navbar-height);
    -webkit-box-shadow: none;
            box-shadow: none;
    position: sticky;
    height: calc(100vh - 3.5rem);
    height: var(--nav-height--desktop);
  }
}

.nav a {
  color: inherit;
}

.nav .panels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: inherit;
}

.nav-panel-menu {
  overflow-y: scroll;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  height: calc(100% - 2.5rem);
  height: var(--nav-panel-menu-height);
}

.nav-panel-menu:only-child {
  height: 100%;
}

.nav-panel-menu:not(.is-active) .nav-menu {
  opacity: 0.75;
}

.nav-panel-menu:not(.is-active)::after {
  content: "";
  background: rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.nav-menu {
  min-height: 100%;
  padding: 0.5rem 0.75rem;
  line-height: 1.35;
  line-height: var(--nav-line-height);
  position: relative;
}

.nav-menu-toggle {
  background: transparent url(../img/octicons-16.svg#view-unfold) no-repeat center / 100% 100%;
  border: none;
  float: right;
  height: 1em;
  margin-right: -0.5rem;
  opacity: 0.75;
  outline: none;
  padding: 0;
  position: sticky;
  top: 0.85rem;
  top: calc((var(--nav-line-height) - 0.5)*1rem);
  visibility: hidden;
  width: 1em;
}

.nav-menu-toggle.is-active {
  background-image: url(../img/octicons-16.svg#view-fold);
}

.nav-panel-menu.is-active:hover .nav-menu-toggle {
  visibility: visible;
}

.nav-menu h3.title {
  color: #424242;
  color: var(--nav-heading-font-color);
  font-size: inherit;
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
  margin: 0;
  padding: 0.25em 0 0.125em;
}

.nav-list {
  list-style: none;
  margin: 0 0 0 0.75rem;
  padding: 0;
}

.nav-menu > .nav-list + .nav-list {
  margin-top: 0.5rem;
}

.nav-item {
  margin-top: 0.5em;
}

/* adds some breathing room below a nested list */

.nav-item-toggle ~ .nav-list {
  padding-bottom: 0.125rem;
}

/* matches list without a title */

.nav-item[data-depth="0"] > .nav-list:first-child {
  display: block;
  margin: 0;
}

.nav-item:not(.is-active) > .nav-list {
  display: none;
}

.nav-item-toggle {
  background: transparent url(../img/caret.svg) no-repeat center / 50%;
  border: none;
  outline: none;
  line-height: inherit;
  padding: 0;
  position: absolute;
  height: 1.35em;
  height: calc(var(--nav-line-height)*1em);
  width: 1.35em;
  width: calc(var(--nav-line-height)*1em);
  margin-top: -0.05em;
  margin-left: -1.35em;
  margin-left: calc(var(--nav-line-height)*-1em);
}

.nav-item.is-active > .nav-item-toggle {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.is-current-page > .nav-link,
.is-current-page > .nav-text {
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
}

.nav-panel-explore {
  background: #fafafa;
  background: var(--nav-background);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.nav-panel-explore:not(:first-child) {
  top: auto;
  max-height: calc(50% + 2.5rem);
  max-height: var(--nav-panel-explore-height);
}

.nav-panel-explore .context {
  font-size: 0.83333rem;
  font-size: calc(15/var(--rem-base)*1rem);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #5d5d5d;
  color: var(--nav-muted-color);
  -webkit-box-shadow: 0 -1px 0 #e1e1e1;
          box-shadow: 0 -1px 0 #e1e1e1;
  -webkit-box-shadow: 0 -1px 0 var(--nav-panel-divider-color);
          box-shadow: 0 -1px 0 var(--nav-panel-divider-color);
  padding: 0 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1;
  height: 2.5rem;
  height: var(--drawer-height);
}

.nav-panel-explore:not(:first-child) .context {
  cursor: pointer;
}

.nav-panel-explore .context .version {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: inherit;
      -ms-flex-align: inherit;
          align-items: inherit;
}

.nav-panel-explore .context .version::after {
  content: "";
  background: url(../img/chevron.svg) no-repeat center right / auto 100%;
  width: 1.25em;
  height: 0.75em;
}

.nav-panel-explore .components {
  line-height: 1.35;
  line-height: var(--nav-line-height);
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-shadow: inset 0 1px 5px #e1e1e1;
          box-shadow: inset 0 1px 5px #e1e1e1;
  -webkit-box-shadow: inset 0 1px 5px var(--nav-panel-divider-color);
          box-shadow: inset 0 1px 5px var(--nav-panel-divider-color);
  background: #f0f0f0;
  background: var(--nav-secondary-background);
  padding: 0.75rem 0.75rem 0 0.75rem;
  margin: 0;
  overflow-y: scroll;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  max-height: 100%;
  display: block;
}

.nav-panel-explore:not(.is-active) .components {
  display: none;
}

.nav-panel-explore .component {
  display: block;
}

.nav-panel-explore .component + .component {
  margin-top: 0.75rem;
}

.nav-panel-explore .component:last-child {
  margin-bottom: 0.75rem;
}

.nav-panel-explore .component .title {
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
  text-indent: 0.375rem hanging;
}

.nav-panel-explore .versions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 0;
  margin: -0.125rem -0.375rem 0 0.375rem;
  line-height: 1;
  list-style: none;
}

.nav-panel-explore .component .version {
  margin: 0.375rem 0.375rem 0 0;
}

.nav-panel-explore .component .version a {
  background: #c1c1c1;
  background: var(--nav-border-color);
  border-radius: 0.25rem;
  white-space: nowrap;
  padding: 0.25em 0.5em;
  display: inherit;
  opacity: 0.75;
}

.nav-panel-explore .component .is-current a {
  background: #424242;
  background: var(--nav-heading-font-color);
  color: #f0f0f0;
  color: var(--nav-secondary-background);
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
  opacity: 1;
}

body.-toc aside.toc.sidebar {
  display: none;
}

@media screen and (max-width: 1023.5px) {
  aside.toc.sidebar {
    display: none;
  }

  main > .content {
    overflow-x: auto;
  }
}

@media screen and (min-width: 1024px) {
  main {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    min-width: 0; /* min-width: 0 required for flexbox to constrain overflowing elements */
  }

  main > .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  aside.toc.embedded {
    display: none;
  }

  aside.toc.sidebar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 9rem;
            flex: 0 0 9rem;
    -ms-flex: 0 0 var(--toc-width);
        flex: 0 0 var(--toc-width);
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

@media screen and (min-width: 1216px) {
  aside.toc.sidebar {
    -ms-flex-preferred-size: 12rem;
        flex-basis: 12rem;
    -ms-flex-preferred-size: var(--toc-width--widescreen);
        flex-basis: var(--toc-width--widescreen);
  }
}

.toolbar {
  color: #5d5d5d;
  color: var(--toolbar-font-color);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fafafa;
  background-color: var(--toolbar-background);
  -webkit-box-shadow: 0 1px 0 #e1e1e1;
          box-shadow: 0 1px 0 #e1e1e1;
  -webkit-box-shadow: 0 1px 0 var(--toolbar-border-color);
          box-shadow: 0 1px 0 var(--toolbar-border-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.83333rem;
  font-size: calc(15/var(--rem-base)*1rem);
  height: 2.5rem;
  height: var(--toolbar-height);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: sticky;
  top: 3.5rem;
  top: var(--navbar-height);
  z-index: 2;
  z-index: var(--z-index-toolbar);
}

.toolbar a {
  color: inherit;
}

.nav-toggle {
  background: url(../img/menu.svg) no-repeat 50% 47.5%;
  background-size: 49%;
  border: none;
  outline: none;
  line-height: inherit;
  padding: 0;
  height: 2.5rem;
  height: var(--toolbar-height);
  width: 2.5rem;
  width: var(--toolbar-height);
  margin-right: -0.25rem;
}

@media screen and (min-width: 1024px) {
  .nav-toggle {
    display: none;
  }
}

.nav-toggle.is-active {
  background-image: url(../img/back.svg);
  background-size: 41.5%;
}

.home-link {
  display: block;
  background: url(../img/home-o.svg) no-repeat center;
  height: 1.25rem;
  height: calc(var(--toolbar-height)/2);
  width: 1.25rem;
  width: calc(var(--toolbar-height)/2);
  margin: 0.625rem;
  margin: calc(var(--toolbar-height)/4);
}

.home-link:hover,
.home-link.is-current {
  background-image: url(../img/home.svg);
}

.edit-this-page {
  display: none;
  padding-right: 0.5rem;
}

@media screen and (min-width: 1024px) {
  .edit-this-page {
    display: block;
  }
}

.toolbar .edit-this-page a {
  color: #8e8e8e;
  color: var(--toolbar-muted-color);
}

.breadcrumbs {
  display: none;
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  padding: 0 0.5rem 0 0.75rem;
  line-height: 1.35;
  line-height: var(--nav-line-height);
}

@media screen and (min-width: 1024px) {
  .breadcrumbs {
    display: block;
  }
}

a + .breadcrumbs {
  padding-left: 0.05rem;
}

.breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumbs li {
  display: inline;
  margin: 0;
}

.breadcrumbs li::after {
  content: "/";
  padding: 0 0.5rem;
}

.breadcrumbs li:last-of-type::after {
  content: none;
}

.page-versions {
  margin: 0 0.2rem 0 auto;
  position: relative;
  line-height: 1;
}

@media screen and (min-width: 1024px) {
  .page-versions {
    margin-right: 0.7rem;
  }
}

.page-versions .version-menu-toggle {
  color: inherit;
  background: url(../img/chevron.svg) no-repeat;
  background-position: right 0.5rem top 50%;
  background-size: auto 0.75em;
  border: none;
  outline: none;
  line-height: inherit;
  padding: 0.5rem 1.5rem 0.5rem 0.5rem;
  position: relative;
  z-index: 3;
  z-index: var(--z-index-page-version-menu);
}

.page-versions .version-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f0f0), to(#f0f0f0)) no-repeat;
  background: linear-gradient(to bottom, #f0f0f0 0%, #f0f0f0 100%) no-repeat;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--page-version-menu-background)), to(var(--page-version-menu-background))) no-repeat;
  background: linear-gradient(to bottom, var(--page-version-menu-background) 0%, var(--page-version-menu-background) 100%) no-repeat;
  padding: 1.375rem 1.5rem 0.5rem 0.5rem;
  position: absolute;
  top: 0;
  right: 0;
  white-space: nowrap;
}

.page-versions:not(.is-active) .version-menu {
  display: none;
}

.page-versions .version {
  display: block;
  padding-top: 0.5rem;
}

.page-versions .version.is-current {
  display: none;
}

.page-versions .version.is-missing {
  color: #8e8e8e;
  color: var(--page-version-missing-font-color);
  font-style: italic;
  text-decoration: none;
}

.toc-menu {
  color: #5d5d5d;
  color: var(--toc-font-color);
}

.toc.sidebar .toc-menu {
  margin-right: 0.75rem;
  position: sticky;
  top: 6rem;
  top: var(--toc-top);
}

.toc .toc-menu h3 {
  color: #333;
  color: var(--toc-heading-font-color);
  font-size: 0.88889rem;
  font-size: calc(16/var(--rem-base)*1rem);
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
  line-height: 1.3;
  margin: 0 -0.5px;
  padding-bottom: 0.25rem;
}

.toc.sidebar .toc-menu h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 2.5rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.toc .toc-menu ul {
  font-size: 0.83333rem;
  font-size: calc(15/var(--rem-base)*1rem);
  line-height: 1.2;
  line-height: var(--toc-line-height);
  list-style: none;
  margin: 0;
  padding: 0;
}

.toc.sidebar .toc-menu ul {
  max-height: calc(100vh - 8.5rem);
  max-height: var(--toc-height);
  overflow-y: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

@supports (scrollbar-width: none) {
  .toc.sidebar .toc-menu ul {
    scrollbar-width: none;
  }
}

.toc .toc-menu ul::-webkit-scrollbar {
  width: 0;
  height: 0;
}

@media screen and (min-width: 1024px) {
  .toc .toc-menu h3 {
    font-size: 0.83333rem;
    font-size: calc(15/var(--rem-base)*1rem);
  }

  .toc .toc-menu ul {
    font-size: 0.75rem;
    font-size: calc(13.5/var(--rem-base)*1rem);
  }
}

.toc .toc-menu li {
  margin: 0;
}

.toc .toc-menu li[data-level="2"] a {
  padding-left: 1.25rem;
}

.toc .toc-menu li[data-level="3"] a {
  padding-left: 2rem;
}

.toc .toc-menu a {
  color: inherit;
  border-left: 2px solid #e1e1e1;
  border-left: 2px solid var(--toc-border-color);
  display: inline-block;
  padding: 0.25rem 0 0.25rem 0.5rem;
  text-decoration: none;
}

.sidebar.toc .toc-menu a {
  display: block;
  outline: none;
}

.toc .toc-menu a:hover {
  color: #1565c0;
  color: var(--link-font-color);
}

.toc .toc-menu a.is-active {
  border-left-color: #1565c0;
  border-left-color: var(--link-font-color);
  color: #333;
  color: var(--doc-font-color);
}

.sidebar.toc .toc-menu a:focus {
  background: #fafafa;
  background: var(--panel-background);
}

.doc {
  color: #333;
  color: var(--doc-font-color);
  font-size: inherit;
  font-size: var(--doc-font-size);
  -ms-hyphens: auto;
      hyphens: auto;
  line-height: 1.6;
  line-height: var(--doc-line-height);
  margin: 0
auto;
  margin: var(--doc-margin);
  max-width: 40rem;
  max-width: var(--doc-max-width);
  padding: 0 1rem 4rem;
}

@media screen and (min-width: 1024px) {
  .doc {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    font-size: 0.94444rem;
    font-size: var(--doc-font-size--desktop);
    margin: 0
2rem;
    margin: var(--doc-margin--desktop);
    max-width: 46rem;
    max-width: var(--doc-max-width--desktop);
    min-width: 0;
  }
}

.doc h1,
.doc h2,
.doc h3,
.doc h4,
.doc h5,
.doc h6 {
  color: #191919;
  color: var(--heading-font-color);
  font-weight: normal;
  font-weight: var(--heading-font-weight);
  -ms-hyphens: none;
      hyphens: none;
  line-height: 1.3;
  margin: 1rem 0 0;
}

.doc > h1.page:first-child {
  font-size: 2rem;
  font-size: calc(36/var(--rem-base)*1rem);
  margin: 1.5rem 0;
}

@media screen and (min-width: 769px) {
  .doc > h1.page:first-child {
    margin-top: 2.5rem;
  }
}

.doc > h1.page:first-child + aside.toc.embedded {
  margin-top: -0.5rem;
}

.doc > h2#name + .sectionbody {
  margin-top: 1rem;
}

#preamble + .sect1,
.doc .sect1 + .sect1 {
  margin-top: 2rem;
}

.doc h1.sect0 {
  background: #f0f0f0;
  background: var(--abstract-background);
  font-size: 1.8em;
  margin: 1.5rem -1rem 0;
  padding: 0.5rem 1rem;
}

.doc h2:not(.discrete) {
  border-bottom: 1px solid #e1e1e1;
  border-bottom: 1px solid var(--section-divider-color);
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 0.4rem 1rem 0.1rem;
}

.doc h3:not(.discrete),
.doc h4:not(.discrete) {
  font-weight: 600;
  font-weight: var(--alt-heading-font-weight);
}

.doc h1 .anchor,
.doc h2 .anchor,
.doc h3 .anchor,
.doc h4 .anchor,
.doc h5 .anchor,
.doc h6 .anchor {
  position: absolute;
  text-decoration: none;
  width: 1.75ex;
  margin-left: -1.5ex;
  visibility: hidden;
  font-size: 0.8em;
  font-weight: normal;
  padding-top: 0.05em;
}

.doc h1 .anchor::before,
.doc h2 .anchor::before,
.doc h3 .anchor::before,
.doc h4 .anchor::before,
.doc h5 .anchor::before,
.doc h6 .anchor::before {
  content: "\00a7";
}

.doc h1:hover .anchor,
.doc h2:hover .anchor,
.doc h3:hover .anchor,
.doc h4:hover .anchor,
.doc h5:hover .anchor,
.doc h6:hover .anchor {
  visibility: visible;
}

.doc p,
.doc dl {
  margin: 0;
}

.doc a {
  color: #1565c0;
  color: var(--link-font-color);
}

.doc a:hover {
  color: #104d92;
  color: var(--link_hover-font-color);
}

.doc a.bare {
  -ms-hyphens: none;
      hyphens: none;
}

.doc a.unresolved {
  color: #d32f2f;
  color: var(--link_unresolved-font-color);
}

.doc i.fa {
  -ms-hyphens: none;
      hyphens: none;
  font-style: normal;
}

.doc p code,
.doc thead code,
.doc .colist > table code {
  color: #222;
  color: var(--code-font-color);
  background: #fafafa;
  background: var(--code-background);
  border-radius: 0.25em;
  font-size: 0.95em;
  padding: 0.125em 0.25em;
}

.doc code,
.doc pre {
  -ms-hyphens: none;
      hyphens: none;
}

.doc pre {
  font-size: 0.88889rem;
  font-size: calc(16/var(--rem-base)*1rem);
  line-height: 1.5;
  margin: 0;
}

.doc blockquote {
  margin: 0;
}

.doc .paragraph.lead > p {
  font-size: 1rem;
  font-size: calc(18/var(--rem-base)*1rem);
}

.doc .right {
  float: right;
}

.doc .left {
  float: left;
}

.doc .float-gap.right {
  margin: 0 1rem 1rem 0;
}

.doc .float-gap.left {
  margin: 0 0 1rem 1rem;
}

.doc .float-group::after {
  content: "";
  display: table;
  clear: both;
}

.doc .text-left {
  text-align: left;
}

.doc .text-center {
  text-align: center;
}

.doc .text-right {
  text-align: right;
}

.doc .text-justify {
  text-align: justify;
}

.doc .stretch {
  width: 100%;
}

.doc .big {
  font-size: larger;
}

.doc .small {
  font-size: smaller;
}

.doc .underline {
  text-decoration: underline;
}

.doc .line-through {
  text-decoration: line-through;
}

.doc .paragraph,
.doc .dlist,
.doc .hdlist,
.doc .olist,
.doc .ulist,
.doc .exampleblock,
.doc .imageblock,
.doc .listingblock,
.doc .literalblock,
.doc .tabs,
.doc .sidebarblock,
.doc .verseblock,
.doc .videoblock,
.doc .quoteblock,
.doc .partintro,
.doc details,
.doc hr {
  margin: 1rem 0 0;
}

.doc > table.tableblock,
.doc > table.tableblock + *,
.doc .tablecontainer,
.doc .tablecontainer + *,
.doc :not(.tablecontainer) > table.tableblock,
.doc :not(.tablecontainer) > table.tableblock + * {
  margin-top: 1.5rem;
}

.doc table.tableblock {
  font-size: 0.83333rem;
  font-size: calc(15/var(--rem-base)*1rem);
}

.doc p.tableblock + p.tableblock {
  margin-top: 0.5rem;
}

.doc table.tableblock pre {
  font-size: inherit;
}

.doc td.tableblock > .content {
  word-wrap: anywhere; /* aka overflow-wrap; used when hyphens are disabled or aren't sufficient */
}

.doc td.tableblock > .content > :first-child {
  margin-top: 0;
}

.doc table.tableblock th,
.doc table.tableblock td {
  padding: 0.5rem;
}

.doc table.tableblock,
.doc table.tableblock > * > tr > * {
  border: 0 solid #e1e1e1;
  border: 0 solid var(--table-border-color);
}

.doc table.grid-all > * > tr > * {
  border-width: 1px;
}

.doc table.grid-cols > * > tr > * {
  border-width: 0 1px;
}

.doc table.grid-rows > * > tr > * {
  border-width: 1px 0;
}

.doc table.grid-all > thead th,
.doc table.grid-rows > thead th {
  border-bottom-width: 2.5px;
}

.doc table.frame-all {
  border-width: 1px;
}

.doc table.frame-ends {
  border-width: 1px 0;
}

.doc table.frame-sides {
  border-width: 0 1px;
}

.doc table.frame-none > colgroup + * > :first-child > *,
.doc table.frame-sides > colgroup + * > :first-child > * {
  border-top-width: 0;
}

/* NOTE let the grid win in case of frame-none */

.doc table.frame-sides > :last-child > :last-child > * {
  border-bottom-width: 0;
}

.doc table.frame-none > * > tr > :first-child,
.doc table.frame-ends > * > tr > :first-child {
  border-left-width: 0;
}

.doc table.frame-none > * > tr > :last-child,
.doc table.frame-ends > * > tr > :last-child {
  border-right-width: 0;
}

.doc table.stripes-all > tbody > tr,
.doc table.stripes-odd > tbody > tr:nth-of-type(odd),
.doc table.stripes-even > tbody > tr:nth-of-type(even),
.doc table.stripes-hover > tbody > tr:hover {
  background: #fafafa;
  background: var(--table-stripe-background);
}

.doc table.tableblock > tfoot {
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f0f0), to(#fff));
  background: linear-gradient(to bottom, #f0f0f0 0%, #fff 100%);
  background: var(--table-footer-background);
}

.doc .halign-left {
  text-align: left;
}

.doc .halign-right {
  text-align: right;
}

.doc .halign-center {
  text-align: center;
}

.doc .valign-top {
  vertical-align: top;
}

.doc .valign-bottom {
  vertical-align: bottom;
}

.doc .valign-middle {
  vertical-align: middle;
}

.doc .admonitionblock {
  margin: 1.4rem 0 0;
}

.doc .admonitionblock p,
.doc .admonitionblock td.content {
  font-size: 0.88889rem;
  font-size: calc(16/var(--rem-base)*1rem);
}

.doc .admonitionblock td.content > :not(.title):first-child,
.doc .admonitionblock td.content > .title + * {
  margin-top: 0;
}

.doc .admonitionblock td.content pre {
  font-size: 0.83333rem;
  font-size: calc(15/var(--rem-base)*1rem);
}

.doc .admonitionblock > table {
  table-layout: fixed;
  position: relative;
  width: 100%;
}

.doc .admonitionblock td.content {
  padding: 1rem 1rem 0.75rem;
  background: #fafafa;
  background: var(--admonition-background);
  width: 100%;
  word-wrap: anywhere;
}

.doc .admonitionblock td.icon {
  font-size: 0.83333rem;
  font-size: calc(15/var(--rem-base)*1rem);
  left: 0;
  line-height: 1;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-transform: translate(-0.5rem, -50%);
          transform: translate(-0.5rem, -50%);
}

.doc .admonitionblock td.icon i {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 0.45rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-filter: initial;
          filter: initial;
  height: 1.25rem;
  padding: 0 0.5rem;
  vertical-align: initial;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.doc .admonitionblock td.icon i::after {
  content: attr(title);
  font-weight: 600;
  font-weight: var(--admonition-label-font-weight);
  font-style: normal;
  text-transform: uppercase;
}

.doc .admonitionblock td.icon i.icon-caution {
  background-color: #a0439c;
  background-color: var(--caution-color);
  color: #fff;
  color: var(--caution-on-color);
}

.doc .admonitionblock td.icon i.icon-important {
  background-color: #d32f2f;
  background-color: var(--important-color);
  color: #fff;
  color: var(--important-on-color);
}

.doc .admonitionblock td.icon i.icon-note {
  background-color: #217ee7;
  background-color: var(--note-color);
  color: #fff;
  color: var(--note-on-color);
}

.doc .admonitionblock td.icon i.icon-tip {
  background-color: #41af46;
  background-color: var(--tip-color);
  color: #fff;
  color: var(--tip-on-color);
}

.doc .admonitionblock td.icon i.icon-warning {
  background-color: #e18114;
  background-color: var(--warning-color);
  color: #fff;
  color: var(--warning-on-color);
}

.doc .imageblock,
.doc .videoblock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.doc .imageblock .content {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  text-align: center;
}

.doc .imageblock.text-left,
.doc .videoblock.text-left {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.doc .imageblock.text-left .content {
  text-align: left;
}

.doc .imageblock.text-right,
.doc .videoblock.text-right {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.doc .imageblock.text-right .content {
  text-align: right;
}

.doc .imageblock img,
.doc .imageblock object,
.doc .imageblock svg,
.doc .image > img,
.doc .image > object,
.doc .image > svg {
  display: inline-block;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

.doc .image:not(.left):not(.right) > img {
  margin-top: -0.2em;
}

.doc .videoblock iframe,
.doc .videoblock video {
  max-width: 100%;
  vertical-align: middle;
}

#preamble .abstract blockquote {
  background: #f0f0f0;
  background: var(--abstract-background);
  border-left: 5px solid #e1e1e1;
  border-left: 5px solid var(--abstract-border-color);
  color: #4a4a4a;
  color: var(--abstract-font-color);
  font-size: 0.88889rem;
  font-size: calc(16/var(--rem-base)*1rem);
  padding: 0.75em 1em;
}

.doc .quoteblock,
.doc .verseblock {
  background: #fafafa;
  background: var(--quote-background);
  border-left: 5px solid #5d5d5d;
  border-left: 5px solid var(--quote-border-color);
  color: #5d5d5d;
  color: var(--quote-font-color);
}

.doc .quoteblock {
  padding: 0.25rem 2rem 1.25rem;
}

.doc .quoteblock .attribution {
  color: #8e8e8e;
  color: var(--quote-attribution-font-color);
  font-size: 0.83333rem;
  font-size: calc(15/var(--rem-base)*1rem);
  margin-top: 0.75rem;
}

.doc .quoteblock blockquote {
  margin-top: 1rem;
}

.doc .quoteblock .paragraph {
  font-style: italic;
}

.doc .quoteblock cite {
  padding-left: 1em;
}

.doc .verseblock {
  font-size: 1.15em;
  padding: 1rem 2rem;
}

.doc .verseblock pre {
  font-family: inherit;
  font-size: inherit;
}

.doc ol,
.doc ul {
  margin: 0;
  padding: 0 0 0 2rem;
}

.doc ul.checklist,
.doc ul.none,
.doc ol.none,
.doc ul.no-bullet,
.doc ol.unnumbered,
.doc ul.unstyled,
.doc ol.unstyled {
  list-style-type: none;
}

.doc ul.no-bullet,
.doc ol.unnumbered {
  padding-left: 1.25rem;
}

.doc ul.unstyled,
.doc ol.unstyled {
  padding-left: 0;
}

.doc ul.circle {
  list-style-type: circle;
}

.doc ul.disc {
  list-style-type: disc;
}

.doc ul.square {
  list-style-type: square;
}

.doc ul.circle ul:not([class]),
.doc ul.disc ul:not([class]),
.doc ul.square ul:not([class]) {
  list-style: inherit;
}

.doc ol.arabic {
  list-style-type: decimal;
}

.doc ol.decimal {
  list-style-type: decimal-leading-zero;
}

.doc ol.loweralpha {
  list-style-type: lower-alpha;
}

.doc ol.upperalpha {
  list-style-type: upper-alpha;
}

.doc ol.lowerroman {
  list-style-type: lower-roman;
}

.doc ol.upperroman {
  list-style-type: upper-roman;
}

.doc ol.lowergreek {
  list-style-type: lower-greek;
}

.doc ul.checklist {
  padding-left: 1.75rem;
}

.doc ul.checklist p > i.fa-check-square-o:first-child,
.doc ul.checklist p > i.fa-square-o:first-child {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.25rem;
  margin-left: -1.25rem;
}

.doc ul.checklist i.fa-check-square-o::before {
  content: "\2713";
}

.doc ul.checklist i.fa-square-o::before {
  content: "\274f";
}

.doc .dlist .dlist,
.doc .dlist .olist,
.doc .dlist .ulist,
.doc .olist .dlist,
.doc .olist .olist,
.doc .olist .ulist,
.doc .ulist .dlist,
.doc .ulist .olist,
.doc .ulist .ulist {
  margin-top: 0.5rem;
}

.doc .olist li + li,
.doc .ulist li + li {
  margin-top: 0.5rem;
}

.doc .ulist .listingblock,
.doc .olist .listingblock,
.doc .admonitionblock .listingblock {
  padding: 0;
}

.doc .admonitionblock .title,
.doc .exampleblock .title,
.doc .imageblock .title,
.doc .literalblock .title,
.doc .listingblock .title,
.doc .openblock .title,
.doc .videoblock .title,
.doc table.tableblock caption {
  color: #5d5d5d;
  color: var(--caption-font-color);
  font-size: 0.88889rem;
  font-size: calc(16/var(--rem-base)*1rem);
  font-style: italic;
  font-style: var(--caption-font-style);
  font-weight: 600;
  font-weight: var(--caption-font-weight);
  -ms-hyphens: none;
      hyphens: none;
  letter-spacing: 0.01em;
  padding-bottom: 0.075rem;
}

.doc table.tableblock caption {
  text-align: left;
}

.doc .olist .title,
.doc .ulist .title {
  font-style: italic;
  font-style: var(--caption-font-style);
  font-weight: 600;
  font-weight: var(--caption-font-weight);
  margin-bottom: 0.25rem;
}

.doc .imageblock .title,
.doc .videoblock .title {
  margin-top: 0.5rem;
  padding-bottom: 0;
}

.doc details {
  margin-left: 1rem;
}

.doc details > summary {
  display: block;
  position: relative;
  line-height: 1.6;
  line-height: var(--doc-line-height);
  margin-bottom: 0.5rem;
}

.doc details > summary::-webkit-details-marker {
  display: none;
}

.doc details > summary::before {
  content: "";
  border: solid transparent;
  border-left-color: currentColor;
  border-width: 0.3em 0 0.3em 0.5em;
  position: absolute;
  top: 0.5em;
  top: calc((var(--doc-line-height)*0.5 - 0.3)*1em);
  left: -1rem;
  -webkit-transform: translateX(15%);
          transform: translateX(15%);
}

.doc details[open] > summary::before {
  border-color: currentColor transparent transparent;
  border-width: 0.5rem 0.3rem 0;
  -webkit-transform: translateY(15%);
          transform: translateY(15%);
}

.doc details > summary::after {
  content: "";
  width: 1rem;
  height: 1em;
  position: absolute;
  top: 0.3em;
  top: calc((var(--doc-line-height)*0.5 - 0.5)*1em);
  left: -1rem;
}

.doc details.result {
  margin-top: 0.25rem;
}

.doc details.result > summary {
  color: #5d5d5d;
  color: var(--caption-font-color);
  font-style: italic;
  margin-bottom: 0;
}

.doc details.result > .content {
  margin-left: -1rem;
}

.doc .exampleblock > .content,
.doc details.result > .content {
  background: #fff;
  background: var(--example-background);
  border: 0.25rem solid #5d5d5d;
  border: 0.25rem solid var(--example-border-color);
  border-radius: 0.5rem;
  padding: 0.75rem;
}

.doc .exampleblock > .content::after,
.doc details.result > .content::after {
  content: "";
  display: table;
  clear: both;
}

.doc .exampleblock > .content > :first-child,
.doc details > .content > :first-child {
  margin-top: 0;
}

.doc .sidebarblock {
  background: #e1e1e1;
  background: var(--sidebar-background);
  border-radius: 0.75rem;
  padding: 0.75rem 1.5rem;
}

.doc .sidebarblock > .content > .title {
  font-size: 1.25rem;
  font-size: calc(22.5/var(--rem-base)*1rem);
  font-weight: 600;
  font-weight: var(--alt-heading-font-weight);
  line-height: 1.3;
  margin-bottom: 0.5rem;
  text-align: center;
}

.doc .sidebarblock > .content > .title + *,
.doc .sidebarblock > .content > :not(.title):first-child {
  margin-top: 0;
}

/* NEEDS REVIEW prevent pre in table from causing article to exceed bounds */

.doc table.tableblock pre,
.doc .listingblock.wrap pre {
  white-space: pre-wrap;
}

.doc pre.highlight > code,
.doc .listingblock pre:not(.highlight),
.doc .literalblock pre {
  background: #fafafa;
  background: var(--pre-background);
  -webkit-box-shadow: inset 0 0 1.75px #e1e1e1;
          box-shadow: inset 0 0 1.75px #e1e1e1;
  -webkit-box-shadow: inset 0 0 1.75px var(--pre-border-color);
          box-shadow: inset 0 0 1.75px var(--pre-border-color);
  display: block;
  overflow-x: auto;
  padding: 0.875em;
}

.doc .listingblock > .content {
  position: relative;
}

.doc .source-toolbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  position: absolute;
  top: 0.25rem;
  right: 0.5rem;
  color: #808080;
  color: var(--pre-annotation-font-color);
  font-family: "Roboto"
,
sans-serif;
  font-family: var(--body-font-family);
  font-size: 0.72222rem;
  font-size: calc(13/var(--rem-base)*1rem);
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
  z-index: 1;
}

.doc .listingblock:hover .source-toolbox {
  visibility: visible;
}

.doc .source-toolbox .source-lang {
  text-transform: uppercase;
  letter-spacing: 0.075em;
}

.doc .source-toolbox > :not(:last-child)::after {
  content: "|";
  letter-spacing: 0;
  padding: 0 1ch;
}

.doc .source-toolbox .copy-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: none;
  border: none;
  color: inherit;
  outline: none;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  width: 1em;
  height: 1em;
}

.doc .source-toolbox .copy-icon {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: inherit;
  height: inherit;
}

.doc .source-toolbox img.copy-icon {
  -webkit-filter: invert(50.2%);
          filter: invert(50.2%);
}

.doc .source-toolbox svg.copy-icon {
  fill: currentColor;
}

.doc .source-toolbox .copy-toast {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1em;
  background-color: #333;
  background-color: var(--doc-font-color);
  border-radius: 0.25em;
  padding: 0.5em;
  color: #fff;
  color: var(--color-white);
  cursor: auto;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease 0.5s;
  transition: opacity 0.5s ease 0.5s;
}

.doc .source-toolbox .copy-toast::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1em;
  height: 1em;
  border: 0.55em solid transparent;
  border-left-color: #333;
  border-left-color: var(--doc-font-color);
  -webkit-transform: rotate(-90deg) translateX(50%) translateY(50%);
          transform: rotate(-90deg) translateX(50%) translateY(50%);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.doc .source-toolbox .copy-button.clicked .copy-toast {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
}

.doc .language-console .hljs-meta {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.doc .dlist dt {
  font-style: italic;
}

.doc .dlist dd {
  margin: 0 0 0 1.5rem;
}

.doc .dlist dd + dt,
.doc .dlist dd > p:first-child {
  margin-top: 0.5rem;
}

.doc td.hdlist1,
.doc td.hdlist2 {
  padding: 0.5rem 0 0;
  vertical-align: top;
}

.doc tr:first-child > .hdlist1,
.doc tr:first-child > .hdlist2 {
  padding-top: 0;
}

.doc td.hdlist1 {
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
  padding-right: 0.25rem;
}

.doc td.hdlist2 {
  padding-left: 0.25rem;
}

.doc .colist {
  font-size: 0.88889rem;
  font-size: calc(16/var(--rem-base)*1rem);
  margin: 0.25rem 0 -0.25rem;
}

.doc .colist > table > tr > :first-child,
.doc .colist > table > tbody > tr > :first-child {
  padding: 0.25em 0.5rem 0;
  vertical-align: top;
}

.doc .colist > table > tr > :last-child,
.doc .colist > table > tbody > tr > :last-child {
  padding: 0.25rem 0;
}

.doc .conum[data-value] {
  border: 1px solid currentColor;
  border-radius: 100%;
  display: inline-block;
  font-family: "Roboto"
,
sans-serif;
  font-family: var(--body-font-family);
  font-size: 0.75rem;
  font-size: calc(13.5/var(--rem-base)*1rem);
  font-style: normal;
  line-height: 1.2;
  text-align: center;
  width: 1.25em;
  height: 1.25em;
  letter-spacing: -0.25ex;
  text-indent: -0.25ex;
}

.doc .conum[data-value]::after {
  content: attr(data-value);
}

.doc .conum[data-value] + b {
  display: none;
}

.doc hr {
  border: solid #e1e1e1;
  border: solid var(--section-divider-color);
  border-width: 2px 0 0;
  height: 0;
}

.doc b.button {
  white-space: nowrap; /* effectively ignores hyphens setting */
}

.doc b.button::before {
  content: "[";
  padding-right: 0.25em;
}

.doc b.button::after {
  content: "]";
  padding-left: 0.25em;
}

.doc kbd {
  display: inline-block;
  font-size: 0.66667rem;
  font-size: calc(12/var(--rem-base)*1rem);
  background: #fafafa;
  background: var(--kbd-background);
  border: 1px solid #c1c1c1;
  border: 1px solid var(--kbd-border-color);
  border-radius: 0.25em;
  -webkit-box-shadow: 0 1px 0 #c1c1c1, 0 0 0 0.1em #fff inset;
          box-shadow: 0 1px 0 #c1c1c1, 0 0 0 0.1em #fff inset;
  -webkit-box-shadow: 0 1px 0 var(--kbd-border-color), 0 0 0 0.1em var(--body-background) inset;
          box-shadow: 0 1px 0 var(--kbd-border-color), 0 0 0 0.1em var(--body-background) inset;
  padding: 0.25em 0.5em;
  vertical-align: text-bottom;
  white-space: nowrap; /* effectively ignores hyphens setting */
}

.doc kbd,
.doc .keyseq {
  line-height: 1;
}

.doc .keyseq {
  font-size: 0.88889rem;
  font-size: calc(16/var(--rem-base)*1rem);
}

.doc .keyseq kbd {
  margin: 0 0.125em;
}

.doc .keyseq kbd:first-child {
  margin-left: 0;
}

.doc .keyseq kbd:last-child {
  margin-right: 0;
}

.doc .menuseq,
.doc .path {
  -ms-hyphens: none;
      hyphens: none;
}

.doc .menuseq i.caret::before {
  content: "\203a";
  font-size: 1.1em;
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
  line-height: 0.90909;
}

.doc :not(pre).nowrap {
  white-space: nowrap;
}

.doc .nobreak {
  -ms-hyphens: none;
      hyphens: none;
  word-wrap: normal;
}

.doc :not(pre).pre-wrap {
  white-space: pre-wrap;
}

#footnotes {
  font-size: 0.85em;
  line-height: 1.5;
  margin: 2rem -0.5rem 0;
}

.doc td.tableblock > .content #footnotes {
  margin: 2rem 0 0;
}

#footnotes hr {
  border-top-width: 1px;
  margin-top: 0;
  width: 20%;
}

#footnotes .footnote {
  margin: 0.5em 0 0 1em;
}

#footnotes .footnote + .footnote {
  margin-top: 0.25em;
}

#footnotes .footnote > a:first-of-type {
  display: inline-block;
  margin-left: -2em;
  text-align: right;
  width: 1.5em;
}

nav.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #e1e1e1;
  border-top: 1px solid var(--toolbar-border-color);
  line-height: 1;
  margin: 2rem -1rem -1rem;
  padding: 0.75rem 1rem 0;
}

nav.pagination span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 50%;
      -ms-flex: 50%;
          flex: 50%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

nav.pagination .prev {
  padding-right: 0.5rem;
}

nav.pagination .next {
  margin-left: auto;
  padding-left: 0.5rem;
  text-align: right;
}

nav.pagination span::before {
  color: #8e8e8e;
  color: var(--toolbar-muted-color);
  font-size: 0.75em;
  padding-bottom: 0.1em;
}

nav.pagination .prev::before {
  content: "Prev";
}

nav.pagination .next::before {
  content: "Next";
}

nav.pagination a {
  font-weight: 600;
  font-weight: var(--body-font-weight-bold);
  line-height: 1.3;
  position: relative;
}

nav.pagination a::before,
nav.pagination a::after {
  color: #8e8e8e;
  color: var(--toolbar-muted-color);
  font-weight: normal;
  font-size: 1.5em;
  line-height: 0.75;
  position: absolute;
  top: 0;
  width: 1rem;
}

nav.pagination .prev a::before {
  content: "\2039";
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

nav.pagination .next a::after {
  content: "\203a";
}

@media screen and (max-width: 1023.5px) {
  html.is-clipped--navbar {
    overflow-y: hidden;
  }
}

body {
  padding-top: 3.5rem;
  padding-top: var(--navbar-height);
}

.navbar {
  background: #191919;
  background: var(--navbar-background);
  color: #fff;
  color: var(--navbar-font-color);
  font-size: 0.88889rem;
  font-size: calc(16/var(--rem-base)*1rem);
  height: 3.5rem;
  height: var(--navbar-height);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 4;
  z-index: var(--z-index-navbar);
}

.navbar a {
  text-decoration: none;
}

.navbar-brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  padding-left: 1rem;
}

.navbar-brand .navbar-item {
  color: #fff;
  color: var(--navbar-font-color);
}

.navbar-brand .navbar-item:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 0;
  font-size: 1.22222rem;
  font-size: calc(22/var(--rem-base)*1rem);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1;
}

.navbar-brand .navbar-item:first-child a {
  color: inherit;
  word-wrap: normal;
}

.navbar-brand .navbar-item:first-child :not(:last-child) {
  padding-right: 0.375rem;
}

.navbar-brand .navbar-item.search {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

#search-input {
  color: #333;
  font-family: inherit;
  font-size: 0.95rem;
  width: 150px;
  border: 1px solid #dbdbdb;
  border-radius: 0.1em;
  line-height: 1.5;
  padding: 0 0.25em;
}

#search-input:disabled {
  background-color: #dbdbdb;
  /* disable cursor */
  cursor: not-allowed;
  pointer-events: all !important;
}

#search-input:disabled::-webkit-input-placeholder {
  color: #4c4c4c;
}

#search-input:disabled::-moz-placeholder {
  color: #4c4c4c;
}

#search-input:disabled:-ms-input-placeholder {
  color: #4c4c4c;
}

#search-input:disabled::-ms-input-placeholder {
  color: #4c4c4c;
}

#search-input:disabled::placeholder {
  color: #4c4c4c;
}

#search-input:focus {
  outline: none;
}

.navbar-burger {
  background: none;
  border: none;
  outline: none;
  line-height: 1;
  position: relative;
  width: 3rem;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: auto;
  min-width: 0;
}

.navbar-burger span {
  background-color: #fff;
  background-color: var(--navbar-font-color);
  height: 1.5px;
  width: 1rem;
}

.navbar-burger:not(.is-active) span {
  -webkit-transition: opacity 0s 0.25s, margin-top ease-out 0.25s 0.25s, -webkit-transform ease-out 0.25s;
  transition: opacity 0s 0.25s, margin-top ease-out 0.25s 0.25s, -webkit-transform ease-out 0.25s;
  transition: transform ease-out 0.25s, opacity 0s 0.25s, margin-top ease-out 0.25s 0.25s;
  transition: transform ease-out 0.25s, opacity 0s 0.25s, margin-top ease-out 0.25s 0.25s, -webkit-transform ease-out 0.25s;
}

.navbar-burger span + span {
  margin-top: 0.25rem;
}

.navbar-burger.is-active span + span {
  margin-top: -1.5px;
}

.navbar-burger.is-active span:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.navbar-burger.is-active span:nth-child(2) {
  opacity: 0;
}

.navbar-burger.is-active span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.navbar-item,
.navbar-link {
  color: #222;
  color: var(--navbar-menu-font-color);
  display: block;
  line-height: 1.6;
  line-height: var(--doc-line-height);
  padding: 0.5rem 1rem;
}

.navbar-item.has-dropdown {
  padding: 0;
}

.navbar-item .icon {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
}

.navbar-item .icon img,
.navbar-item .icon svg {
  fill: currentColor;
  width: inherit;
  height: inherit;
}

.navbar-link {
  padding-right: 2.5em;
}

.navbar-dropdown .navbar-item {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.navbar-dropdown .navbar-item.has-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.navbar-dropdown .navbar-item small {
  color: #8e8e8e;
  color: var(--toolbar-muted-color);
  font-size: 0.66667rem;
  font-size: calc(12/var(--rem-base)*1rem);
}

.navbar-divider {
  background-color: #e1e1e1;
  background-color: var(--navbar-menu-border-color);
  border: none;
  height: 1px;
  margin: 0.25rem 0;
}

.navbar .button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  background: var(--navbar-button-background);
  border: 1px solid #e1e1e1;
  border: 1px solid var(--navbar-button-border-color);
  border-radius: 0.15rem;
  height: 1.75rem;
  color: #222;
  color: var(--navbar-button-font-color);
  padding: 0 0.75em;
  white-space: nowrap;
}

@media screen and (max-width: 768.5px) {
  .navbar-brand .navbar-item.search {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 769px) {
  #search-input {
    width: 200px;
  }
}

@media screen and (max-width: 1023.5px) {
  .navbar-brand {
    height: inherit;
  }

  .navbar-brand .navbar-item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .navbar-menu {
    background: #fff;
    background: var(--navbar-menu-background);
    -webkit-box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
            box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
    max-height: calc(100vh - 3.5rem);
    max-height: var(--body-min-height);
    overflow-y: auto;
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
    padding: 0.5rem 0;
  }

  .navbar-menu:not(.is-active) {
    display: none;
  }

  .navbar-menu a.navbar-item:hover,
  .navbar-menu .navbar-link:hover {
    background: #f5f5f5;
    background: var(--navbar-menu_hover-background);
  }
}

@media screen and (min-width: 1024px) {
  .navbar-burger {
    display: none;
  }

  .navbar,
  .navbar-menu,
  .navbar-end {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .navbar-item,
  .navbar-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }

  .navbar-item:not(.has-dropdown),
  .navbar-link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .navbar-item.is-hoverable:hover .navbar-dropdown {
    display: block;
  }

  .navbar-link::after {
    border-width: 0 0 1px 1px;
    border-style: solid;
    content: "";
    display: block;
    height: 0.5em;
    pointer-events: none;
    position: absolute;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    width: 0.5em;
    margin-top: -0.375em;
    right: 1.125em;
    top: 50%;
  }

  .navbar-end > .navbar-item,
  .navbar-end .navbar-link {
    color: #fff;
    color: var(--navbar-font-color);
  }

  .navbar-end > a.navbar-item:hover,
  .navbar-end .navbar-link:hover,
  .navbar-end .navbar-item.has-dropdown:hover .navbar-link {
    background: #000;
    background: var(--navbar_hover-background);
    color: #fff;
    color: var(--navbar-font-color);
  }

  .navbar-end .navbar-link::after {
    border-color: currentColor;
  }

  .navbar-dropdown {
    background: #fff;
    background: var(--navbar-menu-background);
    border: 1px solid #e1e1e1;
    border: 1px solid var(--navbar-menu-border-color);
    border-top: none;
    border-radius: 0 0 0.25rem 0.25rem;
    display: none;
    top: 100%;
    left: 0;
    min-width: 100%;
    position: absolute;
  }

  .navbar-dropdown .navbar-item {
    padding: 0.5rem 3rem 0.5rem 1rem;
    white-space: nowrap;
  }

  .navbar-dropdown .navbar-item small {
    position: relative;
    right: -2rem;
  }

  .navbar-dropdown .navbar-item:last-child {
    border-radius: inherit;
  }

  .navbar-dropdown.is-right {
    left: auto;
    right: 0;
  }

  .navbar-dropdown a.navbar-item:hover {
    background: #f5f5f5;
    background: var(--navbar-menu_hover-background);
  }
}

footer.footer {
  background-color: #e1e1e1;
  background-color: var(--footer-background);
  color: #5d5d5d;
  color: var(--footer-font-color);
  font-size: 0.83333rem;
  font-size: calc(15/var(--rem-base)*1rem);
  line-height: 1.6;
  line-height: var(--footer-line-height);
  padding: 1.5rem;
}

.footer p {
  margin: 0.5rem 0;
}

.footer a {
  color: #191919;
  color: var(--footer-link-font-color);
}

/*! Adapted from the GitHub style by Vasily Polovnyov <vast@whiteants.net> */

.hljs-comment,
.hljs-quote {
  color: #998;
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
  color: #333;
  font-weight: 600;
  font-weight: var(--monospace-font-weight-bold);
}

.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
  color: #008080;
}

.hljs-string,
.hljs-doctag {
  color: #d14;
}

.hljs-title,
.hljs-section,
.hljs-selector-id {
  color: #900;
  font-weight: 600;
  font-weight: var(--monospace-font-weight-bold);
}

.hljs-subst {
  font-weight: normal;
}

.hljs-type,
.hljs-class .hljs-title {
  color: #458;
  font-weight: 600;
  font-weight: var(--monospace-font-weight-bold);
}

.hljs-tag,
.hljs-name,
.hljs-attribute {
  color: #000080;
  font-weight: normal;
}

.hljs-regexp,
.hljs-link {
  color: #009926;
}

.hljs-symbol,
.hljs-bullet {
  color: #990073;
}

.hljs-built_in,
.hljs-builtin-name {
  color: #0086b3;
}

.hljs-meta {
  color: #999;
  font-weight: 600;
  font-weight: var(--monospace-font-weight-bold);
}

.hljs-deletion {
  background: #fdd;
}

.hljs-addition {
  background: #dfd;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: 600;
  font-weight: var(--monospace-font-weight-bold);
}

@page {
  margin: 0.5in;
}

@media print {
  .hide-for-print {
    display: none !important;
  }

  html {
    font-size: 0.9375em;
    font-size: var(--body-font-size--print);
  }

  a {
    color: inherit !important;
    text-decoration: underline;
  }

  a.bare,
  a[href^="#"],
  a[href^="mailto:"] {
    text-decoration: none;
  }

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

  thead {
    display: table-header-group;
  }

  pre {
    -ms-hyphens: none;
        hyphens: none;
    white-space: pre-wrap;
  }

  body {
    padding-top: 2rem;
  }

  .navbar {
    background: none;
    color: inherit;
    position: absolute;
  }

  .navbar * {
    color: inherit !important;
  }

  .navbar > :not(.navbar-brand),
  .nav-container,
  .toolbar,
  aside.toc,
  nav.pagination {
    display: none;
  }

  .doc {
    color: inherit;
    margin: auto;
    max-width: none;
    padding-bottom: 2rem;
  }

  .doc .admonitionblock td.icon {
    -webkit-print-color-adjust: exact;
            color-adjust: exact;
  }

  .doc .listingblock code[data-lang]::before {
    display: block;
  }

  footer.footer {
    background: none;
    border-top: 1px solid #e1e1e1;
    border-top: 1px solid var(--panel-border-color);
    color: #8e8e8e;
    color: var(--quote-attribution-font-color);
    padding: 0.25rem 0.5rem 0;
  }

  .footer * {
    color: inherit;
  }
}
/*# sourceMappingURL=site.css.map */
