:root {
  --content-background: rgba(172,236,248, 0.93);
  --header-background: linear-gradient(to bottom, #555, #aaa);
  --footer-background: linear-gradient(to top, #555, #aaa);
  --footer-height: 24px;
  --header-height: 24px;
  --header-padding: 2px;
  --nav-color: PaleGreen;
  --nav-inactive: #bcbcbc;
  --preview-background: rgba(49,213,247, 0.50);
  --cookie-foreground: PaleGreen;
  --copyright-foreground: PowderBlue;

  /* doxygen started here */
  /* page base colors */
  --page-foreground-color: black;
  --page-link-color: #3D578C;
  --page-visited-link-color: #4665A2;

  /* index */
  --index-odd-item-bg-color: #F8F9FC;
  --index-even-item-bg-color: white;
  --index-header-color: black;
  --index-separator-color: #A0A0A0;

  /* header */
  --header-background-color: #F9FAFC;
  --header-separator-color: #C4CFE5;
  --header-background-image: url('nav_h.png');
  --group-header-separator-color: #879ECB;
  --group-header-color: #354C7B;
  --inherit-header-color: gray;

  --footer-foreground-color: #2A3D61;
  --footer-logo-width: 104px;
  --citation-label-color: #334975;
  --glow-color: cyan;

  --title-background-color: white;
  --title-separator-color: #5373B4;
  --directory-separator-color: #9CAFD4;
  --separator-color: #4A6AAA;

  --blockquote-background-color: #F7F8FB;
  --blockquote-border-color: #9CAFD4;

  --scrollbar-thumb-color: #9CAFD4;
  --scrollbar-background-color: #F9FAFC;

  --icon-background-color: #728DC1;
  --icon-foreground-color: white;
  --icon-doc-image: url('doc.svg');
  --icon-folder-open-image: url('folderopen.svg');
  --icon-folder-closed-image: url('folderclosed.svg');

  /* brief member declaration list */
  --memdecl-background-color: #F9FAFC;
  --memdecl-separator-color: #DEE4F0;
  --memdecl-foreground-color: #555;
  --memdecl-template-color: #4665A2;

  /* detailed member list */
  --memdef-border-color: #A8B8D9;
  --memdef-title-background-color: #E2E8F2;
  --memdef-title-gradient-image: url('nav_f.png');
  --memdef-proto-background-color: #DFE5F1;
  --memdef-proto-text-color: #253555;
  --memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
  --memdef-doc-background-color: white;
  --memdef-param-name-color: #602020;
  --memdef-template-color: #4665A2;

  /* tables */
  --table-cell-border-color: #2D4068;
  --table-header-background-color: #374F7F;
  --table-header-foreground-color: #FFFFFF;

  /* labels */
  --label-background-color: #728DC1;
  --label-left-top-border-color: #5373B4;
  --label-right-bottom-border-color: #C4CFE5;
  --label-foreground-color: white;

  /** navigation bar/tree/menu */
  --nav-background-color: #F9FAFC;
  --nav-foreground-color: #364D7C;
  --nav-gradient-image: url('tab_b.png');
  --nav-gradient-hover-image: url('tab_h.png');
  --nav-gradient-active-image: url('tab_a.png');
  --nav-gradient-active-image-parent: url("../tab_a.png");
  --nav-separator-image: url('tab_s.png');
  --nav-breadcrumb-image: url('bc_s.png');
  --nav-breadcrumb-border-color: #C2CDE4;
  --nav-splitbar-image: url('splitbar.png');
  --nav-font-size-level1: 13px;
  --nav-font-size-level2: 10px;
  --nav-font-size-level3: 9px;
  --nav-text-normal-color: #283A5D;
  --nav-text-hover-color: white;
  --nav-text-active-color: white;
  --nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
  --nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
  --nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
  --nav-menu-button-color: #364D7C;
  --nav-menu-background-color: white;
  --nav-menu-foreground-color: #555555;
  --nav-menu-toggle-color: rgba(255, 255, 255, 0.5);
  --nav-arrow-color: #9CAFD4;
  --nav-arrow-selected-color: #9CAFD4;

  /* table of contents */
  --toc-background-color: #F4F6FA;
  --toc-border-color: #D8DFEE;
  --toc-header-color: #4665A2;
  --toc-down-arrow-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='10px' width='5px' fill='grey'><text x='0' y='5' font-size='10'>&%238595;</text></svg>");

  /** search field */
  --search-background-color: white;
  --search-foreground-color: #909090;
  --search-magnification-image: url('mag.svg');
  --search-magnification-select-image: url('mag_sel.svg');
  --search-active-color: black;
  --search-filter-background-color: #F9FAFC;
  --search-filter-foreground-color: black;
  --search-filter-border-color: #90A5CE;
  --search-filter-highlight-text-color: white;
  --search-filter-highlight-bg-color: #3D578C;
  --search-results-foreground-color: #425E97;
  --search-results-background-color: #EEF1F7;
  --search-results-border-color: black;
  --search-box-shadow: inset 0.5px 0.5px 3px 0px #555;

  /** code fragments */
  --code-keyword-color: #008000;
  --code-type-keyword-color: #604020;
  --code-flow-keyword-color: #E08000;
  --code-comment-color: #800000;
  --code-preprocessor-color: #806020;
  --code-string-literal-color: #002080;
  --code-char-literal-color: #008080;
  --code-xml-cdata-color: black;
  --code-vhdl-digit-color: #FF00FF;
  --code-vhdl-char-color: #000000;
  --code-vhdl-keyword-color: #700070;
  --code-vhdl-logic-color: #FF0000;
  --code-link-color: #4665A2;
  --code-external-link-color: #4665A2;
  --fragment-foreground-color: black;
  --fragment-background-color: #FBFCFD;
  --fragment-border-color: #C4CFE5;
  --fragment-lineno-border-color: #00FF00;
  --fragment-lineno-background-color: #E8E8E8;
  --fragment-lineno-foreground-color: black;
  --fragment-lineno-link-fg-color: #4665A2;
  --fragment-lineno-link-bg-color: #D8D8D8;
  --fragment-lineno-link-hover-fg-color: #4665A2;
  --fragment-lineno-link-hover-bg-color: #C8C8C8;
  --tooltip-foreground-color: black;
  --tooltip-background-color: white;
  --tooltip-border-color: gray;
  --tooltip-doc-color: grey;
  --tooltip-declaration-color: #006318;
  --tooltip-link-color: #4665A2;
  --tooltip-shadow: 1px 1px 7px gray;
  --fold-line-color: #808080;
  --fold-minus-image: url('minus.svg');
  --fold-plus-image: url('plus.svg');
  --fold-minus-image-relpath: url('../../minus.svg');
  --fold-plus-image-relpath: url('../../plus.svg');

  /** font-family */
  --font-family-normal: Roboto,sans-serif;
  --font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
  --font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
  --font-family-title: Tahoma,Arial,sans-serif;
  --font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
  --font-family-search: Arial,Verdana,sans-serif;
  --font-family-icon: Arial,Helvetica;
  --font-family-tooltip: Roboto,sans-serif;
}

html {
  background-image: url(/img/cpp-64.png);
  background-repeat: repeat;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--page-foreground-color);
}

body {
  margin: 0px;
  padding-top: calc(var(--header-height));
  padding-left: 8px;
  padding-right: 8px;
  padding-bottom: calc(var(--footer-height) + 8px);
  background-color: var(--content-background);
  min-height: calc(100vh - var(--footer-height) - var(--header-height));
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: var(--header-padding);
  display: flex;
  justify-content: space-between;
  font-size: 16px;
  background: var(--header-background);
  font-weight: bold;
  height: var(--header-height);
  z-index: 1000;
}

nav {
  a {
    color: var(--nav-color);
    font-family: Arial, Helvetica;
    text-decoration: none;
    margin-right: 12px;
    vertical-align: middle;
    &:hover { color: color-mix(in srgb, var(--nav-color), white 40%); }
  }
}

.nav-inactive {
  color: var(--nav-inactive) !important;
  cursor: default;
  pointer-events: none;
}

/* Footer styles */
footer {
  padding: 0px 2px 0px 2px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: 16px;
  background: var(--footer-background);
  position: fixed;
  bottom: 0;
  left: 0;
  height: var(--footer-height);
  z-index: 1000;
}

p {
  text-align: justify;
}

li {
  line-height: 1.6;
}

h1 {
  padding: 5px;
  margin-top: auto;
  margin-bottom: auto;
  color: Blue;
}

.h1-block {
  display: flex;
  gap: 16px;
  margin-top: 12px
}

.preview-section {
  background-color: var(--preview-background);
  border-radius: 8px;
}

.preview-inner {
  margin: 8px;
  display: flex;
  align-items: center;
}

.preview-h {
  margin-left: 8px;
  display: flex;
  flex-direction: column;
}

.preview-icon {
  height: 96px;
  aspect-ratio: 1 / 1;
}

.overview-link {
  text-decoration: none;
  color: var(--page-foreground-color);
}

.copyright-notice {
  color: var(--copyright-foreground);
}

.cookie-notice {
  color: var(--cookie-foreground);
  margin-right: 12px;
}

/******************** doxygen.css ***********************/

table, dl {
  font-weight: 400;
  font-size: 14px;
  font-family: var(--font-family-normal);
}

/* @group Heading Levels */

.title {
  font-weight: 400;
  font-size: 14px;
  font-family: var(--font-family-normal);
  line-height: 28px;
  font-size: 150%;
  font-weight: bold;
  margin: 10px 2px;
}

h1.groupheader {
  font-size: 150%;
}

h2.groupheader {
  border-bottom: 1px solid var(--group-header-separator-color);
  color: var(--group-header-color);
  font-size: 150%;
  font-weight: normal;
  margin-top: 1.75em;
  padding-top: 8px;
  padding-bottom: 4px;
  width: 100%;
}

h3.groupheader {
  font-size: 100%;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-transition: text-shadow 0.5s linear;
  -moz-transition: text-shadow 0.5s linear;
  -ms-transition: text-shadow 0.5s linear;
  -o-transition: text-shadow 0.5s linear;
  transition: text-shadow 0.5s linear;
  margin-right: 15px;
}

h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
  text-shadow: 0 0 15px var(--glow-color);
}

