/* The standard CSS for doxygen 1.8.7 */
:root {
    --sl-pearl: #f2f2f2;
    --sl-ash: #6b6b6b;
    --sl-soil: #191919;

    --sl-juniper: #98ae95;
    --sl-glow: #eeeede;

    --sl-lime: #d9ff42;
    --sl-demo-pink: #f79a9a;
    --sl-demo-blue: #40a3ff;
    --sl-light-yellow: #ffffb0;
    --sl-demo-green: #43ff3f;
    --sl-demo-red: #ff6464;

    --header-color: #050505;
    --body-color: #050505;
}

html {
    overflow: hidden;
}

body, table, div, p, dl {	
	font-family: 'NB Akademie Pro', 'Nunito Sans', Helvetica, Arial;
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--body-color) !important;
    text-rendering: optimizeLegibility;
}

#doc-content .header,
#doc-content .contents
{
    max-width: 990px;
    margin: auto;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 20px;
}

.PageDoc div {
    overflow: auto;
}

/* @group Heading Levels */

h1.groupheader {
    font-size: 150%;
}

.title {
    margin: 40px 2px;
	margin-bottom:10px;
    font-size: 40px;
    line-height: 40px;
    font-weight: 500 !important;
    color: var(--header-color) !important;
    letter-spacing: -0.03em;
    overflow: unset !important;
}

h2.groupheader {
    /*border-bottom: 1px solid #bdc3c7;
    color: #19526E;*/
    margin-top: 1.75em;
    padding-top: 8px;
    padding-bottom: 4px;
    width: 100%;
    font-weight: 500 !important;
    font-size: 28px !important;
    color: var(--body-color) !important;
    line-height: 1.2em;
    letter-spacing: -0.01em;
}

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 #19b5ec;*/
}

td {
    font-weight: normal;
}

dt {
    font-weight: bold;
	padding-top: 7px;
	padding-bottom: 5px;
}
.reference{
	margin-top:30px;
}

div.multicol {
    -moz-column-gap: 1em;
    -webkit-column-gap: 1em;
    -moz-column-count: 3;
    -webkit-column-count: 3;
}

p.startli, p.startdd {
    margin-top: 2px;
}

p.starttd {
    margin-top: 0px;
}

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: 90%;
    text-align: center;
}

div.qindex, div.navtab{
    background-color: #E3F1F8;
    border: 1px solid #7EC0E1;
    text-align: center;
}

div.qindex, div.navpath {
    width: 100%;
    line-height: 140%;
}

div.navtab {
    margin-right: 15px;
}

/* @group Link Styling */

a {
    color: var(--body-color);
    font-size: 16px;
    font-weight: 500;
    line-height: 21px;
    letter-spacing: -0.02em;
    text-decoration: none;
}

.contents a:visited {
    /*color: #7b7bc4;*/
}

a:hover {
    text-decoration: underline;
}

a.qindex {
    font-weight: bold;
}

a.qindexHL {
    font-weight: bold;
    background-color: #74BBDF;
    color: #ffffff;
    border: 1px double #57ADD8;
}

.contents a.qindexHL:visited {
    color: #ffffff;
}

a.el {
    font-family: 'Roboto Mono', 'Courier New', 'Courier', monospace;
    text-decoration: none !important;
}

a.elRef {
}

a.code, a.code:visited, a.line, a.line:visited {
    color: #4665A2; 
}

a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
    color: #4665A2; 
}

/* @end */

dl.el {
    margin-left: -1cm;
}

pre.fragment {
    border: 1px solid #C4CFE5;
    background-color: #FBFCFD;
    padding: 4px 6px;
    margin: 4px 8px 4px 2px;
    overflow: auto;
    word-wrap: break-word;
    font-size:  9pt;
    line-height: 125%;
	font-family: 'Roboto Mono', 'Courier New', 'Courier', monospace;
    font-size: 105%;
}

div.fragment {
    padding: 10px 10px;
    margin: 4px 8px 4px 2px;
    background-color: var(--sl-soil);
}

div.line,
div.line a {
	font-family: 'Roboto Mono', 'Courier New', 'Courier', monospace;
    font-size: 13px;
    min-height: 13px;
    line-height: 1.0;
    color: var(--sl-pearl) !important;
}

div.line {
    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.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-top: 40px;
    margin-bottom: 12px;
    padding-bottom: 4px;
    font-size: 28px;
    font-weight: 500;
    line-height: 31px;
    letter-spacing: -0.01em;
}

div.groupText {
    margin-left: 16px;
    font-style: italic;
}

body {
    background-color: white;
    color: black;
    margin: 0;
	overflow: auto;
}

