@font-face {
  font-family: "Noto Sans";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/Noto-Sans-regular/Noto-Sans-regular.eot");
  src: url("../fonts/Noto-Sans-regular/Noto-Sans-regular.eot?#iefix") format("embedded-opentype"), local("Noto Sans"), local("Noto-Sans-regular"), url("../fonts/Noto-Sans-regular/Noto-Sans-regular.woff2") format("woff2"), url("../fonts/Noto-Sans-regular/Noto-Sans-regular.woff") format("woff"), url("../fonts/Noto-Sans-regular/Noto-Sans-regular.ttf") format("truetype"), url("../fonts/Noto-Sans-regular/Noto-Sans-regular.svg#NotoSans") format("svg");
}
@font-face {
  font-family: "Noto Sans";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/Noto-Sans-700/Noto-Sans-700.eot");
  src: url("../fonts/Noto-Sans-700/Noto-Sans-700.eot?#iefix") format("embedded-opentype"), local("Noto Sans Bold"), local("Noto-Sans-700"), url("../fonts/Noto-Sans-700/Noto-Sans-700.woff2") format("woff2"), url("../fonts/Noto-Sans-700/Noto-Sans-700.woff") format("woff"), url("../fonts/Noto-Sans-700/Noto-Sans-700.ttf") format("truetype"), url("../fonts/Noto-Sans-700/Noto-Sans-700.svg#NotoSans") format("svg");
}
@font-face {
  font-family: "Noto Sans";
  font-weight: 400;
  font-style: italic;
  src: url("../fonts/Noto-Sans-italic/Noto-Sans-italic.eot");
  src: url("../fonts/Noto-Sans-italic/Noto-Sans-italic.eot?#iefix") format("embedded-opentype"), local("Noto Sans Italic"), local("Noto-Sans-italic"), url("../fonts/Noto-Sans-italic/Noto-Sans-italic.woff2") format("woff2"), url("../fonts/Noto-Sans-italic/Noto-Sans-italic.woff") format("woff"), url("../fonts/Noto-Sans-italic/Noto-Sans-italic.ttf") format("truetype"), url("../fonts/Noto-Sans-italic/Noto-Sans-italic.svg#NotoSans") format("svg");
}
@font-face {
  font-family: "Noto Sans";
  font-weight: 700;
  font-style: italic;
  src: url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot");
  src: url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot?#iefix") format("embedded-opentype"), local("Noto Sans Bold Italic"), local("Noto-Sans-700italic"), url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2") format("woff2"), url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff") format("woff"), url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf") format("truetype"), url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg#NotoSans") format("svg");
}
/* ============================================================ */
/* Catppuccin Macchiato Syntax Highlighting for Jekyll-Pygments */
/* Source: https://github.com/neuroconvergent/jekyll-pygments   */
/* ============================================================ */
/* Base and highlights */
.highlight .hll {
  background-color: #24273a;
}

.highlight .c {
  color: #939ab7;
  font-style: italic;
} /* Comment */
.highlight .err {
  color: #ed8796;
  background-color: #f5a97f;
} /* Error */
.highlight .k {
  color: #c6a0f6;
  font-weight: bold;
} /* Keyword */
.highlight .o {
  color: #91d7e3;
  font-weight: bold;
} /* Operator */
.highlight .cm {
  color: #939ab7;
  font-style: italic;
} /* Comment.Multiline */
.highlight .cp {
  color: #c6a0f6;
  font-weight: bold;
  font-style: italic;
} /* Comment.Preproc */
.highlight .c1 {
  color: #939ab7;
  font-style: italic;
} /* Comment.Single */
.highlight .cs {
  color: #c6a0f6;
  font-weight: bold;
  font-style: italic;
} /* Comment.Special */
.highlight .gd {
  color: #ed8796;
  background-color: rgba(237, 135, 150, 0.15);
} /* Generic.Deleted */
.highlight .ge {
  color: #a5adcb;
  font-style: italic;
} /* Generic.Emph */
.highlight .gr {
  color: #ed8796;
} /* Generic.Error */
.highlight .gh {
  color: #a5adcb;
} /* Generic.Heading */
.highlight .gi {
  color: #a6da95;
  background-color: rgba(166, 218, 149, 0.15);
} /* Generic.Inserted */
.highlight .go {
  color: #b8c0e0;
} /* Generic.Output */
.highlight .gp {
  color: #a5adcb;
} /* Generic.Prompt */
.highlight .gs {
  font-weight: bold;
} /* Generic.Strong */
.highlight .gu {
  color: #a5adcb;
} /* Generic.Subheading */
.highlight .gt {
  color: #ed8796;
} /* Generic.Traceback */
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr {
  color: #c6a0f6;
  font-weight: bold;
} /* Keyword Constant/Declaration/Namespace/Pseudo/Reserved */
.highlight .kt {
  color: #eed49f;
  font-weight: bold;
} /* Keyword.Type */
.highlight .m,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .mo {
  color: #f5a97f;
} /* Literal.Number */
.highlight .s,
.highlight .sb,
.highlight .sc,
.highlight .sd,
.highlight .s2,
.highlight .se,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .s1 {
  color: #a6da95;
} /* Literal.String variants */
.highlight .sr {
  color: #8bd5ca;
} /* Literal.String.Regex */
.highlight .ss {
  color: #f5bde6;
} /* Literal.String.Symbol */
.highlight .na,
.highlight .nv,
.highlight .vc,
.highlight .vg,
.highlight .vi {
  color: #8aadf4;
} /* Name/Variable variants */
.highlight .nb {
  color: #ed8796;
} /* Name.Builtin */
.highlight .nc {
  color: #eed49f;
  font-weight: bold;
} /* Name.Class */
.highlight .no {
  color: #a6da95;
} /* Name.Constant */
.highlight .nd {
  color: #c6a0f6;
  font-weight: bold;
} /* Name.Decorator */
.highlight .ni {
  color: #f5a97f;
} /* Name.Entity */
.highlight .ne,
.highlight .nf,
.highlight .nl {
  color: #ed8796;
  font-weight: bold;
} /* Name.Exception/Function/Label */
.highlight .nn {
  color: #a5adcb;
} /* Name.Namespace */
.highlight .nt {
  color: #8aadf4;
} /* Name.Tag */
.highlight .ow {
  color: #91d7e3;
  font-weight: bold;
} /* Operator.Word */
.highlight .w {
  color: #b8c0e0;
} /* Text.Whitespace */
.highlight .il {
  color: #f5a97f;
} /* Literal.Number.Integer.Long */
/* https://github.com/catppuccin/highlightjs/commit/79a8acc */
code.hljs {
  color: #cad3f5 !important;
  background: #1e2030 !important;
}