dt {
  font-weight: bold;
}

p.startli, p.startdd {
  margin-top: 2px;
}

th p.starttd, th p.intertd, th p.endtd {
  font-size: 100%;
  font-weight: 700;
}

p.starttd {
  margin-top: 0px;
}

p.endli {
  margin-bottom: 0px;
}

p.enddd {
  margin-bottom: 4px;
}

p.endtd {
  margin-bottom: 2px;
}

caption {
  font-weight: bold;
}

span.legend {
  font-size: 70%;
  text-align: center;
}

h3.version {
  font-size: 90%;
  text-align: center;
}

div.navtab {
  padding-right: 15px;
  text-align: right;
  line-height: 110%;
}

div.navtab table {
  border-spacing: 0;
}

td.navtab {
  padding-right: 6px;
  padding-left: 6px;
}

td.navtabHL {
  background-image: var(--nav-gradient-active-image);
  background-repeat:repeat-x;
  padding-right: 6px;
  padding-left: 6px;
}

td.navtabHL a, td.navtabHL a:visited {
  color: var(--nav-text-hover-color);
  text-shadow: var(--nav-text-hover-shadow);
}

a.navtab {
  font-weight: bold;
}

div.qindex{
  text-align: center;
  width: 100%;
  line-height: 140%;
  font-size: 130%;
  color: var(--index-separator-color);
}

#main-menu a:focus {
  outline: auto;
  z-index: 10;
  position: relative;
}

dt.alphachar{
  font-size: 180%;
  font-weight: bold;
}

.alphachar a {
  color: var(--index-header-color);
}

.alphachar a:hover, .alphachar a:visited {
  text-decoration: none;
}

.classindex dl {
  padding: 25px;
  column-count:1
}

.classindex dd {
  display:inline-block;
  margin-left: 50px;
  width: 90%;
  line-height: 1.15em;
}

.classindex dl.even {
  background-color: var(--index-even-item-bg-color);
}

.classindex dl.odd {
  background-color: var(--index-odd-item-bg-color);
}

@media(min-width: 1120px) {
  .classindex dl {
    column-count:2
  }
}

@media(min-width: 1320px) {
  .classindex dl {
    column-count:3
  }
}

/* @group Link Styling */

.contents a:visited {
  color: var(--page-visited-link-color);
}

a.el {
  font-weight: bold;
}

a.code, a.code:visited, a.line, a.line:visited {
  color: var(--code-link-color);
}

a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
  color: var(--code-external-link-color);
}

dl.el {
  margin-left: -1cm;
}

ul {
  overflow: visible;
}

ul.multicol {
  -moz-column-gap: 1em;
  -webkit-column-gap: 1em;
  column-gap: 1em;
  -moz-column-count: 3;
  -webkit-column-count: 3;
  column-count: 3;
  list-style-type: none;
}

#side-nav ul {
  overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
}

#main-nav ul {
  overflow: visible; /* reset ul rule for the navigation bar drop down lists */
}

.fragment {
  text-align: left;
  direction: ltr;
  overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
  overflow-y: hidden;
}

