@font-face {
  font-family: "AWorxSerif";
  src: local("Merriweather"), local("Merriweather-Regular"), url("Merriweather-Regular.ttf");
}

@font-face {
  font-family: "AWorxSans";
  src: local("Lato"), url("Lato-Regular.ttf")
}

@font-face {
  font-family: "AWorxSansBold";
  src: local("Lato-Bold"), url("Lato-Bold.ttf")
}

@font-face {
  font-family: "AWorxCode";
  font-style: monospace;
  src: local("FiraMono"), url("FiraMono-Regular.ttf");
}

@font-face {
  font-family: "AWorxProject";
  font-style: monospace;
  src: src: local("Merriweather-Bold"), local("Merriweather-Bold"), url("Merriweather-Bold.ttf");
}

ul {
    list-style: square;
}

div.toc a {
     font-family: "AWorxSans";
}

div.toc h3 {
     font-family: "AWorxSansBold";
}


.sm-dox {
    background-color: #51637b;
    background-image: none;
}

.sm-dox a, .sm-dox a:focus, .sm-dox a:hover, .sm-dox a:active {
     font-family: "AWorxSerif";
     font-size: 13px;
     font-weight: bold;
     line-height: 36px;
     text-decoration: none;
     outline: 0;

     background-image: none;
     color: white;
     background-color: #51637b;

     text-shadow: rgba(0, 0, 0, 0.6) 0px 2px 2px;
}


.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: 0/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
}

#doc-content {
    overflow: auto;
    display: block;
    padding: 0;
    margin: 0;
    -webkit-overflow-scrolling: touch
}

.sm-dox {
    background-color: #51637b;

}

.sm-dox a, .sm-dox a:focus, .sm-dox a:hover, .sm-dox a:active {
    font-family: "AWorxSerif";
    font-size: 13px;
    font-weight: bold;
    line-height: 30px;
    text-decoration: none;
    color: white;

    outline: 0
}

.sm-dox a:hover {
    color: white;
    text-decoration: underline;
}



.sm-dox a.current {
    font-weight: bold;
    color: #9E2544;
    text-shadow: rgba(200, 200, 200, 0.6) 1px 2px 2px;
    background-color: #CCCCCC;
}

.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: rgba(255, 255, 255, 0.5);
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px
}

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

.sm-dox ul {
    background: rgba(162, 162, 162, 0.1)
}

.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: #51637b;
    color: white;
    background-image: none
}

.sm-dox ul a:hover {
    color: white;
    text-shadow: 0 1px 1px black
}

.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
}

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

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

.directory tr.even {
	padding-left: 6px;
	background-color: var(--index-even-item-bg-color);
}
@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;
        color: white;
        background-color: #51637b;
    }

    .sm-dox {
        line-height: 30px
    }

    .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: white transparent transparent transparent;
        background: transparent;
        -moz-border-radius: 0;
        -webkit-border-radius: 0;
        border-radius: 0;
        color: white;
    }

    .sm-dox a, .sm-dox a:focus, .sm-dox a:active, .sm-dox a:hover, .sm-dox a.highlighted {
        padding: 0px 12px 2px 12px;
        background-position: right;
        -moz-border-radius: 0 !important;
        -webkit-border-radius: 0;
        border-radius: 0 !important
    }


    .sm-dox a:hover span.sub-arrow {
        border-color: white transparent transparent transparent
        color: white;
    }

    .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 white transparent
    }

    .sm-dox > li > ul:after {
        top: -16px;
        left: 31px;
        border-width: 8px;
        border-color: transparent transparent white transparent
    }

    .sm-dox ul {
        border: 1px solid #bbb;
        padding: 5px 0;
        background: #51637b;
        -moz-border-radius: 0px !important;
        -webkit-border-radius: 0px;
        border-radius: 0px !important;
        -moz-box-shadow: 0 0px 9px rgba(0, 0, 0, 0.2);
        -webkit-box-shadow: 0 5px 9px rgba(0, 0, 0, 0.2);
        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 white;
        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 {
        background-image: none;
        border: 0 !important;
        color: white;
        background-image: none
    }

    .sm-dox ul a:hover {
        color: white;
        text-decoration: underline;
    }

    .sm-dox ul a.current {
        color: #9E2544;
        text-shadow: rgba(200, 200, 200, 0.6) 1px 2px 2px;
    }

    .sm-dox ul a:hover span.sub-arrow {
        border-color: transparent transparent transparent white
    }

    .sm-dox span.scroll-up, .sm-dox span.scroll-down {
        position: absolute;
        display: none;
        visibility: hidden;
        overflow: hidden;
        background: #51637b;
        color: white;
        height: 36px
    }

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

    .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 #555 transparent
    }

    .sm-dox span.scroll-down-arrow {
        top: 8px;
        border-style: solid dashed dashed dashed;
        border-color: #51637b 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 white 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 white transparent transparent
    }

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

    .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: #51637b
    }

    .sm-dox.sm-vertical a.disabled {
        background-image: none;//url("tab_b.png")
    }

    .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 white
    }

    .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: white
    }

    .sm-dox.sm-vertical ul a.disabled {
        background: #fff
    }
}