div.contents {
    margin-top: 10px;
    margin-left: 12px;
    margin-right: 8px;
}

div.contents a {
    text-decoration: underline;
}

td.indexkey {
    background-color: #E3F1F8;
    font-weight: bold;
    border: 1px solid #ACD6EC;
    margin: 2px 0px 2px 0;
    padding: 2px 10px;
    white-space: nowrap;
    vertical-align: top;
}

td.indexvalue {
    background-color: #E3F1F8;
    border: 1px solid #ACD6EC;
    padding: 2px 10px;
    margin: 2px 0px;
}

tr.memlist {
    background-color: #E6F3F9;
}

p.formulaDsp {
    text-align: center;
}

img {
    max-width: 100%;
}

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;
}

address.footer {
    text-align: right;
    padding-right: 12px;
}

img.footer {
    border: 0px;
    vertical-align: middle;
}

/* @group Code Colorization */

span.keyword {
    color: var(--sl-demo-pink)
}

span.keywordtype {
    color: var(--sl-demo-blue)
}

span.keywordflow {
    color: var(--sl-demo-pink)
}

span.comment {
    color: var(--sl-ash)
}

span.preprocessor {
    color: var(--sl-ash)
}

span.stringliteral {
    color: var(--sl-demo-green)
}

span.charliteral {
    color: var(--sl-demo-green)
}

span.vhdldigit { 
    color: var(--sl-light-yellow)
}

span.vhdlchar { 
    color: var(--sl-demo-green)
}

span.vhdlkeyword { 
    color: var(--sl-demo-pink)
}

span.vhdllogic { 
    color: var(--sl-demo-pink)
}

blockquote {
    background-color: #F3F9FC;
    border-left: 2px solid #74BBDF;
    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 #7EC0E1;
}

th.dirtab {
    background: #E3F1F8;
    font-weight: bold;
}

hr {
    height: 0px;
    border: none;
    border-top: 1px solid #267BA6;
}

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 {
    background-color: var(--sl-glow);
}

.memberdecls td:has(div.groupHeader) {
    background-color: transparent;
}

.memberdecls td.glow, .fieldtable tr.glow {
    /*background-color: cyan;
    box-shadow: 0 0 5px cyan;*/
}
.memItemLeft, .memItemRight {
	font-family: 'NB Akademie Pro', 'Roboto Mono', 'Courier New', 'Courier', monospace;
    font-weight: normal;	
    line-height: 25px;
}

.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
    border: none;
    margin: 4px;
	padding: 14px 0px 2px 15px;;
}

.mdescLeft, .mdescRight {
    padding: 0px 8px 14px 15px;
    color: #555;
	line-height:24px;
}

.memSeparator {
    border-bottom: 1px solid var(--body-color);
    line-height: 1px;
    margin: 0px;
    padding: 0px;
}

.memItemLeft, .memTemplItemLeft {
    white-space: nowrap;
}

.memItemRight {
    width: 100%;
}

.memTemplParams {
    color: #23749C;
    white-space: nowrap;
    font-size: 80%;
}

/* @end */

/* @group Member Details */

/* Styles for detailed member documentation */

.memtemplate {
    font-size: 80%;
    color: #23749C;
    font-weight: normal;
    margin-left: 9px;
}

.memnav {
    background-color: #E3F1F8;
    border: 1px solid #7EC0E1;
    text-align: center;
    margin: 2px;
    margin-right: 15px;
    padding: 2px;
}

.mempage {
    width: 100%;
}

.memitem {
    padding: 0;
    margin-bottom: 35px;
    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: 'Roboto Mono', 'Courier New', 'Courier', monospace;
    font-weight: 500;
    margin-left: 6px;
}

.memname td {
    vertical-align: bottom;
}

.memtitle {
	margin-top: 35px;
	display: none;
}

.permalink {
	display: none;
}

.memproto, dl.reflist dt {
    border-bottom: 1px solid var(--body-color);
    padding: 18px 0px 18px 3px;
    color: #2c3e50;
    font-weight: bold;
    /*text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);*/
    background-repeat: repeat-x;
    background-color: var(--sl-glow);
    /* opera specific markup */
    /*box-shadow: 4px 3px 10px rgba(0, 0, 0, 0.05);*/
    /* firefox specific markup */
    /*-moz-box-shadow: rgba(0, 0, 0, 0.05) 4px 3px 10px;*/
    /* webkit specific markup */
    /*-webkit-box-shadow: 4px 3px 10px rgba(0, 0, 0, 0.05);*/
    overflow: auto;
}

.memdoc {
    overflow: auto;
}