pre.fragment {
  border: 1px solid var(--fragment-border-color);
  background-color: var(--fragment-background-color);
  color: var(--fragment-foreground-color);
  padding: 4px 6px;
  margin: 4px 8px 4px 2px;
  overflow: auto;
  word-wrap: break-word;
  font-size:  9pt;
  line-height: 125%;
  font-family: var(--font-family-monospace);
  font-size: 105%;
}

div.fragment {
  padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
  margin: 4px 8px 4px 2px;
  color: var(--fragment-foreground-color);
  background-color: var(--fragment-background-color);
  border: 1px solid var(--fragment-border-color);
}

div.line {
  font-family: var(--font-family-monospace);
  font-size: 13px;
  min-height: 13px;
  line-height: 1.2;
  text-wrap: unrestricted;
  white-space: -moz-pre-wrap; /* Moz */
  white-space: -pre-wrap;     /* Opera 4-6 */
  white-space: -o-pre-wrap;   /* Opera 7 */
  white-space: pre-wrap;      /* CSS3  */
  word-wrap: break-word;      /* IE 5.5+ */
  text-indent: -53px;
  padding-left: 53px;
  padding-bottom: 0px;
  margin: 0px;
  -webkit-transition-property: background-color, box-shadow;
  -webkit-transition-duration: 0.5s;
  -moz-transition-property: background-color, box-shadow;
  -moz-transition-duration: 0.5s;
  -ms-transition-property: background-color, box-shadow;
  -ms-transition-duration: 0.5s;
  -o-transition-property: background-color, box-shadow;
  -o-transition-duration: 0.5s;
  transition-property: background-color, box-shadow;
  transition-duration: 0.5s;
}

div.line:after {
  content:"\000A";
  white-space: pre;
}

div.line.glow {
  background-color: var(--glow-color);
  box-shadow: 0 0 10px var(--glow-color);
}

span.fold {
  margin-left: 5px;
  margin-right: 1px;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 0px;
  display: inline-block;
  width: 12px;
  height: 12px;
  background-repeat:no-repeat;
  background-position:center;
}

span.lineno {
  padding-right: 4px;
  margin-right: 9px;
  text-align: right;
  border-right: 2px solid var(--fragment-lineno-border-color);
  color: var(--fragment-lineno-foreground-color);
  background-color: var(--fragment-lineno-background-color);
  white-space: pre;
}

span.lineno a, span.lineno a:visited {
  color: var(--fragment-lineno-link-fg-color);
  background-color: var(--fragment-lineno-link-bg-color);
}

span.lineno a:hover {
  color: var(--fragment-lineno-link-hover-fg-color);
  background-color: var(--fragment-lineno-link-hover-bg-color);
}

.lineno {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

div.classindex ul {
  list-style: none;
  padding-left: 0;
}

div.classindex span.ai {
  display: inline-block;
}

div.groupHeader {
  margin-left: 16px;
  margin-top: 12px;
  font-weight: bold;
}

div.groupText {
  margin-left: 16px;
  font-style: italic;
}

div.contents {
  margin-top: 10px;
  margin-left: 12px;
  margin-right: 8px;
}

p.formulaDsp {
  text-align: center;
}

img.dark-mode-visible {
  display: none;
}

img.light-mode-visible {
  display: none;
}

img.formulaInl, img.inline {
  vertical-align: middle;
}

div.center {
  text-align: center;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 0px;
}

div.center img {
  border: 0px;
}

address.footer {
  text-align: right;
  padding-right: 12px;
}

img.footer {
  border: 0px;
  vertical-align: middle;
  width: var(--footer-logo-width);
}

.compoundTemplParams {
  color: var(--memdecl-template-color);
  font-size: 80%;
  line-height: 120%;
}

/* @group Code Colorization */

span.keyword {
  color: var(--code-keyword-color);
}

span.keywordtype {
  color: var(--code-type-keyword-color);
}

span.keywordflow {
  color: var(--code-flow-keyword-color);
}

span.comment {
  color: var(--code-comment-color);
}

span.preprocessor {
  color: var(--code-preprocessor-color);
}

span.stringliteral {
  color: var(--code-string-literal-color);
}

span.charliteral {
  color: var(--code-char-literal-color);
}

span.xmlcdata {
  color: var(--code-xml-cdata-color);
}

span.vhdldigit {
  color: var(--code-vhdl-digit-color);
}

span.vhdlchar {
  color: var(--code-vhdl-char-color);
}

span.vhdlkeyword {
  color: var(--code-vhdl-keyword-color);
}

span.vhdllogic {
  color: var(--code-vhdl-logic-color);
}

blockquote {
  background-color: var(--blockquote-background-color);
  border-left: 2px solid var(--blockquote-border-color);
  margin: 0 24px 0 4px;
  padding: 0 12px 0 16px;
}

td.tiny {
  font-size: 75%;
}

.dirtab {
  padding: 4px;
  border-collapse: collapse;
  border: 1px solid var(--table-cell-border-color);
}

th.dirtab {
  background-color: var(--table-header-background-color);
  color: var(--table-header-foreground-color);
  font-weight: bold;
}

hr {
  height: 0px;
  border: none;
  border-top: 1px solid var(--separator-color);
}

hr.footer {
  height: 1px;
}

/* @group Member Descriptions */

table.memberdecls {
  border-spacing: 0px;
  padding: 0px;
}

.memberdecls td, .fieldtable tr {
  -webkit-transition-property: background-color, box-shadow;
  -webkit-transition-duration: 0.5s;
  -moz-transition-property: background-color, box-shadow;
  -moz-transition-duration: 0.5s;
  -ms-transition-property: background-color, box-shadow;
  -ms-transition-duration: 0.5s;
  -o-transition-property: background-color, box-shadow;
  -o-transition-duration: 0.5s;
  transition-property: background-color, box-shadow;
  transition-duration: 0.5s;
}

.memberdecls td.glow, .fieldtable tr.glow {
  background-color: var(--glow-color);
  box-shadow: 0 0 15px var(--glow-color);
}

.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
  background-color: var(--memdecl-background-color);
  border: none;
  margin: 4px;
  padding: 1px 0 0 8px;
}

.mdescLeft, .mdescRight {
  padding: 0px 8px 4px 8px;
  color: var(--memdecl-foreground-color);
}

.memSeparator {
  border-bottom: 1px solid var(--memdecl-separator-color);
  line-height: 1px;
  margin: 0px;
  padding: 0px;
}

.memItemLeft, .memTemplItemLeft {
  white-space: nowrap;
}

.memItemRight, .memTemplItemRight {
  width: 100%;
}

.memTemplParams {
  color: var(--memdecl-template-color);
  white-space: nowrap;
  font-size: 80%;
}

/* @group Member Details */

/* Styles for detailed member documentation */