/* ######################## A-Worx header menu #########################*/
.alib-menutable {
}

.alib-menutable td  {

    width: auto;
    white-space: nowrap;
}

.alib-menutable td:last-child {
  width:100%;
  text-align: right;
  background-image: url('GitHub-Mark-Light-64px.png');
  background-repeat: no-repeat;
  background-size: 22px 22px;
  background-position: right;

}

.alib-menu {
    font-family: "AWorxSerif";
    font-size: 15px;
    font-weight: bold;
    text-shadow: rgba(0, 0, 0, 0.6) 0px 2px 2px;
    padding: 5px 30px 25px 10px;

    color: white;

}

.alib-menu_hl {
    font-family: "AWorxSerif";
    font-size: 15px;
    font-weight: bold;
    text-shadow: rgba(255, 255, 255, 0.6) 0px 2px 2px;
    padding: 5px 15px 25px 15px;

    background-image: none;
    background-color: #51637b;

    color: #9E2544;
}

#main-menu > li:last-child {
    height: 30px;
}

/* Make the hamburger-menu button white */
.main-menu-btn-icon{ background: white;}
.main-menu-btn-icon::before{  background: white; }
.main-menu-btn-icon::after{  background: white; }


/*####################### General Doxygen ########################*/
/* The standard CSS for doxygen 1.8.4 */

body, table, div, p, dl {
    font-family: "AWorxSerif";
}

/* @group Heading Levels */

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

.title {
    font-family: "AWorxSansBold";
    font-size: 160%;
    font-weight: bold;
    margin: 0px 8px;
}

h2.groupheader {
    border-bottom: none;
    color: black;
    font-size: 150%;
    font-weight: 500;
    margin: 25px 0px 0px 0px;
    padding: 0px;
    width: 100%;
}

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

h1, h2, h3, h4, h5, h6 {
    font-family: "AWorxSansBold";
    color: black;
    font-weight: 500;

    -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;
}

h1 {
    font-size: 170%;
    padding-top: 25px;
    margin-left: -8px;
}

h2 {
    font-size: 150%;
    padding-top: 15px;
    margin-left: -8px;

}

h3 {
    font-size: 140%;
    margin-bottom: -10px;
}

h4 {
    font-size: 110%;
    margin-bottom: -10px;
}


h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
    text-shadow: 0 0 15px cyan;
}

dt {
    font-weight: bold;
    font-size: ;
}

div.multicol {
    -moz-column-gap: 1em;
    -webkit-column-gap: 1em;
    -moz-column-count: 3;
    -webkit-column-count: 3;
}

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

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

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

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

/* @end */

caption {
    font-weight: bold;
}

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

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

div.qindex, div.navtab{
    background-color: #EBEFF6;
    border: 1px solid #A3B4D7;
    text-align: center;
}

div.qindex, div.navpath {
    width: 100%;
    line-height: 140%;
}

div.navtab {
    margin-right: 15px;
}

/* @group Link Styling */