.memdoc, dl.reflist dd {
    padding: 15px 10px 16px 11px;
    background-color: var(--sl-pearl);
}

.memdoc p {
	margin-top: 0px;
	margin-bottom: 0px;
}

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: #2C2D30;
    white-space: nowrap;
	font-family: 'Roboto Mono', 'Courier New', 'Courier', monospace;
	font-weight:400;
	letter-spacing: -0.2px;
	padding-right: 1px;
}
.paramname em {
    font-style: normal;
}
.paramname code,
.paramname code a {
    line-height: 14px;
    color: var(--sl-demo-blue);
}
tt, code, kbd, samp {
	font-family: 'Roboto Mono', 'Courier New', 'Courier', monospace;
}
.params td:first-of-type::before {
  content:'\2022';
  padding-right:7px;
  font-size:18px;
}
.return dd:before {
    content: '\2022';
    padding-right: 4px;
    font-size: 13px;
    content: '\2022';
    width: 18px;
    text-align: center;
    /* color: red; */
    display: block;
    float: left;
}
/*.section .return dd{
  padding-left:9px;
}*/
.params, .retval, .exception, .tparams {
    margin-left: 0px;
    padding-left: 0px;
}       

.params .paramname, .retval .paramname {
    font-weight: bold;
    vertical-align: top;
}

.params .paramtype {
    font-style: italic;
    vertical-align: top;
}       
td.paramtype,
td.paramtype a {
    color: var(--sl-demo-red) !important;
}       

.params .paramdir {
	font-family: 'Roboto Mono', 'Courier New', 'Courier', 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(--body-color);
    text-shadow: none;
    color: white;
    margin-right: 4px;
    padding: 2px 3px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    letter-spacing: -0.02em;
    white-space: nowrap;
    vertical-align: middle;
}



/* @end */

/* these are for tree view inside a (index) page */

div.directory {
    margin: 10px 0px;
    /*border-top: 1px solid #74BBDF;
    border-bottom: 1px solid #74BBDF;*/
    width: 85%;
}

.directory table {
    border-collapse: collapse;    
	background-color: var(--sl-glow);
}

.directory td {
    margin: 0px;
    padding: 0px;
    vertical-align: top;
}

.directory td.entry {
    white-space: nowrap;
    padding: 10px 0;
}

.directory td.entry a {
    outline:none;
}

.directory td.entry a img {
    border: none;
}

.directory td.desc {
    width: 100%;
    padding-right: 20px;
	padding-bottom:15px;
    padding-left: 10px;
    padding-top: 6px;
	color:#2C2D30;
}

.directory tr {
	border-bottom:1px solid var(--body-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(--body-color);
}

.arrow {
    color: var(--body-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: Arial, Helvetica;
    font-weight: bold;
    font-size: 12px;
    height: 14px;
    width: 16px;
    display: inline-block;
    background-color: var(--body-color);
    color: white;
    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:url('ftv2folderopen.png');
    background-position: 0px -4px;
    background-repeat: repeat-y;
    vertical-align:top;
    display: inline-block;
}

.iconfclosed {
    width: 24px;
    height: 18px;
    margin-bottom: 4px;
    background-image:url('ftv2folderclosed.png');
    background-position: 0px -4px;
    background-repeat: repeat-y;
    vertical-align:top;
    display: inline-block;
}

.icondoc {
    width: 24px;
    height: 18px;
    margin-bottom: 4px;
    background-image:url('ftv2doc.png');
    background-position: 0px -4px;
    background-repeat: repeat-y;
    vertical-align:top;
    display: inline-block;
}

table.directory {
    font: 400 17px 'NB Akademie Pro', 'Nunito Sans', 'Roboto', Helvetica, Arial;
}

/* @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: #133D53;
}

table.markdownTable {
    border-collapse:collapse;
    margin-top: 4px;
    margin-bottom: 4px;
    width: 100%;
}

table.markdownTable .markdownTableHead {
    background-color: var(--sl-glow);
}

table.markdownTable .markdownTableRowOdd,
table.markdownTable .markdownTableRowEven
{
    background-color: var(--sl-pearl);
}

table.markdownTable tbody {
    width: 100%;
}

table.markdownTable td, table.markdownTable th {
    padding: 3px 7px 2px;
}

table.markdownTable tr {
    border-bottom: 1px solid var(--body-color);
}

table.markdownTable th {
    color: var(--body-color);
    padding-bottom: 4px;
    padding-top: 5px;
}

table.fieldtable {
    width: 100%;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(0,0,0,.05);
    border-spacing: 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
	margin-top:30px;
	margin-bottom: 15px;
}

.fieldtable td, .fieldtable th {
    padding: 6px 11px;
	padding-right: 15px;
}

.fieldtable td.fieldtype, .fieldtable td.fieldname {
    white-space: nowrap;
    border-bottom: 1px solid var(--body-color) !important;
    vertical-align: top;
	font-family: 'Roboto Mono', 'Courier New', 'Courier', monospace;

}

.fieldtable td.fieldname {
    padding-top: 8px;
}

.fieldtable td.fielddoc {
    border-bottom: 1px solid var(--body-color) !important;
}

.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: none;
    background-color: var(--sl-pearl);
    font-size: 18px;
    font-weight: 500;
    line-height: 21px;
    letter-spacing: -0.01em;
    color: var(--body-color);
    padding-bottom: 4px;
    padding-top: 5px;
    text-align:left;
    -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;
    border-bottom: 1px solid var(--body-color);
}


.tabsearch {
    top: 0px;
    left: 10px;
    height: 36px;
    /*background-image: url('tab_b.png');*/
    z-index: 101;
    overflow: hidden;
    font-size: 13px;
}

.navpath ul
{
    font-size: 11px;
    /*background-image:url('tab_b.png');*/
    background-repeat:repeat-x;
    background-position: 0 -5px;
    height:30px;
    line-height:30px;
    color:#5CAFD9;
    border:solid 1px #A8D5EB;
    overflow:hidden;
    margin:0px;
    padding:0px;
}

.navpath li
{
    list-style-type:none;
    float:left;
    padding-left:10px;
    padding-right:15px;
    /*background-image:url('bc_s.png');*/
    background-repeat:no-repeat;
    background-position:right;
    color:#195370;
}

.navpath li.navelem a
{
    height:32px;
    display:block;
    text-decoration: none;
    outline: none;
    color: #113A4E;
    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
    text-decoration: none;        
}

.navpath li.navelem a:hover
{
    color:#309ACF;
}

.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:#195370;
    font-size: 8pt;
}