.memtitle {
  padding: 8px;
  border-top: 1px solid var(--memdef-border-color);
  border-left: 1px solid var(--memdef-border-color);
  border-right: 1px solid var(--memdef-border-color);
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  margin-bottom: -1px;
  background-image: var(--memdef-title-gradient-image);
  background-repeat: repeat-x;
  background-color: var(--memdef-title-background-color);
  line-height: 1.25;
  font-weight: 300;
  float:left;
}

.permalink {
  font-size: 65%;
  display: inline-block;
  vertical-align: middle;
}

.memtemplate {
  font-size: 80%;
  color: var(--memdef-template-color);
  font-weight: normal;
  margin-left: 9px;
}

.mempage {
  width: 100%;
}

.memitem {
  padding: 0;
  margin-bottom: 10px;
  margin-right: 5px;
  -webkit-transition: box-shadow 0.5s linear;
  -moz-transition: box-shadow 0.5s linear;
  -ms-transition: box-shadow 0.5s linear;
  -o-transition: box-shadow 0.5s linear;
  transition: box-shadow 0.5s linear;
  display: table !important;
  width: 100%;
}

.memitem.glow {
  box-shadow: 0 0 15px var(--glow-color);
}

.memname {
  font-weight: 400;
  margin-left: 6px;
}

.memname td {
  vertical-align: bottom;
}

.memproto, dl.reflist dt {
  border-top: 1px solid var(--memdef-border-color);
  border-left: 1px solid var(--memdef-border-color);
  border-right: 1px solid var(--memdef-border-color);
  padding: 6px 0px 6px 0px;
  color: var(--memdef-proto-text-color);
  font-weight: bold;
  text-shadow: var(--memdef-proto-text-shadow);
  background-color: var(--memdef-proto-background-color);
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
  border-top-right-radius: 4px;
}

.overload {
  font-family: var(--font-family-monospace);
  font-size: 65%;
}

.memdoc, dl.reflist dd {
  border-bottom: 1px solid var(--memdef-border-color);
  border-left: 1px solid var(--memdef-border-color);
  border-right: 1px solid var(--memdef-border-color);
  padding: 6px 10px 2px 10px;
  border-top-width: 0;
  background-image:url('nav_g.png');
  background-repeat:repeat-x;
  background-color: var(--memdef-doc-background-color);
  /* opera specific markup */
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
  /* firefox specific markup */
  -moz-border-radius-bottomleft: 4px;
  -moz-border-radius-bottomright: 4px;
  -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
  /* webkit specific markup */
  -webkit-border-bottom-left-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}

dl.reflist dt {
  padding: 5px;
}

dl.reflist dd {
  margin: 0px 0px 10px 0px;
  padding: 5px;
}

.paramkey {
  text-align: right;
}

.paramtype {
  white-space: nowrap;
}

.paramname {
  color: var(--memdef-param-name-color);
  white-space: nowrap;
}

.paramname em {
  font-style: normal;
}

.paramname code {
  line-height: 14px;
}

.params, .retval, .exception, .tparams {
  margin-left: 0px;
  padding-left: 0px;
}

.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
  font-weight: bold;
  vertical-align: top;
}

.params .paramtype, .tparams .paramtype {
  font-style: italic;
  vertical-align: top;
}

.params .paramdir, .tparams .paramdir {
  font-family: var(--font-family-monospace);
  vertical-align: top;
}

table.mlabels {
  border-spacing: 0px;
}

td.mlabels-left {
  width: 100%;
  padding: 0px;
}

td.mlabels-right {
  vertical-align: bottom;
  padding: 0px;
  white-space: nowrap;
}

span.mlabels { margin-left: 8px; }

span.mlabel {
  background-color: var(--label-background-color);
  border-top:1px solid var(--label-left-top-border-color);
  border-left:1px solid var(--label-left-top-border-color);
  border-right:1px solid var(--label-right-bottom-border-color);
  border-bottom:1px solid var(--label-right-bottom-border-color);
  text-shadow: none;
  color: var(--label-foreground-color);
  margin-right: 4px;
  padding: 2px 3px;
  border-radius: 3px;
  font-size: 7pt;
  white-space: nowrap;
  vertical-align: middle;
}

/* these are for tree view inside a (index) page */

div.directory {
  margin: 10px 0px;
  border-top: 1px solid var(--directory-separator-color);
  border-bottom: 1px solid var(--directory-separator-color);
  width: 100%;
}

.directory table { border-collapse:collapse; }

.directory td {
  margin: 0px;
  padding: 0px;
  vertical-align: top;
}

.directory td.entry {
  white-space: nowrap;
  padding-right: 6px;
  padding-top: 3px;
}

.directory td.entry a { outline:none; }

.directory td.entry a img { border: none; }

.directory td.desc {
  width: 100%;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 3px;
  border-left: 1px solid rgba(0,0,0,0.05);
}

.directory tr.odd {
  padding-left: 6px;
  background-color: var(--index-odd-item-bg-color);
}

.directory tr.even {
  padding-left: 6px;
  background-color: var(--index-even-item-bg-color);
}

.directory img {
  vertical-align: -30%;
}

.directory .levels {
  white-space: nowrap;
  width: 100%;
  text-align: right;
  font-size: 9pt;
}

.directory .levels span {
  cursor: pointer;
  padding-left: 2px;
  padding-right: 2px;
  color: var(--page-link-color);
}

.arrow {
  color: var(--nav-arrow-color);
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  font-size: 80%;
  display: inline-block;
  width: 16px;
  height: 22px;
}

.icon {
  font-family: var(--font-family-icon);
  line-height: normal;
  font-weight: bold;
  font-size: 12px;
  height: 14px;
  width: 16px;
  display: inline-block;
  background-color: var(--icon-background-color);
  color: var(--icon-foreground-color);
  text-align: center;
  border-radius: 4px;
  margin-left: 2px;
  margin-right: 2px;
}

.icona {
  width: 24px;
  height: 22px;
  display: inline-block;
}

.iconfopen {
  width: 24px;
  height: 18px;
  margin-bottom: 4px;
  background-image:var(--icon-folder-open-image);
  background-repeat: repeat-y;
  vertical-align:top;
  display: inline-block;
}

.iconfclosed {
  width: 24px;
  height: 18px;
  margin-bottom: 4px;
  background-image:var(--icon-folder-closed-image);
  background-repeat: repeat-y;
  vertical-align:top;
  display: inline-block;
}

.icondoc {
  width: 24px;
  height: 18px;
  margin-bottom: 4px;
  background-image:var(--icon-doc-image);
  background-position: 0px -4px;
  background-repeat: repeat-y;
  vertical-align:top;
  display: inline-block;
}

/* @end */

