1/** 2 3Doxygen Awesome 4https://github.com/jothepro/doxygen-awesome-css 5 6MIT License 7 8Copyright (c) 2021 jothepro 9 10Permission is hereby granted, free of charge, to any person obtaining a copy 11of this software and associated documentation files (the "Software"), to deal 12in the Software without restriction, including without limitation the rights 13to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14copies of the Software, and to permit persons to whom the Software is 15furnished to do so, subject to the following conditions: 16 17The above copyright notice and this permission notice shall be included in all 18copies or substantial portions of the Software. 19 20THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26SOFTWARE. 27 28*/ 29 30html { 31 /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ 32 --primary-color: #1779c4; 33 --primary-dark-color: #00559f; 34 --primary-light-color: #7aabd6; 35 --primary-lighter-color: #cae1f1; 36 --primary-lightest-color: #e9f1f8; 37 38 /* page base colors */ 39 --page-background-color: white; 40 --page-foreground-color: #2c3e50; 41 --page-secondary-foreground-color: #67727e; 42 43 /* color for all separators on the website: hr, borders, ... */ 44 --separator-color: #dedede; 45 46 /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ 47 --border-radius-large: 8px; 48 --border-radius-small: 4px; 49 --border-radius-medium: 6px; 50 51 /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */ 52 --spacing-small: 5px; 53 --spacing-medium: 10px; 54 --spacing-large: 16px; 55 56 /* default box shadow used for raising an element above the normal content. Used in dropdowns, Searchresult, ... */ 57 --box-shadow: 0 2px 10px 0 rgba(0,0,0,.1); 58 59 --odd-color: rgba(0,0,0,.03); 60 61 /* font-families. will affect all text on the website 62 * font-family: the normal font for text, headlines, menus 63 * font-family-monospace: used for preformatted text in memtitle, code, fragments 64 */ 65 --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; 66 --font-family-monospace: source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace; 67 68 /* font sizes */ 69 --page-font-size: 15.6px; 70 --navigation-font-size: 14.4px; 71 --code-font-size: 14.4px; /* affects code, fragment */ 72 --title-font-size: 22px; 73 74 /* content text properties. These only affect the page content, not the navigation or any other ui elements */ 75 --content-line-height: 27px; 76 /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ 77 --content-maxwidth: 1000px; 78 79 /* colors for various content boxes: @warning, @note, @deprecated @bug */ 80 --warning-color: #fca49b; 81 --warning-color-dark: #b61825; 82 --warning-color-darker: #75070f; 83 --note-color: rgba(255,229,100,.3); 84 --note-color-dark: #c39900; 85 --note-color-darker: #8d7400; 86 --deprecated-color: rgb(214, 216, 224); 87 --deprecated-color-dark: #5b6269; 88 --deprecated-color-darker: #43454a; 89 --bug-color: rgb(246, 208, 178); 90 --bug-color-dark: #a53a00; 91 --bug-color-darker: #5b1d00; 92 --invariant-color: #b7f8d0; 93 --invariant-color-dark: #00ba44; 94 --invariant-color-darker: #008622; 95 96 /* blockquote colors */ 97 --blockquote-background: #f5f5f5; 98 --blockquote-foreground: #727272; 99 100 /* table colors */ 101 --tablehead-background: #f1f1f1; 102 --tablehead-foreground: var(--page-foreground-color); 103 104 /* menu-display: block | none 105 * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible. 106 * `GENERATE_TREEVIEW` MUST be enabled! 107 */ 108 --menu-display: block; 109 110 --menu-focus-foreground: var(--page-background-color); 111 --menu-focus-background: var(--primary-color); 112 --menu-selected-background: rgba(0,0,0,.05); 113 114 115 --header-background: var(--page-background-color); 116 --header-foreground: var(--page-foreground-color); 117 118 /* searchbar colors */ 119 --searchbar-background: var(--side-nav-background); 120 --searchbar-foreground: var(--page-foreground-color); 121 122 /* searchbar size 123 * (`searchbar-width` is only applied on screens >= 768px. 124 * on smaller screens the searchbar will always fill the entire screen width) */ 125 --searchbar-height: 33px; 126 --searchbar-width: 210px; 127 128 /* code block colors */ 129 --code-background: #f5f5f5; 130 --code-foreground: var(--page-foreground-color); 131 132 /* fragment colors */ 133 --fragment-background: #282c34; 134 --fragment-foreground: #ffffff; 135 --fragment-keyword: #cc99cd; 136 --fragment-keywordtype: #ab99cd; 137 --fragment-keywordflow: #e08000; 138 --fragment-token: #7ec699; 139 --fragment-comment: #999999; 140 --fragment-link: #98c0e3; 141 --fragment-preprocessor: #65cabe; 142 --fragment-linenumber-color: #cccccc; 143 --fragment-linenumber-background: #35393c; 144 --fragment-linenumber-border: #1f1f1f; 145 --fragment-lineheight: 20px; 146 147 /* sidebar navigation (treeview) colors */ 148 --side-nav-background: #fbfbfb; 149 --side-nav-foreground: var(--page-foreground-color); 150 --side-nav-arrow-opacity: 0; 151 --side-nav-arrow-hover-opacity: 0.9; 152 153 /* height of an item in any tree / collapsable table */ 154 --tree-item-height: 30px; 155 156 --darkmode-toggle-button-icon: '☀️' 157} 158 159@media screen and (max-width: 767px) { 160 html { 161 --page-font-size: 16px; 162 --navigation-font-size: 16px; 163 --code-font-size: 15px; /* affects code, fragment */ 164 --title-font-size: 22px; 165 } 166} 167 168@media (prefers-color-scheme: dark) { 169 html:not(.light-mode) { 170 color-scheme: dark; 171 172 --primary-color: #1982d2; 173 --primary-dark-color: #5ca8e2; 174 --primary-light-color: #4779ac; 175 --primary-lighter-color: #191e21; 176 --primary-lightest-color: #191a1c; 177 178 --box-shadow: 0 2px 10px 0 rgba(0,0,0,.35); 179 180 --odd-color: rgba(0,0,0,.1); 181 182 --menu-selected-background: rgba(0,0,0,.4); 183 184 --page-background-color: #1C1D1F; 185 --page-foreground-color: #d2dbde; 186 --page-secondary-foreground-color: #859399; 187 --separator-color: #000000; 188 --side-nav-background: #252628; 189 190 --code-background: #2a2c2f; 191 192 --tablehead-background: #2a2c2f; 193 194 --blockquote-background: #1f2022; 195 --blockquote-foreground: #77848a; 196 197 --warning-color: #b61825; 198 --warning-color-dark: #510a02; 199 --warning-color-darker: #f5b1aa; 200 --note-color: rgb(255, 183, 0); 201 --note-color-dark: #9f7300; 202 --note-color-darker: #645b39; 203 --deprecated-color: rgb(88, 90, 96); 204 --deprecated-color-dark: #262e37; 205 --deprecated-color-darker: #a0a5b0; 206 --bug-color: rgb(248, 113, 0); 207 --bug-color-dark: #812a00; 208 --bug-color-darker: #ffd3be; 209 210 --darkmode-toggle-button-icon: ''; 211 } 212} 213 214/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ 215html.dark-mode { 216 color-scheme: dark; 217 218 --primary-color: #1982d2; 219 --primary-dark-color: #5ca8e2; 220 --primary-light-color: #4779ac; 221 --primary-lighter-color: #191e21; 222 --primary-lightest-color: #191a1c; 223 224 --box-shadow: 0 2px 10px 0 rgba(0,0,0,.35); 225 226 --odd-color: rgba(0,0,0,.1); 227 228 --menu-selected-background: rgba(0,0,0,.4); 229 230 --page-background-color: #1C1D1F; 231 --page-foreground-color: #d2dbde; 232 --page-secondary-foreground-color: #859399; 233 --separator-color: #000000; 234 --side-nav-background: #252628; 235 236 --code-background: #2a2c2f; 237 238 --tablehead-background: #2a2c2f; 239 240 --blockquote-background: #1f2022; 241 --blockquote-foreground: #77848a; 242 243 --warning-color: #b61825; 244 --warning-color-dark: #510a02; 245 --warning-color-darker: #f5b1aa; 246 --note-color: rgb(255, 183, 0); 247 --note-color-dark: #9f7300; 248 --note-color-darker: #645b39; 249 --deprecated-color: rgb(88, 90, 96); 250 --deprecated-color-dark: #262e37; 251 --deprecated-color-darker: #a0a5b0; 252 --bug-color: rgb(248, 113, 0); 253 --bug-color-dark: #812a00; 254 --bug-color-darker: #ffd3be; 255 256 --darkmode-toggle-button-icon: ''; 257} 258 259body { 260 color: var(--page-foreground-color); 261 background-color: var(--page-background-color); 262 font-size: var(--page-font-size); 263} 264 265body, table, div, p, dl, #nav-tree .label, .title, .sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname, .SelectItem, #MSearchField, .navpath li.navelem a, .navpath li.navelem a:hover { 266 font-family: var(--font-family); 267} 268 269h1, h2, h3, h4, h5 { 270 margin-top: .9em; 271 font-weight: 600; 272 line-height: initial; 273} 274 275p, div, table, dl { 276 font-size: var(--page-font-size); 277} 278 279a:link, a:visited, a:hover, a:focus, a:active { 280 color: var(--primary-color) !important; 281 font-weight: 500; 282} 283 284/* 285 Title and top navigation 286 */ 287 288#top { 289 background: var(--header-background); 290 border-bottom: 1px solid var(--separator-color); 291} 292 293@media screen and (min-width: 768px) { 294 #top { 295 display: flex; 296 flex-wrap: wrap; 297 justify-content: space-between; 298 align-items: center; 299 } 300} 301 302#main-nav { 303 flex-grow: 5; 304 padding: var(--spacing-small) var(--spacing-medium); 305} 306 307#titlearea { 308 width: auto; 309 padding: var(--spacing-medium) var(--spacing-large); 310 background: none; 311 color: var(--header-foreground); 312 border-bottom: none; 313} 314 315@media screen and (max-width: 767px) { 316 #titlearea { 317 padding-bottom: var(--spacing-small); 318 } 319} 320 321#titlearea table tbody tr { 322 height: auto !important; 323} 324 325#projectname { 326 font-size: var(--title-font-size); 327 font-weight: 600; 328} 329 330#projectnumber { 331 font-family: inherit; 332 font-size: 60%; 333} 334 335#projectbrief { 336 font-family: inherit; 337 font-size: 80%; 338} 339 340#projectlogo { 341 vertical-align: middle; 342} 343 344#projectlogo img { 345 max-height: calc(var(--title-font-size) * 2); 346 margin-right: var(--spacing-small); 347} 348 349.sm-dox, .tabs, .tabs2, .tabs3 { 350 background: none; 351 padding: 0; 352} 353 354.tabs, .tabs2, .tabs3 { 355 border-bottom: 1px solid var(--separator-color); 356 margin-bottom: -1px; 357} 358 359@media screen and (max-width: 767px) { 360 .sm-dox a span.sub-arrow { 361 background: var(--code-background); 362 } 363} 364 365@media screen and (min-width: 768px) { 366 .sm-dox li, .tablist li { 367 display: var(--menu-display); 368 } 369 370 .sm-dox a span.sub-arrow { 371 border-color: var(--header-foreground) transparent transparent transparent; 372 } 373 374 .sm-dox a:hover span.sub-arrow { 375 border-color: var(--menu-focus-foreground) transparent transparent transparent; 376 } 377 378 .sm-dox ul a span.sub-arrow { 379 border-color: transparent transparent transparent var(--page-foreground-color); 380 } 381 382 .sm-dox ul a:hover span.sub-arrow { 383 border-color: transparent transparent transparent var(--menu-focus-foreground); 384 } 385} 386 387.sm-dox ul { 388 background: var(--page-background-color); 389 box-shadow: var(--box-shadow); 390 border: 1px solid var(--separator-color); 391 border-radius: var(--border-radius-medium) !important; 392 padding: var(--spacing-small); 393 animation: ease-out 150ms slideInMenu; 394} 395 396@keyframes slideInMenu { 397 from { 398 opacity: 0; 399 transform: translate(0px, -2px); 400 } 401 402 to { 403 opacity: 1; 404 transform: translate(0px, 0px); 405 } 406} 407 408.sm-dox ul a { 409 color: var(--page-foreground-color) !important; 410 background: var(--page-background-color); 411 font-size: var(--navigation-font-size); 412} 413 414.sm-dox>li>ul:after { 415 border-bottom-color: var(--page-background-color) !important; 416} 417 418.sm-dox>li>ul:before { 419 border-bottom-color: var(--separator-color) !important; 420} 421 422.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus { 423 font-size: var(--navigation-font-size) !important; 424 color: var(--menu-focus-foreground) !important; 425 text-shadow: none; 426 background-color: var(--menu-focus-background); 427 border-radius: var(--border-radius-small) !important; 428} 429 430.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a { 431 text-shadow: none; 432 background: transparent; 433 background-image: none !important; 434 color: var(--header-foreground) !important; 435 font-weight: normal; 436 font-size: var(--navigation-font-size); 437} 438 439.sm-dox a:focus { 440 outline: auto; 441} 442 443.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover { 444 text-shadow: none; 445 font-weight: normal; 446 background: var(--menu-focus-background); 447 color: var(--menu-focus-foreground) !important; 448 border-radius: var(--border-radius-small) !important; 449 font-size: var(--navigation-font-size); 450} 451 452.tablist li.current { 453 border-radius: var(--border-radius-small); 454 background: var(--menu-selected-background); 455} 456 457.tablist li { 458 margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); 459} 460 461.tablist a { 462 padding: 0 var(--spacing-large); 463} 464 465 466/* 467 Search box 468 */ 469 470#MSearchBox { 471 height: var(--searchbar-height); 472 background: var(--searchbar-background); 473 border-radius: var(--searchbar-height); 474 border: 1px solid var(--separator-color); 475 overflow: hidden; 476 width: var(--searchbar-width); 477 position: relative; 478 box-shadow: none; 479 display: block; 480 margin-top: 0; 481} 482 483.left #MSearchSelect { 484 left: 0; 485} 486 487.tabs .left #MSearchSelect { 488 padding-left: 0; 489} 490 491.tabs #MSearchBox { 492 position: absolute; 493 right: var(--spacing-medium); 494} 495 496@media screen and (max-width: 767px) { 497 .tabs #MSearchBox { 498 position: relative; 499 right: 0; 500 margin-left: var(--spacing-medium); 501 margin-top: 0; 502 } 503} 504 505#MSearchSelectWindow, #MSearchResultsWindow { 506 z-index: 9999; 507} 508 509#MSearchBox.MSearchBoxActive { 510 border-color: var(--primary-color); 511 box-shadow: inset 0 0 0 1px var(--primary-color); 512} 513 514#main-menu > li:last-child { 515 margin-right: 0; 516} 517 518@media screen and (max-width: 767px) { 519 #main-menu > li:last-child { 520 height: 50px; 521 } 522} 523 524#MSearchField { 525 font-size: var(--navigation-font-size); 526 height: calc(var(--searchbar-height) - 2px); 527 background: transparent; 528 width: calc(var(--searchbar-width) - 64px); 529} 530 531.MSearchBoxActive #MSearchField { 532 color: var(--searchbar-foreground); 533} 534 535#MSearchSelect { 536 top: calc(calc(var(--searchbar-height) / 2) - 11px); 537} 538 539.left #MSearchSelect { 540 padding-left: 8px; 541} 542 543#MSearchBox span.left, #MSearchBox span.right { 544 background: none; 545} 546 547#MSearchBox span.right { 548 padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); 549 position: absolute; 550 right: var(--spacing-small); 551} 552 553.tabs #MSearchBox span.right { 554 top: calc(calc(var(--searchbar-height) / 2) - 12px); 555} 556 557@keyframes slideInSearchResults { 558 from { 559 opacity: 0; 560 transform: translate(0, 15px); 561 } 562 563 to { 564 opacity: 1; 565 transform: translate(0, 20px); 566 } 567} 568 569#MSearchResultsWindow { 570 left: auto !important; 571 right: var(--spacing-medium); 572 border-radius: var(--border-radius-large); 573 border: 1px solid var(--separator-color); 574 transform: translate(0, 20px); 575 box-shadow: var(--box-shadow); 576 animation: ease-out 280ms slideInSearchResults; 577 background: var(--page-background-color); 578} 579 580iframe#MSearchResults { 581 margin: 4px; 582} 583 584iframe { 585 color-scheme: normal; 586} 587 588@media (prefers-color-scheme: dark) { 589 html:not(.light-mode) iframe#MSearchResults { 590 filter: invert() hue-rotate(180deg); 591 } 592} 593 594html.dark-mode iframe#MSearchResults { 595 filter: invert() hue-rotate(180deg); 596} 597 598#MSearchSelectWindow { 599 border: 1px solid var(--separator-color); 600 border-radius: var(--border-radius-medium); 601 box-shadow: var(--box-shadow); 602 background: var(--page-background-color); 603} 604 605#MSearchSelectWindow a.SelectItem { 606 font-size: var(--navigation-font-size); 607 line-height: var(--content-line-height); 608 margin: 0 var(--spacing-small); 609 border-radius: var(--border-radius-small); 610 color: var(--page-foreground-color) !important; 611 font-weight: normal; 612} 613 614#MSearchSelectWindow a.SelectItem:hover { 615 background: var(--menu-focus-background); 616 color: var(--menu-focus-foreground) !important; 617} 618 619@media screen and (max-width: 767px) { 620 #MSearchBox { 621 margin-top: var(--spacing-medium); 622 margin-bottom: var(--spacing-medium); 623 width: calc(100vw - 30px); 624 } 625 626 #main-menu > li:last-child { 627 float: none !important; 628 } 629 630 #MSearchField { 631 width: calc(100vw - 110px); 632 } 633 634 @keyframes slideInSearchResultsMobile { 635 from { 636 opacity: 0; 637 transform: translate(0, 15px); 638 } 639 640 to { 641 opacity: 1; 642 transform: translate(0, 20px); 643 } 644 } 645 646 #MSearchResultsWindow { 647 left: var(--spacing-medium) !important; 648 right: var(--spacing-medium); 649 overflow: auto; 650 transform: translate(0, 20px); 651 animation: ease-out 280ms slideInSearchResultsMobile; 652 } 653 654 /* 655 * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2 656 */ 657 label.main-menu-btn ~ #searchBoxPos1 { 658 top: 3px !important; 659 right: 6px !important; 660 left: 45px; 661 display: flex; 662 } 663 664 label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { 665 margin-top: 0; 666 margin-bottom: 0; 667 flex-grow: 2; 668 float: left; 669 } 670} 671 672/* 673 Tree view 674 */ 675 676#side-nav { 677 padding: 0 !important; 678 background: var(--side-nav-background); 679} 680 681@media screen and (max-width: 767px) { 682 #side-nav { 683 display: none; 684 } 685 686 #doc-content { 687 margin-left: 0 !important; 688 height: auto !important; 689 padding-bottom: calc(2 * var(--spacing-large)); 690 } 691} 692 693#nav-tree { 694 background: transparent; 695} 696 697#nav-tree .label { 698 font-size: var(--navigation-font-size); 699} 700 701#nav-tree .item { 702 height: var(--tree-item-height); 703 line-height: var(--tree-item-height); 704} 705 706#nav-sync { 707 top: 12px !important; 708 right: 12px; 709} 710 711#nav-tree .selected { 712 text-shadow: none; 713 background-image: none; 714 background-color: transparent; 715 box-shadow: inset 4px 0 0 0 var(--primary-color); 716} 717 718#nav-tree a { 719 color: var(--side-nav-foreground) !important; 720 font-weight: normal; 721} 722 723#nav-tree a:focus { 724 outline-style: auto; 725} 726 727#nav-tree .arrow { 728 opacity: var(--side-nav-arrow-opacity); 729} 730 731.arrow { 732 color: inherit; 733 cursor: pointer; 734 font-size: 45%; 735 vertical-align: middle; 736 margin-right: 2px; 737 font-family: serif; 738 height: auto; 739 text-align: right; 740} 741 742#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow { 743 opacity: var(--side-nav-arrow-hover-opacity); 744} 745 746#nav-tree .selected a { 747 color: var(--primary-color) !important; 748 font-weight: bolder; 749 font-weight: 600; 750} 751 752.ui-resizable-e { 753 background: var(--separator-color); 754 width: 1px; 755} 756 757/* 758 Contents 759 */ 760 761div.header { 762 border-bottom: 1px solid var(--separator-color); 763 background-color: var(--page-background-color); 764 background-image: none; 765} 766 767div.contents, div.header .title, div.header .summary { 768 max-width: var(--content-maxwidth); 769} 770 771div.contents, div.header .title { 772 line-height: initial; 773 margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; 774} 775 776div.header .summary { 777 margin: var(--spacing-medium) auto 0 auto; 778} 779 780div.headertitle { 781 padding: 0; 782} 783 784div.header .title { 785 font-weight: 600; 786 font-size: 210%; 787 padding: var(--spacing-medium) var(--spacing-large); 788 word-break: break-word; 789} 790 791div.header .summary { 792 width: auto; 793 display: block; 794 float: none; 795 padding: 0 var(--spacing-large); 796} 797 798td.memSeparator { 799 border-color: var(--separator-color); 800} 801 802.mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { 803 background: var(--code-background); 804} 805 806.mdescRight { 807 color: var(--page-secondary-foreground-color); 808} 809 810span.mlabel { 811 background: var(--primary-color); 812 border: none; 813 padding: 4px 9px; 814 border-radius: 12px; 815 margin-right: var(--spacing-medium); 816} 817 818span.mlabel:last-of-type { 819 margin-right: 2px; 820} 821 822div.contents { 823 padding: 0 var(--spacing-large); 824} 825 826div.contents p, div.contents li { 827 line-height: var(--content-line-height); 828} 829 830div.contents div.dyncontent { 831 margin: var(--spacing-medium) 0; 832} 833 834@media (prefers-color-scheme: dark) { 835 html:not(.light-mode) div.contents div.dyncontent img, 836 html:not(.light-mode) div.contents center img, 837 html:not(.light-mode) div.contents table img, 838 html:not(.light-mode) div.contents div.dyncontent iframe, 839 html:not(.light-mode) div.contents center iframe, 840 html:not(.light-mode) div.contents table iframe { 841 filter: hue-rotate(180deg) invert(); 842 } 843} 844 845html.dark-mode div.contents div.dyncontent img, 846html.dark-mode div.contents center img, 847html.dark-mode div.contents table img, 848html.dark-mode div.contents div.dyncontent iframe, 849html.dark-mode div.contents center iframe, 850html.dark-mode div.contents table iframe { 851 filter: hue-rotate(180deg) invert(); 852} 853 854h2.groupheader { 855 border-bottom: 1px solid var(--separator-color); 856 color: var(--page-foreground-color); 857} 858 859blockquote { 860 padding: var(--spacing-small) var(--spacing-medium); 861 background: var(--blockquote-background); 862 color: var(--blockquote-foreground); 863 border-left: 2px solid var(--blockquote-foreground); 864 margin: 0; 865} 866 867blockquote p { 868 margin: var(--spacing-small) 0 var(--spacing-medium) 0; 869} 870.paramname { 871 font-weight: 600; 872 color: var(--primary-dark-color); 873} 874 875.glow { 876 text-shadow: 0 0 15px var(--primary-light-color) !important; 877} 878 879.alphachar a { 880 color: var(--page-foreground-color); 881} 882 883/* 884 Table of Contents 885 */ 886 887div.toc { 888 background-color: var(--side-nav-background); 889 border: 1px solid var(--separator-color); 890 border-radius: var(--border-radius-medium); 891 box-shadow: var(--box-shadow); 892 padding: 0 var(--spacing-large); 893 margin: 0 0 var(--spacing-medium) var(--spacing-medium); 894} 895 896div.toc h3 { 897 color: var(--side-nav-foreground); 898 font-size: var(--navigation-font-size); 899 margin: var(--spacing-large) 0; 900} 901 902div.toc li { 903 font-size: var(--navigation-font-size); 904 padding: 0; 905 background: none; 906} 907 908div.toc li:before { 909 content: '↓'; 910 font-weight: 800; 911 font-family: var(--font-family); 912 margin-right: var(--spacing-small); 913 color: var(--side-nav-foreground); 914 opacity: .4; 915} 916 917div.toc ul li.level1 { 918 margin: 0; 919} 920 921div.toc ul li.level2, div.toc ul li.level3 { 922 margin-top: 0; 923} 924 925 926@media screen and (max-width: 767px) { 927 div.toc { 928 float: none; 929 width: auto; 930 margin: 0 0 var(--spacing-medium) 0; 931 } 932} 933 934/* 935 Code & Fragments 936 */ 937 938code, div.fragment, pre.fragment { 939 border-radius: var(--border-radius-small); 940 border: none; 941 overflow: hidden; 942} 943 944code { 945 display: inline; 946 background: var(--code-background); 947 color: var(--code-foreground); 948 padding: 2px 6px; 949 word-break: break-word; 950} 951 952div.fragment, pre.fragment { 953 margin: var(--spacing-medium) 0; 954 padding: 14px 16px; 955 background: var(--fragment-background); 956 color: var(--fragment-foreground); 957 overflow-x: auto; 958} 959 960@media screen and (max-width: 767px) { 961 div.fragment, pre.fragment { 962 border-top-right-radius: 0; 963 border-bottom-right-radius: 0; 964 } 965 966 .contents > div.fragment, .textblock > div.fragment, .textblock > pre.fragment { 967 margin: var(--spacing-medium) calc(0px - var(--spacing-large)); 968 border-radius: 0; 969 } 970 971 .textblock li > .fragment { 972 margin: var(--spacing-medium) calc(0px - var(--spacing-large)); 973 } 974 975 .memdoc li > .fragment { 976 margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); 977 } 978 979 .memdoc > div.fragment, .memdoc > pre.fragment, dl dd > div.fragment, dl dd pre.fragment { 980 margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); 981 border-radius: 0; 982 } 983} 984 985code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span { 986 font-family: var(--font-family-monospace); 987 font-size: var(--code-font-size) !important; 988} 989 990div.line:after { 991 margin-right: var(--spacing-medium); 992} 993 994div.fragment .line, pre.fragment { 995 white-space: pre; 996 word-wrap: initial; 997 line-height: var(--fragment-lineheight); 998} 999 1000div.fragment span.keyword { 1001 color: var(--fragment-keyword); 1002} 1003 1004div.fragment span.keywordtype { 1005 color: var(--fragment-keywordtype); 1006} 1007 1008div.fragment span.keywordflow { 1009 color: var(--fragment-keywordflow); 1010} 1011 1012div.fragment span.stringliteral { 1013 color: var(--fragment-token) 1014} 1015 1016div.fragment span.comment { 1017 color: var(--fragment-comment); 1018} 1019 1020div.fragment a.code { 1021 color: var(--fragment-link) !important; 1022} 1023 1024div.fragment span.preprocessor { 1025 color: var(--fragment-preprocessor); 1026} 1027 1028div.fragment span.lineno { 1029 display: inline-block; 1030 width: 27px; 1031 border-right: none; 1032 background: var(--fragment-linenumber-background); 1033 color: var(--fragment-linenumber-color); 1034} 1035 1036div.fragment span.lineno a { 1037 background: none; 1038 color: var(--fragment-link) !important; 1039} 1040 1041div.fragment .line:first-child .lineno { 1042 box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border); 1043} 1044 1045/* 1046 dl warning, attention, note, deprecated, bug, ... 1047 */ 1048 1049dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre { 1050 padding: var(--spacing-medium); 1051 margin: var(--spacing-medium) 0; 1052 color: var(--page-background-color); 1053 overflow: hidden; 1054 margin-left: 0; 1055 border-radius: var(--border-radius-small); 1056} 1057 1058dl.section dd { 1059 margin-bottom: 2px; 1060} 1061 1062dl.warning, dl.attention { 1063 background: var(--warning-color); 1064 border-left: 8px solid var(--warning-color-dark); 1065 color: var(--warning-color-darker); 1066} 1067 1068dl.warning dt, dl.attention dt { 1069 color: var(--warning-color-dark); 1070} 1071 1072dl.note { 1073 background: var(--note-color); 1074 border-left: 8px solid var(--note-color-dark); 1075 color: var(--note-color-darker); 1076} 1077 1078dl.note dt { 1079 color: var(--note-color-dark); 1080} 1081 1082dl.bug { 1083 background: var(--bug-color); 1084 border-left: 8px solid var(--bug-color-dark); 1085 color: var(--bug-color-darker); 1086} 1087 1088dl.bug dt a { 1089 color: var(--bug-color-dark) !important; 1090} 1091 1092dl.deprecated { 1093 background: var(--deprecated-color); 1094 border-left: 8px solid var(--deprecated-color-dark); 1095 color: var(--deprecated-color-darker); 1096} 1097 1098dl.deprecated dt a { 1099 color: var(--deprecated-color-dark) !important; 1100} 1101 1102dl.section dd, dl.bug dd, dl.deprecated dd { 1103 margin-inline-start: 0px; 1104} 1105 1106dl.invariant, dl.pre { 1107 background: var(--invariant-color); 1108 border-left: 8px solid var(--invariant-color-dark); 1109 color: var(--invariant-color-darker); 1110} 1111 1112/* 1113 memitem 1114 */ 1115 1116div.memdoc, div.memproto, h2.memtitle { 1117 box-shadow: none; 1118 background-image: none; 1119 border: none; 1120} 1121 1122div.memdoc { 1123 padding: 0 var(--spacing-medium); 1124 background: var(--page-background-color); 1125} 1126 1127h2.memtitle, div.memitem { 1128 border: 1px solid var(--separator-color); 1129} 1130 1131div.memproto, h2.memtitle { 1132 background: var(--code-background); 1133 text-shadow: none; 1134} 1135 1136h2.memtitle { 1137 font-weight: 500; 1138 font-family: monospace, fixed; 1139 border-bottom: none; 1140 border-top-left-radius: var(--border-radius-medium); 1141 border-top-right-radius: var(--border-radius-medium); 1142 word-break: break-all; 1143} 1144 1145a:target + h2.memtitle, a:target + h2.memtitle + div.memitem { 1146 border-color: var(--primary-light-color); 1147} 1148 1149a:target + h2.memtitle { 1150 box-shadow: -3px -3px 3px 0 var(--primary-lightest-color), 3px -3px 3px 0 var(--primary-lightest-color); 1151} 1152 1153a:target + h2.memtitle + div.memitem { 1154 box-shadow: 0 0 10px 0 var(--primary-lighter-color); 1155} 1156 1157div.memitem { 1158 border-top-right-radius: var(--border-radius-medium); 1159 border-bottom-right-radius: var(--border-radius-medium); 1160 border-bottom-left-radius: var(--border-radius-medium); 1161 overflow: hidden; 1162 display: block !important; 1163} 1164 1165div.memdoc { 1166 border-radius: 0; 1167} 1168 1169div.memproto { 1170 border-radius: 0 var(--border-radius-small) 0 0; 1171 overflow: auto; 1172 border-bottom: 1px solid var(--separator-color); 1173 padding: var(--spacing-medium); 1174 margin-bottom: -1px; 1175} 1176 1177div.memtitle { 1178 border-top-right-radius: var(--border-radius-medium); 1179 border-top-left-radius: var(--border-radius-medium); 1180} 1181 1182div.memproto table.memname { 1183 font-family: monospace, fixed; 1184 color: var(--page-foreground-color); 1185} 1186 1187table.mlabels, table.mlabels > tbody { 1188 display: block; 1189} 1190 1191td.mlabels-left { 1192 width: auto; 1193} 1194 1195table.mlabels > tbody > tr:first-child { 1196 display: flex; 1197 justify-content: space-between; 1198 flex-wrap: wrap; 1199} 1200 1201.memname, .memitem span.mlabels { 1202 margin: 0 1203} 1204 1205/* 1206 reflist 1207 */ 1208 1209dl.reflist { 1210 box-shadow: var(--box-shadow); 1211 border-radius: var(--border-radius-medium); 1212 border: 1px solid var(--separator-color); 1213 overflow: hidden; 1214 padding: 0; 1215} 1216 1217 1218dl.reflist dt, dl.reflist dd { 1219 box-shadow: none; 1220 text-shadow: none; 1221 background-image: none; 1222 border: none; 1223 padding: 12px; 1224} 1225 1226 1227dl.reflist dt { 1228 font-weight: 500; 1229 border-radius: 0; 1230 background: var(--code-background); 1231 border-bottom: 1px solid var(--separator-color); 1232 color: var(--page-foreground-color) 1233} 1234 1235 1236dl.reflist dd { 1237 background: none; 1238} 1239 1240/* 1241 Table 1242 */ 1243 1244table.markdownTable, table.fieldtable { 1245 width: 100%; 1246 border: 1px solid var(--separator-color); 1247 margin: var(--spacing-medium) 0; 1248} 1249 1250table.fieldtable { 1251 box-shadow: none; 1252 border-radius: var(--border-radius-small); 1253} 1254 1255th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { 1256 background: var(--tablehead-background); 1257 color: var(--tablehead-foreground); 1258 font-weight: 600; 1259 font-size: var(--page-font-size); 1260} 1261 1262table.markdownTable td, table.markdownTable th, table.fieldtable dt { 1263 border: 1px solid var(--separator-color); 1264 padding: var(--spacing-small) var(--spacing-medium); 1265} 1266 1267table.fieldtable th { 1268 font-size: var(--page-font-size); 1269 font-weight: 600; 1270 background-image: none; 1271 background-color: var(--tablehead-background); 1272 color: var(--tablehead-foreground); 1273 border-bottom: 1px solid var(--separator-color); 1274} 1275 1276.fieldtable td.fieldtype, .fieldtable td.fieldname { 1277 border-bottom: 1px solid var(--separator-color); 1278 border-right: 1px solid var(--separator-color); 1279} 1280 1281.fieldtable td.fielddoc { 1282 border-bottom: 1px solid var(--separator-color); 1283} 1284 1285.memberdecls td.glow, .fieldtable tr.glow { 1286 background-color: var(--primary-light-color); 1287 box-shadow: 0 0 15px var(--primary-lighter-color); 1288} 1289 1290table.memberdecls { 1291 display: block; 1292 overflow-x: auto; 1293 overflow-y: hidden; 1294} 1295 1296 1297/* 1298 Horizontal Rule 1299 */ 1300 1301hr { 1302 margin-top: var(--spacing-large); 1303 margin-bottom: var(--spacing-large); 1304 border-top:1px solid var(--separator-color); 1305} 1306 1307.contents hr { 1308 box-shadow: var(--content-maxwidth) 0 0 0 var(--separator-color), calc(0px - var(--content-maxwidth)) 0 0 0 var(--separator-color); 1309} 1310 1311.contents img { 1312 max-width: 100%; 1313} 1314 1315/* 1316 Directories 1317 */ 1318div.directory { 1319 border-top: 1px solid var(--separator-color); 1320 border-bottom: 1px solid var(--separator-color); 1321 width: auto; 1322} 1323 1324table.directory { 1325 font-family: var(--font-family); 1326 font-size: var(--page-font-size); 1327 font-weight: normal; 1328} 1329 1330.directory td.entry { 1331 padding: var(--spacing-small); 1332 display: flex; 1333 align-items: center; 1334} 1335 1336.directory tr.even { 1337 background-color: var(--odd-color); 1338} 1339 1340.icona { 1341 width: auto; 1342 height: auto; 1343 margin: 0 var(--spacing-small); 1344} 1345 1346.icon { 1347 background: var(--primary-color); 1348 width: 18px; 1349 height: 18px; 1350 line-height: 18px; 1351} 1352 1353.iconfopen, .icondoc, .iconfclosed { 1354 background-position: center; 1355 margin-bottom: 0; 1356} 1357 1358.icondoc { 1359 filter: saturate(0.2); 1360} 1361 1362@media screen and (max-width: 767px) { 1363 div.directory { 1364 margin-left: calc(0px - var(--spacing-medium)); 1365 margin-right: calc(0px - var(--spacing-medium)); 1366 } 1367} 1368 1369@media (prefers-color-scheme: dark) { 1370 html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed { 1371 filter: hue-rotate(180deg) invert(); 1372 } 1373} 1374 1375html.dark-mode .iconfopen, html.dark-mode .iconfclosed { 1376 filter: hue-rotate(180deg) invert(); 1377} 1378 1379/* 1380 Class list 1381 */ 1382 1383.classindex dl.odd { 1384 background: var(--odd-color); 1385 border-radius: var(--border-radius-small); 1386} 1387 1388@media screen and (max-width: 767px) { 1389 .classindex { 1390 margin: 0 calc(0px - var(--spacing-small)); 1391 } 1392} 1393 1394/* 1395 Footer and nav-path 1396 */ 1397 1398#nav-path { 1399 margin-bottom: -1px; 1400 width: 100%; 1401} 1402 1403#nav-path ul { 1404 background-image: none; 1405 background: var(--page-background-color); 1406 border: none; 1407 border-top: 1px solid var(--separator-color); 1408 border-bottom: 1px solid var(--separator-color); 1409 font-size: var(--navigation-font-size); 1410} 1411 1412img.footer { 1413 width: 60px; 1414} 1415 1416.navpath li.footer { 1417 color: var(--page-secondary-foreground-color); 1418} 1419 1420address.footer { 1421 margin-bottom: var(--spacing-large); 1422} 1423 1424#nav-path li.navelem { 1425 background-image: none; 1426 display: flex; 1427 align-items: center; 1428} 1429 1430.navpath li.navelem a { 1431 text-shadow: none; 1432 display: inline-block; 1433 color: var(--primary-color) !important; 1434} 1435 1436.navpath li.navelem b { 1437 color: var(--primary-dark-color); 1438 font-weight: 500; 1439} 1440 1441li.navelem { 1442 padding: 0; 1443 margin-left: -8px; 1444} 1445 1446li.navelem:first-child { 1447 margin-left: var(--spacing-large); 1448} 1449 1450li.navelem:first-child:before { 1451 display: none; 1452} 1453 1454#nav-path li.navelem:after { 1455 content: ''; 1456 border: 5px solid var(--page-background-color); 1457 border-bottom-color: transparent; 1458 border-right-color: transparent; 1459 border-top-color: transparent; 1460 transform: scaleY(4.2); 1461 z-index: 10; 1462 margin-left: 6px; 1463} 1464 1465#nav-path li.navelem:before { 1466 content: ''; 1467 border: 5px solid var(--separator-color); 1468 border-bottom-color: transparent; 1469 border-right-color: transparent; 1470 border-top-color: transparent; 1471 transform: scaleY(3.2); 1472 margin-right: var(--spacing-small); 1473} 1474 1475.navpath li.navelem a:hover { 1476 color: var(--primary-color); 1477} 1478 1479/* 1480 Optional Dark mode toggle button 1481*/ 1482 1483doxygen-awesome-dark-mode-toggle { 1484 display: inline-block; 1485 margin: 0 0 0 var(--spacing-small); 1486 padding: 0; 1487 width: var(--searchbar-height); 1488 height: var(--searchbar-height); 1489 background: none; 1490 border: none; 1491 font-size: 23px; 1492 border-radius: var(--border-radius-medium); 1493 vertical-align: middle; 1494 text-align: center; 1495 line-height: var(--searchbar-height); 1496} 1497 1498doxygen-awesome-dark-mode-toggle:hover { 1499 background: var(--separator-color); 1500} 1501 1502doxygen-awesome-dark-mode-toggle:after { 1503 content: var(--darkmode-toggle-button-icon) 1504} 1505