/* todo remove
.contents a {
    font-family: "AWorxSerif";
    font-size: 100%;
    text-decoration: none;
    color: #7e0015;
}
.contents a:visited {
    font-family: "AWorxSerif";
    font-size: 100%;
    text-decoration: none;
    color: #7e0015;
}

a:hover {
    text-decoration: underline;
}

a.qindex {
    font-weight: bold;
}

a.qindexHL {
    font-weight: bold;
    background-color: #9CAFD4;
    color: #ffffff;
    border: 1px double #869DCA;
}
*/

/* ######################## Links #########################*/
/* todo remove
a.el   {
    font-family: "AWorxSans";
    font-weight: normal;
    color: #7e0015
 }

a.elref {
    font-family: "AWorxSans";
    font-weight: normal;
    color: #7e0015
 }
*/

/* Remove visited state for all
a:visited       { color: inherit !important; }
.contents a:visited,
.alphachar a:visited,
a.el:visited,
a.code:visited,
a.line:visited,
a.codeRef:visited,
a.lineRef:visited,
span.lineno a:visited {
  color: inherit !important; 
}

*/



/* #####################################################################
   DoxygenXLinks Semantic Styling
   ##################################################################### */

/* remove doxygen settings */
a.el, a.elRef, a.el:visited, a.elRef:visited,a.el:hover, a.elRef:hover {
    color: inherit;
    font-weight: inherit;
}

/* Underline all el/elRef on hoover */
a.el:hover, a.elRef:hover {
    text-decoration: underline;
}

/* Add underline to all external docs */
a.elRef {
    text-decoration: underline;
}

/* --------------------------- DOX_MARKER( [DOX_STYLESHEET]) ---------------------------*/