div.dynheader {
  margin-top: 8px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

address {
  font-style: normal;
  color: var(--footer-foreground-color);
}

table.doxtable caption { caption-side: top; }

table.doxtable {
  border-collapse:collapse;
  margin-top: 4px;
  margin-bottom: 4px;
}

table.doxtable td, table.doxtable th {
  border: 1px solid var(--table-cell-border-color);
  padding: 3px 7px 2px;
}

table.doxtable th {
  background-color: var(--table-header-background-color);
  color: var(--table-header-foreground-color);
  font-size: 110%;
  padding-bottom: 4px;
  padding-top: 5px;
}

table.fieldtable {
  margin-bottom: 10px;
  border: 1px solid var(--memdef-border-color);
  border-spacing: 0px;
  border-radius: 4px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}

.fieldtable td, .fieldtable th { padding: 3px 7px 2px; }

.fieldtable td.fieldtype, .fieldtable td.fieldname {
  white-space: nowrap;
  border-right: 1px solid var(--memdef-border-color);
  border-bottom: 1px solid var(--memdef-border-color);
  vertical-align: top;
}

.fieldtable td.fieldname { padding-top: 3px; }

.fieldtable td.fielddoc { border-bottom: 1px solid var(--memdef-border-color); }

.fieldtable td.fielddoc p:first-child { margin-top: 0px; }

.fieldtable td.fielddoc p:last-child { margin-bottom: 2px; }

.fieldtable tr:last-child td { border-bottom: none; }

.fieldtable th {
  background-image: var(--memdef-title-gradient-image);
  background-repeat:repeat-x;
  background-color: var(--memdef-title-background-color);
  font-size: 90%;
  color: var(--memdef-proto-text-color);
  padding-bottom: 4px;
  padding-top: 5px;
  text-align:left;
  font-weight: 400;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid var(--memdef-border-color);
}

.tabsearch {
  top: 0px;
  left: 10px;
  height: 36px;
  background-image: var(--nav-gradient-image);
  z-index: 101;
  overflow: hidden;
  font-size: 13px;
}

.navpath ul {
  font-size: 11px;
  background-image: var(--nav-gradient-image);
  background-repeat:repeat-x;
  background-position: 0 -5px;
  height:30px;
  line-height:30px;
  color:var(--nav-text-normal-color);
  border:solid 1px var(--nav-breadcrumb-border-color);
  overflow:hidden;
  margin:0px;
  padding:0px;
}

.navpath li {
  list-style-type:none;
  float:left;
  padding-left:10px;
  padding-right:15px;
  background-image:var(--nav-breadcrumb-image);
  background-repeat:no-repeat;
  background-position:right;
  color: var(--nav-foreground-color);
}

.navpath li.navelem a {
  height:32px;
  display:block;
  text-decoration: none;
  outline: none;
  color: var(--nav-text-normal-color);
  font-family: var(--font-family-nav);
  text-shadow: var(--nav-text-normal-shadow);
}

.navpath li.navelem a:hover {
  color: var(--nav-text-hover-color);
  text-shadow: var(--nav-text-hover-shadow);
}

.navpath li.footer {
  list-style-type:none;
  float:right;
  padding-left:10px;
  padding-right:15px;
  background-image:none;
  background-repeat:no-repeat;
  background-position:right;
  color: var(--footer-foreground-color);
  font-size: 8pt;
}

div.summary {
  float: right;
  font-size: 8pt;
  padding-right: 5px;
  width: 50%;
  text-align: right;
}

div.summary a { white-space: nowrap; }

table.classindex {
  margin: 10px;
  white-space: nowrap;
  margin-left: 3%;
  margin-right: 3%;
  width: 94%;
  border: 0;
  border-spacing: 0;
  padding: 0;
}

div.ingroups {
  font-size: 8pt;
  width: 50%;
  text-align: left;
}

div.ingroups a { white-space: nowrap; }

div.header {
  background-image: var(--header-gradient-image);
  background-repeat:repeat-x;
  background-color: var(--header-background-color);
  margin:  0px;
  border-bottom: 1px solid var(--header-separator-color);
}

div.headertitle { padding: 5px 5px 5px 10px; }

.PageDocRTL-title div.headertitle {
  text-align: right;
  direction: rtl;
}

dl { padding: 0 0 0 0; }

/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
dl.section {
  margin-left: 0px;
  padding-left: 0px;
}

dl.note {
  margin-left: -7px;
  padding-left: 3px;
  border-left: 4px solid;
  border-color: #D0C000;
}

dl.warning, dl.attention {
  margin-left: -7px;
  padding-left: 3px;
  border-left: 4px solid;
  border-color: #FF0000;
}

dl.pre, dl.post, dl.invariant {
  margin-left: -7px;
  padding-left: 3px;
  border-left: 4px solid;
  border-color: #00D000;
}

dl.deprecated {
  margin-left: -7px;
  padding-left: 3px;
  border-left: 4px solid;
  border-color: #505050;
}

dl.todo {
  margin-left: -7px;
  padding-left: 3px;
  border-left: 4px solid;
  border-color: #00C0E0;
}

dl.test {
  margin-left: -7px;
  padding-left: 3px;
  border-left: 4px solid;
  border-color: #3030E0;
}

dl.bug {
  margin-left: -7px;
  padding-left: 3px;
  border-left: 4px solid;
  border-color: #C08050;
}

dl.section dd { margin-bottom: 6px; }

#projectrow { height: 56px; }

#projectlogo {
  text-align: center;
  vertical-align: bottom;
  border-collapse: separate;
}

#projectlogo img {
  border: 0px none;
}

#projectalign {
  vertical-align: middle;
  padding-left: 0.5em;
}

#projectname {
  font-size: 200%;
  font-family: var(--font-family-title);
  margin: 0px;
  padding: 2px 0px;
}

#projectbrief {
  font-size: 90%;
  font-family: var(--font-family-title);
  margin: 0px;
  padding: 0px;
}

#projectnumber {
  font-size: 50%;
  font-family: 50% var(--font-family-title);
  margin: 0px;
  padding: 0px;
}

#titlearea {
  padding: 0px;
  margin: 0px;
  width: 100%;
  border-bottom: 1px solid var(--title-separator-color);
  background-color: var(--title-background-color);
}

.image { text-align: center; }

.dotgraph { text-align: center; }

.mscgraph { text-align: center; }

.plantumlgraph { text-align: center; }

.diagraph { text-align: center; }

.caption { font-weight: bold; }

dl.citelist {
  margin-bottom:50px;
}

dl.citelist dt {
  color:var(--citation-label-color);
  float:left;
  font-weight:bold;
  margin-right:10px;
  padding:5px;
  text-align:right;
  width:52px;
}

dl.citelist dd {
  margin:2px 0 2px 72px;
  padding:5px 0;
}

div.toc {
  padding: 14px 25px;
  background-color: var(--toc-background-color);
  border: 1px solid var(--toc-border-color);
  border-radius: 7px 7px 7px 7px;
  float: right;
  height: auto;
  margin: 0 8px 10px 10px;
  width: 200px;
}