div.summary
{
    float: right;
    padding-right: 5px;
    width: 50%;
    text-align: right;
}       

div.summary a
{
    white-space: nowrap;
}

div.ingroups
{
    font-size: 8pt;
    width: 50%;
    text-align: left;
}

div.ingroups a
{
    white-space: nowrap;
}

div.header
{
    /*background-image:url('nav_h.png');*/
    background-repeat:repeat-x;
    /*background-color: #F6FBFD;*/
    margin:  0px;
    /*border-bottom: 1px solid #ACD6EC;*/
}

div.headertitle
{
    padding: 5px 0px;
}

dl
{
    padding: 0 0 0 10px;
}

/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
dl.section
{
    margin-left: 0px;
    padding-left: 0px;
}

dl.note
{
    /*margin-left:-5px;*/
    padding-left: 9px;
    border-left:4px solid;
    border-color: var(--sl-juniper);
    padding-bottom: 7px;
    background-color: rgba(152, 174, 149, 0.5);
}

dl.warning, dl.attention
{
    padding-left: 9px;
    border-left:4px solid;
    border-color: var(--sl-light-yellow);
    padding-bottom: 7px;
    background-color: rgba(255, 255, 175, .4);
}

dl.pre, dl.post, dl.invariant
{
    padding-left: 9px;
    border-left:4px solid;
    border-color: var(--sl-juniper);
    padding-bottom: 7px;
}

dl.deprecated
{
    padding-left: 9px;
    border-left:4px solid;
    border-color: #505050;
    padding-bottom: 7px;
}

dl.todo
{
    padding-left: 9px;
    border-left:4px solid;
    border-color: #00C0E0;
    padding-bottom: 7px;
}

dl.test
{
    padding-left: 9px;
    border-left:4px solid;
    border-color: #3030E0;
    padding-bottom: 7px;
}

dl.bug
{
    padding-left: 9px;
    border-left:4px solid;
    border-color: #C08050;
    padding-bottom: 7px;
}

dl.section dd {
    margin-bottom: 0px;
}


#projectlogo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 16px;
}

.nav-links
{
    float: none;
    vertical-align: middle;
}

#titlearea {
    display: flex;
    justify-content: space-between;
}

#titlearea #header-links {
    display: flex;
    justify-content: end;
}

#titlearea .nav-links nav {
    height: 100%;
    margin-right: 10px;
    margin-left: 10px;
}

#titlearea .nav-links nav ul {
    height: 100%;
    display: flex;
    text-align: center;
    list-style: none;
    margin: auto;
}

#titlearea .nav-links nav ul li {
    height: 100%;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 0;
    padding: 0 18.5px;
}

