@media (prefers-color-scheme: dark) {
  body {
    color: #ddd;
  }

  .img-thumbnail,
  body {
    background-color: #131313;
  }

  .sidefilter {
    background-color: #1f1f1f;
    border-left-color: #2f2f2f;
    border-right-color: #2f2f2f;
  }

  .sidetoc {
    background-color: #1f1f1f;
    border-left-color: #2f2f2f;
    border-right-color: #2f2f2f;
  }

  body .toc {
    background-color: #1f1f1f;
  }

  .sidenav,
  .fixed_header,
  .toc {
    background-color: #1f1f1f;
  }

  .toc .nav > li > a {
    color: #ddd;
  }

  .toc .nav > li > a:hover,
  .toc .nav > li > a:focus {
    color: #9a9a9a;
  }

  .toc-filter,
  .toc-filter > input {
    background: #131313;
    color: #ddd;
  }

  code {
    color: #ddd;
    background-color: #474747;
  }

  a code {
    color: #337ab7;
    background-color: #474747;
  }

  pre {
    color: #ddd;
    background-color: #2d2d2d;
  }

  a.external-link::after {
    filter: invert(100%);
    -webkit-filter: invert(100%);
  }

  .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #3e3e3e;
  }

  .tabGroup section[role="tabpanel"] {
    border: 1px solid #2f2f2f;
  }

  .tabGroup a[role="tab"] {
    border-bottom: 2px transparent;
  }

  .alert-info {
    color: #8cbcd4;
    background-color: #23343c;
    border-color: #30535a;
  }

  .alert-danger {
    color: #c59c9b;
    background-color: #522929;
    border-color: #77474f;
  }

  .alert-warning {
    color: #d6b273;
    background-color: #5f420f;
    border-color: #7f6a3a;
  }
}

code {
  word-wrap: break-word;
}

h1 {
  font-size: 34px;
  font-weight: normal;
}

h2 {
  clear: both;
  font-size: 26px;
  font-weight: normal;
}

h3 {
  font-size: 24px;
  font-weight: normal;
}

h4 {
  font-size: 20px;
}

.version-reset {
  background: #fcf8e3;
  text-align: center;
  padding: 0.5em;
}

.version-reset .version-reset-link {
  background: transparent;
  border: none;
}

article h4 {
  font-weight: normal;
  font-size: 20px;
}

.affix ul ul > li > a:before {
  content: none;
}

/* Doesn't allow enough space on larger screens */
/* .affix ul ul > li > a {
  padding: 2px 15px;
  max-width: 170px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
} */

img[src*="#img_header"] {
  width: 1.7em;
  height: 1.7em;
  margin: 0.4em;
}

img[src*="#img_floatright"] {
  float: right;
  border: none;
}

img[src*="#img_table"] {
  width: 5.5em;
  height: 5.5em;
  padding: 0.4em;
}

img[src*="#img_large"] {
  width: 8em;
  height: 8em;
}

.screenshot {
  width: 100%;
  height: auto;
  border: none;
  border-radius: 8px;
  margin-bottom: 10px;
}

.screenshot.screenshot-server {
  border: solid 1px #cccccc;
}

table td {
  vertical-align: middle !important;
}

blockquote {
  padding: 10px 10px;
  margin: 0 0 20px;
  font-size: inherit;
  background: #d9edf7;
  color: #31708f;
  border-left: 5px solid #31708f;
  border-radius: 4px;
}

.icon-def {
  float: left;
  margin-right: 7px;
}

.icon-left {
  float: left;
  margin-right: 7px;
  padding-bottom: 7px;
}

.icon-left + h1 {
  margin-bottom: 12px;
}

.icon-sm {
  width: 16px;
  height: 16px;
}

.icon-lg {
  width: 32px;
  height: 32px;
}

.icon-lg {
  width: 48px;
  height: 48px;
}