div.toc li {
  background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent;
  font: 10px/1.2 var(--font-family-toc);
  margin-top: 5px;
  padding-left: 10px;
  padding-top: 2px;
}

div.toc h3 {
  font: bold 12px/1.2 var(--font-family-toc);
  color: var(--toc-header-color);
  border-bottom: 0 none;
  margin: 0;
}

div.toc ul {
  list-style: none outside none;
  border: medium none;
  padding: 0px;
}

div.toc li.level1 { margin-left: 0px; }

div.toc li.level2 { margin-left: 15px; }

div.toc li.level3 { margin-left: 15px; }

div.toc li.level4 { margin-left: 15px; }

span.obfuscator { display: none; }

.inherit_header {
  font-weight: bold;
  color: var(--inherit-header-color);
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.inherit_header td {
  padding: 6px 0px 2px 5px;
}

.inherit {
  display: none;
}

tr.heading h2 {
  margin-top: 12px;
  margin-bottom: 4px;
}

/* tooltip related style info */

.ttc {
  position: absolute;
  display: none;
}

#powerTip {
  cursor: default;
  color: var(--tooltip-foreground-color);
  background-color: var(--tooltip-background-color);
  border: 1px solid var(--tooltip-border-color);
  border-radius: 4px 4px 4px 4px;
  box-shadow: var(--tooltip-shadow);
  display: none;
  font-size: smaller;
  max-width: 80%;
  opacity: 0.9;
  padding: 1ex 1em 1em;
  position: absolute;
  z-index: 2147483647;
}

#powerTip div.ttdoc {
  color: var(--tooltip-doc-color);
  font-style: italic;
}

#powerTip div.ttname a { font-weight: bold; }

#powerTip a { color: var(--tooltip-link-color); }

#powerTip div.ttname { font-weight: bold; }

#powerTip div.ttdeci { color: var(--tooltip-declaration-color); }

#powerTip div {
  margin: 0px;
  padding: 0px;
  font-size: 12px;
  font-family: var(--font-family-tooltip);
  line-height: 16px;
}

#powerTip:before, #powerTip:after {
  content: "";
  position: absolute;
  margin: 0px;
}

#powerTip.n:after,  #powerTip.n:before,
#powerTip.s:after,  #powerTip.s:before,
#powerTip.w:after,  #powerTip.w:before,
#powerTip.e:after,  #powerTip.e:before,
#powerTip.ne:after, #powerTip.ne:before,
#powerTip.se:after, #powerTip.se:before,
#powerTip.nw:after, #powerTip.nw:before,
#powerTip.sw:after, #powerTip.sw:before {
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
}

#powerTip.n:after,  #powerTip.s:after,
#powerTip.w:after,  #powerTip.e:after,
#powerTip.nw:after, #powerTip.ne:after,
#powerTip.sw:after, #powerTip.se:after { border-color: rgba(255, 255, 255, 0); }

#powerTip.n:before,  #powerTip.s:before,
#powerTip.w:before,  #powerTip.e:before,
#powerTip.nw:before, #powerTip.ne:before,
#powerTip.sw:before, #powerTip.se:before { border-color: rgba(128, 128, 128, 0); }

#powerTip.n:after,  #powerTip.n:before,
#powerTip.ne:after, #powerTip.ne:before,
#powerTip.nw:after, #powerTip.nw:before { top: 100%; }

#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
  border-top-color: var(--tooltip-background-color);
  border-width: 10px;
  margin: 0px -10px;
}

#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before {
  border-top-color: var(--tooltip-border-color);
  border-width: 11px;
  margin: 0px -11px;
}
#powerTip.n:after, #powerTip.n:before { left: 50%; }

#powerTip.nw:after, #powerTip.nw:before { right: 14px; }

#powerTip.ne:after, #powerTip.ne:before { left: 14px; }

#powerTip.s:after,  #powerTip.s:before, #powerTip.se:after, #powerTip.se:before, #powerTip.sw:after, #powerTip.sw:before { bottom: 100%; }

#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
  border-bottom-color: var(--tooltip-background-color);
  border-width: 10px;
  margin: 0px -10px;
}

#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
  border-bottom-color: var(--tooltip-border-color);
  border-width: 11px;
  margin: 0px -11px;
}

#powerTip.s:after, #powerTip.s:before {
  left: 50%;
}

#powerTip.sw:after, #powerTip.sw:before {
  right: 14px;
}

#powerTip.se:after, #powerTip.se:before {
  left: 14px;
}

#powerTip.e:after, #powerTip.e:before {
  left: 100%;
}

#powerTip.e:after {
  border-left-color: var(--tooltip-border-color);
  border-width: 10px;
  top: 50%;
  margin-top: -10px;
}

#powerTip.e:before {
  border-left-color: var(--tooltip-border-color);
  border-width: 11px;
  top: 50%;
  margin-top: -11px;
}

#powerTip.w:after, #powerTip.w:before {
  right: 100%;
}

#powerTip.w:after {
  border-right-color: var(--tooltip-border-color);
  border-width: 10px;
  top: 50%;
  margin-top: -10px;
}

#powerTip.w:before {
  border-right-color: var(--tooltip-border-color);
  border-width: 11px;
  top: 50%;
  margin-top: -11px;
}

@media print {
  #top { display: none; }
  #side-nav { display: none; }
  #nav-path { display: none; }
  body { overflow:visible; }
  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
  .summary { display: none; }
  .memitem { page-break-inside: avoid; }

  #doc-content {
    margin-left:0 !important;
    height:auto !important;
    width:auto !important;
    overflow:inherit;
    display:inline;
  }
}

/* @group Markdown */

table.markdownTable {
  border-collapse:collapse;
  margin-top: 4px;
  margin-bottom: 4px;
}

table.markdownTable td, table.markdownTable th {
  border: 1px solid var(--table-cell-border-color);
  padding: 3px 7px 2px;
}

th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
  background-color: var(--table-header-background-color);
  color: var(--table-header-foreground-color);
  font-size: 110%;
  padding-bottom: 4px;
  padding-top: 5px;
}

th.markdownTableHeadLeft, td.markdownTableBodyLeft {
  text-align: left
}

th.markdownTableHeadRight, td.markdownTableBodyRight {
  text-align: right
}

th.markdownTableHeadCenter, td.markdownTableBodyCenter {
  text-align: center
}

tt, code, kbd, samp {
  display: inline-block;
}
/* @end */

details>summary {
  list-style-type: none;
}

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

details>summary::before {
  content: "\25ba";
  padding-right:4px;
  font-size: 80%;
}

details[open]>summary::before {
  content: "\25bc";
  padding-right:4px;
  font-size: 80%;
}