code .hljs-keyword {
  color: #c6a0f6 !important;
}

code .hljs-built_in {
  color: #ed8796 !important;
}

code .hljs-type {
  color: #eed49f !important;
}

code .hljs-literal {
  color: #f5a97f !important;
}

code .hljs-number {
  color: #f5a97f !important;
}

code .hljs-operator {
  color: #91d7e3 !important;
}

code .hljs-punctuation {
  color: #b8c0e0 !important;
}

code .hljs-property {
  color: #8bd5ca !important;
}

code .hljs-regexp {
  color: #f5bde6 !important;
}

code .hljs-string {
  color: #a6da95 !important;
}

code .hljs-char.escape_ {
  color: #a6da95 !important;
}

code .hljs-subst {
  color: #a5adcb !important;
}

code .hljs-symbol {
  color: #f0c6c6 !important;
}

code .hljs-variable {
  color: #c6a0f6 !important;
}

code .hljs-variable.language_ {
  color: #c6a0f6 !important;
}

code .hljs-variable.constant_ {
  color: #f5a97f !important;
}

code .hljs-title {
  color: #8aadf4 !important;
}

code .hljs-title.class_ {
  color: #eed49f !important;
}

code .hljs-title.function_ {
  color: #8aadf4 !important;
}

code .hljs-params {
  color: #cad3f5 !important;
}

code .hljs-comment {
  color: #939ab7 !important;
}

code .hljs-doctag {
  color: #ed8796 !important;
}

code .hljs-meta {
  color: #f5a97f !important;
}

code .hljs-section {
  color: #8aadf4 !important;
}

code .hljs-tag {
  color: #8bd5ca !important;
}

code .hljs-name {
  color: #c6a0f6 !important;
}

code .hljs-attr {
  color: #8aadf4 !important;
}

code .hljs-attribute {
  color: #a6da95 !important;
}

code .hljs-bullet {
  color: #8bd5ca !important;
}

code .hljs-code {
  color: #a6da95 !important;
}

code .hljs-emphasis {
  color: #ed8796 !important;
  font-style: italic !important;
}

code .hljs-strong {
  color: #ed8796 !important;
  font-weight: bold !important;
}

code .hljs-formula {
  color: #8bd5ca !important;
}

code .hljs-link {
  color: #7dc4e4 !important;
  font-style: italic !important;
}

code .hljs-quote {
  color: #a6da95 !important;
  font-style: italic !important;
}

code .hljs-selector-tag {
  color: #eed49f !important;
}

code .hljs-selector-id {
  color: #8aadf4 !important;
}

code .hljs-selector-class {
  color: #8bd5ca !important;
}

code .hljs-selector-attr {
  color: #c6a0f6 !important;
}

code .hljs-selector-pseudo {
  color: #8bd5ca !important;
}

code .hljs-template-tag {
  color: #f0c6c6 !important;
}

code .hljs-template-variable {
  color: #f0c6c6 !important;
}

code .hljs-addition {
  color: #a6da95 !important;
  background: rgba(166, 218, 149, 0.15) !important;
}

code .hljs-deletion {
  color: #ed8796 !important;
  background: rgba(237, 135, 150, 0.15) !important;
}