a.external-link::after {
  color: #337ab7;
  cursor: pointer;
  position: relative;
  top: 0.15em;
  margin-left: 0.25em;
  content: " ";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4Igp3aWR0aD0iMjQiIGhlaWdodD0iMjQiCnZpZXdCb3g9IjAgMCA0OCA0OCIKc3R5bGU9IiBmaWxsOiMwMDAwMDA7Ij48cGF0aCBkPSJNIDQwLjk2MDkzOCA0Ljk4MDQ2ODggQSAyLjAwMDIgMi4wMDAyIDAgMCAwIDQwLjc0MDIzNCA1IEwgMjggNSBBIDIuMDAwMiAyLjAwMDIgMCAxIDAgMjggOSBMIDM2LjE3MTg3NSA5IEwgMjIuNTg1OTM4IDIyLjU4NTkzOCBBIDIuMDAwMiAyLjAwMDIgMCAxIDAgMjUuNDE0MDYyIDI1LjQxNDA2MiBMIDM5IDExLjgyODEyNSBMIDM5IDIwIEEgMi4wMDAyIDIuMDAwMiAwIDEgMCA0MyAyMCBMIDQzIDcuMjQ2MDkzOCBBIDIuMDAwMiAyLjAwMDIgMCAwIDAgNDAuOTYwOTM4IDQuOTgwNDY4OCB6IE0gMTIuNSA4IEMgOC4zODI2ODc4IDggNSAxMS4zODI2ODggNSAxNS41IEwgNSAzNS41IEMgNSAzOS42MTczMTIgOC4zODI2ODc4IDQzIDEyLjUgNDMgTCAzMi41IDQzIEMgMzYuNjE3MzEyIDQzIDQwIDM5LjYxNzMxMiA0MCAzNS41IEwgNDAgMjYgQSAyLjAwMDIgMi4wMDAyIDAgMSAwIDM2IDI2IEwgMzYgMzUuNSBDIDM2IDM3LjQ0NjY4OCAzNC40NDY2ODggMzkgMzIuNSAzOSBMIDEyLjUgMzkgQyAxMC41NTMzMTIgMzkgOSAzNy40NDY2ODggOSAzNS41IEwgOSAxNS41IEMgOSAxMy41NTMzMTIgMTAuNTUzMzEyIDEyIDEyLjUgMTIgTCAyMiAxMiBBIDIuMDAwMiAyLjAwMDIgMCAxIDAgMjIgOCBMIDEyLjUgOCB6Ij48L3BhdGg+PC9zdmc+")
    50% 50% no-repeat;
  background-size: 100%;
}

.navbar-inverse .navbar-brand {
  padding-top: 9px;
}

.navbar-inverse .navbar-brand svg {
  height: 34px;
}

blockquote {
  border-left-color: #3bacd6;
}

.toc .level1 > li {
  font-weight: normal;
}

.toc ul {
  font-size: 13px;
}

.expand-stub {
  color: #666666;
}

.tabGroup a[role="tab"]:focus {
  outline: none;
}

.tabGroup ul[role="tablist"] {
  margin-left: 10px;
}

.tabGroup section[role="tabpanel"] {
  border-radius: 4px;
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:focus,
.navbar-inverse .navbar-nav > .active > a:hover {
  background-color: inherit;
}

.navbar {
  border: none;
}

.navbar-inverse {
  background-color: #252525;
}

.subnav {
  background-color: #2f2f2f;
}

.breadcrumb a {
  color: #9d9d9d;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
  color: #ffffff;
}

.sidetoc.shiftup {
  bottom: 0;
}

.grad-bottom {
  display: none;
}

.footer .container span strong {
  font-weight: normal;
}

.footer .container {
  padding-left: 30px;
  padding-right: 30px;
}

.footer {
  /* Disable the footer, I don't think we really need it */
  display: none !important;
  opacity: 0 !important;

  font-size: 12px;
  color: #9d9d9d;
  background-color: transparent;
  border-top: none;
  padding: 10px 0px;
}

code {
  tab-size: 4;
}

/* for block of numbers */
.hljs-ln-numbers {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  text-align: right;
  white-space: nowrap;
  color: #ccc;
  vertical-align: top !important;
}

td.hljs-ln-line.hljs-ln-numbers {
  padding-right: 8px;
}

/* ROYAL APPS CUSTOMIZATIONS */

/* Default + Royal TS */

#wrapper .sidenav button,
#wrapper .sidenav a,
#wrapper .article button,
#wrapper .article a {
  color: #eb9526;
}

