/*
 * Based on darkfx theme for docfx, Copyright (c) Oscar Vasquez and/or
 * steffen-wilke. All rights reserved. Licensed under the MIT license.
 *
 * I have modified the style to accomplish the following goals, and possibly
 * others:
 *
 * - The dark theme should match (or resemble) the dark theme for
 *   https://docs.microsoft.com
 * - The light theme should look identical (more or less) to the default docfx
 *   theme which I was previously using.
 *
 * The original darkfx theme can be found here:
 * https://github.com/steffen-wilke/darkfx
 */
:root,
body.theme-dark {
  --theme-foreground: #ccd5dc;
  --theme-text: #e3e3e3;
  --theme-navbar: #9d9d9d;
  --theme-navbar-hover: #fff;
  --theme-navbar-active: #fff;
  --theme-breadcrumb: #999;
  --theme-underline: #ddd;
  --theme-form-control-border: #404040;
  --theme-sidenav-border: #404040;
  --theme-sidenav-background: #2d2d30;
  --theme-sidenav-filter-background: #1d1d1d;
  --theme-toc-hover: #fff;
  --theme-background: #2d2d30;
  --theme-body-background: #171717;
  --theme-background-navbar: #222;
  --theme-background-navbar-active: #080808;
  --theme-background-subnav: #1d1d1d;
  --theme-background-footer: #171717;
  --theme-background-table-alt: #212123;
  --theme-background-quote: #69696e;
  --theme-inline-code: inherit;
  --theme-inline-code-background: #454545;
  --theme-code-border: #404040;
  --theme-border-subnav: #404040;
  --theme-border-footer: #404040; }

body.theme-light {
  --theme-foreground: #171717;
  --theme-text: #171717;
  --theme-navbar: #9d9d9d;
  --theme-navbar-hover: #fff;
  --theme-navbar-active: #fff;
  --theme-breadcrumb: #337ab7;
  --theme-form-control-border: #ccc;
  --theme-sidenav-border: #e7e7e7;
  --theme-sidenav-background: #f1f1f1;
  --theme-sidenav-filter-background: #ffffff;
  --theme-toc-hover: #4c4c4c;
  --theme-background: #ffffff;
  --theme-body-background: #ffffff;
  --theme-background-navbar: #222;
  --theme-background-navbar-active: #080808;
  --theme-background-subnav: #f5f5f5;
  --theme-background-footer: #f8f8f8;
  --theme-background-table-alt: #f9f9f9;
  --theme-inline-code: #c7254e;
  --theme-inline-code-background: #f9f2f4;
  --theme-code-border: #e7e7e7;
  --theme-border-footer: #e7e7e7; }

body {
  color: var(--theme-text);
  background-color: var(--theme-body-background); }

article h4 {
  border-bottom: 2px solid var(--theme-underline); }

.navbar-brand > img {
  color: var(--theme-background); }

.subnav {
  background-color: var(--theme-background-subnav); }

.theme-dark .subnav {
  border-bottom: 1px solid var(--theme-border-subnav); }

.navbar-inverse {
  background-color: var(--theme-background-navbar); }

.navbar-inverse .navbar-nav > li > a,
.navbar-inverse .navbar-text {
  color: var(--theme-navbar);
  background-color: var(--theme-background-navbar); }

/* Link in navbar being hovered */
.navbar-inverse .navbar-nav > li > a:focus,
.navbar-inverse .navbar-nav > li > a:hover {
  color: var(--theme-navbar-hover);
  background-color: var(--theme-background-navbar); }

/* Active link in navbar */
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:focus,
.navbar-inverse .navbar-nav > .active > a:hover {
  color: var(--theme-navbar-active);
  background-color: var(--theme-background-navbar-active); }

.toc .nav > li > a {
  color: var(--theme-foreground); }

.sidefilter,
.sidetoc {
  background-color: var(--theme-sidenav-background);
  border-left: 1px solid var(--theme-sidenav-border);
  border-right: 1px solid var(--theme-sidenav-border); }

.toc-filter,
.toc-filter > input {
  background-color: var(--theme-sidenav-filter-background); }

.toc-filter > input:focus {
  color: var(--theme-foreground); }

.sidetoc > .toc {
  background-color: var(--theme-sidenav-background); }

body.theme-dark button, body.theme-dark a {
  color: #5999d8; }
body.theme-dark .alert > p {
  background-color: var(--theme-background-dark); }
body.theme-dark .alert > h5 {
  background-color: var(--theme-background-dark); }
body.theme-dark .alert-info {
  color: #94d0f2;
  background-color: #1e2f37;
  border-color: #293a42; }
body.theme-dark .alert-warning {
  color: #e4c28c;
  background-color: #2f2d1d;
  border-color: #3a3828; }
body.theme-dark .alert-danger {
  color: #ffa79e;
  background-color: #372829;
  border-color: #423333; }

body.theme-light .alert-info {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1; }
body.theme-light .alert-info hr {
  border-top-color: #a6e1ec; }
body.theme-light .alert-info .alert-link {
  color: #245269; }
body.theme-light .alert-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc; }
body.theme-light .alert-warning hr {
  border-top-color: #f7e1b5; }
body.theme-light .alert-warning .alert-link {
  color: #66512c; }
body.theme-light .alert-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1; }
body.theme-light .alert-danger hr {
  border-top-color: #e4b9c0; }
body.theme-light .alert-danger .alert-link {
  color: #843534; }

.breadcrumb {
  background-color: var(--theme-background-subnav); }

.breadcrumb .label.label-primary {
  background: #444; }

#breadcrumb .breadcrumb > li a {
  color: var(--theme-breadcrumb); }

#breadcrumb .breadcrumb > li a:hover {
  color: var(--theme-foreground); }

.breadcrumb > li + li:before {
  color: var(--theme-background-dark); }

.theme-light .breadcrumb > li + li:before {
  color: var(--theme-foreground); }

.footer {
  background-color: var(--theme-background-footer);
  border-top: 1px solid var(--theme-border-footer); }

.toc .nav > li > a:hover,
.toc .nav > li > a:focus {
  color: var(--theme-toc-hover); }

.form-control {
  background-color: var(--theme-background-subnav);
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 1px solid var(--theme-form-control-border); }

.form-control:focus {
  border-color: #66afe9;
  -webkit-box-shadow: none;
  box-shadow: none; }

input#search-query:focus {
  color: var(--theme-foreground); }

.table-bordered,
.table-bordered > tbody > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > td,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > thead > tr > th {
  border: 1px solid var(--theme-background-dark); }

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--theme-background-table-alt); }

blockquote {
  border-left: 5px solid var(--theme-background-quote);
  color: var(--theme-background-quote); }

.pagination > .disabled > a,
.pagination > .disabled > a:focus,
.pagination > .disabled > a:hover,
.pagination > .disabled > span,
.pagination > .disabled > span:focus,
.pagination > .disabled > span:hover {
  background-color: var(--theme-background-subnav);
  border-color: var(--theme-background-subnav); }

.tabGroup a[role="tab"] {
  border-bottom: 2px solid var(--theme-background-dark); }

.tabGroup a[role="tab"][aria-selected="true"] {
  color: var(--theme-foreground); }

.tabGroup section[role="tabpanel"] {
  border: 1px solid var(--theme-background-dark); }

.sideaffix > div.contribution > ul > li > a.contribution-link:hover {
  background-color: var(--theme-background); }

.switch {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px; }

.switch input {
  opacity: 0;
  width: 0;
  height: 0; }

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s; }

.slider:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 4px;
  bottom: 3px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s; }

input:checked + .slider {
  background-color: #337ab7; }

input:focus + .slider {
  box-shadow: 0 0 1px #337ab7; }

input:checked + .slider:before {
  -webkit-transform: translateX(19px);
  -ms-transform: translateX(19px);
  transform: translateX(19px); }

/* Rounded sliders */
.slider.round {
  border-radius: 20px; }

.slider.round:before {
  border-radius: 50%; }

.toggle-mode .icon {
  display: inline-block; }

.toggle-mode .icon i {
  font-style: normal;
  font-size: 17px;
  display: inline-block;
  padding-right: 7px;
  padding-left: 7px;
  vertical-align: middle; }

code {
  color: var(--theme-inline-code);
  background-color: var(--theme-inline-code-background); }

pre code {
  background-color: inherit; }

pre {
  padding: 0;
  border: 1px solid var(--theme-code-border);
  background-color: inherit; }

/*
 * highlight.js custom theme (dark version)
 *
 * Visual Studio 2015 dark style
 * Author: Nicolas LLOBERA <nllobera@gmail.com>
 *
 * Original style can be found here: https://github.com/highlightjs/highlight.js/blob/main/src/styles/vs2015.css
 */
body.theme-dark .hljs {
  display: block;
  overflow-x: auto;
  padding: 1em;
  background: #1E1E1E;
  color: #DCDCDC; }
body.theme-dark .hljs-keyword,
body.theme-dark .hljs-literal,
body.theme-dark .hljs-symbol,
body.theme-dark .hljs-name {
  color: #569CD6; }
body.theme-dark .hljs-link {
  color: #569CD6;
  text-decoration: underline; }
body.theme-dark .hljs-built_in,
body.theme-dark .hljs-type {
  color: #4EC9B0; }
body.theme-dark .hljs-number,
body.theme-dark .hljs-class {
  color: #B8D7A3; }
body.theme-dark .hljs-string,
body.theme-dark .hljs-meta-string {
  color: #D69D85; }
body.theme-dark .hljs-regexp,
body.theme-dark .hljs-template-tag {
  color: #9A5334; }
body.theme-dark .hljs-subst,
body.theme-dark .hljs-function,
body.theme-dark .hljs-title,
body.theme-dark .hljs-params,
body.theme-dark .hljs-formula {
  color: #DCDCDC; }
body.theme-dark .hljs-comment,
body.theme-dark .hljs-quote {
  color: #57A64A;
  font-style: italic; }
body.theme-dark .hljs-doctag {
  color: #608B4E; }
body.theme-dark .hljs-meta,
body.theme-dark .hljs-meta-keyword,
body.theme-dark .hljs-tag {
  color: #9B9B9B; }
body.theme-dark .hljs-variable,
body.theme-dark .hljs-template-variable {
  color: #BD63C5; }
body.theme-dark .hljs-attr,
body.theme-dark .hljs-attribute,
body.theme-dark .hljs-builtin-name {
  color: #9CDCFE; }
body.theme-dark .hljs-section {
  color: gold; }
body.theme-dark .hljs-emphasis {
  font-style: italic; }
body.theme-dark .hljs-strong {
  font-weight: bold; }
body.theme-dark .hljs-bullet,
body.theme-dark .hljs-selector-tag,
body.theme-dark .hljs-selector-id,
body.theme-dark .hljs-selector-class,
body.theme-dark .hljs-selector-attr,
body.theme-dark .hljs-selector-pseudo {
  color: #D7BA7D; }
body.theme-dark .hljs-addition {
  background-color: #144212;
  display: inline-block;
  width: 100%; }
body.theme-dark .hljs-deletion {
  background-color: #600;
  display: inline-block;
  width: 100%; }

/*
 * highlight.js custom theme (light version)
 *
 * Visual Studio-like style based on original C# coloring by Jason Diamond
  <jason@diamond.name>
 *
 * Original style can be found here:
 * https://github.com/highlightjs/highlight.js/blob/main/src/styles/vs.css
 */
body.theme-light .hljs {
  display: block;
  overflow-x: auto;
  padding: 1em;
  background: white;
  color: black; }
body.theme-light .hljs-comment,
body.theme-light .hljs-quote,
body.theme-light .hljs-variable {
  color: #008000; }
body.theme-light .hljs-keyword,
body.theme-light .hljs-selector-tag,
body.theme-light .hljs-built_in,
body.theme-light .hljs-name,
body.theme-light .hljs-tag {
  color: #00f; }
body.theme-light .hljs-string,
body.theme-light .hljs-title,
body.theme-light .hljs-section,
body.theme-light .hljs-attribute,
body.theme-light .hljs-literal,
body.theme-light .hljs-template-tag,
body.theme-light .hljs-template-variable,
body.theme-light .hljs-type,
body.theme-light .hljs-addition {
  color: #a31515; }
body.theme-light .hljs-deletion,
body.theme-light .hljs-selector-attr,
body.theme-light .hljs-selector-pseudo,
body.theme-light .hljs-meta {
  color: #2b91af; }
body.theme-light .hljs-doctag {
  color: #808080; }
body.theme-light .hljs-attr {
  color: #f00; }
body.theme-light .hljs-symbol,
body.theme-light .hljs-bullet,
body.theme-light .hljs-link {
  color: #00b0e8; }
body.theme-light .hljs-emphasis {
  font-style: italic; }
body.theme-light .hljs-strong {
  font-weight: bold; }

/* ── Navbar logo: square icon size ────────────────────────── */
.navbar-brand {
  margin-right: 1.5rem !important;
}
.navbar-brand img,
.navbar-brand svg {
  height: 28px !important;
  width: 28px !important;
  flex-shrink: 0 !important;
}

/*# sourceMappingURL=main.css.map */