#titlearea .nav-links nav ul li:has(> a:hover) {
    border-bottom: 2px solid var(--body-color);
}

#titlearea .nav-links nav ul li a {
    font-size: 16.5px;
    font-weight: 400;
}

#subtitlearea .nav-links {
    margin-left: 40px;
    padding: 8px 20px;
}

.nav-links a 
{
    display: block;
    text-decoration: none;
    transform: rotateZ(0);
    font-family: 'NB Akademie Pro', 'Nunito Sans', Arial, sans-serif;
    font-size: 16px;
    line-height: 19px;
    color: var(--body-color) !important;
}

#projectlogo img
{
    display: block;
    cursor: pointer;
    height: 20px;
}

#projectname
{
    font: 300% Tahoma, Arial,sans-serif;
    margin: 0px;
    padding: 2px 0px;
}

#projectbrief
{
    font: 120% Tahoma, Arial,sans-serif;
    margin: 0px;
    padding: 0px;
}

#projectnumber
{
    font-family: 'NB Akademie Pro', 'Nunito Sans', Tahoma, Arial,sans-serif;
    font-weight: 400;
    font-size: 0.5em;
    margin: 0px;
    padding: 0px;
}

#titlearea
{
    padding: 0 7px;
    height: 58px;
    background: #ffffff !important;
    border-bottom: solid 1px #f7f7f7;
    box-shadow: none;
}


#subtitlearea
{
    margin-bottom: 0px;
    padding-left: 7px;
    padding-right: 7px;
    padding-top: 5px;
    padding-bottom: 0px;
    height: 35px;
    background: #fff!important;
    border-bottom: 1px solid rgba(240, 240, 240, .8);
    box-shadow: 0px 3px 8px 0px rgba(60, 64, 67, 0.1)
}

@media screen and (max-width: 960px) {
    #titlearea .nav-links {
        display: none;
    }
}

.dotgraph
{
    text-align: center;
}

.mscgraph
{
    text-align: center;
}

.diagraph
{
    text-align: center;
}

.caption
{
    font-weight: bold;
}

div.zoom
{
    border: 1px solid #64B3DB;
}

dl.citelist {
    margin-bottom:50px;
}

dl.citelist dt {
    color:#174D68;
    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: #FFFFFF;
    border: 1px solid #C7E4F2;
    border-radius: 0px;
    float: right;
    height: auto;
    margin: 0 20px 10px 10px;
    width: 200px;
	box-shadow: 4px 3px 10px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: rgba(0, 0, 0, 0.05) 4px 3px 10px;
	-webkit-box-shadow: 4px 3px 10px rgba(0, 0, 0, 0.05);
}

div.toc a{
    font-size: 1em;
}

div.toc li {
    /*background: url("bdwn.png") no-repeat scroll 0 5px transparent;*/
    font: 10px/1.2 'NB Akademie Pro', 'Nunito Sans', 'Roboto', Helvetica, Arial;
    margin-top: 5px;
    padding-left: 10px;
    padding-top: 2px;
}

div.toc h3 {
    font: bold 12px/1.2 'NB Akademie Pro', 'Nunito Sans', 'Roboto', Helvetica, Arial;
    color: #222c37;
    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: 30px;
}

div.toc li.level4 {
    margin-left: 45px;
}

.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 td {
    background-color: transparent;
}

tr.heading h2 {
    margin-top: 20px;
    margin-bottom: 8px;
    font-weight: 500 !important;
    font-size: 28px !important;
    color: var(--header-color) !important;
    line-height: 31px;
    letter-spacing: -0.01em;
}

/* tooltip related style info */

.ttc {
    position: absolute;
    display: none;
}

#powerTip {
    cursor: default;
    white-space: nowrap;
    background-color: white;
    border: 1px solid gray;
    border-radius: 4px 4px 4px 4px;
    box-shadow: 1px 1px 4px gray;
    display: none;
    font-size: smaller;
    max-width: 80%;
    opacity: 0.9;
    padding: 1ex 1em 1em;
    position: absolute;
    z-index: 2147483647;
}

#powerTip div.ttdoc {
    color: grey;
    font-style: italic;
}

#powerTip div.ttname a {
    font-weight: bold;
}

#powerTip div.ttname {
    font-weight: bold;
}

#powerTip div.ttdeci {
    color: #006318;
}

#powerTip div {
    margin: 0px;
    padding: 0px;
    font: 12px/16px Roboto,sans-serif;
}

#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: #ffffff;
    border-width: 10px;
    margin: 0px -10px;
}
#powerTip.n:before {
    border-top-color: #808080;
    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: #ffffff;
    border-width: 10px;
    margin: 0px -10px;
}