#wrapper .sidenav button:hover,
#wrapper .sidenav button:focus,
#wrapper .sidenav a:hover,
#wrapper .sidenav a:focus,
#wrapper .article button:hover,
#wrapper .article button:focus,
#wrapper .article a:hover,
#wrapper .article a:focus {
  color: #c27a1c;
}

#wrapper .toc .nav > li.active > a,
#wrapper .toc .nav > li.active > a:hover,
#wrapper .toc .nav > li.active > a:focus {
  color: #eb9526;
}

#wrapper .affix ul > li.active > a,
#wrapper .affix ul > li.active > a:before {
  color: #eb9526;
}

#wrapper .tabGroup a[role="tab"]:hover,
#wrapper .tabGroup a[role="tab"]:focus,
#wrapper .tabGroup a[role="tab"][aria-selected="true"] {
  border-bottom-color: #eb9526;
}

/* Royal Server */

#wrapper.ra-royalserver .sidenav button,
#wrapper.ra-royalserver .sidenav a,
#wrapper.ra-royalserver .article button,
#wrapper.ra-royalserver .article a {
  color: #ed1a57;
}

#wrapper.ra-royalserver .sidenav button:hover,
#wrapper.ra-royalserver .sidenav button:focus,
#wrapper.ra-royalserver .sidenav a:hover,
#wrapper.ra-royalserver .sidenav a:focus,
#wrapper.ra-royalserver .article button:hover,
#wrapper.ra-royalserver .article button:focus,
#wrapper.ra-royalserver .article a:hover,
#wrapper.ra-royalserver .article a:focus {
  color: #c51a4b;
}

#wrapper.ra-royalserver .toc .nav > li.active > a,
#wrapper.ra-royalserver .toc .nav > li.active > a:hover,
#wrapper.ra-royalserver .toc .nav > li.active > a:focus {
  color: #ed1a57;
}

#wrapper.ra-royalserver .affix ul > li.active > a,
#wrapper.ra-royalserver .affix ul > li.active > a:before {
  color: #ed1a57;
}

#wrapper.ra-royalserver .tabGroup a[role="tab"]:hover,
#wrapper.ra-royalserver .tabGroup a[role="tab"]:focus,
#wrapper.ra-royalserver .tabGroup a[role="tab"][aria-selected="true"] {
  border-bottom-color: #ed1a57;
}

/* Scripting */

#wrapper.ra-scripting .sidenav button,
#wrapper.ra-scripting .sidenav a,
#wrapper.ra-scripting .article button,
#wrapper.ra-scripting .article a {
  color: #76a033;
}

#wrapper.ra-scripting .sidenav button:hover,
#wrapper.ra-scripting .sidenav button:focus,
#wrapper.ra-scripting .sidenav a:hover,
#wrapper.ra-scripting .sidenav a:focus,
#wrapper.ra-scripting .article button:hover,
#wrapper.ra-scripting .article button:focus,
#wrapper.ra-scripting .article a:hover,
#wrapper.ra-scripting .article a:focus {
  color: #557425;
}

#wrapper.ra-scripting .toc .nav > li.active > a,
#wrapper.ra-scripting .toc .nav > li.active > a:hover,
#wrapper.ra-scripting .toc .nav > li.active > a:focus {
  color: #76a033;
}

#wrapper.ra-scripting .affix ul > li.active > a,
#wrapper.ra-scripting .affix ul > li.active > a:before {
  color: #76a033;
}

#wrapper.ra-scripting .tabGroup a[role="tab"]:hover,
#wrapper.ra-scripting .tabGroup a[role="tab"]:focus,
#wrapper.ra-scripting .tabGroup a[role="tab"][aria-selected="true"] {
  border-bottom-color: #76a033;
}