@media screen and (min-width: 900px) {
  div.wrapper {
    width: 100%;
  }
  div.wrapper > header {
    width: 280px;
  }
  div.wrapper > section {
    width: calc(100% - 300px);
  }
}
a:hover, a:focus {
  font-weight: normal;
  text-decoration: underline;
}

h1 a:hover {
  font-weight: bold;
}

h1 a:focus {
  font-weight: bold;
}

.emoji {
  vertical-align: middle;
}

.testcases-table .col:not(.col1):not(.col2) {
  text-align: center;
}

body {
  background-color: #24273a !important;
  padding: 50px;
  font: 14px/1.5 "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #cad3f5 !important;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
  color: #cad3f5 !important;
  margin: 0 0 20px;
}

p, ul, ol, table, pre, dl {
  margin: 0 0 20px;
}

h1, h2, h3 {
  line-height: 1.1;
}

h1 {
  font-size: 28px;
}

h2 {
  color: #f5a97f !important;
}

h3, h4, h5, h6 {
  color: #eed49f !important;
}

a {
  color: #8aadf4 !important;
  text-decoration: none;
}

a small {
  font-size: 11px;
  color: #939ab7 !important;
  margin-top: -0.3em;
  display: block;
}

a:hover small {
  color: #939ab7 !important;
}

.wrapper {
  width: 860px;
  margin: 0 auto;
}

blockquote {
  border-left: 1px solid #494d64 !important;
  margin: 0;
  padding: 0 0 0 20px;
  font-style: italic;
}

code, pre {
  font-family: monospace;
  color: #cad3f5 !important;
}

pre {
  padding: 8px 15px;
  background: #1e2030 !important;
  border-radius: 5px;
  border: 1px solid #494d64 !important;
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  text-align: left;
  padding: 5px 10px;
  border-bottom: 1px solid #494d64 !important;
}

dt {
  color: #b8c0e0 !important;
  font-weight: 700;
}

th {
  color: #b8c0e0 !important;
}

img {
  max-width: 100%;
}

kbd {
  background-color: #24273a !important;
  border: 1px solid #363a4f !important;
  border-bottom-color: #494d64 !important;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 #494d64 !important;
  color: #cad3f5 !important;
  display: inline-block;
  font-size: 11px;
  line-height: 10px;
  padding: 3px 5px;
  vertical-align: middle;
}

header {
  width: 270px;
  float: left;
  position: fixed;
  -webkit-font-smoothing: subpixel-antialiased;
}

ul.downloads {
  list-style: none;
  height: 40px;
  padding: 0;
  background: #1e2030 !important;
  border-radius: 5px;
  border: 1px solid #363a4f !important;
  width: 270px;
}

.downloads li {
  width: 89px;
  float: left;
  border-right: 1px solid #363a4f !important;
  height: 40px;
}

.downloads li:first-child a {
  border-radius: 5px 0 0 5px;
}

.downloads li:last-child a {
  border-radius: 0 5px 5px 0;
}

.downloads a {
  line-height: 1;
  font-size: 11px;
  color: #b8c0e0 !important;
  display: block;
  text-align: center;
  padding-top: 6px;
  height: 34px;
}

.downloads a:hover, .downloads a:focus {
  color: #f5bde6 !important;
  font-weight: bold;
}

.downloads ul a:active {
  background-color: #363a4f !important;
}

strong {
  color: #cad3f5 !important;
  font-weight: 700;
}

.downloads li + li + li {
  border-right: none;
  width: 89px;
}

.downloads a strong {
  font-size: 14px;
  display: block;
  color: #cad3f5 !important;
}

section {
  width: 500px;
  float: right;
  padding-bottom: 50px;
}

small {
  font-size: 11px;
}

hr {
  border: 0;
  background: #494d64 !important;
  height: 1px;
  margin: 0 0 20px;
}

footer {
  width: 270px;
  float: left;
  position: fixed;
  bottom: 50px;
  -webkit-font-smoothing: subpixel-antialiased;
}

@media print, screen and (max-width: 960px) {
  div.wrapper {
    width: auto;
    margin: 0;
  }
  header, section, footer {
    float: none;
    position: static;
    width: auto;
  }
  header {
    padding-right: 320px;
  }
  section {
    border: 1px solid #494d64 !important;
    border-width: 1px 0;
    padding: 20px 0;
    margin: 0 0 20px;
  }
  header a small {
    display: inline;
  }
  header ul {
    position: absolute;
    right: 50px;
    top: 52px;
  }
}
@media print, screen and (max-width: 720px) {
  body {
    word-wrap: break-word;
  }
  header {
    padding: 0;
  }
  header ul, header p.view {
    position: static;
  }
  pre, code {
    word-wrap: normal;
  }
}
@media print, screen and (max-width: 480px) {
  body {
    padding: 15px;
  }
  .downloads {
    width: 99%;
  }
  .downloads li, .downloads li + li + li {
    width: 33%;
  }
}
@media print {
  body {
    padding: 0.4in;
    font-size: 12pt;
    color: #cad3f5 !important;
  }
}