#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
    border-bottom-color: #808080;
    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: #ffffff;
    border-width: 10px;
    top: 50%;
    margin-top: -10px;
}
#powerTip.e:before {
    border-left-color: #808080;
    border-width: 11px;
    top: 50%;
    margin-top: -11px;
}

#powerTip.w:after, #powerTip.w:before {
    right: 100%;
}
#powerTip.w:after {
    border-right-color: #ffffff;
    border-width: 10px;
    top: 50%;
    margin-top: -10px;
}
#powerTip.w:before {
    border-right-color: #808080;
    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;
    }
}

#nav-tree #MSearchField {
    border: 1px solid var(--body-color);
}

#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;
  padding-bottom: 1px;
}

#nav-tree .plus {
  margin:0px;
}

#nav-tree .selected {
	background: none;
	color: var(--body-color) !important;
    font-weight: 800;
	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;
  outline:none;
  font-size: 1.1em;
}

#nav-tree .label {
  margin:0px;
  padding:0px;
  font-family: 'NB Akademie Pro', Helvetica, Arial, sans-serif;
}

#nav-tree .label a {
  padding: 2px;
  color: #525252;
  text-shadow: none;
  font-family: 'NB Akademie Pro', Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400!important;
  letter-spacing: -0.1px;
  color: #333;
  white-space: nowrap;
}

#nav-tree .selected a {
  text-decoration:none;
  font-weight: 800;
}

#nav-tree .children_ul {
  margin:0px;
  padding:0px;
}

#nav-tree .item {
  margin:0px;
  padding:2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#nav-tree {
  padding: 0px 0px;
  background-color: transparent; 
  font-size:14px;
  overflow:auto;
}
::selection {
	background-color: #4DABDB;
	color: white;
	text-shadow: none;
}
#doc-content {
  height: calc(100vh - 88px);
  overflow:auto;
  display:block;
  padding:0px;
  margin:0px;
  padding-right: 7px;
  -webkit-overflow-scrolling : touch; /* iOS 5+ */
}

#side-nav {
  height: calc(100vh - 88px );
  overflow:auto;
  padding:0 6px 0 0;
  margin: 0px;
  display:block;
  position: absolute;
  left: 0px;
  width: 280px;
}

.ui-resizable .ui-resizable-handle {
  display:block;
}

.ui-resizable-e {
  background: none;
  background-color: #fafafa;
  cursor:ew-resize;
  height:100%;
  right:0;
  top:0;
  width:1px;
}

.ui-resizable-handle {
  display:none;
  font-size:0.1px;
  position:absolute;
  z-index:1;
}

#nav-tree-contents {
  margin: 6px 0px 0px 0px;
  padding-left: 11px;
  overflow: hidden;
}

/* nav section title */
#nav-tree-contents > ul > li:first-of-type > .item{
    padding: 6px 2px;
    margin-top: 25px;
    margin-bottom: 1px;
}

#nav-tree-contents > ul > li:first-of-type > .item .label a{
    color: var(--body-color);
    line-height: 1em;
    text-rendering: optimizeLegibility;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    font-size: 16px;
    font-weight: 600 !important;
    font-family: 'NB Akademie Pro', Helvetica, Arial, sans-serif;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#nav-tree-contents > ul > li:first-of-type > .item .arrow{
    display: none;
}

/* nav items 1st level */
#nav-tree-contents > ul > li > .children_ul > li > .item .arrow,
#nav-tree-contents > ul > li > .children_ul > li > .item .arrow-closed{
    background: url(arrow-right.webp) center no-repeat;
    background-size: 10px;
    background-position: 3px 2px;
    font-size: 0px;
    padding-left: 0px;
}
#nav-tree-contents > ul > li > .children_ul > li > .item .arrow-open{
    background: url(arrow-bot.webp) center no-repeat;
    background-size: 10px;
    background-position: 3px 2px;
    font-size: 0px;
    padding-left: 0px;
}

#nav-tree-contents > ul > li > .children_ul > li > .item > .label > a{
    font-size: 15px;
    font-weight: 400!important;
    letter-spacing: -0.1px;
    color: #333;
    white-space: nowrap;
    margin-left:-16px;
    padding-left: 4px;
}
#nav-tree-contents > ul > li > .children_ul > li > .selected > .label > a {
    font-weight: 800 !important;
}

#nav-tree-contents > ul > li > .children_ul > li > .item > .label > a{
    padding: 0px;
    padding-left: 5px;
}
#nav-tree-contents > ul > li > .children_ul > li > .item {
    padding: 4px 0px;
    padding-left: 0px;
}