/* HACKS */

/* fix side nav scrolling behavior */
nav#affix {
  overflow-y: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

nav#affix::-webkit-scrollbar {
  display: none;
}

article h2#properties {
  /* Not sure why the F docfx assigns styles to global IDs, anyway, we reset them here */
  font-weight: normal;
  margin-top: 25px;
}

.sideaffix {
  /* band-aid for very long table of contents (in this article) */
  /* Disabled for now because it makes scrollbars appear on OS's that always show scrollbars, not only when scrolling */
  /* overflow-y: auto; */
}

@media only screen and (max-width: 768px) {
  /* .toc li:last-child:after {
    content: "AAA";
  } */

  .toc li:after {
    content: "\00a0";
  }
}

/* Highlight.JS Theme */

/*!
 * StackOverflow.com light style
 *
 * @stackoverflow/stacks v0.56.0
 * https://github.com/StackExchange/Stacks
 */

.hljs {
  color: #2f3337;
  background: #f6f6f6;
}

.hljs-comment {
  color: #656e77;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-meta-keyword,
.hljs-doctag,
.hljs-section,
.hljs-selector-class,
.hljs-meta,
.hljs-selector-pseudo,
.hljs-attr {
  color: #015692;
}

.hljs-attribute {
  color: #803378;
}

.hljs-name,
.hljs-type,
.hljs-number,
.hljs-selector-id,
.hljs-quote,
.hljs-template-tag,
.hljs-built_in,
.hljs-title,
.hljs-literal {
  color: #b75501;
}

.hljs-string,
.hljs-regexp,
.hljs-symbol,
.hljs-variable,
.hljs-template-variable,
.hljs-link,
.hljs-selector-attr,
.hljs-meta-string {
  color: #54790d;
}

.hljs-bullet,
.hljs-code {
  color: #535a60;
}

.hljs-deletion {
  color: #c02d2e;
}

.hljs-addition {
  color: #2f6f44;
}

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

.hljs-strong {
  font-weight: bold;
}

@media (prefers-color-scheme: dark) {
  /*!
   * StackOverflow.com dark style
   *
   * @stackoverflow/stacks v0.56.0
   * https://github.com/StackExchange/Stacks
   */

  .hljs {
    color: #ffffff;
    background: #1c1b1b;
  }

  .hljs-comment {
    color: #999999;
  }

  .hljs-keyword,
  .hljs-selector-tag,
  .hljs-meta-keyword,
  .hljs-doctag,
  .hljs-section,
  .hljs-selector-class,
  .hljs-meta,
  .hljs-selector-pseudo,
  .hljs-attr {
    color: #88aece;
  }

  .hljs-attribute {
    color: v#c59bc1;
  }

  .hljs-name,
  .hljs-type,
  .hljs-number,
  .hljs-selector-id,
  .hljs-quote,
  .hljs-template-tag,
  .hljs-built_in,
  .hljs-title,
  .hljs-literal {
    color: #f08d49;
  }

  .hljs-string,
  .hljs-regexp,
  .hljs-symbol,
  .hljs-variable,
  .hljs-template-variable,
  .hljs-link,
  .hljs-selector-attr,
  .hljs-meta-string {
    color: #b5bd68;
  }

  .hljs-bullet,
  .hljs-code {
    color: #cccccc;
  }

  .hljs-deletion {
    color: #de7176;
  }

  .hljs-addition {
    color: #76c490;
  }

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

  .hljs-strong {
    font-weight: bold;
  }
}

/* spacing utitlities */
.p-s0 {
  margin-left: 0;
}

.p-s1 {
  margin-left: 0.75rem;
}

.p-s2 {
  margin-left: 1.5rem;
}

.p-e0 {
  margin-right: 0;
}

.p-e1 {
  margin-right: 0.75rem;
}

.p-e2 {
  margin-right: 1.5rem;
}

.p-x0 {
  margin-left: 0;
  margin-right: 0;
}

.p-x1 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.p-x2 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