/* XL doc */
a.el.xl-doc                 , a.elRef.xl-doc       { color: #9E2544; font-family: "AWorxSerif"; font-style: italic; }

/* XL files/dirs */
a.el.xl-filedir             , a.elRef.xl-filedir   { color: #396c0b;                                                }
a.el.xl-dir                 , a.elRef.xl-dir       {                 font-family: "AWorxSansBold";                  }
a.el.xl-file                , a.elRef.xl-file      {                 font-family: "AWorxSans";                      }

/* XL entities */
a.el.xl-entity              , a.elRef.xl-entity    { color: deeppink;  font-family: "AWorxCode";                    }
a.el.xl-ns                  , a.elRef.xl-ns        { color: #0531b6;                                                }
a.el.xl-record              , a.elRef.xl-record    { font-weight: bold;                                             }
a.el.xl-union               , a.elRef.xl-union     { color: chocolate;                                              }
a.el.xl-class               , a.elRef.xl-class     { color: darkblue;                                               }
a.el.xl-struct              , a.elRef.xl-struct    { color: darkslateblue;                                          }
a.el.xl-enum                , a.elRef.xl-enum      { color: crimson; font-weight: bold;                             }
a.el.xl-enumelem            , a.elRef.xl-enumelem  { color: crimson; font-weight: bold;   font-style:  italic;      }
a.el.xl-typedef             , a.elRef.xl-typedef   { color: darkblue;font-weight: bold;   font-style:  italic;      }
a.el.xl-func                , a.elRef.xl-func      { color: #360f88;                                                }
a.el.xl-var                 , a.elRef.xl-var       { color: chocolate;                                              }
a.el.xl-concept             , a.elRef.xl-concept   {                 font-family: "AWorxCode";  font-weight: bold;  }
a.el.xl-macro               , a.elRef.xl-macro     { color: goldenrod;                                              }

/* XL variables and functions in namespace get colored like namespaces, but bold */
a.el.xl-var.xl-in-ns        , a.elRef.xl-var.xl-in-ns  { color: #0531b6; font-weight: bold; }
a.el.xl-func.xl-in-ns       , a.elRef.xl-func.xl-in-ns { color: #0531b6; font-weight: bold; }
a.el.xl-indirect            , a.elRef.xl-indirect      { font-style:  italic;               }

/* If a display text is given, then the font goes back to the main documentation font */
a.el.xl-display             , a.elRef.xl-display       { font-family: "AWorxSerif";         }

/* --------------------------- DOX_MARKER( [DOX_STYLESHEET]) ---------------------------*/

/* --------------------------- DOX_MARKER( [DOX_STYLESHEET_NOLINKS]) ---------------------------*/

/* XL doc */
.xl-doc                 , .xl-doc       { color: #022E34; font-family: "AWorxSerif"; font-style: italic; }

/* XL files/dirs */
.xl-filedir             , .xl-filedir   { color: #022E34;                                               }
.xl-dir                 , .xl-dir       {                 font-family: "AWorxSansBold";                 }
.xl-file                , .xl-file      {                 font-family: "AWorxSans";                     }

/* XL entities */
.xl-entity              , .xl-entity    { color: #022E34;  font-family: "AWorxCode";                    }
.xl-ns                  , .xl-ns        { color: #022E34;                                               }
.xl-record              , .xl-record    { font-weight: bold;                                            }
.xl-union               , .xl-union     { color: #022E34;                                               }
.xl-class               , .xl-class     { color: #022E34;                                               }
.xl-struct              , .xl-struct    { color: #022E34;                                               }
.xl-enum                , .xl-enum      { color: #022E34; font-weight: bold;                            }
.xl-enumelem            , .xl-enumelem  { color: #022E34; font-weight: bold;   font-style:  italic;     }
.xl-typedef             , .xl-typedef   { color: #022E34; font-weight: bold;   font-style:  italic;     }
.xl-func                , .xl-func      { color: #022E34                                                }
.xl-var                 , .xl-var       { color: #022E34;                                               }
.xl-concept             , .xl-concept   { color: #022E34; font-family: "AWorxCode";  font-weight: bold; }
.xl-macro               , .xl-macro     { color: #022E34;                                               }

/* XL variables and functions in namespace get colored like namespaces, but bold */
.xl-var.xl-in-ns        , .xl-var.xl-in-ns  { color: #022E34; font-weight: bold;   }
.xl-func.xl-in-ns       , .xl-func.xl-in-ns { color: #022E34; font-weight: bold;   }
.xl-indirect            , .xl-indirect      { font-style:  italic;                 }

/* If a display text is given, then the font goes back to the main documentation font.
   But in-fact, with %-links this should not be used at all. */
.xl-display             , .xl-display       { font-family: "AWorxSerif";           }
/* --------------------------- DOX_MARKER( [DOX_STYLESHEET_NOLINKS]) ---------------------------*/
/* @end */

a.code
{
    font-family: "AWorxCode", monospace;
    font-size: 100%;
    white-space: nowrap;
    vertical-align: unset;
}

code
{
    font-family: "Courier New", monospace;
    font-style: italic;
    font-weight: bolder;
    font-size: 100%;
    white-space: nowrap;
    color: #51637b;
    vertical-align: unset;
}

/*------ Source sample ------- */
dl.el {
    margin-left: -1cm;
}

pre.fragment {
    border: solid 1px rgb(221, 221, 221);
    border-radius: 3px;
    background-color: rgb(248, 248, 248);
    padding: 6px 10px;
    overflow: auto;
    word-wrap: break-word;

    font-family: "AWorxCode", monospace;
    font-size:  80%;
    line-height: 110%;
    color: #000030;
}

div.fragment {
    padding: 6px 10px;
    margin: 15px 0px;
    border: solid 1px rgb(221, 221, 221);
    border-radius: 3px;

    background-color: rgb(248, 248, 248);
    color: #000030;
    font-family: "AWorxCode", monospace;
    font-size:  90%;
    line-height: 110%;
}

div.line {
    font-family: "AWorxCode", monospace;
    font-size:  90%;
    line-height: 110%;
    color: #000030;
    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: 0px;
    padding-left: 5px;
    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.glow {
    background-color: cyan;
    box-shadow: 0 0 10px cyan;
}


span.lineno {
    padding-right: 4px;
    text-align: right;
    border-right: 2px solid #0F0;
    background-color:  #E8E8E8;
        white-space: pre;
}
span.lineno a {
    background-color: #D8D8D8;
}

span.lineno a:hover {
    background-color: #C8C8C8;
}

div.ah {
    background-color: black;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 3px;
    margin-top: 3px;
    padding: 0.2em;
    border: solid thin #333;
    border-radius: 0.5em;
    -webkit-border-radius: .5em;
    -moz-border-radius: .5em;
    box-shadow: 2px 2px 3px #999;
    -webkit-box-shadow: 2px 2px 3px #999;
    -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
    background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
}

div.groupHeader {
    margin-left: 0px;
    margin-top: 9px;
    margin-bottom: 4.7px;

    font-size: 19px;
    font-weight: normal;
}

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

body
{
    background-color: white;
    color: black;
    margin: 0;

}


div.textblock
{
    margin-left: 8px;
    margin-right: 8px;
}

table.markdownTable
{
    margin-left: 8px;
    margin-right: 8px;
}

pre.fragment
{
    margin-top: 15px;
    margin-left: 8px;
    margin-right: 8px;
}

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

    position: absolute;
    height: 25px;
    width: 100%;
    right: 0px;
    bottom: 0px;
}

img.footer
{
    border: 0px;
    vertical-align: middle;
}

hr.footer
{
    height: 0px;
    border-top: 3px solid #4c7cc0;

    position: absolute;
    height: 3px;
    width: 100%;
    right: 0px;
    bottom: 12px;
}

td.indexkey {
    background-color: #EBEFF6;
    font-weight: bold;
    border: 1px solid #C4CFE5;
    margin: 2px 0px 2px 0;
    padding: 2px 10px;
    white-space: nowrap;
    vertical-align: top;
}

td.indexvalue {
    background-color: #EBEFF6;
    border: 1px solid #C4CFE5;
    padding: 2px 10px;
    margin: 2px 0px;
}

tr.memlist {
    background-color: #EEF1F7;
}

p.formulaDsp {
    text-align: center;
}

img.formulaDsp {

}

img.formulaInl {
    vertical-align: middle;
}

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

div.center img {
    border: 0px;
}


/* AWorx dox uses <span></span> to mark parameter names in texts.*/
span {
    font-family: "AWorxCode", monospace;
    font-weight: bold;
    font-style: italic;
    font-size: 100%;
    vertical-align: middle;
    white-space: nowrap;
    color: #4f3600;
}

span.emoji {
    color: black;
    font-weight: normal;
    font-style: normal;
    font-size: 100%;
    vertical-align: baseline;
    white-space: nowrap;
}


/* @group Code Colorization */

span.keyword {
    color: #000040;
    font-weight: normal;
}

span.keywordtype {
    color: #604020;
    font-weight: normal;
}

span.keywordflow {
    color: #e08000;
    font-weight: normal;
}

span.comment {
    color: #208020
}

span.preprocessor {
    color: #806020
}

span.stringliteral {
    color: #FF2020;
    font-weight: normal;
}

span.charliteral {
    color: #FF2020;
    font-weight: normal;
}

span.vhdldigit {
    color: #500000
}

span.vhdlchar {
    color: #000000
}

span.vhdlkeyword {
    color: #700070
}

span.vhdllogic {
    color: #ff0000
}

blockquote {
        background-color: #F7F8FB;
        border-left: 2px solid #9CAFD4;
        margin: 0 24px 0 4px;
        padding: 0 12px 0 16px;
}

/* @end */

/*
.search {
    color: #003399;
    font-weight: bold;
}

form.search {
    margin-bottom: 0px;
    margin-top: 0px;
}

input.search {
    font-size: 75%;
    color: #000080;
    font-weight: normal;
    background-color: #e8eef2;
}
*/

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

.dirtab {
    padding: 4px;
    border-collapse: collapse;
    border: 1px solid #A3B4D7;
}

th.dirtab {
    background: #EBEFF6;
    font-weight: bold;
}

hr {
    height: 0px;
    border: none;
    //border-top: 1px solid #4A6AAA;
    border-top: 1px solid #444;
}


/* @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: cyan;
    box-shadow: 0 0 15px cyan;
}

.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
    background-color: #F8F8FF;
    border: none;
    margin: 4px;
    padding: 1px 0 0 8px;
    font-family: "AWorxCode", monospace;
}

.mdescLeft, .mdescRight {
    //padding: 0px 8px 4px 8px;
    padding: 0px 8px 4px 24px;
    //color: #555;
    color: black;

    font-family: "AWorxSerif";
    font-style: normal;
}

.memSeparator {
    border-bottom: none;
    line-height: 8px;
    margin: 0px;
    padding: 0px;
}

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

.memItemRight {
    width: 100%;
}

.memTemplParams {
        white-space: nowrap;
    font-size: 100%;
    font-weight: bold;
    color: rgb(40, 20, 130); // template blue
}

/* @end */

/* @group Member Details */

/* Styles for detailed member documentation */

/* start:  new with doxygen 1.8.13 */
.memtitle {
    visibility: hidden;
    border-top:     0px hidden;
    border-left:    0px hidden;
    border-right:   0px hidden;
    border-top-right-radius: 0px;
    border-top-left-radius:  0px;
    margin-bottom: -1px;
    background-color: #DAE5FA;
    line-height: 1.25;
    font-weight: 300;
    float: left;

    margin-top: 0px;
    border: none;
    padding: 6px 0px 6px 0px;

    font-weight: bold;
    text-shadow: none;
    background-image: none;
    background-color: rgb(235, 238, 245);

    /* opera specific markup */
    box-shadow: none;//5px 5px 5px rgba(0, 0, 0, 0.15);

    /* firefox specific markup */
    -moz-box-shadow: none;
    -moz-border-radius-topright: 0px;
    -moz-border-radius-topleft: 0px;

    /* webkit specific markup */
    -webkit-box-shadow: none;
    -webkit-border-top-right-radius: 0px;
    -webkit-border-top-left-radius: 0px;

}
/* end:  new with doxygen 1.8.13 */

.memtemplate {
    font-family: "AWorxCode", monospace;
    font-size: 100%;
    color: black;
    font-weight: normal;
    margin-left: 1px;
}

.memnav {
    background-color: #EBEFF6;
    border: 1px solid #A3B4D7;
    text-align: center;
    margin: 2px;
    margin-right: 15px;
    padding: 2px;
}

.mempage {
    width: 100%;
}

.memitem {
    padding: 0;
    margin-bottom: 0px;
    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 cyan;
}

.memname {
       font-family: "AWorxCode", monospace;
       font-weight: bold;
       font-size: 110%;
       color: #2f3a70;
       margin-left: 0px;
}

.memname td {
    vertical-align: middle;
}



.memproto, dl.reflist dt {
    border: none;
    padding: 0px;
    font-weight: bold;
    text-shadow: none;
    background-image: none;
    background-color: rgb(235, 238, 245);

    /* opera specific markup */
    box-shadow: none;//5px 5px 5px rgba(0, 0, 0, 0.15);
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;

    /* firefox specific markup */
    -moz-box-shadow: none;
    -moz-border-radius-topright: 0px;
    -moz-border-radius-topleft: 0px;

    /* webkit specific markup */

    -webkit-box-shadow: none;
    -webkit-border-top-right-radius: 0px;
    -webkit-border-top-left-radius: 0px;
}

.memdoc, dl.reflist dd {
    border: none;
        //border-bottom: 1px solid #A8B8D9;
        //border-left: 1px solid #A8B8D9;
        //border-right: 1px solid #A8B8D9;
        padding: 6px;
        background-color: #FBFCFD;
        border-top-width: 0;
        //background-image:url('nav_g.png');
       background-image: none;
        //background-repeat:repeat-x;
        background-color: #FFFFFF;
        /* opera specific markup */
        //border-bottom-left-radius: 4px;
        //border-bottom-right-radius: 4px;
        //box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
        border-bottom-left-radius: 0px;
       border-bottom-right-radius: 0px;
        box-shadow: none;
        /* 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;
        -moz-border-radius-bottomleft: 0px;
        -moz-border-radius-bottomright: 0px;
        -moz-box-shadow: none;
        /* 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);
        -webkit-border-bottom-left-radius: 0px;
        -webkit-border-bottom-right-radius: 0px;
        -webkit-box-shadow: none;
}

dl.reflist dt {
        padding: 5px;
}

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

.paramkey {
    text-align: right;
}

.paramtype {
    white-space: nowrap;
    color: black;
}

.paramname {
    font-family: "AWorxCode", monospace;
    font-size: 100%;
    font-weight: bold;
    font-style: italic;
    vertical-align: middle;
    white-space: nowrap;
    color: #4f3600
}
.paramname em {
    font-family: "AWorxCode", monospace;
    font-weight: bold;
    vertical-align: middle;
    color: #4f3600;
}
.paramname code {
    line-height: 14px;
}

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

.params .paramname, .retval .paramname {
    font-family: "AWorxCode", monospace;
    color: #4f3600;
    font-size: 100%;
}

.params .paramtype {
    font-style: italic;
    vertical-align: middle;

}

.params .paramdir {
    font-family: "AWorxCode", monospace;
    vertical-align: middle;
}

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

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

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

span.mlabels {
    margin-left: 8px;
    vertical-align: middle;

}

span.mlabel {
    background-color: #728DC1;
    border-top:1px    solid #5373B4;
    border-left:1px   solid #5373B4;
    border-right:1px  solid #C4CFE5;
    border-bottom:1px solid #C4CFE5;
    border: none;
    text-shadow: none;
    //color: white;

    margin-right: 4px;
    padding: 1px 4px;
    border-radius: 2px;
    font-size: 120%;
    white-space: nowrap;
    vertical-align: middle;
}



/* @end */

/* these are for tree view when not used as main index */

div.directory {
        margin: 10px 0px;
        border-top: 1px solid #A8B8D9;
        border-bottom: 1px solid #A8B8D9;
        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.even {
    padding-left: 6px;
    background-color: #F7F8FB;
}

.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: #3D578C;
}



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


table.doxtable th {
    background-color: #2f3a48;
}

table.fieldtable {
        /*width: 100%;*/
        -moz-border-radius: 0px;
        -webkit-border-radius: 0px;
        border-radius: 0px;
        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}



.fieldtable th {
        background-image: none;
        color: white;
        background-color: #2f3a48;
        -moz-border-radius-topleft: 0px;
        -moz-border-radius-topright: 0px;
        -webkit-border-top-left-radius: 0px;
        -webkit-border-top-right-radius: 0px;
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
}


#nav-path ul
{
    background-color: #51637b;
    background: #51637b;
    border:     none;
    font-size:  11px;
    color:      #8AA0CC;
    border:     none;
    overflow:   hidden;
    margin:     0px;
    padding:    1px;
    padding-bottom: 3px;
    line-height:11px;
    height:      25px;
}

.navpath li {
    color: white;
}

.navpath li.navelem a
{
    display:block;
    text-decoration: none;
    outline: none;
    font-family: "AWorxCode";
    color: white;                               
    height: 11px
}

.navpath li.navelem:hover a
{
    text-decoration: underline;
}
#nav-path li.navelem:after
{
    background: #51637b;
    box-shadow: 2px -2px 0 2px #7e0015;
}

#nav-path li.navelem:hover:after
{
    background: #51637b;
    box-shadow: 2px -2px 0 2px #7e0015;
}

#nav-path li.navelem:hover {
    background: #51637b;
	background-color: #51637b;
}

#navpath li.navelem:last-child a
{
    display:block;
    text-decoration: none;
    outline: none;
    background-image: none;
    color: #9E2544;
    text-shadow: rgba(200, 200, 200, 0.6) 1px 2px 2px;
}


.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:#364D7C;
        font-size: 8pt;
}

div.summary
{
    visibility: hidden;
    width: auto;
}



div.header
{
    background-image: none;
    border: none;
}

div.headertitle
{
    padding: 5px 1px 5px 1px;
    background-color: #CCCCCC;
    white-space: nowrap;
}

dl
{
    padding: 0 0 0 10px;
}

dl.section
{
    font-family: "AWorxSans";
    font-weight: normal;
    margin-left: 0px;
    padding-left: 0px;
}

dl.note
{
    font-family: "AWorxSansBold";
       margin-left: 0px;
       padding: 6px 0px 3px 8px;
       border-left:  10px solid;
       border-color: #D0C000;
}

div.alib-key-takeaways
{
       font-family: "AWorxSansBold";
       font-size: 120%;
       border-radius: 4px;
       margin-left: 0px;
       padding: 6px 0px 3px 8px;
       border-left:  10px solid;
       border-color: #506eff;
       background-color: #a0d2ff
}
div.alib-key-takeaways-inner
{
       font-family: "AWorxSans";
       margin-left: 18px;
       margin-bottom: 6px;
       margin-left: 18px;
}

dl.warning, dl.attention
{
    font-family: "AWorxSansBold";
    margin-left: 0px;
    padding: 6px 0px 3px 8px;

    border-left: 10px solid;
    border-color: #FF0000;
}

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

dl.deprecated
{
    font-family: "AWorxSansBold";
    margin-left: 0px;
    padding: 6px 0px 3px 8px;
    border-left: 6px solid;
    border-color: #505050;
}

dl.deprecated dt a.el
{
    font-family: "AWorxSansBold";
}

dl.todo
{
    margin-left: 0px;
    padding: 6px 0px 3px 8px;
    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 {
    font-family: "AWorxSans";

    margin-bottom: 6px;
    margin-left: 18px;
}


#projectlogo
{
    text-align: center;
    border-collapse: separate;
    vertical-align: middle;
    horizontal-align: left;
    padding-top: 4px;
}

#projectlogo_by
{
    color: #51637b;
    width: 30px;
    text-align: center;
    padding-top: 10px;
    padding-left: 10px;
}

#projectlogo img
{
    width: 150px;
    height: 30px;
}

#projectname
{
    font-family: "AWorxProject";
    font-weight: bold;
    margin: 0px;
    padding-top:   0px;
    padding-left: 0px;
    horizontal-align: right;
    font-size: 200%
}

#projectbrief
{
    font-family: "AWorxSerif";
    margin: 0px;
    padding: 50px;
}

#projectnumber
{
    font-family: "AWorxSerif";
    margin: 0px;
    padding: 0px;
    padding-right: 5px;
    padding-bottom: 5px;
    vertical-align: middle;
    color: black;
    font-size: 100%
}

#titlearea
{
    padding: 0px;
    margin: 0px;
    width: 100%;
    height: 60px;
    border-bottom: 1px solid #5373B4;
    color: #9E2544;
}

.image
{
        text-align: center;
}

.dotgraph
{
        text-align: center;
}

.mscgraph
{
        text-align: center;
}

.caption
{
    font-weight: bold;
    margin: 20px;
}

div.zoom
{
    border: 1px solid #90A5CE;
}

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

dl.citelist dt {
        color:#334975;
        float:left;
        font-weight:bold;
        margin-right:10px;
        padding:5px;
}

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

div.toc {
        padding: 14px 25px;
        background-color: #F4F6FA;
        border: 1px solid #D8DFEE;
        border-radius: 3px 3px 3px 3px;
        float: right;
        height: auto;
        margin: 0 20px 10px 10px;
        width: 40%;
}

div.toc li {
        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
        margin-top: 5px;
        padding-left: 10px;
        padding-top: 2px;
}

div.toc h3 {
    font: bold 12px/1.2
    font-family: "AWorxSerif";
    font-size: 150%;
    text-align: center;
    color: #4665A2;
    border-bottom: 0 none;
    margin: 0;
}

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

div.toc li.level1 {
        margin-top: 12px;
        font-size: 100%;
        font-weight: bold;
}

div.toc li.level2 {
        font-size: 90%;
}

div.toc li.level3 {
        font-size: 90%;
}

div.toc li.level4 {
        font-size: 90%;
}

.inherit_header {
        font-weight: bold;
        color: gray;
        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: 25px;
        margin-bottom: 0px;
}

@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;
  }
}

