git.y1.nz

gbdk-2020

GameBoy Development Kit
download: https://git.y1.nz/archives/gbdk.tar.gz
README | Files | Log | Refs | LICENSE

docs/api/doxygen-awesome.css

      1 /* SPDX-License-Identifier: MIT */
      2 /**
      3 
      4 Doxygen Awesome
      5 https://github.com/jothepro/doxygen-awesome-css
      6 
      7 Copyright (c) 2021 - 2025 jothepro
      8 
      9 */
     10 
     11 html {
     12     /* Less game between content root level ol and ul lists and preceding block level element */
     13     div > ol, div > ul {
     14         margin-top: -0.50em;
     15     }
     16 
     17     /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
     18     --primary-color: #1779c4;
     19     --primary-dark-color: #335c80;
     20     --primary-light-color: #70b1e9;
     21     --on-primary-color: #ffffff;
     22 
     23     --link-color: var(--primary-color);
     24 
     25     /* page base colors */
     26     --page-background-color: #ffffff;
     27     --page-foreground-color: #2f4153;
     28     --page-secondary-foreground-color: #6f7e8e;
     29 
     30     /* color for all separators on the website: hr, borders, ... */
     31     --separator-color: #dedede;
     32 
     33     /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */
     34     --border-radius-large: 10px;
     35     --border-radius-small: 5px;
     36     --border-radius-medium: 8px;
     37 
     38     /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */
     39     --spacing-small: 5px;
     40     --spacing-medium: 10px;
     41     --spacing-large: 16px;
     42     --spacing-xlarge: 20px;
     43 
     44     /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */
     45     --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
     46 
     47     --odd-color: rgba(0,0,0,.028);
     48 
     49     /* font-families. will affect all text on the website
     50      * font-family: the normal font for text, headlines, menus
     51      * font-family-monospace: used for preformatted text in memtitle, code, fragments
     52      */
     53     --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;
     54     --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
     55 
     56     /* font sizes */
     57     --page-font-size: 15.6px;
     58     --navigation-font-size: 14.4px;
     59     --toc-font-size: 13.4px;
     60     --code-font-size: 14px; /* affects code, fragment */
     61     --title-font-size: 22px;
     62 
     63     /* content text properties. These only affect the page content, not the navigation or any other ui elements */
     64     --content-line-height: 27px;
     65     /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/
     66     --content-maxwidth: 1050px;
     67     --table-line-height: 24px;
     68     --toc-sticky-top: var(--spacing-medium);
     69     --toc-width: 200px;
     70     --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px);
     71 
     72     /* colors for various content boxes: @warning, @note, @deprecated @bug */
     73     --warning-color: #faf3d8;
     74     --warning-color-dark: #f3a600;
     75     --warning-color-darker: #5f4204;
     76     --note-color: #e4f3ff;
     77     --note-color-dark: #1879C4;
     78     --note-color-darker: #274a5c;
     79     --todo-color: #e4dafd;
     80     --todo-color-dark: #5b2bdd;
     81     --todo-color-darker: #2a0d72;
     82     --deprecated-color: #ecf0f3;
     83     --deprecated-color-dark: #5b6269;
     84     --deprecated-color-darker: #43454a;
     85     --bug-color: #f8d1cc;
     86     --bug-color-dark: #b61825;
     87     --bug-color-darker: #75070f;
     88     --invariant-color: #d8f1e3;
     89     --invariant-color-dark: #44b86f;
     90     --invariant-color-darker: #265532;
     91 
     92     /* blockquote colors */
     93     --blockquote-background: #f8f9fa;
     94     --blockquote-foreground: #636568;
     95 
     96     /* table colors */
     97     --tablehead-background: #f1f1f1;
     98     --tablehead-foreground: var(--page-foreground-color);
     99 
    100     /* menu-display: block | none
    101      * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible.
    102      * `GENERATE_TREEVIEW` MUST be enabled!
    103      */
    104     --menu-display: block;
    105 
    106     --menu-focus-foreground: var(--on-primary-color);
    107     --menu-focus-background: var(--primary-color);
    108     --menu-selected-background: rgba(0,0,0,.05);
    109 
    110 
    111     --header-background: var(--page-background-color);
    112     --header-foreground: var(--page-foreground-color);
    113 
    114     /* searchbar colors */
    115     --searchbar-background: var(--side-nav-background);
    116     --searchbar-foreground: var(--page-foreground-color);
    117 
    118     /* searchbar size
    119      * (`searchbar-width` is only applied on screens >= 768px.
    120      * on smaller screens the searchbar will always fill the entire screen width) */
    121     --searchbar-height: 33px;
    122     --searchbar-width: 210px;
    123     --searchbar-border-radius: var(--searchbar-height);
    124 
    125     /* code block colors */
    126     --code-background: #def1fd;
    127     --code-foreground: var(--page-foreground-color);
    128     --code-separator-color: #cae2ec;
    129 
    130     /* fragment colors */
    131     --fragment-background: #F8F9FA;
    132     --fragment-foreground: #37474F;
    133     --fragment-keyword: #bb6bb2;
    134     --fragment-keywordtype: #8258b3;
    135     --fragment-keywordflow: #d67c3b;
    136     --fragment-token: #438a59;
    137     --fragment-comment: #969696;
    138     --fragment-link: #5383d6;
    139     --fragment-preprocessor: #46aaa5;
    140     --fragment-linenumber-color: #797979;
    141     --fragment-linenumber-background: #f4f4f5;
    142     --fragment-linenumber-border: #e3e5e7;
    143     --fragment-lineheight: 20px;
    144 
    145     /* sidebar navigation (treeview) colors */
    146     --side-nav-background: #fbfbfb;
    147     --side-nav-foreground: var(--page-foreground-color);
    148     --side-nav-arrow-opacity: 0;
    149     --side-nav-arrow-hover-opacity: 0.9;
    150 
    151     --toc-background: var(--side-nav-background);
    152     --toc-foreground: var(--side-nav-foreground);
    153 
    154     /* height of an item in any tree / collapsible table */
    155     --tree-item-height: 30px;
    156 
    157     --memname-font-size: var(--code-font-size);
    158     --memtitle-font-size: 18px;
    159 
    160     --webkit-scrollbar-size: 7px;
    161     --webkit-scrollbar-padding: 4px;
    162     --webkit-scrollbar-color: var(--separator-color);
    163 
    164     --animation-duration: 0.02s
    165 }
    166 
    167 @media screen and (max-width: 767px) {
    168     html {
    169         --page-font-size: 16px;
    170         --navigation-font-size: 16px;
    171         --toc-font-size: 15px;
    172         --code-font-size: 15px; /* affects code, fragment */
    173         --title-font-size: 22px;
    174     }
    175 }
    176 
    177 @media (prefers-color-scheme: dark) {
    178     html:not(.light-mode) {
    179         color-scheme: dark;
    180 
    181         --primary-color: #1982d2;
    182         --primary-dark-color: #86a9c4;
    183         --primary-light-color: #4779ac;
    184 
    185         --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35);
    186 
    187         --odd-color: rgba(100,100,100,.06);
    188 
    189         --menu-selected-background: rgba(0,0,0,.4);
    190 
    191         --page-background-color: #1C1D1F;
    192         --page-foreground-color: #d2dbde;
    193         --page-secondary-foreground-color: #859399;
    194         --separator-color: #38393b;
    195         --side-nav-background: #252628;
    196 
    197         --code-background: #223c5e;
    198         --code-foreground: #a4c5d4;
    199         --code-separator-color: #ffffff00; /* transparent */
    200 
    201         --tablehead-background: #2a2c2f;
    202     
    203         --blockquote-background: #222325;
    204         --blockquote-foreground: #7e8c92;
    205 
    206         --warning-color: #3b2e04;
    207         --warning-color-dark: #f1b602;
    208         --warning-color-darker: #ceb670;
    209         --note-color: #163750;
    210         --note-color-dark: #1982D2;
    211         --note-color-darker: #dcf0fa;
    212         --todo-color: #2a2536;
    213         --todo-color-dark: #7661b3;
    214         --todo-color-darker: #ae9ed6;
    215         --deprecated-color: #2e323b;
    216         --deprecated-color-dark: #738396;
    217         --deprecated-color-darker: #abb0bd;
    218         --bug-color: #2e1917;
    219         --bug-color-dark: #ad2617;
    220         --bug-color-darker: #f5b1aa;
    221         --invariant-color: #303a35;
    222         --invariant-color-dark: #76ce96;
    223         --invariant-color-darker: #cceed5;
    224 
    225         --fragment-background: #282c34;
    226         --fragment-foreground: #dbe4eb;
    227         --fragment-keyword: #cc99cd;
    228         --fragment-keywordtype: #ab99cd;
    229         --fragment-keywordflow: #e08000;
    230         --fragment-token: #7ec699;
    231         --fragment-comment: #999999;
    232         --fragment-link: #98c0e3;
    233         --fragment-preprocessor: #65cabe;
    234         --fragment-linenumber-color: #cccccc;
    235         --fragment-linenumber-background: #35393c;
    236         --fragment-linenumber-border: #1f1f1f;
    237     }
    238 }
    239 
    240 /* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */
    241 html.dark-mode {
    242     color-scheme: dark;
    243 
    244     --primary-color: #1982d2;
    245     --primary-dark-color: #86a9c4;
    246     --primary-light-color: #4779ac;
    247 
    248     --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30);
    249 
    250     --odd-color: rgba(100,100,100,.06);
    251 
    252     --menu-selected-background: rgba(0,0,0,.4);
    253 
    254     --page-background-color: #1C1D1F;
    255     --page-foreground-color: #d2dbde;
    256     --page-secondary-foreground-color: #859399;
    257     --separator-color: #38393b;
    258     --side-nav-background: #252628;
    259 
    260     --tablehead-background: #2a2c2f;
    261 
    262     --blockquote-background: #222325;
    263     --blockquote-foreground: #7e8c92;
    264 
    265     --warning-color: #3b2e04;
    266     --warning-color-dark: #f1b602;
    267     --warning-color-darker: #ceb670;
    268     --note-color: #163750;
    269     --note-color-dark: #1982D2;
    270     --note-color-darker: #dcf0fa;
    271     --todo-color: #2a2536;
    272     --todo-color-dark: #7661b3;
    273     --todo-color-darker: #ae9ed6;
    274     --deprecated-color: #2e323b;
    275     --deprecated-color-dark: #738396;
    276     --deprecated-color-darker: #abb0bd;
    277     --bug-color: #2e1917;
    278     --bug-color-dark: #ad2617;
    279     --bug-color-darker: #f5b1aa;
    280     --invariant-color: #303a35;
    281     --invariant-color-dark: #76ce96;
    282     --invariant-color-darker: #cceed5;
    283 
    284     --fragment-background: #282c34;
    285     --fragment-foreground: #dbe4eb;
    286     --fragment-keyword: #cc99cd;
    287     --fragment-keywordtype: #ab99cd;
    288     --fragment-keywordflow: #e08000;
    289     --fragment-token: #7ec699;
    290     --fragment-comment: #999999;
    291     --fragment-link: #98c0e3;
    292     --fragment-preprocessor: #65cabe;
    293     --fragment-linenumber-color: #cccccc;
    294     --fragment-linenumber-background: #35393c;
    295     --fragment-linenumber-border: #1f1f1f;
    296 }
    297 
    298 body {
    299     color: var(--page-foreground-color);
    300     background-color: var(--page-background-color);
    301     font-size: var(--page-font-size);
    302 }
    303 
    304 body, table, div, p, dl, #nav-tree .label, #nav-tree a, .title,
    305 .sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname,
    306 .SelectItem, #MSearchField, .navpath li.navelem a,
    307 .navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3,
    308 #page-nav ul.page-outline li a {
    309     font-family: var(--font-family);
    310 }
    311 
    312 h1, h2, h3, h4, h5 {
    313     margin-top: 1em;
    314     font-weight: 600;
    315     line-height: initial;
    316 }
    317 
    318 p, div, table, dl, p.reference, p.definition {
    319     font-size: var(--page-font-size);
    320 }
    321 
    322 p.reference, p.definition {
    323     color: var(--page-secondary-foreground-color);
    324 }
    325 
    326 a:link, a:visited, a:hover, a:focus, a:active {
    327     color: var(--link-color) !important;
    328     font-weight: 500;
    329     background: none;
    330 }
    331 
    332 a:hover {
    333     text-decoration: underline;
    334 }
    335 
    336 a.anchor {
    337     scroll-margin-top: var(--spacing-large);
    338     display: block;
    339 }
    340 
    341 /*
    342  Title and top navigation
    343  */
    344 
    345 #top {
    346     background: var(--header-background);
    347     border-bottom: 1px solid var(--separator-color);
    348     position: relative;
    349     z-index: 99;
    350 }
    351 
    352 @media screen and (min-width: 768px) {
    353     #top {
    354         display: flex;
    355         flex-wrap: wrap;
    356         justify-content: space-between;
    357         align-items: center;
    358     }
    359 }
    360 
    361 #main-nav {
    362     flex-grow: 5;
    363     padding: var(--spacing-small) var(--spacing-medium);
    364     border-bottom: 0;
    365 }
    366 
    367 #titlearea {
    368     width: auto;
    369     padding: var(--spacing-medium) var(--spacing-large);
    370     background: none;
    371     color: var(--header-foreground);
    372     border-bottom: none;
    373 }
    374 
    375 @media screen and (max-width: 767px) {
    376     #titlearea {
    377         padding-bottom: var(--spacing-small);
    378     }
    379 }
    380 
    381 #titlearea table tbody tr {
    382     height: auto !important;
    383 }
    384 
    385 #projectname {
    386     font-size: var(--title-font-size);
    387     font-weight: 600;
    388 }
    389 
    390 #projectnumber {
    391     font-family: inherit;
    392     font-size: 60%;
    393 }
    394 
    395 #projectbrief {
    396     font-family: inherit;
    397     font-size: 80%;
    398 }
    399 
    400 #projectlogo {
    401     vertical-align: middle;
    402 }
    403 
    404 #projectlogo img {
    405     max-height: calc(var(--title-font-size) * 2);
    406     margin-right: var(--spacing-small);
    407 }
    408 
    409 .sm-dox, .tabs, .tabs2, .tabs3 {
    410     background: none;
    411     padding: 0;
    412 }
    413 
    414 .tabs, .tabs2, .tabs3 {
    415     border-bottom: 1px solid var(--separator-color);
    416     margin-bottom: -1px;
    417 }
    418 
    419 .main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {
    420     background: var(--page-secondary-foreground-color);
    421 }
    422 
    423 @media screen and (max-width: 767px) {
    424     .sm-dox a span.sub-arrow {
    425         background: var(--code-background);
    426     }
    427 
    428     #main-menu a.has-submenu span.sub-arrow {
    429         color: var(--page-secondary-foreground-color);
    430         border-radius: var(--border-radius-medium);
    431     }
    432 
    433     #main-menu a.has-submenu:hover span.sub-arrow {
    434         color: var(--page-foreground-color);
    435     }
    436 }
    437 
    438 @media screen and (min-width: 768px) {
    439     .sm-dox li, .tablist li {
    440         display: var(--menu-display);
    441     }
    442 
    443     .sm-dox a span.sub-arrow {
    444         top: 15px;
    445         right: 10px;
    446         box-sizing: content-box;
    447         padding: 0;
    448         margin: 0;
    449         display: inline-block;
    450         width: 5px;
    451         height: 5px;
    452         transform: rotate(45deg);
    453         border-width: 0;
    454         border-right: 2px solid var(--header-foreground);
    455         border-bottom: 2px solid var(--header-foreground);
    456         background: none;
    457     }
    458 
    459     .sm-dox a:hover span.sub-arrow {
    460         border-color: var(--menu-focus-foreground);
    461         background: none;
    462     }
    463 
    464     .sm-dox ul a span.sub-arrow {
    465         transform: rotate(-45deg);
    466         border-width: 0;
    467         border-right: 2px solid var(--header-foreground);
    468         border-bottom: 2px solid var(--header-foreground);
    469     }
    470 
    471     .sm-dox ul a:hover span.sub-arrow {
    472         border-color: var(--menu-focus-foreground);
    473         background: none;
    474     }
    475 }
    476 
    477 .sm-dox ul {
    478     background: var(--page-background-color);
    479     box-shadow: var(--box-shadow);
    480     border: 1px solid var(--separator-color);
    481     border-radius: var(--border-radius-medium) !important;
    482     padding: var(--spacing-small);
    483     animation: ease-out 25ms slideInMenu;
    484 }
    485 
    486 @keyframes slideInMenu {
    487     from {
    488         opacity: 0;
    489         transform: translate(0px, -2px);
    490     }
    491 
    492     to {
    493         opacity: 1;
    494         transform: translate(0px, 0px);
    495     }
    496 }
    497 
    498 .sm-dox ul a {
    499     color: var(--page-foreground-color) !important;
    500     background: none;
    501     font-size: var(--navigation-font-size);
    502 }
    503 
    504 .sm-dox>li>ul:after {
    505     border-bottom-color: var(--page-background-color) !important;
    506 }
    507 
    508 .sm-dox>li>ul:before {
    509     border-bottom-color: var(--separator-color) !important;
    510 }
    511 
    512 .sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus {
    513     font-size: var(--navigation-font-size) !important;
    514     color: var(--menu-focus-foreground) !important;
    515     text-shadow: none;
    516     background-color: var(--menu-focus-background);
    517     border-radius: var(--border-radius-small) !important;
    518 }
    519 
    520 .sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a {
    521     text-shadow: none;
    522     background: transparent;
    523     background-image: none !important;
    524     color: var(--header-foreground) !important;
    525     font-weight: normal;
    526     font-size: var(--navigation-font-size);
    527     border-radius: var(--border-radius-small) !important;
    528 }
    529 
    530 .sm-dox a:focus {
    531     outline: auto;
    532 }
    533 
    534 .sm-dox a:hover, .sm-dox a:active, .tablist li a:hover {
    535     text-shadow: none;
    536     font-weight: normal;
    537     background: var(--menu-focus-background);
    538     color: var(--menu-focus-foreground) !important;
    539     border-radius: var(--border-radius-small) !important;
    540     font-size: var(--navigation-font-size);
    541 }
    542 
    543 .tablist li.current {
    544     border-radius: var(--border-radius-small);
    545     background: var(--menu-selected-background);
    546 }
    547 
    548 .tablist li {
    549     margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small);
    550 }
    551 
    552 .tablist a {
    553     padding: 0 var(--spacing-large);
    554 }
    555 
    556 
    557 /*
    558  Search box
    559  */
    560 
    561 #MSearchBox {
    562     height: var(--searchbar-height);
    563     background: var(--searchbar-background);
    564     border-radius: var(--searchbar-border-radius);
    565     border: 1px solid var(--separator-color);
    566     overflow: hidden;
    567     width: var(--searchbar-width);
    568     position: relative;
    569     box-shadow: none;
    570     display: block;
    571     margin-top: 0;
    572     margin-right: 0;
    573 }
    574 
    575 @media (min-width: 768px) {
    576     .sm-dox li {
    577         padding: 0;
    578     }
    579 }
    580 
    581 /* until Doxygen 1.9.4 */
    582 .left img#MSearchSelect {
    583     left: 0;
    584     user-select: none;
    585     padding-left: 8px;
    586 }
    587 
    588 /* Doxygen 1.9.5 */
    589 .left span#MSearchSelect {
    590     left: 0;
    591     user-select: none;
    592     margin-left: 8px;
    593     padding: 0;
    594 }
    595 
    596 .left #MSearchSelect[src$=".png"] {
    597     padding-left: 0
    598 }
    599 
    600 /* Doxygen 1.14.0 */
    601 .search-icon::before {
    602     background: none;
    603     top: 5px;
    604 }
    605 
    606 .search-icon::after {
    607     background: none;
    608     top: 12px;
    609 }
    610 
    611 .SelectionMark {
    612     user-select: none;
    613 }
    614 
    615 .tabs .left #MSearchSelect {
    616     padding-left: 0;
    617 }
    618 
    619 .tabs #MSearchBox {
    620     position: absolute;
    621     right: var(--spacing-medium);
    622 }
    623 
    624 @media screen and (max-width: 767px) {
    625     .tabs #MSearchBox {
    626         position: relative;
    627         right: 0;
    628         margin-left: var(--spacing-medium);
    629         margin-top: 0;
    630     }
    631 }
    632 
    633 #MSearchSelectWindow, #MSearchResultsWindow {
    634     z-index: 9999;
    635 }
    636 
    637 #MSearchBox.MSearchBoxActive {
    638     border-color: var(--primary-color);
    639     box-shadow: inset 0 0 0 1px var(--primary-color);
    640 }
    641 
    642 #main-menu > li:last-child {
    643     margin-right: 0;
    644 }
    645 
    646 @media screen and (max-width: 767px) {
    647     #main-menu > li:last-child {
    648         height: 50px;
    649     }
    650 }
    651 
    652 #MSearchField {
    653     font-size: var(--navigation-font-size);
    654     height: calc(var(--searchbar-height) - 2px);
    655     background: transparent;
    656     width: calc(var(--searchbar-width) - 64px);
    657 }
    658 
    659 .MSearchBoxActive #MSearchField {
    660     color: var(--searchbar-foreground);
    661 }
    662 
    663 #MSearchSelect {
    664     top: calc(calc(var(--searchbar-height) / 2) - 11px);
    665 }
    666 
    667 #MSearchBox span.left, #MSearchBox span.right {
    668     background: none;
    669     background-image: none;
    670 }
    671 
    672 #MSearchBox span.right {
    673     padding-top: calc(calc(var(--searchbar-height) / 2) - 12px);
    674     position: absolute;
    675     right: var(--spacing-small);
    676 }
    677 
    678 .tabs #MSearchBox span.right {
    679     top: calc(calc(var(--searchbar-height) / 2) - 12px);
    680 }
    681 
    682 @keyframes slideInSearchResults {
    683     from {
    684         opacity: 0;
    685         transform: translate(0, 15px);
    686     }
    687 
    688     to {
    689         opacity: 1;
    690         transform: translate(0, 20px);
    691     }
    692 }
    693 
    694 #MSearchResultsWindow {
    695     left: auto !important;
    696     right: var(--spacing-medium);
    697     border-radius: var(--border-radius-large);
    698     border: 1px solid var(--separator-color);
    699     transform: translate(0, 20px);
    700     box-shadow: var(--box-shadow);
    701     animation: ease-out 25ms slideInSearchResults;
    702     background: var(--page-background-color);
    703 }
    704 
    705 iframe#MSearchResults {
    706     margin: 4px;
    707 }
    708 
    709 iframe {
    710     color-scheme: normal;
    711 }
    712 
    713 @media (prefers-color-scheme: dark) {
    714     html:not(.light-mode) iframe#MSearchResults {
    715         filter: invert() hue-rotate(180deg);
    716     }
    717 }
    718 
    719 html.dark-mode iframe#MSearchResults {
    720     filter: invert() hue-rotate(180deg);
    721 }
    722 
    723 #MSearchResults .SRPage {
    724     background-color: transparent;
    725 }
    726 
    727 #MSearchResults .SRPage .SREntry {
    728     font-size: 10pt;
    729     padding: var(--spacing-small) var(--spacing-medium);
    730 }
    731 
    732 #MSearchSelectWindow {
    733     border: 1px solid var(--separator-color);
    734     border-radius: var(--border-radius-medium);
    735     box-shadow: var(--box-shadow);
    736     background: var(--page-background-color);
    737     padding-top: var(--spacing-small);
    738     padding-bottom: var(--spacing-small);
    739 }
    740 
    741 #MSearchSelectWindow a.SelectItem {
    742     font-size: var(--navigation-font-size);
    743     line-height: var(--content-line-height);
    744     margin: 0 var(--spacing-small);
    745     border-radius: var(--border-radius-small);
    746     color: var(--page-foreground-color) !important;
    747     font-weight: normal;
    748 }
    749 
    750 #MSearchSelectWindow a.SelectItem:hover {
    751     background: var(--menu-focus-background);
    752     color: var(--menu-focus-foreground) !important;
    753 }
    754 
    755 @media screen and (max-width: 767px) {
    756     #MSearchBox {
    757         margin-top: var(--spacing-medium);
    758         margin-bottom: var(--spacing-medium);
    759         width: calc(100vw - 30px);
    760     }
    761 
    762     #main-menu > li:last-child {
    763         float: none !important;
    764     }
    765 
    766     #MSearchField {
    767         width: calc(100vw - 110px);
    768     }
    769 
    770     @keyframes slideInSearchResultsMobile {
    771         from {
    772             opacity: 0;
    773             transform: translate(0, 15px);
    774         }
    775 
    776         to {
    777             opacity: 1;
    778             transform: translate(0, 20px);
    779         }
    780     }
    781 
    782     #MSearchResultsWindow {
    783         left: var(--spacing-medium) !important;
    784         right: var(--spacing-medium);
    785         overflow: auto;
    786         transform: translate(0, 20px);
    787         animation: ease-out 25ms slideInSearchResultsMobile;
    788         width: auto !important;
    789     }
    790 
    791     /*
    792      * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2
    793      */
    794     label.main-menu-btn ~ #searchBoxPos1 {
    795         top: 3px !important;
    796         right: 6px !important;
    797         left: 45px;
    798         display: flex;
    799     }
    800 
    801     label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox {
    802         margin-top: 0;
    803         margin-bottom: 0;
    804         flex-grow: 2;
    805         float: left;
    806     }
    807 }
    808 
    809 /*
    810  Tree view
    811  */
    812 
    813 #side-nav {
    814     min-width: 8px;
    815     max-width: 50vw;
    816 }
    817 
    818 
    819 #nav-tree, #top {
    820     border-right: 1px solid var(--separator-color);
    821 }
    822 
    823 @media screen and (max-width: 767px) {
    824     #side-nav {
    825         display: none;
    826     }
    827 
    828     #doc-content {
    829         margin-left: 0 !important;
    830     }
    831 
    832     #top {
    833         border-right: none;
    834     }
    835 }
    836 
    837 #nav-tree {
    838     background: var(--side-nav-background);
    839     margin-right: -1px;
    840     padding: 0;
    841 }
    842 
    843 #nav-tree .label {
    844     font-size: var(--navigation-font-size);
    845     line-height: var(--tree-item-height);
    846 }
    847 
    848 #nav-tree span.label a:hover {
    849     background: none;
    850 }
    851 
    852 #nav-tree .item {
    853     height: var(--tree-item-height);
    854     line-height: var(--tree-item-height);
    855     overflow: hidden;
    856     text-overflow: ellipsis;
    857     margin: 0;
    858     padding: 0;
    859 }
    860 
    861 #nav-tree-contents {
    862     margin: 0;
    863 }
    864 
    865 #main-menu > li:last-child {
    866     height: auto;
    867 }
    868 
    869 #nav-tree .item > a:focus {
    870     outline: none;
    871 }
    872 
    873 #nav-sync {
    874     bottom: var(--spacing-medium);
    875     right: var(--spacing-medium) !important;
    876     top: auto !important;
    877     user-select: none;
    878 }
    879 
    880 div.nav-sync-icon {
    881     border: 1px solid var(--separator-color);
    882     border-radius: var(--border-radius-medium);
    883     background: var(--page-background-color);
    884     width: 30px;
    885     height: 20px;
    886 }
    887 
    888 div.nav-sync-icon:hover {
    889     background: var(--page-background-color);
    890 }
    891 
    892 span.sync-icon-left, div.nav-sync-icon:hover span.sync-icon-left {
    893     border-left: 2px solid var(--primary-color);
    894     border-top: 2px solid var(--primary-color);
    895     top: 5px;
    896     left: 6px;
    897 }
    898 span.sync-icon-right, div.nav-sync-icon:hover span.sync-icon-right {
    899     border-right: 2px solid var(--primary-color);
    900     border-bottom: 2px solid var(--primary-color);
    901     top: 5px;
    902     left: initial;
    903     right: 6px;
    904 }
    905 
    906 div.nav-sync-icon.active::after, div.nav-sync-icon.active:hover::after {
    907     border-top: 2px solid var(--primary-color);
    908     top: 9px;
    909     left: 6px;
    910     width: 19px;
    911 }
    912 
    913 #nav-tree .selected {
    914     text-shadow: none;
    915     background-image: none;
    916     background-color: transparent;
    917     position: relative;
    918     color: var(--primary-color) !important;
    919     font-weight: 500;
    920 }
    921 
    922 #nav-tree .selected::after {
    923     content: "";
    924     position: absolute;
    925     top: 1px;
    926     bottom: 1px;
    927     left: 0;
    928     width: 4px;
    929     border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
    930     background: var(--primary-color);
    931 }
    932 
    933 
    934 #nav-tree a {
    935     color: var(--side-nav-foreground) !important;
    936     font-weight: normal;
    937 }
    938 
    939 #nav-tree a:focus {
    940     outline-style: auto;
    941 }
    942 
    943 #nav-tree .arrow {
    944     opacity: var(--side-nav-arrow-opacity);
    945     background: none;
    946 }
    947 
    948 #nav-tree span.arrowhead {
    949     margin: 0 0 1px 2px;
    950 }
    951 
    952 span.arrowhead {
    953     border-color: var(--primary-light-color);
    954 }
    955 
    956 .selected span.arrowhead {
    957     border-color: var(--primary-color);
    958 }
    959 
    960 #nav-tree-contents > ul > li:first-child > div > a {
    961     opacity: 0;
    962     pointer-events: none;
    963 }
    964 
    965 .contents .arrow {
    966     color: inherit;
    967     cursor: pointer;
    968     font-size: 45%;
    969     vertical-align: middle;
    970     margin-right: 2px;
    971     font-family: serif;
    972     height: auto;
    973     padding-bottom: 4px;
    974 }
    975 
    976 #nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow {
    977     opacity: var(--side-nav-arrow-hover-opacity);
    978 }
    979 
    980 #nav-tree .selected a {
    981     color: var(--primary-color) !important;
    982     font-weight: bolder;
    983     font-weight: 600;
    984 }
    985 
    986 .ui-resizable-e {
    987     background: none;
    988 }
    989 
    990 .ui-resizable-e:hover {
    991     background: var(--separator-color);
    992 }
    993 
    994 /*
    995  Contents
    996  */
    997 
    998 div.header {
    999     border-bottom: 1px solid var(--separator-color);
   1000     background: none;
   1001     background-image: none;
   1002 }
   1003 
   1004 @media screen and (min-width: 1000px) {
   1005     #doc-content > div > div.contents,
   1006     .PageDoc > div.contents {
   1007         display: flex;
   1008         flex-direction: row-reverse;
   1009         flex-wrap: nowrap;
   1010         align-items: flex-start;
   1011     }
   1012     
   1013     div.contents .textblock {
   1014         min-width: 200px;
   1015         flex-grow: 1;
   1016     }
   1017 }
   1018 
   1019 div.contents, div.header .title, div.header .summary {
   1020     max-width: var(--content-maxwidth);
   1021 }
   1022 
   1023 div.contents, div.header .title  {
   1024     line-height: initial;
   1025     margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto;
   1026 }
   1027 
   1028 div.header .summary {
   1029     margin: var(--spacing-medium) auto 0 auto;
   1030 }
   1031 
   1032 div.headertitle {
   1033     padding: 0;
   1034 }
   1035 
   1036 div.header .title {
   1037     font-weight: 600;
   1038     font-size: 225%;
   1039     padding: var(--spacing-medium) var(--spacing-xlarge);
   1040     word-break: break-word;
   1041 }
   1042 
   1043 div.header .summary {
   1044     width: auto;
   1045     display: block;
   1046     float: none;
   1047     padding: 0 var(--spacing-large);
   1048 }
   1049 
   1050 td.memSeparator {
   1051     border-color: var(--separator-color);
   1052 }
   1053 
   1054 span.mlabel {
   1055     background: var(--primary-color);
   1056     color: var(--on-primary-color);
   1057     border: none;
   1058     padding: 4px 9px;
   1059     border-radius: var(--border-radius-large);
   1060     margin-right: var(--spacing-medium);
   1061 }
   1062 
   1063 span.mlabel:last-of-type {
   1064     margin-right: 2px;
   1065 }
   1066 
   1067 div.contents {
   1068     padding: 0 var(--spacing-xlarge);
   1069 }
   1070 
   1071 div.contents p, div.contents li {
   1072     line-height: var(--content-line-height);
   1073 }
   1074 
   1075 div.contents div.dyncontent {
   1076     margin: var(--spacing-medium) 0;
   1077 }
   1078 
   1079 @media screen and (max-width: 767px) {
   1080     div.contents {
   1081         padding: 0 var(--spacing-large);
   1082     }
   1083 
   1084     div.header .title {
   1085         padding: var(--spacing-medium) var(--spacing-large);
   1086     }
   1087 }
   1088 
   1089 @media (prefers-color-scheme: dark) {
   1090     html:not(.light-mode) div.contents div.dyncontent img,
   1091     html:not(.light-mode) div.contents center img,
   1092     html:not(.light-mode) div.contents > table img,
   1093     html:not(.light-mode) div.contents div.dyncontent iframe,
   1094     html:not(.light-mode) div.contents center iframe,
   1095     html:not(.light-mode) div.contents table iframe,
   1096     html:not(.light-mode) div.contents .dotgraph iframe {
   1097         filter: brightness(89%) hue-rotate(180deg) invert();
   1098     }
   1099 }
   1100 
   1101 html.dark-mode div.contents div.dyncontent img,
   1102 html.dark-mode div.contents center img,
   1103 html.dark-mode div.contents > table img,
   1104 html.dark-mode div.contents div.dyncontent iframe,
   1105 html.dark-mode div.contents center iframe,
   1106 html.dark-mode div.contents table iframe,
   1107 html.dark-mode div.contents .dotgraph iframe
   1108  {
   1109     filter: brightness(89%) hue-rotate(180deg) invert();
   1110 }
   1111 
   1112 td h2.groupheader, h2.groupheader {
   1113     border-bottom: 0px;
   1114     color: var(--page-foreground-color);
   1115     box-shadow: 
   1116         100px 0 var(--page-background-color), 
   1117         -100px 0 var(--page-background-color),
   1118         100px 0.75px var(--separator-color),
   1119         -100px 0.75px var(--separator-color),
   1120         500px 0 var(--page-background-color), 
   1121         -500px 0 var(--page-background-color),
   1122         500px 0.75px var(--separator-color),
   1123         -500px 0.75px var(--separator-color),
   1124         900px 0 var(--page-background-color), 
   1125         -900px 0 var(--page-background-color),
   1126         900px 0.75px var(--separator-color),
   1127         -900px 0.75px var(--separator-color),
   1128         1400px 0 var(--page-background-color),
   1129         -1400px 0 var(--page-background-color), 
   1130         1400px 0.75px var(--separator-color),
   1131         -1400px 0.75px var(--separator-color),
   1132         1900px 0 var(--page-background-color),
   1133         -1900px 0 var(--page-background-color),
   1134         1900px 0.75px var(--separator-color),
   1135         -1900px 0.75px var(--separator-color);
   1136 }
   1137 
   1138 blockquote {
   1139     margin: 0 var(--spacing-medium) 0 var(--spacing-medium);
   1140     padding: var(--spacing-small) var(--spacing-large);
   1141     background: var(--blockquote-background);
   1142     color: var(--blockquote-foreground);
   1143     border-left: 0;
   1144     overflow: visible;
   1145     border-radius: var(--border-radius-medium);
   1146     overflow: visible;
   1147     position: relative;
   1148 }
   1149 
   1150 blockquote::before, blockquote::after {
   1151     font-weight: bold;
   1152     font-family: serif;
   1153     font-size: 360%;
   1154     opacity: .15;
   1155     position: absolute;
   1156 }
   1157 
   1158 blockquote::before {
   1159     content: "“";
   1160     left: -10px;
   1161     top: 4px;
   1162 }
   1163 
   1164 blockquote::after {
   1165     content: "”";
   1166     right: -8px;
   1167     bottom: -25px;
   1168 }
   1169 
   1170 blockquote p {
   1171     margin: var(--spacing-small) 0 var(--spacing-medium) 0;
   1172 }
   1173 .paramname, .paramname em {
   1174     font-weight: 600;
   1175     color: var(--primary-dark-color);
   1176 }
   1177 
   1178 .paramname > code {
   1179     border: 0;
   1180 }
   1181 
   1182 table.params .paramname {
   1183     font-weight: 600;
   1184     font-family: var(--font-family-monospace);
   1185     font-size: var(--code-font-size);
   1186     padding-right: var(--spacing-small);
   1187     line-height: var(--table-line-height);
   1188 }
   1189 
   1190 h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
   1191     text-shadow: 0 0 15px var(--primary-light-color);
   1192 }
   1193 
   1194 .alphachar a {
   1195     color: var(--page-foreground-color);
   1196 }
   1197 
   1198 .dotgraph {
   1199     max-width: 100%;
   1200     overflow-x: scroll;
   1201 }
   1202 
   1203 .dotgraph .caption {
   1204     position: sticky;
   1205     left: 0;
   1206 }
   1207 
   1208 /* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */
   1209 .interactive_dotgraph .dotgraph iframe {
   1210     max-width: 100%;
   1211 }
   1212 
   1213 /*
   1214  Table of Contents
   1215  */
   1216 
   1217 div.contents .toc {
   1218     max-height: var(--toc-max-height);
   1219     min-width: var(--toc-width);
   1220     border: 0;
   1221     border-left: 1px solid var(--separator-color);
   1222     border-radius: 0;
   1223     background-color: var(--page-background-color);
   1224     box-shadow: none;
   1225     position: sticky;
   1226     top: var(--toc-sticky-top);
   1227     padding: 0 var(--spacing-large);
   1228     margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large);
   1229 }
   1230 
   1231 div.toc h3 {
   1232     color: var(--toc-foreground);
   1233     font-size: var(--navigation-font-size);
   1234     margin: var(--spacing-large) 0 var(--spacing-medium) 0;
   1235 }
   1236 
   1237 div.toc li {
   1238     padding: 0;
   1239     background: none;
   1240     line-height: var(--toc-font-size);
   1241     margin: var(--toc-font-size) 0 0 0;
   1242 }
   1243 
   1244 div.toc li::before {
   1245     display: none;
   1246 }
   1247 
   1248 div.toc ul {
   1249     margin-top: 0
   1250 }
   1251 
   1252 div.toc li a {
   1253     font-size: var(--toc-font-size);
   1254     color: var(--page-foreground-color) !important;
   1255     text-decoration: none;
   1256 }
   1257 
   1258 div.toc li a:hover, div.toc li a.active {
   1259     color: var(--primary-color) !important;
   1260 }
   1261 
   1262 div.toc li a.aboveActive {
   1263     color: var(--page-secondary-foreground-color) !important;
   1264 }
   1265 
   1266 
   1267 @media screen and (max-width: 999px) {
   1268     div.contents .toc {
   1269         max-height: 45vh;
   1270         float: none;
   1271         width: auto;
   1272         margin: 0 0 var(--spacing-medium) 0;
   1273         position: relative;
   1274         top: 0;
   1275         position: relative;
   1276         border: 1px solid var(--separator-color);
   1277         border-radius: var(--border-radius-medium);
   1278         background-color: var(--toc-background);
   1279         box-shadow: var(--box-shadow);
   1280     }
   1281 
   1282     div.contents .toc.interactive {
   1283         max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large));
   1284         overflow: hidden;
   1285     }
   1286 
   1287     div.contents .toc > h3 {
   1288         -webkit-tap-highlight-color: transparent;
   1289         cursor: pointer;
   1290         position: sticky;
   1291         top: 0;
   1292         background-color: var(--toc-background);
   1293         margin: 0;
   1294         padding: var(--spacing-large) 0;
   1295         display: block;
   1296     }
   1297 
   1298     div.contents .toc.interactive > h3::before {
   1299         content: "";
   1300         width: 0; 
   1301         height: 0; 
   1302         border-left: 4px solid transparent;
   1303         border-right: 4px solid transparent;
   1304         border-top: 5px solid var(--primary-color);
   1305         display: inline-block;
   1306         margin-right: var(--spacing-small);
   1307         margin-bottom: calc(var(--navigation-font-size) / 4);
   1308         transform: rotate(-90deg);
   1309         transition: transform var(--animation-duration) ease-out;
   1310     }
   1311 
   1312     div.contents .toc.interactive.open > h3::before {
   1313         transform: rotate(0deg);
   1314     }
   1315 
   1316     div.contents .toc.interactive.open {
   1317         max-height: 45vh;
   1318         overflow: auto;
   1319         transition: max-height 0.02s ease-in-out;
   1320     }
   1321 
   1322     div.contents .toc a, div.contents .toc a.active {
   1323         color: var(--primary-color) !important;
   1324     }
   1325 
   1326     div.contents .toc a:hover {
   1327         text-decoration: underline;
   1328     }
   1329 }
   1330 
   1331 /*
   1332  Page Outline (Doxygen >= 1.14.0)
   1333 */
   1334 
   1335 #page-nav {
   1336     background: var(--page-background-color);
   1337     border-left: 1px solid var(--separator-color);
   1338 }
   1339 
   1340 #page-nav #page-nav-resize-handle {
   1341     background: var(--separator-color);
   1342 }
   1343 
   1344 #page-nav #page-nav-resize-handle::after {
   1345     border-left: 1px solid var(--primary-color);
   1346     border-right: 1px solid var(--primary-color);
   1347 }
   1348 
   1349 #page-nav #page-nav-tree #page-nav-contents {
   1350     top: var(--spacing-large);
   1351 }
   1352 
   1353 #page-nav ul.page-outline {
   1354     margin: 0;
   1355     padding: 0;
   1356 }
   1357 
   1358 #page-nav ul.page-outline li a {
   1359     font-size: var(--toc-font-size) !important;
   1360     color: var(--page-secondary-foreground-color) !important;
   1361     display: inline-block;
   1362     line-height: calc(2 * var(--toc-font-size));
   1363 }
   1364 
   1365 #page-nav ul.page-outline li a a.anchorlink {
   1366     display: none;
   1367 }
   1368 
   1369 #page-nav ul.page-outline li.vis ~ * a {
   1370     color: var(--page-foreground-color) !important;
   1371 }
   1372 
   1373 #page-nav ul.page-outline li.vis:not(.vis ~ .vis) a, #page-nav ul.page-outline li a:hover {
   1374     color: var(--primary-color) !important;
   1375 }
   1376 
   1377 #page-nav ul.page-outline .vis {
   1378     background: var(--page-background-color);
   1379     position: relative;
   1380 }
   1381 
   1382 #page-nav ul.page-outline .vis::after {
   1383     content: "";
   1384     position: absolute;
   1385     top: 0;
   1386     bottom: 0;
   1387     left: 0;
   1388     width: 4px;
   1389     background: var(--page-secondary-foreground-color);
   1390 }
   1391 
   1392 #page-nav ul.page-outline .vis:not(.vis ~ .vis)::after {
   1393     top: 1px;
   1394     border-top-right-radius: var(--border-radius-small);
   1395 }
   1396 
   1397 #page-nav ul.page-outline .vis:not(:has(~ .vis))::after {
   1398     bottom: 1px;
   1399     border-bottom-right-radius: var(--border-radius-small);
   1400 }
   1401 
   1402 
   1403 #page-nav ul.page-outline .arrow {
   1404     display: inline-block;
   1405 }
   1406 
   1407 #page-nav ul.page-outline .arrow span {
   1408     display: none;
   1409 }
   1410 
   1411 @media screen and (max-width: 767px) {
   1412     #container {
   1413         grid-template-columns: initial !important;
   1414     }
   1415 
   1416     #page-nav {
   1417         display: none;
   1418     }
   1419 }
   1420 
   1421 /*
   1422  Code & Fragments
   1423  */
   1424 
   1425 code, div.fragment, pre.fragment, span.tt {
   1426     border: 1px solid var(--code-separator-color);
   1427     overflow: hidden;
   1428 }
   1429 
   1430 code, span.tt {
   1431     display: inline;
   1432     background: var(--code-background);
   1433     color: var(--code-foreground);
   1434     padding: 2px 6px;
   1435     border-radius: var(--border-radius-small);
   1436 }
   1437 
   1438 div.fragment, pre.fragment {
   1439     border-radius: var(--border-radius-medium);
   1440     margin: var(--spacing-medium) 0;
   1441     padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large);
   1442     background: var(--fragment-background);
   1443     color: var(--fragment-foreground);
   1444     overflow-x: auto;
   1445 }
   1446 
   1447 @media screen and (max-width: 767px) {
   1448     div.fragment, pre.fragment {
   1449         border-top-right-radius: 0;
   1450         border-bottom-right-radius: 0;
   1451         border-right: 0;
   1452     }
   1453 
   1454     .contents > div.fragment,
   1455     .textblock > div.fragment,
   1456     .textblock > pre.fragment,
   1457     .textblock > .tabbed > ul > li > div.fragment,
   1458     .textblock > .tabbed > ul > li > pre.fragment,
   1459     .contents > .doxygen-awesome-fragment-wrapper > div.fragment,
   1460     .textblock > .doxygen-awesome-fragment-wrapper > div.fragment,
   1461     .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment,
   1462     .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > div.fragment,
   1463     .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > pre.fragment {
   1464         margin: var(--spacing-medium) calc(0px - var(--spacing-large));
   1465         border-radius: 0;
   1466         border-left: 0;
   1467     }
   1468 
   1469     .textblock li > .fragment,
   1470     .textblock li > .doxygen-awesome-fragment-wrapper > .fragment {
   1471         margin: var(--spacing-medium) calc(0px - var(--spacing-large));
   1472     }
   1473 
   1474     .memdoc li > .fragment,
   1475     .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment {
   1476         margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
   1477     }
   1478 
   1479     .textblock ul, .memdoc ul {
   1480         overflow: initial;
   1481     }
   1482 
   1483     .memdoc > div.fragment,
   1484     .memdoc > pre.fragment,
   1485     dl dd > div.fragment,
   1486     dl dd pre.fragment,
   1487     .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment,
   1488     .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment,
   1489     dl dd > .doxygen-awesome-fragment-wrapper > div.fragment,
   1490     dl dd .doxygen-awesome-fragment-wrapper > pre.fragment {
   1491         margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
   1492         border-radius: 0;
   1493         border-left: 0;
   1494     }
   1495 }
   1496 
   1497 code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span, span.tt {
   1498     font-family: var(--font-family-monospace);
   1499     font-size: var(--code-font-size) !important;
   1500 }
   1501 
   1502 div.line:after {
   1503     margin-right: var(--spacing-medium);
   1504 }
   1505 
   1506 div.fragment .line, pre.fragment {
   1507     white-space: pre;
   1508     word-wrap: initial;
   1509     line-height: var(--fragment-lineheight);
   1510 }
   1511 
   1512 div.fragment span.keyword {
   1513     color: var(--fragment-keyword);
   1514 }
   1515 
   1516 div.fragment span.keywordtype {
   1517     color: var(--fragment-keywordtype);
   1518 }
   1519 
   1520 div.fragment span.keywordflow {
   1521     color: var(--fragment-keywordflow);
   1522 }
   1523 
   1524 div.fragment span.stringliteral {
   1525     color: var(--fragment-token)
   1526 }
   1527 
   1528 div.fragment span.comment {
   1529     color: var(--fragment-comment);
   1530 }
   1531 
   1532 div.fragment a.code {
   1533     color: var(--fragment-link) !important;
   1534 }
   1535 
   1536 div.fragment span.preprocessor {
   1537     color: var(--fragment-preprocessor);
   1538 }
   1539 
   1540 div.fragment span.lineno {
   1541     display: inline-block;
   1542     width: 27px;
   1543     border-right: none;
   1544     background: var(--fragment-linenumber-background);
   1545     color: var(--fragment-linenumber-color);
   1546 }
   1547 
   1548 div.fragment span.lineno a {
   1549     background: none;
   1550     color: var(--fragment-link) !important;
   1551 }
   1552 
   1553 div.fragment > .line:first-child .lineno {
   1554     box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border);
   1555     background-color: var(--fragment-linenumber-background) !important;
   1556 }
   1557 
   1558 div.line {
   1559     border-radius: var(--border-radius-small);
   1560 }
   1561 
   1562 div.line.glow {
   1563     background-color: var(--primary-light-color);
   1564     box-shadow: none;
   1565 }
   1566 
   1567 /*
   1568  dl warning, attention, note, deprecated, bug, ...
   1569  */
   1570 
   1571 dl {
   1572     line-height: calc(1.65 * var(--page-font-size));
   1573 }
   1574 
   1575 dl.bug dt a, dl.deprecated dt a, dl.todo dt a {
   1576     font-weight: bold !important;
   1577 }
   1578 
   1579 dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.remark {
   1580     padding: var(--spacing-medium);
   1581     margin: var(--spacing-medium) 0;
   1582     color: var(--page-background-color);
   1583     overflow: hidden;
   1584     margin-left: 0;
   1585     border-radius: var(--border-radius-small);
   1586 }
   1587 
   1588 dl.section dd {
   1589     margin-bottom: 2px;
   1590 }
   1591 
   1592 dl.warning, dl.attention {
   1593     background: var(--warning-color);
   1594     border-left: 8px solid var(--warning-color-dark);
   1595     color: var(--warning-color-darker);
   1596 }
   1597 
   1598 dl.warning dt, dl.attention dt {
   1599     color: var(--warning-color-dark);
   1600 }
   1601 
   1602 dl.note, dl.remark {
   1603     background: var(--note-color);
   1604     border-left: 8px solid var(--note-color-dark);
   1605     color: var(--note-color-darker);
   1606 }
   1607 
   1608 dl.note dt, dl.remark dt {
   1609     color: var(--note-color-dark);
   1610 }
   1611 
   1612 dl.todo {
   1613     background: var(--todo-color);
   1614     border-left: 8px solid var(--todo-color-dark);
   1615     color: var(--todo-color-darker);
   1616 }
   1617 
   1618 dl.todo dt a {
   1619     color: var(--todo-color-dark) !important;
   1620 }
   1621 
   1622 dl.bug dt a {
   1623     color: var(--todo-color-dark) !important;
   1624 }
   1625 
   1626 dl.bug {
   1627     background: var(--bug-color);
   1628     border-left: 8px solid var(--bug-color-dark);
   1629     color: var(--bug-color-darker);
   1630 }
   1631 
   1632 dl.bug dt a {
   1633     color: var(--bug-color-dark) !important;
   1634 }
   1635 
   1636 dl.deprecated {
   1637     background: var(--deprecated-color);
   1638     border-left: 8px solid var(--deprecated-color-dark);
   1639     color: var(--deprecated-color-darker);
   1640 }
   1641 
   1642 dl.deprecated dt a {
   1643     color: var(--deprecated-color-dark) !important;
   1644 }
   1645 
   1646 dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd {
   1647     margin-inline-start: 0px;
   1648 }
   1649 
   1650 dl.invariant, dl.pre, dl.post {
   1651     background: var(--invariant-color);
   1652     border-left: 8px solid var(--invariant-color-dark);
   1653     color: var(--invariant-color-darker);
   1654 }
   1655 
   1656 dl.invariant dt, dl.pre dt, dl.post dt {
   1657     color: var(--invariant-color-dark);
   1658 }
   1659 
   1660 /*
   1661  memitem
   1662  */
   1663 
   1664 div.memdoc, div.memproto, h2.memtitle {
   1665     box-shadow: none;
   1666     background-image: none;
   1667     border: none;
   1668 }
   1669 
   1670 div.memdoc {
   1671     padding: 0 var(--spacing-medium);
   1672     background: var(--page-background-color);
   1673 }
   1674 
   1675 h2.memtitle, div.memitem {
   1676     border: 1px solid var(--separator-color);
   1677     box-shadow: var(--box-shadow);
   1678 }
   1679 
   1680 h2.memtitle {
   1681     box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow);
   1682 }
   1683 
   1684 div.memitem {
   1685     transition: none;
   1686 }
   1687 
   1688 div.memproto, h2.memtitle {
   1689     background: var(--fragment-background);
   1690 }
   1691 
   1692 h2.memtitle {
   1693     font-weight: 500;
   1694     font-size: var(--memtitle-font-size);
   1695     font-family: var(--font-family-monospace);
   1696     border-bottom: none;
   1697     border-top-left-radius: var(--border-radius-medium);
   1698     border-top-right-radius: var(--border-radius-medium);
   1699     word-break: break-all;
   1700     position: relative;
   1701 }
   1702 
   1703 h2.memtitle:after {
   1704     content: "";
   1705     display: block;
   1706     background: var(--fragment-background);
   1707     height: var(--spacing-medium);
   1708     bottom: calc(0px - var(--spacing-medium));
   1709     left: 0;
   1710     right: -14px;
   1711     position: absolute;
   1712     border-top-right-radius: var(--border-radius-medium);
   1713 }
   1714 
   1715 h2.memtitle > span.permalink {
   1716     font-size: inherit;
   1717 }
   1718 
   1719 h2.memtitle > span.permalink > a {
   1720     text-decoration: none;
   1721     padding-left: 3px;
   1722     margin-right: -4px;
   1723     user-select: none;
   1724     display: inline-block;
   1725     margin-top: -6px;
   1726 }
   1727 
   1728 h2.memtitle > span.permalink > a:hover {
   1729     color: var(--primary-dark-color) !important;
   1730 }
   1731 
   1732 a:target + h2.memtitle, a:target + h2.memtitle + div.memitem {
   1733     border-color: var(--primary-light-color);
   1734 }
   1735 
   1736 div.memitem {
   1737     border-top-right-radius: var(--border-radius-medium);
   1738     border-bottom-right-radius: var(--border-radius-medium);
   1739     border-bottom-left-radius: var(--border-radius-medium);
   1740     border-top-left-radius: 0;
   1741     overflow: hidden;
   1742     display: block !important;
   1743 }
   1744 
   1745 div.memdoc {
   1746     border-radius: 0;
   1747 }
   1748 
   1749 div.memproto {
   1750     border-radius: 0 var(--border-radius-small) 0 0;
   1751     overflow: auto;
   1752     border-bottom: 1px solid var(--separator-color);
   1753     padding: var(--spacing-medium);
   1754     margin-bottom: -1px;
   1755 }
   1756 
   1757 div.memtitle {
   1758     border-top-right-radius: var(--border-radius-medium);
   1759     border-top-left-radius: var(--border-radius-medium);
   1760 }
   1761 
   1762 div.memproto table.memname {
   1763     font-family: var(--font-family-monospace);
   1764     color: var(--page-foreground-color);
   1765     font-size: var(--memname-font-size);
   1766     text-shadow: none;
   1767 }
   1768 
   1769 div.memproto div.memtemplate {
   1770     font-family: var(--font-family-monospace);
   1771     color: var(--primary-dark-color);
   1772     font-size: var(--memname-font-size);
   1773     margin-left: 2px;
   1774     text-shadow: none;
   1775 }
   1776 
   1777 table.mlabels, table.mlabels > tbody {
   1778     display: block;
   1779 }
   1780 
   1781 td.mlabels-left {
   1782     width: auto;
   1783 }
   1784 
   1785 td.mlabels-right {
   1786     margin-top: 3px;
   1787     position: sticky;
   1788     left: 0;
   1789 }
   1790 
   1791 table.mlabels > tbody > tr:first-child {
   1792     display: flex;
   1793     justify-content: space-between;
   1794     flex-wrap: wrap;
   1795 }
   1796 
   1797 .memname, .memitem span.mlabels {
   1798     margin: 0
   1799 }
   1800 
   1801 /*
   1802  reflist
   1803  */
   1804 
   1805 dl.reflist {
   1806     box-shadow: var(--box-shadow);
   1807     border-radius: var(--border-radius-medium);
   1808     border: 1px solid var(--separator-color);
   1809     overflow: hidden;
   1810     padding: 0;
   1811 }
   1812 
   1813 
   1814 dl.reflist dt, dl.reflist dd {
   1815     box-shadow: none;
   1816     text-shadow: none;
   1817     background-image: none;
   1818     border: none;
   1819     padding: 12px;
   1820 }
   1821 
   1822 
   1823 dl.reflist dt {
   1824     font-weight: 500;
   1825     border-radius: 0;
   1826     background: var(--code-background);
   1827     border-bottom: 1px solid var(--separator-color);
   1828     color: var(--page-foreground-color)
   1829 }
   1830 
   1831 
   1832 dl.reflist dd {
   1833     background: none;
   1834 }
   1835 
   1836 /*
   1837  Table
   1838  */
   1839 
   1840 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname),
   1841 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {
   1842     display: inline-block;
   1843     max-width: 100%;
   1844 }
   1845 
   1846 .contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) {
   1847     margin-left: calc(0px - var(--spacing-large));
   1848     margin-right: calc(0px - var(--spacing-large));
   1849     max-width: calc(100% + 2 * var(--spacing-large));
   1850 }
   1851 
   1852 table.fieldtable,
   1853 table.markdownTable tbody,
   1854 table.doxtable tbody {
   1855     border: none;
   1856     margin: var(--spacing-medium) 0;
   1857     box-shadow: 0 0 0 1px var(--separator-color);
   1858     border-radius: var(--border-radius-small);
   1859 }
   1860 
   1861 table.markdownTable, table.doxtable, table.fieldtable {
   1862     padding: 1px;
   1863 }
   1864 
   1865 table.doxtable caption {
   1866     display: block;
   1867 }
   1868 
   1869 table.fieldtable {
   1870     border-collapse: collapse;
   1871     width: 100%;
   1872 }
   1873 
   1874 th.markdownTableHeadLeft,
   1875 th.markdownTableHeadRight,
   1876 th.markdownTableHeadCenter,
   1877 th.markdownTableHeadNone,
   1878 table.doxtable th {
   1879     background: var(--tablehead-background);
   1880     color: var(--tablehead-foreground);
   1881     font-weight: 600;
   1882     font-size: var(--page-font-size);
   1883 }
   1884 
   1885 th.markdownTableHeadLeft:first-child,
   1886 th.markdownTableHeadRight:first-child,
   1887 th.markdownTableHeadCenter:first-child,
   1888 th.markdownTableHeadNone:first-child,
   1889 table.doxtable tr th:first-child {
   1890     border-top-left-radius: var(--border-radius-small);
   1891 }
   1892 
   1893 th.markdownTableHeadLeft:last-child,
   1894 th.markdownTableHeadRight:last-child,
   1895 th.markdownTableHeadCenter:last-child,
   1896 th.markdownTableHeadNone:last-child,
   1897 table.doxtable tr th:last-child {
   1898     border-top-right-radius: var(--border-radius-small);
   1899 }
   1900 
   1901 table.markdownTable td,
   1902 table.markdownTable th,
   1903 table.fieldtable td,
   1904 table.fieldtable th,
   1905 table.doxtable td,
   1906 table.doxtable th {
   1907     border: 1px solid var(--separator-color);
   1908     padding: var(--spacing-small) var(--spacing-medium);
   1909 }
   1910 
   1911 table.markdownTable td:last-child,
   1912 table.markdownTable th:last-child,
   1913 table.fieldtable td:last-child,
   1914 table.fieldtable th:last-child,
   1915 table.doxtable td:last-child,
   1916 table.doxtable th:last-child {
   1917     border-right: none;
   1918 }
   1919 
   1920 table.markdownTable td:first-child,
   1921 table.markdownTable th:first-child,
   1922 table.fieldtable td:first-child,
   1923 table.fieldtable th:first-child,
   1924 table.doxtable td:first-child,
   1925 table.doxtable th:first-child {
   1926     border-left: none;
   1927 }
   1928 
   1929 table.markdownTable tr:first-child td,
   1930 table.markdownTable tr:first-child th,
   1931 table.fieldtable tr:first-child td,
   1932 table.fieldtable tr:first-child th,
   1933 table.doxtable tr:first-child td,
   1934 table.doxtable tr:first-child th {
   1935     border-top: none;
   1936 }
   1937 
   1938 table.markdownTable tr:last-child td,
   1939 table.markdownTable tr:last-child th,
   1940 table.fieldtable tr:last-child td,
   1941 table.fieldtable tr:last-child th,
   1942 table.doxtable tr:last-child td,
   1943 table.doxtable tr:last-child th {
   1944     border-bottom: none;
   1945 }
   1946 
   1947 table.markdownTable tr, table.doxtable tr {
   1948     border-bottom: 1px solid var(--separator-color);
   1949 }
   1950 
   1951 table.markdownTable tr:last-child, table.doxtable tr:last-child {
   1952     border-bottom: none;
   1953 }
   1954 
   1955 .full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) {
   1956     display: block;
   1957 }
   1958 
   1959 .full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {
   1960     display: table;
   1961     width: 100%;
   1962 }
   1963 
   1964 table.fieldtable th {
   1965     font-size: var(--page-font-size);
   1966     font-weight: 600;
   1967     background-image: none;
   1968     background-color: var(--tablehead-background);
   1969     color: var(--tablehead-foreground);
   1970 }
   1971 
   1972 table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit, .fieldtable td.fielddoc, .fieldtable th {
   1973     border-bottom: 1px solid var(--separator-color);
   1974     border-right: 1px solid var(--separator-color);
   1975 }
   1976 
   1977 table.fieldtable tr:last-child td:first-child {
   1978     border-bottom-left-radius: var(--border-radius-small);
   1979 }
   1980 
   1981 table.fieldtable tr:last-child td:last-child {
   1982     border-bottom-right-radius: var(--border-radius-small);
   1983 }
   1984 
   1985 .memberdecls td.glow, .fieldtable tr.glow {
   1986     background-color: var(--primary-light-color);
   1987     box-shadow: none;
   1988 }
   1989 
   1990 table.memberdecls {
   1991     display: block;
   1992     -webkit-tap-highlight-color: transparent;
   1993 }
   1994 
   1995 table.memberdecls tr[class^='memitem'] {
   1996     font-family: var(--font-family-monospace);
   1997     font-size: var(--code-font-size);
   1998 }
   1999 
   2000 table.memberdecls tr[class^='memitem'] .memTemplParams {
   2001     font-family: var(--font-family-monospace);
   2002     font-size: var(--code-font-size);
   2003     color: var(--primary-dark-color);
   2004     white-space: normal;
   2005 }
   2006 
   2007 table.memberdecls tr.heading + tr[class^='memitem'] td.memItemLeft,
   2008 table.memberdecls tr.heading + tr[class^='memitem'] td.memItemRight,
   2009 table.memberdecls td.memItemLeft,
   2010 table.memberdecls td.memItemRight,
   2011 table.memberdecls .memTemplItemLeft,
   2012 table.memberdecls .memTemplItemRight,
   2013 table.memberdecls .memTemplParams {
   2014     transition: none;
   2015     padding-top: var(--spacing-small);
   2016     padding-bottom: var(--spacing-small);
   2017     border-top: 1px solid var(--separator-color);
   2018     border-bottom: 1px solid var(--separator-color);
   2019     background-color: var(--fragment-background);
   2020 }
   2021 
   2022 @media screen and (min-width: 768px) {
   2023 
   2024     tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
   2025         border-top-right-radius: var(--border-radius-small);
   2026     }
   2027 
   2028     table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
   2029         border-bottom-right-radius: var(--border-radius-small);
   2030     }
   2031 
   2032     table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
   2033         border-bottom-left-radius: var(--border-radius-small);
   2034     }
   2035 
   2036     tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
   2037         border-top-left-radius: var(--border-radius-small);
   2038     }
   2039 
   2040 }
   2041 
   2042 table.memname td.memname {
   2043     font-size: var(--memname-font-size);
   2044 }
   2045 
   2046 table.memberdecls .memTemplItemLeft,
   2047 table.memberdecls .template .memItemLeft,
   2048 table.memberdecls .memTemplItemRight,
   2049 table.memberdecls .template .memItemRight {
   2050     padding-top: 2px;
   2051 }
   2052 
   2053 table.memberdecls .memTemplParams {
   2054     border-bottom: 0;
   2055     border-left: 1px solid var(--separator-color);
   2056     border-right: 1px solid var(--separator-color);
   2057     border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
   2058     padding-bottom: var(--spacing-small);
   2059 }
   2060 
   2061 table.memberdecls .memTemplItemLeft, table.memberdecls .template .memItemLeft {
   2062     border-radius: 0 0 0 var(--border-radius-small);
   2063     border-left: 1px solid var(--separator-color);
   2064     border-top: 0;
   2065 }
   2066 
   2067 table.memberdecls .memTemplItemRight, table.memberdecls .template .memItemRight {
   2068     border-radius: 0 0 var(--border-radius-small) 0;
   2069     border-right: 1px solid var(--separator-color);
   2070     padding-left: 0;
   2071     border-top: 0;
   2072 }
   2073 
   2074 table.memberdecls .memItemLeft {
   2075     border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
   2076     border-left: 1px solid var(--separator-color);
   2077     padding-left: var(--spacing-medium);
   2078     padding-right: 0;
   2079 }
   2080 
   2081 table.memberdecls .memItemRight  {
   2082     border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
   2083     border-right: 1px solid var(--separator-color);
   2084     padding-right: var(--spacing-medium);
   2085     padding-left: 0;
   2086 
   2087 }
   2088 
   2089 table.memberdecls .mdescLeft, table.memberdecls .mdescRight {
   2090     background: none;
   2091     color: var(--page-foreground-color);
   2092     padding: var(--spacing-small) 0;
   2093     border: 0;
   2094 }
   2095 
   2096 table.memberdecls [class^="memdesc"] {
   2097     box-shadow: none;
   2098 }
   2099 
   2100 
   2101 table.memberdecls .memItemLeft,
   2102 table.memberdecls .memTemplItemLeft {
   2103     padding-right: var(--spacing-medium);
   2104 }
   2105 
   2106 table.memberdecls .memSeparator {
   2107     background: var(--page-background-color);
   2108     height: var(--spacing-large);
   2109     border: 0;
   2110     transition: none;
   2111 }
   2112 
   2113 table.memberdecls .groupheader {
   2114     margin-bottom: var(--spacing-large);
   2115 }
   2116 
   2117 table.memberdecls .inherit_header td {
   2118     padding: 0 0 var(--spacing-medium) 0;
   2119     text-indent: -12px;
   2120     color: var(--page-secondary-foreground-color);
   2121 }
   2122 
   2123 table.memberdecls span.dynarrow {
   2124     left: 10px;
   2125 }
   2126 
   2127 table.memberdecls img[src="closed.png"],
   2128 table.memberdecls img[src="open.png"],
   2129 div.dynheader img[src="open.png"],
   2130 div.dynheader img[src="closed.png"] {
   2131     width: 0; 
   2132     height: 0; 
   2133     border-left: 4px solid transparent;
   2134     border-right: 4px solid transparent;
   2135     border-top: 5px solid var(--primary-color);
   2136     margin-top: 8px;
   2137     display: block;
   2138     float: left;
   2139     margin-left: -10px;
   2140     transition: transform var(--animation-duration) ease-out;
   2141 }
   2142 
   2143 tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft, tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
   2144     border-top: 1px solid var(--separator-color);
   2145 }
   2146 
   2147 table.memberdecls img {
   2148     margin-right: 10px;
   2149 }
   2150 
   2151 table.memberdecls img[src="closed.png"],
   2152 div.dynheader img[src="closed.png"] {
   2153     transform: rotate(-90deg);
   2154     
   2155 }
   2156 
   2157 .compoundTemplParams {
   2158     font-family: var(--font-family-monospace);
   2159     color: var(--primary-dark-color);
   2160     font-size: var(--code-font-size);
   2161 }
   2162 
   2163 @media screen and (max-width: 767px) {
   2164 
   2165     table.memberdecls .memItemLeft,
   2166     table.memberdecls .memItemRight,
   2167     table.memberdecls .mdescLeft,
   2168     table.memberdecls .mdescRight,
   2169     table.memberdecls .memTemplItemLeft,
   2170     table.memberdecls .memTemplItemRight,
   2171     table.memberdecls .memTemplParams,
   2172     table.memberdecls .template .memItemLeft,
   2173     table.memberdecls .template .memItemRight,
   2174     table.memberdecls .template .memParams {
   2175         display: block;
   2176         text-align: left;
   2177         padding-left: var(--spacing-large);
   2178         margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large));
   2179         border-right: none;
   2180         border-left: none;
   2181         border-radius: 0;
   2182         white-space: normal;
   2183     }
   2184 
   2185     table.memberdecls .memItemLeft,
   2186     table.memberdecls .mdescLeft,
   2187     table.memberdecls .memTemplItemLeft,
   2188     table.memberdecls .template .memItemLeft {
   2189         border-bottom: 0 !important;
   2190         padding-bottom: 0 !important;
   2191     }
   2192 
   2193     table.memberdecls .memTemplItemLeft,
   2194     table.memberdecls .template .memItemLeft {
   2195         padding-top: 0;
   2196     }
   2197 
   2198     table.memberdecls .mdescLeft {
   2199         margin-bottom: calc(0px - var(--page-font-size));
   2200     }
   2201 
   2202     table.memberdecls .memItemRight, 
   2203     table.memberdecls .mdescRight,
   2204     table.memberdecls .memTemplItemRight,
   2205     table.memberdecls .template .memItemRight {
   2206         border-top: 0 !important;
   2207         padding-top: 0 !important;
   2208         padding-right: var(--spacing-large);
   2209         padding-bottom: var(--spacing-medium);
   2210         overflow-x: auto;
   2211     }
   2212 
   2213     table.memberdecls tr[class^='memitem']:not(.inherit) {
   2214         display: block;
   2215         width: calc(100vw - 2 * var(--spacing-large));
   2216     }
   2217 
   2218     table.memberdecls .mdescRight {
   2219         color: var(--page-foreground-color);
   2220     }
   2221 
   2222     table.memberdecls tr.inherit {
   2223         visibility: hidden;
   2224     }
   2225 
   2226     table.memberdecls tr[style="display: table-row;"] {
   2227         display: block !important;
   2228         visibility: visible;
   2229         width: calc(100vw - 2 * var(--spacing-large));
   2230         animation: fade .10s;
   2231     }
   2232 
   2233     @keyframes fade {
   2234         0% {
   2235             opacity: 0;
   2236             max-height: 0;
   2237         }
   2238 
   2239         100% {
   2240             opacity: 1;
   2241             max-height: 200px;
   2242         }
   2243     }
   2244 
   2245     tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
   2246         border-top-right-radius: 0;
   2247     }
   2248 
   2249     table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
   2250         border-bottom-right-radius: 0;
   2251     }
   2252 
   2253     table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
   2254         border-bottom-left-radius: 0;
   2255     }
   2256 
   2257     tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
   2258         border-top-left-radius: 0;
   2259     }
   2260 }
   2261 
   2262 
   2263 /*
   2264  Horizontal Rule
   2265  */
   2266 
   2267 hr {
   2268     margin-top: var(--spacing-large);
   2269     margin-bottom: var(--spacing-large);
   2270     height: 1px;
   2271     background-color: var(--separator-color);
   2272     border: 0;
   2273 }
   2274 
   2275 .contents hr {
   2276     box-shadow: 100px 0 var(--separator-color),
   2277                 -100px 0 var(--separator-color),
   2278                 500px 0 var(--separator-color),
   2279                 -500px 0 var(--separator-color),
   2280                 900px 0 var(--separator-color),
   2281                 -900px 0 var(--separator-color),
   2282                 1400px 0 var(--separator-color),
   2283                 -1400px 0 var(--separator-color),
   2284                 1900px 0 var(--separator-color),
   2285                 -1900px 0 var(--separator-color);       
   2286 }
   2287 
   2288 .contents img, .contents .center, .contents center, .contents div.image object {
   2289     max-width: 100%;
   2290     overflow: auto;
   2291 }
   2292 
   2293 @media screen and (max-width: 767px) {
   2294     .contents .dyncontent > .center, .contents > center {
   2295         margin-left: calc(0px - var(--spacing-large));
   2296         margin-right: calc(0px - var(--spacing-large));
   2297         max-width: calc(100% + 2 * var(--spacing-large));
   2298     }
   2299 }
   2300 
   2301 /*
   2302  Directories
   2303  */
   2304 div.directory {
   2305     border-top: 1px solid var(--separator-color);
   2306     border-bottom: 1px solid var(--separator-color);
   2307     width: auto;
   2308 }
   2309 
   2310 table.directory {
   2311     font-family: var(--font-family);
   2312     font-size: var(--page-font-size);
   2313     font-weight: normal;
   2314     width: 100%;
   2315 }
   2316 
   2317 table.directory td.entry, table.directory td.desc {
   2318     padding: calc(var(--spacing-small) / 2) var(--spacing-small);
   2319     line-height: var(--table-line-height);
   2320 }
   2321 
   2322 table.directory tr.even td:last-child {
   2323     border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
   2324 }
   2325 
   2326 table.directory tr.even td:first-child {
   2327     border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
   2328 }
   2329 
   2330 table.directory tr.even:last-child td:last-child {
   2331     border-radius: 0 var(--border-radius-small) 0 0;
   2332 }
   2333 
   2334 table.directory tr.even:last-child td:first-child {
   2335     border-radius: var(--border-radius-small) 0 0 0;
   2336 }
   2337 
   2338 table.directory td.desc {
   2339     min-width: 250px;
   2340 }
   2341 
   2342 table.directory tr.even {
   2343     background-color: var(--odd-color);
   2344 }
   2345 
   2346 table.directory tr.odd {
   2347     background-color: transparent;
   2348 }
   2349 
   2350 .icona {
   2351     width: auto;
   2352     height: auto;
   2353     margin: 0 var(--spacing-small);
   2354 }
   2355 
   2356 .icon {
   2357     background: var(--primary-color);
   2358     border-radius: var(--border-radius-small);
   2359     font-size: var(--page-font-size);
   2360     padding: calc(var(--page-font-size) / 5);
   2361     line-height: var(--page-font-size);
   2362     transform: scale(0.8);
   2363     height: auto;
   2364     width: var(--page-font-size);
   2365     user-select: none;
   2366 }
   2367 
   2368 .iconfopen, .icondoc, .iconfclosed {
   2369     background-position: center;
   2370     margin-bottom: 0;
   2371     height: var(--table-line-height);
   2372 }
   2373 
   2374 .icondoc {
   2375     filter: saturate(0.2);
   2376 }
   2377 
   2378 @media screen and (max-width: 767px) {
   2379     div.directory {
   2380         margin-left: calc(0px - var(--spacing-large));
   2381         margin-right: calc(0px - var(--spacing-large));
   2382     }
   2383 }
   2384 
   2385 @media (prefers-color-scheme: dark) {
   2386     html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed {
   2387         filter: hue-rotate(180deg) invert();
   2388     }
   2389 }
   2390 
   2391 html.dark-mode .iconfopen, html.dark-mode .iconfclosed {
   2392     filter: hue-rotate(180deg) invert();
   2393 }
   2394 
   2395 /*
   2396  Class list
   2397  */
   2398 
   2399 .classindex dl.odd {
   2400     background: var(--odd-color);
   2401     border-radius: var(--border-radius-small);
   2402 }
   2403 
   2404 .classindex dl.even {
   2405     background-color: transparent;
   2406 }
   2407 
   2408 /* 
   2409  Class Index Doxygen 1.8 
   2410 */
   2411 
   2412 table.classindex {
   2413     margin-left: 0;
   2414     margin-right: 0;
   2415     width: 100%;
   2416 }
   2417 
   2418 table.classindex table div.ah {
   2419     background-image: none;
   2420     background-color: initial;
   2421     border-color: var(--separator-color);
   2422     color: var(--page-foreground-color);
   2423     box-shadow: var(--box-shadow);
   2424     border-radius: var(--border-radius-large);
   2425     padding: var(--spacing-small);
   2426 }
   2427 
   2428 div.qindex {
   2429     background-color: var(--odd-color);
   2430     border-radius: var(--border-radius-small);
   2431     border: 1px solid var(--separator-color);
   2432     padding: var(--spacing-small) 0;
   2433 }
   2434 
   2435 /*
   2436   Footer and nav-path
   2437  */
   2438 
   2439 #nav-path {
   2440     width: 100%;
   2441 }
   2442 
   2443 #nav-path ul {
   2444     background-image: none;
   2445     background: var(--page-background-color);
   2446     border: none;
   2447     border-top: 1px solid var(--separator-color);
   2448     border-bottom: 0;
   2449     font-size: var(--navigation-font-size);
   2450 }
   2451 
   2452 img.footer {
   2453     width: 60px;
   2454 }
   2455 
   2456 .navpath li.footer {
   2457     color: var(--page-secondary-foreground-color);
   2458 }
   2459 
   2460 address.footer {
   2461     color: var(--page-secondary-foreground-color);
   2462     margin-bottom: var(--spacing-large);
   2463 }
   2464 
   2465 #nav-path li.navelem {
   2466     background-image: none;
   2467     display: flex;
   2468     align-items: center;
   2469 }
   2470 
   2471 .navpath li.navelem a {
   2472     text-shadow: none;
   2473     display: inline-block;
   2474     color: var(--primary-color) !important;
   2475 }
   2476 
   2477 .navpath li.navelem a:hover {
   2478     text-shadow: none;
   2479 }
   2480 
   2481 .navpath li.navelem b {
   2482     color: var(--primary-dark-color);
   2483     font-weight: 500;
   2484 }
   2485 
   2486 li.navelem {
   2487     padding: 0;
   2488     margin-left: -8px;
   2489 }
   2490 
   2491 li.navelem:first-child {
   2492     margin-left: var(--spacing-large);
   2493 }
   2494 
   2495 li.navelem:first-child:before {
   2496     display: none;
   2497 }
   2498 
   2499 #nav-path ul {
   2500     padding-left: 0;
   2501 }
   2502 
   2503 #nav-path li.navelem:has(.el):after {
   2504     content: '';
   2505     border: 5px solid var(--page-background-color);
   2506     border-bottom-color: transparent;
   2507     border-right-color: transparent;
   2508     border-top-color: transparent;
   2509     transform: translateY(-1px) scaleY(4.2);
   2510     z-index: 10;
   2511     margin-left: 6px;
   2512 }
   2513 
   2514 #nav-path li.navelem:not(:has(.el)):after {
   2515     background: var(--page-background-color);
   2516     box-shadow: 1px -1px 0 1px var(--separator-color);
   2517     border-radius: 0 var(--border-radius-medium) 0 50px;
   2518 }
   2519 
   2520 #nav-path li.navelem:not(:has(.el)) {
   2521     margin-left: 0;
   2522 }
   2523 
   2524 #nav-path li.navelem:not(:has(.el)):hover, #nav-path li.navelem:not(:has(.el)):hover:after {
   2525     background-color: var(--separator-color);
   2526 }
   2527 
   2528 #nav-path li.navelem:has(.el):before {
   2529     content: '';
   2530     border: 5px solid var(--separator-color);
   2531     border-bottom-color: transparent;
   2532     border-right-color: transparent;
   2533     border-top-color: transparent;
   2534     transform: translateY(-1px) scaleY(3.2);
   2535     margin-right: var(--spacing-small);
   2536 }
   2537 
   2538 .navpath li.navelem a:hover {
   2539     color: var(--primary-color);
   2540 }
   2541 
   2542 /*
   2543  Scrollbars for Webkit
   2544 */
   2545 
   2546 #nav-tree::-webkit-scrollbar,
   2547 div.fragment::-webkit-scrollbar,
   2548 pre.fragment::-webkit-scrollbar,
   2549 div.memproto::-webkit-scrollbar,
   2550 .contents center::-webkit-scrollbar,
   2551 .contents .center::-webkit-scrollbar,
   2552 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar,
   2553 div.contents .toc::-webkit-scrollbar,
   2554 .contents .dotgraph::-webkit-scrollbar,
   2555 .contents .tabs-overview-container::-webkit-scrollbar {
   2556     background: transparent;
   2557     width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
   2558     height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
   2559 }
   2560 
   2561 #nav-tree::-webkit-scrollbar-thumb,
   2562 div.fragment::-webkit-scrollbar-thumb,
   2563 pre.fragment::-webkit-scrollbar-thumb,
   2564 div.memproto::-webkit-scrollbar-thumb,
   2565 .contents center::-webkit-scrollbar-thumb,
   2566 .contents .center::-webkit-scrollbar-thumb,
   2567 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb,
   2568 div.contents .toc::-webkit-scrollbar-thumb,
   2569 .contents .dotgraph::-webkit-scrollbar-thumb,
   2570 .contents .tabs-overview-container::-webkit-scrollbar-thumb {
   2571     background-color: transparent;
   2572     border: var(--webkit-scrollbar-padding) solid transparent;
   2573     border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
   2574     background-clip: padding-box;  
   2575 }
   2576 
   2577 #nav-tree:hover::-webkit-scrollbar-thumb,
   2578 div.fragment:hover::-webkit-scrollbar-thumb,
   2579 pre.fragment:hover::-webkit-scrollbar-thumb,
   2580 div.memproto:hover::-webkit-scrollbar-thumb,
   2581 .contents center:hover::-webkit-scrollbar-thumb,
   2582 .contents .center:hover::-webkit-scrollbar-thumb,
   2583 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb,
   2584 div.contents .toc:hover::-webkit-scrollbar-thumb,
   2585 .contents .dotgraph:hover::-webkit-scrollbar-thumb,
   2586 .contents .tabs-overview-container:hover::-webkit-scrollbar-thumb {
   2587     background-color: var(--webkit-scrollbar-color);
   2588 }
   2589 
   2590 #nav-tree::-webkit-scrollbar-track,
   2591 div.fragment::-webkit-scrollbar-track,
   2592 pre.fragment::-webkit-scrollbar-track,
   2593 div.memproto::-webkit-scrollbar-track,
   2594 .contents center::-webkit-scrollbar-track,
   2595 .contents .center::-webkit-scrollbar-track,
   2596 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track,
   2597 div.contents .toc::-webkit-scrollbar-track,
   2598 .contents .dotgraph::-webkit-scrollbar-track,
   2599 .contents .tabs-overview-container::-webkit-scrollbar-track {
   2600     background: transparent;
   2601 }
   2602 
   2603 #nav-tree::-webkit-scrollbar-corner {
   2604     background-color: var(--side-nav-background);
   2605 }
   2606 
   2607 #nav-tree,
   2608 div.fragment,
   2609 pre.fragment,
   2610 div.memproto,
   2611 .contents center,
   2612 .contents .center,
   2613 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,
   2614 div.contents .toc {
   2615     overflow-x: auto;
   2616     overflow-x: overlay;
   2617 }
   2618 
   2619 #nav-tree {
   2620     overflow-x: auto;
   2621     overflow-y: auto;
   2622     overflow-y: overlay;
   2623 }
   2624 
   2625 /*
   2626  Scrollbars for Firefox
   2627 */
   2628 
   2629 #nav-tree,
   2630 div.fragment,
   2631 pre.fragment,
   2632 div.memproto,
   2633 .contents center,
   2634 .contents .center,
   2635 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,
   2636 div.contents .toc,
   2637 .contents .dotgraph,
   2638 .contents .tabs-overview-container {
   2639     scrollbar-width: thin;
   2640 }
   2641 
   2642 /*
   2643   Optional Dark mode toggle button
   2644 */
   2645 
   2646 doxygen-awesome-dark-mode-toggle {
   2647     display: inline-block;
   2648     margin: 0 0 0 var(--spacing-small);
   2649     padding: 0;
   2650     width: var(--searchbar-height);
   2651     height: var(--searchbar-height);
   2652     background: none;
   2653     border: none;
   2654     border-radius: var(--searchbar-border-radius);
   2655     vertical-align: middle;
   2656     text-align: center;
   2657     line-height: var(--searchbar-height);
   2658     font-size: 22px;
   2659     display: flex;
   2660     align-items: center;
   2661     justify-content: center;
   2662     user-select: none;
   2663     cursor: pointer;
   2664 }
   2665 
   2666 doxygen-awesome-dark-mode-toggle > svg {
   2667     transition: transform var(--animation-duration) ease-in-out;
   2668 }
   2669 
   2670 doxygen-awesome-dark-mode-toggle:active > svg {
   2671     transform: scale(.5);
   2672 }
   2673 
   2674 doxygen-awesome-dark-mode-toggle:hover {
   2675     background-color: rgba(0,0,0,.03);
   2676 }
   2677 
   2678 html.dark-mode doxygen-awesome-dark-mode-toggle:hover {
   2679     background-color: rgba(0,0,0,.18);
   2680 }
   2681 
   2682 /*
   2683  Optional fragment copy button
   2684 */
   2685 .doxygen-awesome-fragment-wrapper {
   2686     position: relative;
   2687 }
   2688 
   2689 doxygen-awesome-fragment-copy-button {
   2690     opacity: 0;
   2691     background: var(--fragment-background);
   2692     width: 28px;
   2693     height: 28px;
   2694     position: absolute;
   2695     right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));
   2696     top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));
   2697     border: 1px solid var(--fragment-foreground);
   2698     cursor: pointer;
   2699     border-radius: var(--border-radius-small);
   2700     display: flex;
   2701     justify-content: center;
   2702     align-items: center;
   2703 }
   2704 
   2705 .doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success {
   2706     opacity: .28;
   2707 }
   2708 
   2709 doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success {
   2710     opacity: 1 !important;
   2711 }
   2712 
   2713 doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg {
   2714     transform: scale(.91);
   2715 }
   2716 
   2717 doxygen-awesome-fragment-copy-button svg {
   2718     fill: var(--fragment-foreground);
   2719     width: 18px;
   2720     height: 18px;
   2721 }
   2722 
   2723 doxygen-awesome-fragment-copy-button.success svg {
   2724     fill: rgb(14, 168, 14);
   2725 }
   2726 
   2727 doxygen-awesome-fragment-copy-button.success {
   2728     border-color: rgb(14, 168, 14);
   2729 }
   2730 
   2731 @media screen and (max-width: 767px) {
   2732     .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
   2733     .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
   2734     .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
   2735     .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
   2736     dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button {
   2737         right: 0;
   2738     }
   2739 }
   2740 
   2741 /*
   2742  Optional paragraph link button
   2743 */
   2744 
   2745 a.anchorlink {
   2746     font-size: 90%;
   2747     margin-left: var(--spacing-small);
   2748     color: var(--page-foreground-color) !important;
   2749     text-decoration: none;
   2750     opacity: .50;
   2751     display: none;
   2752     transition: opacity var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out;
   2753 }
   2754 
   2755 a.anchorlink svg {
   2756     fill: var(--page-foreground-color);
   2757 }
   2758 
   2759 h3 a.anchorlink svg, h4 a.anchorlink svg {
   2760     margin-bottom: -3px;
   2761     margin-top: -4px;
   2762 }
   2763 
   2764 a.anchorlink:hover {
   2765     opacity: .95;
   2766 }
   2767 
   2768 h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink  {
   2769     display: inline-block;
   2770 }
   2771 
   2772 /*
   2773  Optional tab feature
   2774 */
   2775 
   2776 .tabbed > ul {
   2777     padding-inline-start: 0px;
   2778     margin: 0;
   2779     padding: var(--spacing-small) 0;
   2780 }
   2781 
   2782 .tabbed > ul > li {
   2783     display: none;
   2784 }
   2785 
   2786 .tabbed > ul > li.selected {
   2787     display: block;
   2788 }
   2789 
   2790 .tabs-overview-container {
   2791     overflow-x: auto;
   2792     display: block;
   2793     overflow-y: visible;
   2794 }
   2795 
   2796 .tabs-overview {
   2797     border-bottom: 1px solid var(--separator-color);
   2798     display: flex;
   2799     flex-direction: row;
   2800 }
   2801 
   2802 @media screen and (max-width: 767px) {
   2803     .tabs-overview-container {
   2804         margin: 0 calc(0px - var(--spacing-large));
   2805     }
   2806     .tabs-overview {
   2807         padding: 0 var(--spacing-large)
   2808     }
   2809 }
   2810 
   2811 .tabs-overview button.tab-button {
   2812     color: var(--page-foreground-color);
   2813     margin: 0;
   2814     border: none;
   2815     background: transparent;
   2816     padding: calc(var(--spacing-large) / 2) 0;
   2817     display: inline-block;
   2818     font-size: var(--page-font-size);
   2819     cursor: pointer;
   2820     box-shadow: 0 1px 0 0 var(--separator-color);
   2821     position: relative;
   2822     
   2823     -webkit-tap-highlight-color: transparent;
   2824 }
   2825 
   2826 .tabs-overview button.tab-button .tab-title::before {
   2827     display: block;
   2828     content: attr(title);
   2829     font-weight: 600;
   2830     height: 0;
   2831     overflow: hidden;
   2832     visibility: hidden;
   2833 }
   2834 
   2835 .tabs-overview button.tab-button .tab-title {
   2836     float: left;
   2837     white-space: nowrap;
   2838     font-weight: normal;
   2839     font-family: var(--font-family);
   2840     padding: calc(var(--spacing-large) / 2) var(--spacing-large);
   2841     border-radius: var(--border-radius-medium);
   2842     transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out;
   2843 }
   2844 
   2845 .tabs-overview button.tab-button:not(:last-child) .tab-title {
   2846     box-shadow: 8px 0 0 -7px var(--separator-color);
   2847 }
   2848 
   2849 .tabs-overview button.tab-button:hover .tab-title {
   2850     background: var(--separator-color);
   2851     box-shadow: none;
   2852 }
   2853 
   2854 .tabs-overview button.tab-button.active .tab-title {
   2855     font-weight: 600;
   2856 }
   2857 
   2858 .tabs-overview button.tab-button::after {
   2859     content: '';
   2860     display: block;
   2861     position: absolute;
   2862     left: 0;
   2863     bottom: 0;
   2864     right: 0;
   2865     height: 0;
   2866     width: 0%;
   2867     margin: 0 auto;
   2868     border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
   2869     background-color: var(--primary-color);
   2870     transition: width var(--animation-duration) ease-in-out, height var(--animation-duration) ease-in-out;
   2871 }
   2872 
   2873 .tabs-overview button.tab-button.active::after {
   2874     width: 100%;
   2875     box-sizing: border-box;
   2876     height: 3px;
   2877 }
   2878 
   2879 
   2880 /*
   2881  Navigation Buttons
   2882 */
   2883 
   2884 .section_buttons:not(:empty) {
   2885     margin-top: calc(var(--spacing-large) * 3);
   2886 }
   2887 
   2888 .section_buttons table.markdownTable {
   2889     display: block;
   2890     width: 100%;
   2891 }
   2892 
   2893 .section_buttons table.markdownTable tbody {
   2894     display: table !important;
   2895     width: 100%;
   2896     box-shadow: none;
   2897     border-spacing: 10px;
   2898 }
   2899 
   2900 .section_buttons table.markdownTable td {
   2901     padding: 0;
   2902 }
   2903 
   2904 .section_buttons table.markdownTable th {
   2905     display: none;
   2906 }
   2907 
   2908 .section_buttons table.markdownTable tr.markdownTableHead {
   2909     border: none;
   2910 }
   2911 
   2912 .section_buttons tr th, .section_buttons tr td {
   2913     background: none;
   2914     border: none;
   2915     padding: var(--spacing-large) 0 var(--spacing-small);
   2916 }
   2917 
   2918 .section_buttons a {
   2919     display: inline-block;
   2920     border: 1px solid var(--separator-color);
   2921     border-radius: var(--border-radius-medium);
   2922     color: var(--page-secondary-foreground-color) !important;
   2923     text-decoration: none;
   2924     transition: color var(--animation-duration) ease-in-out, background-color var(--animation-duration) ease-in-out;
   2925 }
   2926 
   2927 .section_buttons a:hover {
   2928     color: var(--page-foreground-color) !important;
   2929     background-color: var(--odd-color);
   2930 }
   2931 
   2932 .section_buttons tr td.markdownTableBodyLeft a {
   2933     padding: var(--spacing-medium) var(--spacing-large) var(--spacing-medium) calc(var(--spacing-large) / 2);
   2934 }
   2935 
   2936 .section_buttons tr td.markdownTableBodyRight a {
   2937     padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large);
   2938 }
   2939 
   2940 .section_buttons tr td.markdownTableBodyLeft a::before,
   2941 .section_buttons tr td.markdownTableBodyRight a::after {
   2942     color: var(--page-secondary-foreground-color) !important;
   2943     display: inline-block;
   2944     transition: color .02s ease-in-out, transform .02s ease-in-out;
   2945 }
   2946 
   2947 .section_buttons tr td.markdownTableBodyLeft a::before {
   2948     content: '〈';
   2949     padding-right: var(--spacing-large);
   2950 }
   2951 
   2952 
   2953 .section_buttons tr td.markdownTableBodyRight a::after {
   2954     content: '〉';
   2955     padding-left: var(--spacing-large);
   2956 }
   2957 
   2958 
   2959 .section_buttons tr td.markdownTableBodyLeft a:hover::before {
   2960     color: var(--page-foreground-color) !important;
   2961     transform: translateX(-3px);
   2962 }
   2963 
   2964 .section_buttons tr td.markdownTableBodyRight a:hover::after {
   2965     color: var(--page-foreground-color) !important;
   2966     transform: translateX(3px);
   2967 }
   2968 
   2969 @media screen and (max-width: 450px) {
   2970     .section_buttons a {
   2971         width: 100%;
   2972         box-sizing: border-box;
   2973     }
   2974 
   2975     .section_buttons tr td:nth-of-type(1).markdownTableBodyLeft a {
   2976         border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium);
   2977         border-right: none;
   2978     }
   2979 
   2980     .section_buttons tr td:nth-of-type(2).markdownTableBodyRight a {
   2981         border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
   2982     }
   2983 }
   2984 
   2985 /* 
   2986  Bordered image
   2987 */
   2988 
   2989 html.dark-mode .darkmode_inverted_image img, /* < doxygen 1.9.3 */
   2990 html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
   2991     filter: brightness(89%) hue-rotate(180deg) invert();
   2992 }
   2993 
   2994 .bordered_image {
   2995     border-radius: var(--border-radius-small);
   2996     border: 1px solid var(--separator-color);
   2997     display: inline-block;
   2998     overflow: hidden;
   2999 }
   3000 
   3001 .bordered_image:empty {
   3002     border: none;
   3003 }
   3004 
   3005 html.dark-mode .bordered_image img, /* < doxygen 1.9.3 */
   3006 html.dark-mode .bordered_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
   3007     border-radius: var(--border-radius-small);
   3008 }
   3009 
   3010 /*
   3011  Button
   3012 */
   3013 
   3014 .primary-button {
   3015     display: inline-block;
   3016     cursor: pointer;
   3017     background: var(--primary-color);
   3018     color: var(--page-background-color) !important;
   3019     border-radius: var(--border-radius-medium);
   3020     padding: var(--spacing-small) var(--spacing-medium);
   3021     text-decoration: none;
   3022 }
   3023 
   3024 .primary-button:hover {
   3025     background: var(--primary-dark-color);
   3026 }

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.