body {
  scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color);
}

::-webkit-scrollbar {
  background-color: var(--scrollbar-background-color);
  height: 12px;
  width: 12px;
}
::-webkit-scrollbar-thumb {
  border-radius: 6px;
  box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color);
  border: solid 2px transparent;
}

::-webkit-scrollbar-corner {
  background-color: var(--scrollbar-background-color);
}

/******************** navtree.css ***********************/

#nav-tree .children_ul {
  margin:0;
  padding:4px;
}

#nav-tree ul {
  list-style:none outside none;
  margin:0px;
  padding:0px;
}

#nav-tree li {
  white-space:nowrap;
  margin:0px;
  padding:0px;
}

#nav-tree .plus {
  margin:0px;
}

#nav-tree .selected {
  background-image: url('tab_a.png');
  background-repeat:repeat-x;
  color: var(--nav-text-active-color);
  text-shadow: var(--nav-text-active-shadow);
}

#nav-tree .selected .arrow {
  color: var(--nav-arrow-selected-color);
  text-shadow: none;
}

#nav-tree img {
  margin:0px;
  padding:0px;
  border:0px;
  vertical-align: middle;
}

#nav-tree a {
  text-decoration: none;
  padding:0px;
  margin:0px;
}

#nav-tree .label {
  margin:0px;
  padding:0px;
  font: 12px var(--font-family-nav);
}

#nav-tree .label a {
  padding:2px;
}

#nav-tree .selected a {
  text-decoration: none;
  color:var(--nav-text-active-color);
}

#nav-tree .children_ul {
  margin:0px;
  padding:0px;
}

#nav-tree .item {
  margin:0px;
  padding:0px;
}

#nav-tree {
  padding: 0px 0px;
  font-size:14px;
  overflow:auto;
}

#doc-content {
  overflow:auto;
  display:block;
  padding:0px;
  margin:0px;
  -webkit-overflow-scrolling : touch; /* iOS 5+ */
}

#side-nav {
  padding:0 6px 0 0;
  margin: 0px;
  display:block;
  position: absolute;
  left: 0px;
  width: $width;
  overflow : hidden;
}

.ui-resizable .ui-resizable-handle {
  display:block;
}

.ui-resizable-e {
  background-image:var(--nav-splitbar-image);
  background-size:100%;
  background-repeat:repeat-y;
  background-attachment: scroll;
  cursor:ew-resize;
  height:100%;
  right:0;
  top:0;
  width:6px;
}

.ui-resizable-handle {
  display:none;
  font-size:0.1px;
  position:absolute;
  z-index:1;
}

#nav-tree-contents {
  margin: 6px 0px 0px 0px;
}

#nav-tree {
  background-repeat:repeat-x;
  background-color: var(--nav-background-color);
  -webkit-overflow-scrolling : touch; /* iOS 5+ */
}

#nav-sync {
  position:absolute;
  top:5px;
  right:24px;
  z-index:0;
}

#nav-sync img {
  opacity:0.3;
}

#nav-sync img:hover {
  opacity:0.9;
}

@media print {
  #nav-tree { display: none; }
  div.ui-resizable-handle { display: none; position: relative; }
}

/******************** tabs.css ***********************/

.sm {
  position:relative;
  z-index:9999
}

.sm,.sm ul,.sm li {
  display:block;
  list-style:none;
  margin:0;
  padding:0;
  line-height:normal;
  direction:ltr;
  text-align:left;
  -webkit-tap-highlight-color:rgba(0,0,0,0)
}

.sm-rtl,.sm-rtl ul,.sm-rtl li {
  direction:rtl;
  text-align:right
}

.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6 {
  margin:0;
  padding:0
}

.sm ul {
  display:none
}

.sm li,.sm a {
  position:relative
}

.sm a {
  display:block
}

.sm a.disabled {
  cursor:not-allowed
}

.sm:after {
  content:"\00a0";
  display:block;
  height:0;
  font:0px/0 serif;
  clear:both;
  visibility:hidden;
  overflow:hidden
}

.sm,.sm *,.sm *:before,.sm *:after {
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box
}

.main-menu-btn {
  position:relative;
  display:inline-block;
  width:36px;
  height:36px;
  text-indent:36px;
  margin-left:8px;
  white-space:nowrap;
  overflow:hidden;
  cursor:pointer;
  -webkit-tap-highlight-color:rgba(0,0,0,0)
}

.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{
  position:absolute;
  top:50%;
  left:2px;
  height:2px;
  width:24px;
  background:var(--nav-menu-button-color);
  -webkit-transition:all 0.25s;transition:all 0.25s
}

.main-menu-btn-icon:before{
  content:'';
  top:-7px;
  left:0
}

.main-menu-btn-icon:after{
  content:'';
  top:7px;
  left:0
}

#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon {
height:0
}

#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:before {
top:0;
-webkit-transform:rotate(-45deg);
transform:rotate(-45deg)
}

#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:after {
top:0;
-webkit-transform:rotate(45deg);
transform:rotate(45deg)
}

#main-menu-state {
position:absolute;
width:1px;
height:1px;
margin:-1px;
border:0;
padding:0;
overflow:hidden;
clip:rect(1px, 1px, 1px, 1px)
}

#main-menu-state:not(:checked)~#main-menu {
display:none
}

#main-menu-state:checked~#main-menu {
display:block
}

@media (min-width: 768px) {
  .main-menu-btn {
    position:absolute;
    top:-99999px
  }

  #main-menu-state:not(:checked)~#main-menu {
  display:block
  }
}

.sm-dox {
  background-image:var(--nav-gradient-image)
}

.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active {
  padding:0px 12px;
  padding-right:43px;
  font-family:var(--font-family-nav);
  font-size:13px;
  font-weight:bold;
  line-height:36px;
  text-decoration:none;
  text-shadow:var(--nav-text-normal-shadow);
  color:var(--nav-text-normal-color);
  outline:none
}

.sm-dox a:hover {
  background-image:var(--nav-gradient-active-image);
  background-repeat:repeat-x;
  color:var(--nav-text-hover-color);
  text-shadow:var(--nav-text-hover-shadow)
}

.sm-dox a.current {
  color:#D23600
}

.sm-dox a.disabled {
  color:#bbb
}

.sm-dox a span.sub-arrow {
  position:absolute;
  top:50%;
  margin-top:-14px;
  left:auto;
  right:3px;
  width:28px;
  height:28px;
  overflow:hidden;
  font:bold 12px/28px monospace !important;
  text-align:center;
  text-shadow:none;
  background:var(--nav-menu-toggle-color);
  border-radius:5px
}

.sm-dox a span.sub-arrow:before {
  display:block;
  content:'+'
}

.sm-dox a.highlighted span.sub-arrow:before {
  display:block;
  content:'-'
}