/* nav items 2nd level */
#nav-tree-contents > ul > li > .children_ul > li > .children_ul > li > .item > a > .arrow-closed{
    background: url(arrow-right-grey.webp) center no-repeat;
    background-size: 5px 7px;
    background-position: 0px 4px;
    font-size: 0px;
    padding-left: 0px !important;
    margin-left: 16px;
}

#nav-tree-contents > ul > li > .children_ul > li > .children_ul > li > .item > a > .arrow-open{
    background: url(arrow-bot-grey.webp) center no-repeat;
    background-size: 7px 5px;
    background-position: 0px 4px;
    font-size: 0px;
    padding-left: 0px !important;
    margin-left: 16px;
}
#nav-tree-contents > ul > li > .children_ul > li > .children_ul > li > .selected > .label > a{
    font-weight: 800 !important;
    letter-spacing: -0.1px;
    font-size: 14px;
    white-space: nowrap;
    transition: color .25s;
    text-rendering: optimizeLegibility;
    font-family: 'NB Akademie Pro', Helvetica, Arial, sans-serif;
}

#nav-tree-contents > ul > li > .children_ul > li >.children_ul > li > .item > .label > a{
    font-size: 14px;
}

/* nav items 3rd level */
#nav-tree-contents > ul > li > .children_ul > li > .children_ul > li > .children_ul {
    border-left: 2px solid #333;
    margin-left: 36px;
    padding-left: 0px;
}

#nav-tree-contents > ul > li > .children_ul > li > .children_ul > li > .children_ul > li > .item > a > .arrow{
    font-size: 0px;
    padding-left: 0px !important;
    margin-left: 0px;
}

#nav-tree-contents > ul > li > .children_ul > li > .children_ul > li > .children_ul > li > .item > span {
    width: 16px !important;
}

#nav-tree-contents > ul > li > .children_ul > li >.children_ul > li > .children_ul > li > .item > .label > a{
    font-size: 14px;
}

#nav-tree-contents > ul > li > .children_ul > .childSubMenuHidden > .children_ul > li > .children_ul {
    display: none !important;
}

#nav-tree-contents > ul > li > .children_ul > li > .children_ul > li > .children_ul > li > .selected > .label > a{
    font-weight: 800 !important;
}

/* nav items 4th level */
#nav-tree-contents > ul > li > .children_ul > li > .children_ul > li > .children_ul > li > .children_ul {
    display: none !important;
}

#nav-tree {
  margin-bottom: -10px;
  padding-top: 10px;
  padding-left: 15px;
  background-image: none;
  font-family: 'NB Akademie Pro', 'Nunito Sans', 'Roboto', Helvetica, Arial;
  -webkit-overflow-scrolling : touch; /* iOS 5+ */
}

#nav-sync {
  position:absolute;
  top:5px;
  right:24px;
  z-index:0;
}

#nav-sync img {
  display: none;
}

#nav-sync img:hover {
  opacity:0.9;
}

@media print
{
  #nav-tree { display: none; }
  div.ui-resizable-handle { display: none; position: relative; }
}

#MSearchSelectWindow {
	background: none;
	background-color: #FFFFFF;
}

#MSearchResultsWindow {
	background: none;
	background-color: #FFFFFF;
    font-family: 'NB Akademie Pro', 'Nunito Sans', 'Roboto', Helvetica, Arial;
}

.textblock {
    font-weight: 400;
    font-family: 'NB Akademie Pro', 'Nunito Sans', 'Roboto', Helvetica, Arial;
    font-size: 16px;
}

.textblock p {
    color: var(--body-color) !important;
}

.textblock ul {
    padding-left: 1em;
}

.textblock li {
    color: var(--body-color) !important;
    line-height: 1.75;
}

.textblock h1 {
	font-family: 'NB Akademie Mono Pro', 'Nunito Sans', Helvetica, Arial;
    color: var(--header-color) !important;
    font-size: 3em;
    font-weight: 500;
    letter-spacing: -0.03em;
    padding: 1.225rem 0;
    text-align: center;
}

.textblock h2 {
	font-family: 'NB Akademie Mono Pro', 'Nunito Sans', Helvetica, Arial;
    margin-bottom: 1.225rem;
    font-weight: 500 !important;
    font-size: 28px !important;
    color: var(--header-color) !important;
    line-height: 31px;
    letter-spacing: -0.01em;
}

.textblock h3 {
    color: var(--header-color) !important;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 1.025rem;
}