.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a {
  border-radius:5px 5px 0 0
}

.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul {
  border-radius:0 0 5px 5px
}

.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted {
  border-radius:0
}

.sm-dox ul {
  background:var(--nav-menu-background-color)
}

.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active {
  font-size:12px;
  border-left:8px solid transparent;
  line-height:36px;
  text-shadow:none;
  background-color:var(--nav-menu-background-color);
  background-image:none
}

.sm-dox ul a:hover {
  background-image:var(--nav-gradient-active-image);
  background-repeat:repeat-x;
  color:var(--nav-text-hover-color);
  text-shadow:0px 1px 1px #000
}

.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active {
  border-left:16px solid transparent
}

.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active {
  border-left:24px solid transparent
}

.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active {
  border-left:32px solid transparent
}

.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active {
  border-left:40px solid transparent
}

@media (min-width: 768px) {
  .sm-dox ul {
    position:absolute;
    width:12em
  }

  .sm-dox li {
    float:left
  }

  .sm-dox.sm-rtl li {
    float:right
  }

  .sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li {
    float:none
  }

  .sm-dox a {
    white-space:nowrap
  }

  .sm-dox ul a,.sm-dox.sm-vertical a {
    white-space:normal
  }

  .sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a {
    white-space:nowrap
  }

  .sm-dox {
    padding:0 10px;
    background-image: var(--nav-gradient-image);
    line-height:36px
  }

  .sm-dox a span.sub-arrow {
    top:50%;
    margin-top:-2px;
    right:12px;
    width:0;
    height:0;
    border-width:4px;
    border-style:solid dashed dashed dashed;
    border-color:var(--nav-text-normal-color) transparent transparent transparent;
    background:transparent;
    border-radius:0
  }

  .sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted {
    padding:0px 12px;
    background-image:var(--nav-separator-image);
    background-repeat:no-repeat;
    background-position:right;
    border-radius:0 !important
  }

  .sm-dox a:hover {
    background-image:var(--nav-gradient-active-image);
    background-repeat:repeat-x;
    color:var(--nav-text-hover-color);
    text-shadow:var(--nav-text-hover-shadow)
  }

  .sm-dox a:hover span.sub-arrow {
    border-color:var(--nav-text-hover-color) transparent transparent transparent
  }

  .sm-dox a.has-submenu {
    padding-right:24px
  }

  .sm-dox li {
    border-top:0
  }

  .sm-dox>li>ul:before,.sm-dox>li>ul:after {
    content:'';
    position:absolute;
    top:-18px;
    left:30px;
    width:0;
    height:0;
    overflow:hidden;
    border-width:9px;
    border-style:dashed dashed solid dashed;
    border-color:transparent transparent #bbb transparent
  }

  .sm-dox>li>ul:after {
    top:-16px;
    left:31px;
    border-width:8px;
    border-color:transparent transparent var(--nav-menu-background-color) transparent
  }

  .sm-dox ul {
    border:1px solid #bbb;
    padding:5px 0;
    background:var(--nav-menu-background-color);
    border-radius:5px !important;
    box-shadow:0 5px 9px rgba(0,0,0,0.2)
  }

  .sm-dox ul a span.sub-arrow {
    right:8px;
    top:50%;
    margin-top:-5px;
    border-width:5px;
    border-color:transparent transparent transparent var(--nav-menu-foreground-color);
    border-style:dashed dashed dashed solid
  }

  .sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted {
    color:var(--nav-menu-foreground-color);
    background-image:none;
    border:0 !important;
    color:var(--nav-menu-foreground-color);
    background-image:none
  }

  .sm-dox ul a:hover {
    background-image:var(--nav-gradient-active-image);
    background-repeat:repeat-x;
    color:var(--nav-text-hover-color);
    text-shadow:var(--nav-text-hover-shadow)
  }

  .sm-dox ul a:hover span.sub-arrow {
    border-color:transparent transparent transparent var(--nav-text-hover-color)
  }

  .sm-dox span.scroll-up,.sm-dox span.scroll-down {
    position:absolute;
    display:none;
    visibility:hidden;
    overflow:hidden;
    background:var(--nav-menu-background-color);
    height:36px
  }

  .sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover {
    background:#eee
  }

  .sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow {
    border-color:transparent transparent #D23600 transparent
  }

  .sm-dox span.scroll-down:hover span.scroll-down-arrow {
    border-color:#D23600 transparent transparent transparent
  }

  .sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow {
    position:absolute;
    top:0;
    left:50%;
    margin-left:-6px;
    width:0;
    height:0;
    overflow:hidden;
    border-width:6px;
    border-style:dashed dashed solid dashed;
    border-color:transparent transparent var(--nav-menu-foreground-color) transparent
  }

  .sm-dox span.scroll-down-arrow {
    top:8px;
    border-style:solid dashed dashed dashed;
    border-color:var(--nav-menu-foreground-color) transparent transparent transparent
  }

  .sm-dox.sm-rtl a.has-submenu {
    padding-right:12px;
    padding-left:24px
  }

  .sm-dox.sm-rtl a span.sub-arrow {
    right:auto;
    left:12px
  }

  .sm-dox.sm-rtl.sm-vertical a.has-submenu {
    padding:10px 20px
  }

  .sm-dox.sm-rtl.sm-vertical a span.sub-arrow {
    right:auto;
    left:8px;
    border-style:dashed solid dashed dashed;
    border-color:transparent #555 transparent transparent
  }

  .sm-dox.sm-rtl>li>ul:before {
    left:auto;
    right:30px
  }

  .sm-dox.sm-rtl>li>ul:after {
    left:auto;
    right:31px
  }

  .sm-dox.sm-rtl ul a.has-submenu {
    padding:10px 20px !important
  }

  .sm-dox.sm-rtl ul a span.sub-arrow {
    right:auto;
    left:8px;
    border-style:dashed solid dashed dashed;
    border-color:transparent #555 transparent transparent
  }

  .sm-dox.sm-vertical {
    padding:10px 0;
    border-radius:5px
  }

  .sm-dox.sm-vertical a {
    padding:10px 20px
  }

  .sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{
    background:#fff
  }

  .sm-dox.sm-vertical a.disabled {
    background-image:var(--nav-gradient-image)
  }

  .sm-dox.sm-vertical a span.sub-arrow {
    right:8px;
    top:50%;
    margin-top:-5px;
    border-width:5px;
    border-style:dashed dashed dashed solid;
    border-color:transparent transparent transparent #555
  }

  .sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after {
    display:none
  }

  .sm-dox.sm-vertical ul a {
    padding:10px 20px
  }

  .sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted {
    background:#eee
  }

  .sm-dox.sm-vertical ul a.disabled {
    background:var(--nav-menu-background-color)
  }
}