.textblock h4 {
    color: var(--header-color) !important;
    font-size: 1.875em;
    font-weight: 400;
    margin-bottom: 1.025rem;
}

.textblock code {
    border-radius: 3px;
    font-family: monospace;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 0.95em;
}

#subtitlearea .nav-links-selected,
#subtitlearea .nav-links:has(> a:hover) {
    border-bottom: 2px solid var(--body-color);
}

#subtitlearea .nav-links-selected a,
#subtitlearea .nav-links a:hover {
    color: var(--body-color) !important;
}

#MSearchBox{
    display: block;
    position: relative;
    width:100%;
    margin-top: 20px;
    margin-bottom: 30px;
}
#MSearchBox .left #MSearchSelect{
    display: none !important;
}
#MSearchBox .right {
    background: none;
    right: 35px;
    top:10px;
}
#MSearchBox .right img{
    display: none;
}

#MSearchClose {
    position: absolute;
    right: -20px !important;
    top: 0px !important;
    width: 32px;
    height: 32px;
    opacity: 0.3;
}

#MSearchClose:hover {
    opacity: 1;
}

#MSearchClose:before, #MSearchClose:after {
    position: absolute;
    left: 3px;
    content: ' ';
    height: 22px;
    width: 2px;
    background-color: #575757;
}
#MSearchClose:before {
    transform: rotate(45deg);
}
#MSearchClose:after {
    transform: rotate(-45deg);
}

#MSearchBox .left{
    background: none;
    left: unset;
    position: relative;
    width:100%;
}
#MSearchField{
    font-size: 16px;
    display: inline-block;
    color: var(--body-color);
    padding: 10px;
    width: 90%;
    height: 40px;
    box-sizing: border-box;
    background: none;
    background-color: transparent;
    border: none;
    border-radius: 2px;
    transition: background-color 0.2s ease;
    margin-left: 0px;
    font-family: 'NB Akademie Pro', 'Nunito Sans', 'Roboto', Helvetica, Arial;
}

#MSearchField::placeholder{
    color: rgb(117, 117, 117);
}
#MSearchResults{
    position: absolute;
    left: 252px;
    top: 20px;
    background-color: #FFFFFF;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 6px 8px 0px;
    width: 400px !important;
}
.SRSymbol{
    color: red !important;
}

#navversion {
    margin: auto 0;
}

#version-div {
    position: relative;
    margin-right: 5px;
}

#version-div > #version-div-items {
    display: none;
    position: absolute;
    top: 100%;
}

#version-div.open > #version-div-items {
    display: block;
}

#version-div-label::after {
    position: absolute;
    content: "";
    top: calc(50% - 3px);
    right: 10px;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-color: var(--body-color) transparent transparent transparent;
}

#version-div.open > #version-div-label::after {
    top: calc(50% - 12px);
    border-color: transparent transparent #5f6368 transparent;
}

#version-div-label,
#version-div-items > .item {
    display: block;
    position: relative;
    width: 120px;
    padding: 5px;
    font-family: 'NB Akademie Pro', 'Nunito Sans', Helvetica, Arial;
    background-color: #fff;
    cursor: pointer;
}

#version-div-items > .item {
    border: 1px solid #f6f7f9;
}

#version-div-items > .item:hover {
    text-decoration: none;
}

/******** SCROLLBAR ************/

html {
    --scrollbarBG: white;
    --thumbBG: #babac0;
  }
  div::-webkit-scrollbar {
    width: 11px;
  }
  div {
    scrollbar-width: thin;
    scrollbar-color: var(--thumbBG) var(--scrollbarBG);
  }
  div::-webkit-scrollbar-track {
    background: var(--scrollbarBG);
  }
  div::-webkit-scrollbar-thumb:vertical {
      height: 20px;
  }
  div::-webkit-scrollbar-thumb {
    background-color: var(--thumbBG) ;
    border-radius: 6px;
    border: 3px solid var(--scrollbarBG);
  }

/****************************************************************************
 *									Fonts									*
 ****************************************************************************/

 @font-face {
    font-family: "NB Akademie Pro";
    src: url('nb_akademie_regular-webfont.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
  
@font-face {
    font-family: "NB Akademie Pro";
    src: url('nb_akademie_medium-webfont.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
  
@font-face {
    font-family: "NB Akademie Pro";
    src: url('nb_akademie_medium-webfont.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
  
@font-face {
    font-family: "NB Akademie Pro";
    src: url('nb_akademie_medium-webfont.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
  
@font-face {
    font-family: "NB Akademie Pro";
    src: url('nb_akademie_medium-webfont.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NB Akademie Mono Pro";
    src: url('nb_akademie_mono_regular-webfont.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
