comparison doc/doxygen-awesome.css @ 33:1d0ddf9e6efd

misc: general documentation
author David Demelier <markand@malikania.fr>
date Thu, 04 Aug 2022 16:47:10 +0200
parents
children
comparison
equal deleted inserted replaced
32:081e1c258e64 33:1d0ddf9e6efd
1 /**
2
3 Doxygen Awesome
4 https://github.com/jothepro/doxygen-awesome-css
5
6 MIT License
7
8 Copyright (c) 2021 - 2022 jothepro
9
10 Permission is hereby granted, free of charge, to any person obtaining a copy
11 of this software and associated documentation files (the "Software"), to deal
12 in the Software without restriction, including without limitation the rights
13 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 copies of the Software, and to permit persons to whom the Software is
15 furnished to do so, subject to the following conditions:
16
17 The above copyright notice and this permission notice shall be included in all
18 copies or substantial portions of the Software.
19
20 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 SOFTWARE.
27
28 */
29
30 html {
31 /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
32 --primary-color: #1779c4;
33 --primary-dark-color: #335c80;
34 --primary-light-color: #70b1e9;
35
36 /* page base colors */
37 --page-background-color: white;
38 --page-foreground-color: #2f4153;
39 --page-secondary-foreground-color: #637485;
40
41 /* color for all separators on the website: hr, borders, ... */
42 --separator-color: #dedede;
43
44 /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */
45 --border-radius-large: 8px;
46 --border-radius-small: 4px;
47 --border-radius-medium: 6px;
48
49 /* default spacings. Most compontest reference these values for spacing, to provide uniform spacing on the page. */
50 --spacing-small: 5px;
51 --spacing-medium: 10px;
52 --spacing-large: 16px;
53
54 /* default box shadow used for raising an element above the normal content. Used in dropdowns, Searchresult, ... */
55 --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
56
57 --odd-color: rgba(0,0,0,.028);
58
59 /* font-families. will affect all text on the website
60 * font-family: the normal font for text, headlines, menus
61 * font-family-monospace: used for preformatted text in memtitle, code, fragments
62 */
63 --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;
64 --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
65
66 /* font sizes */
67 --page-font-size: 15.6px;
68 --navigation-font-size: 14.4px;
69 --code-font-size: 14px; /* affects code, fragment */
70 --title-font-size: 22px;
71
72 /* content text properties. These only affect the page content, not the navigation or any other ui elements */
73 --content-line-height: 27px;
74 /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/
75 --content-maxwidth: 1000px;
76
77 /* colors for various content boxes: @warning, @note, @deprecated @bug */
78 --warning-color: #f8d1cc;
79 --warning-color-dark: #b61825;
80 --warning-color-darker: #75070f;
81 --note-color: #faf3d8;
82 --note-color-dark: #f3a600;
83 --note-color-darker: #5f4204;
84 --todo-color: #e4f3ff;
85 --todo-color-dark: #1879C4;
86 --todo-color-darker: #274a5c;
87 --deprecated-color: #ecf0f3;
88 --deprecated-color-dark: #5b6269;
89 --deprecated-color-darker: #43454a;
90 --bug-color: #e4dafd;
91 --bug-color-dark: #5b2bdd;
92 --bug-color-darker: #2a0d72;
93 --invariant-color: #d8f1e3;
94 --invariant-color-dark: #44b86f;
95 --invariant-color-darker: #265532;
96
97 /* blockquote colors */
98 --blockquote-background: #f8f9fa;
99 --blockquote-foreground: #636568;
100
101 /* table colors */
102 --tablehead-background: #f1f1f1;
103 --tablehead-foreground: var(--page-foreground-color);
104
105 /* menu-display: block | none
106 * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible.
107 * `GENERATE_TREEVIEW` MUST be enabled!
108 */
109 --menu-display: block;
110
111 --menu-focus-foreground: var(--page-background-color);
112 --menu-focus-background: var(--primary-color);
113 --menu-selected-background: rgba(0,0,0,.05);
114
115
116 --header-background: var(--page-background-color);
117 --header-foreground: var(--page-foreground-color);
118
119 /* searchbar colors */
120 --searchbar-background: var(--side-nav-background);
121 --searchbar-foreground: var(--page-foreground-color);
122
123 /* searchbar size
124 * (`searchbar-width` is only applied on screens >= 768px.
125 * on smaller screens the searchbar will always fill the entire screen width) */
126 --searchbar-height: 33px;
127 --searchbar-width: 210px;
128 --searchbar-border-radius: var(--searchbar-height);
129
130 /* code block colors */
131 --code-background: #f5f5f5;
132 --code-foreground: var(--page-foreground-color);
133
134 /* fragment colors */
135 --fragment-background: #F8F9FA;
136 --fragment-foreground: #37474F;
137 --fragment-keyword: #bb6bb2;
138 --fragment-keywordtype: #8258b3;
139 --fragment-keywordflow: #d67c3b;
140 --fragment-token: #438a59;
141 --fragment-comment: #969696;
142 --fragment-link: #5383d6;
143 --fragment-preprocessor: #46aaa5;
144 --fragment-linenumber-color: #797979;
145 --fragment-linenumber-background: #f4f4f5;
146 --fragment-linenumber-border: #e3e5e7;
147 --fragment-lineheight: 20px;
148
149 /* sidebar navigation (treeview) colors */
150 --side-nav-background: #fbfbfb;
151 --side-nav-foreground: var(--page-foreground-color);
152 --side-nav-arrow-opacity: 0;
153 --side-nav-arrow-hover-opacity: 0.9;
154
155 --toc-background: var(--side-nav-background);
156 --toc-foreground: var(--side-nav-foreground);
157
158 /* height of an item in any tree / collapsable table */
159 --tree-item-height: 30px;
160
161 --memname-font-size: var(--code-font-size);
162 --memtitle-font-size: 18px;
163
164 --webkit-scrollbar-size: 7px;
165 --webkit-scrollbar-padding: 4px;
166 --webkit-scrollbar-color: var(--separator-color);
167 }
168
169 @media screen and (max-width: 767px) {
170 html {
171 --page-font-size: 16px;
172 --navigation-font-size: 16px;
173 --code-font-size: 15px; /* affects code, fragment */
174 --title-font-size: 22px;
175 }
176 }
177
178 @media (prefers-color-scheme: dark) {
179 html:not(.light-mode) {
180 color-scheme: dark;
181
182 --primary-color: #1982d2;
183 --primary-dark-color: #86a9c4;
184 --primary-light-color: #4779ac;
185
186 --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35);
187
188 --odd-color: rgba(100,100,100,.06);
189
190 --menu-selected-background: rgba(0,0,0,.4);
191
192 --page-background-color: #1C1D1F;
193 --page-foreground-color: #d2dbde;
194 --page-secondary-foreground-color: #859399;
195 --separator-color: #38393b;
196 --side-nav-background: #252628;
197
198 --code-background: #2a2c2f;
199
200 --tablehead-background: #2a2c2f;
201
202 --blockquote-background: #222325;
203 --blockquote-foreground: #7e8c92;
204
205 --warning-color: #2e1917;
206 --warning-color-dark: #ad2617;
207 --warning-color-darker: #f5b1aa;
208 --note-color: #3b2e04;
209 --note-color-dark: #f1b602;
210 --note-color-darker: #ceb670;
211 --todo-color: #163750;
212 --todo-color-dark: #1982D2;
213 --todo-color-darker: #dcf0fa;
214 --deprecated-color: #2e323b;
215 --deprecated-color-dark: #738396;
216 --deprecated-color-darker: #abb0bd;
217 --bug-color: #2a2536;
218 --bug-color-dark: #7661b3;
219 --bug-color-darker: #ae9ed6;
220 --invariant-color: #303a35;
221 --invariant-color-dark: #76ce96;
222 --invariant-color-darker: #cceed5;
223
224 --fragment-background: #282c34;
225 --fragment-foreground: #dbe4eb;
226 --fragment-keyword: #cc99cd;
227 --fragment-keywordtype: #ab99cd;
228 --fragment-keywordflow: #e08000;
229 --fragment-token: #7ec699;
230 --fragment-comment: #999999;
231 --fragment-link: #98c0e3;
232 --fragment-preprocessor: #65cabe;
233 --fragment-linenumber-color: #cccccc;
234 --fragment-linenumber-background: #35393c;
235 --fragment-linenumber-border: #1f1f1f;
236 }
237 }
238
239 /* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */
240 html.dark-mode {
241 color-scheme: dark;
242
243 --primary-color: #1982d2;
244 --primary-dark-color: #86a9c4;
245 --primary-light-color: #4779ac;
246
247 --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30);
248
249 --odd-color: rgba(100,100,100,.06);
250
251 --menu-selected-background: rgba(0,0,0,.4);
252
253 --page-background-color: #1C1D1F;
254 --page-foreground-color: #d2dbde;
255 --page-secondary-foreground-color: #859399;
256 --separator-color: #38393b;
257 --side-nav-background: #252628;
258
259 --code-background: #2a2c2f;
260
261 --tablehead-background: #2a2c2f;
262
263 --blockquote-background: #222325;
264 --blockquote-foreground: #7e8c92;
265
266 --warning-color: #2e1917;
267 --warning-color-dark: #ad2617;
268 --warning-color-darker: #f5b1aa;
269 --note-color: #3b2e04;
270 --note-color-dark: #f1b602;
271 --note-color-darker: #ceb670;
272 --todo-color: #163750;
273 --todo-color-dark: #1982D2;
274 --todo-color-darker: #dcf0fa;
275 --deprecated-color: #2e323b;
276 --deprecated-color-dark: #738396;
277 --deprecated-color-darker: #abb0bd;
278 --bug-color: #2a2536;
279 --bug-color-dark: #7661b3;
280 --bug-color-darker: #ae9ed6;
281 --invariant-color: #303a35;
282 --invariant-color-dark: #76ce96;
283 --invariant-color-darker: #cceed5;
284
285 --fragment-background: #282c34;
286 --fragment-foreground: #dbe4eb;
287 --fragment-keyword: #cc99cd;
288 --fragment-keywordtype: #ab99cd;
289 --fragment-keywordflow: #e08000;
290 --fragment-token: #7ec699;
291 --fragment-comment: #999999;
292 --fragment-link: #98c0e3;
293 --fragment-preprocessor: #65cabe;
294 --fragment-linenumber-color: #cccccc;
295 --fragment-linenumber-background: #35393c;
296 --fragment-linenumber-border: #1f1f1f;
297 }
298
299 body {
300 color: var(--page-foreground-color);
301 background-color: var(--page-background-color);
302 font-size: var(--page-font-size);
303 }
304
305 body, 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 {
306 font-family: var(--font-family);
307 }
308
309 h1, h2, h3, h4, h5 {
310 margin-top: .9em;
311 font-weight: 600;
312 line-height: initial;
313 }
314
315 p, div, table, dl {
316 font-size: var(--page-font-size);
317 }
318
319 a:link, a:visited, a:hover, a:focus, a:active {
320 color: var(--primary-color) !important;
321 font-weight: 500;
322 }
323
324 a.anchor {
325 scroll-margin-top: var(--spacing-large);
326 }
327
328 /*
329 Title and top navigation
330 */
331
332 #top {
333 background: var(--header-background);
334 border-bottom: 1px solid var(--separator-color);
335 }
336
337 @media screen and (min-width: 768px) {
338 #top {
339 display: flex;
340 flex-wrap: wrap;
341 justify-content: space-between;
342 align-items: center;
343 }
344 }
345
346 #main-nav {
347 flex-grow: 5;
348 padding: var(--spacing-small) var(--spacing-medium);
349 }
350
351 #titlearea {
352 width: auto;
353 padding: var(--spacing-medium) var(--spacing-large);
354 background: none;
355 color: var(--header-foreground);
356 border-bottom: none;
357 }
358
359 @media screen and (max-width: 767px) {
360 #titlearea {
361 padding-bottom: var(--spacing-small);
362 }
363 }
364
365 #titlearea table tbody tr {
366 height: auto !important;
367 }
368
369 #projectname {
370 font-size: var(--title-font-size);
371 font-weight: 600;
372 }
373
374 #projectnumber {
375 font-family: inherit;
376 font-size: 60%;
377 }
378
379 #projectbrief {
380 font-family: inherit;
381 font-size: 80%;
382 }
383
384 #projectlogo {
385 vertical-align: middle;
386 }
387
388 #projectlogo img {
389 max-height: calc(var(--title-font-size) * 2);
390 margin-right: var(--spacing-small);
391 }
392
393 .sm-dox, .tabs, .tabs2, .tabs3 {
394 background: none;
395 padding: 0;
396 }
397
398 .tabs, .tabs2, .tabs3 {
399 border-bottom: 1px solid var(--separator-color);
400 margin-bottom: -1px;
401 }
402
403 @media screen and (max-width: 767px) {
404 .sm-dox a span.sub-arrow {
405 background: var(--code-background);
406 }
407
408 #main-menu a.has-submenu span.sub-arrow {
409 color: var(--page-secondary-foreground-color);
410 border-radius: var(--border-radius-medium);
411 }
412
413 #main-menu a.has-submenu:hover span.sub-arrow {
414 color: var(--page-foreground-color);
415 }
416 }
417
418 @media screen and (min-width: 768px) {
419 .sm-dox li, .tablist li {
420 display: var(--menu-display);
421 }
422
423 .sm-dox a span.sub-arrow {
424 border-color: var(--header-foreground) transparent transparent transparent;
425 }
426
427 .sm-dox a:hover span.sub-arrow {
428 border-color: var(--menu-focus-foreground) transparent transparent transparent;
429 }
430
431 .sm-dox ul a span.sub-arrow {
432 border-color: transparent transparent transparent var(--page-foreground-color);
433 }
434
435 .sm-dox ul a:hover span.sub-arrow {
436 border-color: transparent transparent transparent var(--menu-focus-foreground);
437 }
438 }
439
440 .sm-dox ul {
441 background: var(--page-background-color);
442 box-shadow: var(--box-shadow);
443 border: 1px solid var(--separator-color);
444 border-radius: var(--border-radius-medium) !important;
445 padding: var(--spacing-small);
446 animation: ease-out 150ms slideInMenu;
447 }
448
449 @keyframes slideInMenu {
450 from {
451 opacity: 0;
452 transform: translate(0px, -2px);
453 }
454
455 to {
456 opacity: 1;
457 transform: translate(0px, 0px);
458 }
459 }
460
461 .sm-dox ul a {
462 color: var(--page-foreground-color) !important;
463 background: var(--page-background-color);
464 font-size: var(--navigation-font-size);
465 }
466
467 .sm-dox>li>ul:after {
468 border-bottom-color: var(--page-background-color) !important;
469 }
470
471 .sm-dox>li>ul:before {
472 border-bottom-color: var(--separator-color) !important;
473 }
474
475 .sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus {
476 font-size: var(--navigation-font-size) !important;
477 color: var(--menu-focus-foreground) !important;
478 text-shadow: none;
479 background-color: var(--menu-focus-background);
480 border-radius: var(--border-radius-small) !important;
481 }
482
483 .sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a {
484 text-shadow: none;
485 background: transparent;
486 background-image: none !important;
487 color: var(--header-foreground) !important;
488 font-weight: normal;
489 font-size: var(--navigation-font-size);
490 border-radius: var(--border-radius-small) !important;
491 }
492
493 .sm-dox a:focus {
494 outline: auto;
495 }
496
497 .sm-dox a:hover, .sm-dox a:active, .tablist li a:hover {
498 text-shadow: none;
499 font-weight: normal;
500 background: var(--menu-focus-background);
501 color: var(--menu-focus-foreground) !important;
502 border-radius: var(--border-radius-small) !important;
503 font-size: var(--navigation-font-size);
504 }
505
506 .tablist li.current {
507 border-radius: var(--border-radius-small);
508 background: var(--menu-selected-background);
509 }
510
511 .tablist li {
512 margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small);
513 }
514
515 .tablist a {
516 padding: 0 var(--spacing-large);
517 }
518
519
520 /*
521 Search box
522 */
523
524 #MSearchBox {
525 height: var(--searchbar-height);
526 background: var(--searchbar-background);
527 border-radius: var(--searchbar-border-radius);
528 border: 1px solid var(--separator-color);
529 overflow: hidden;
530 width: var(--searchbar-width);
531 position: relative;
532 box-shadow: none;
533 display: block;
534 margin-top: 0;
535 }
536
537 .left #MSearchSelect {
538 left: 0;
539 user-select: none;
540 }
541
542 .SelectionMark {
543 user-select: none;
544 }
545
546 .tabs .left #MSearchSelect {
547 padding-left: 0;
548 }
549
550 .tabs #MSearchBox {
551 position: absolute;
552 right: var(--spacing-medium);
553 }
554
555 @media screen and (max-width: 767px) {
556 .tabs #MSearchBox {
557 position: relative;
558 right: 0;
559 margin-left: var(--spacing-medium);
560 margin-top: 0;
561 }
562 }
563
564 #MSearchSelectWindow, #MSearchResultsWindow {
565 z-index: 9999;
566 }
567
568 #MSearchBox.MSearchBoxActive {
569 border-color: var(--primary-color);
570 box-shadow: inset 0 0 0 1px var(--primary-color);
571 }
572
573 #main-menu > li:last-child {
574 margin-right: 0;
575 }
576
577 @media screen and (max-width: 767px) {
578 #main-menu > li:last-child {
579 height: 50px;
580 }
581 }
582
583 #MSearchField {
584 font-size: var(--navigation-font-size);
585 height: calc(var(--searchbar-height) - 2px);
586 background: transparent;
587 width: calc(var(--searchbar-width) - 64px);
588 }
589
590 .MSearchBoxActive #MSearchField {
591 color: var(--searchbar-foreground);
592 }
593
594 #MSearchSelect {
595 top: calc(calc(var(--searchbar-height) / 2) - 11px);
596 }
597
598 .left #MSearchSelect {
599 padding-left: 8px;
600 }
601
602 #MSearchBox span.left, #MSearchBox span.right {
603 background: none;
604 }
605
606 #MSearchBox span.right {
607 padding-top: calc(calc(var(--searchbar-height) / 2) - 12px);
608 position: absolute;
609 right: var(--spacing-small);
610 }
611
612 .tabs #MSearchBox span.right {
613 top: calc(calc(var(--searchbar-height) / 2) - 12px);
614 }
615
616 @keyframes slideInSearchResults {
617 from {
618 opacity: 0;
619 transform: translate(0, 15px);
620 }
621
622 to {
623 opacity: 1;
624 transform: translate(0, 20px);
625 }
626 }
627
628 #MSearchResultsWindow {
629 left: auto !important;
630 right: var(--spacing-medium);
631 border-radius: var(--border-radius-large);
632 border: 1px solid var(--separator-color);
633 transform: translate(0, 20px);
634 box-shadow: var(--box-shadow);
635 animation: ease-out 280ms slideInSearchResults;
636 background: var(--page-background-color);
637 }
638
639 iframe#MSearchResults {
640 margin: 4px;
641 }
642
643 iframe {
644 color-scheme: normal;
645 }
646
647 @media (prefers-color-scheme: dark) {
648 html:not(.light-mode) iframe#MSearchResults {
649 filter: invert() hue-rotate(180deg);
650 }
651 }
652
653 html.dark-mode iframe#MSearchResults {
654 filter: invert() hue-rotate(180deg);
655 }
656
657 #MSearchSelectWindow {
658 border: 1px solid var(--separator-color);
659 border-radius: var(--border-radius-medium);
660 box-shadow: var(--box-shadow);
661 background: var(--page-background-color);
662 padding-top: var(--spacing-small);
663 padding-bottom: var(--spacing-small);
664 }
665
666 #MSearchSelectWindow a.SelectItem {
667 font-size: var(--navigation-font-size);
668 line-height: var(--content-line-height);
669 margin: 0 var(--spacing-small);
670 border-radius: var(--border-radius-small);
671 color: var(--page-foreground-color) !important;
672 font-weight: normal;
673 }
674
675 #MSearchSelectWindow a.SelectItem:hover {
676 background: var(--menu-focus-background);
677 color: var(--menu-focus-foreground) !important;
678 }
679
680 @media screen and (max-width: 767px) {
681 #MSearchBox {
682 margin-top: var(--spacing-medium);
683 margin-bottom: var(--spacing-medium);
684 width: calc(100vw - 30px);
685 }
686
687 #main-menu > li:last-child {
688 float: none !important;
689 }
690
691 #MSearchField {
692 width: calc(100vw - 110px);
693 }
694
695 @keyframes slideInSearchResultsMobile {
696 from {
697 opacity: 0;
698 transform: translate(0, 15px);
699 }
700
701 to {
702 opacity: 1;
703 transform: translate(0, 20px);
704 }
705 }
706
707 #MSearchResultsWindow {
708 left: var(--spacing-medium) !important;
709 right: var(--spacing-medium);
710 overflow: auto;
711 transform: translate(0, 20px);
712 animation: ease-out 280ms slideInSearchResultsMobile;
713 }
714
715 /*
716 * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2
717 */
718 label.main-menu-btn ~ #searchBoxPos1 {
719 top: 3px !important;
720 right: 6px !important;
721 left: 45px;
722 display: flex;
723 }
724
725 label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox {
726 margin-top: 0;
727 margin-bottom: 0;
728 flex-grow: 2;
729 float: left;
730 }
731 }
732
733 /*
734 Tree view
735 */
736
737 #side-nav {
738 padding: 0 !important;
739 background: var(--side-nav-background);
740 }
741
742 @media screen and (max-width: 767px) {
743 #side-nav {
744 display: none;
745 }
746
747 #doc-content {
748 margin-left: 0 !important;
749 }
750 }
751
752 #nav-tree {
753 background: transparent;
754 }
755
756 #nav-tree .label {
757 font-size: var(--navigation-font-size);
758 }
759
760 #nav-tree .item {
761 height: var(--tree-item-height);
762 line-height: var(--tree-item-height);
763 }
764
765 #nav-sync {
766 bottom: 12px;
767 right: 12px;
768 top: auto !important;
769 user-select: none;
770 }
771
772 #nav-tree .selected {
773 text-shadow: none;
774 background-image: none;
775 background-color: transparent;
776 box-shadow: inset 4px 0 0 0 var(--primary-color);
777 }
778
779 #nav-tree a {
780 color: var(--side-nav-foreground) !important;
781 font-weight: normal;
782 }
783
784 #nav-tree a:focus {
785 outline-style: auto;
786 }
787
788 #nav-tree .arrow {
789 opacity: var(--side-nav-arrow-opacity);
790 }
791
792 .arrow {
793 color: inherit;
794 cursor: pointer;
795 font-size: 45%;
796 vertical-align: middle;
797 margin-right: 2px;
798 font-family: serif;
799 height: auto;
800 text-align: right;
801 }
802
803 #nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow {
804 opacity: var(--side-nav-arrow-hover-opacity);
805 }
806
807 #nav-tree .selected a {
808 color: var(--primary-color) !important;
809 font-weight: bolder;
810 font-weight: 600;
811 }
812
813 .ui-resizable-e {
814 background: var(--separator-color);
815 width: 1px;
816 }
817
818 /*
819 Contents
820 */
821
822 div.header {
823 border-bottom: 1px solid var(--separator-color);
824 background-color: var(--page-background-color);
825 background-image: none;
826 }
827
828 div.contents, div.header .title, div.header .summary {
829 max-width: var(--content-maxwidth);
830 }
831
832 div.contents, div.header .title {
833 line-height: initial;
834 margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto;
835 }
836
837 div.header .summary {
838 margin: var(--spacing-medium) auto 0 auto;
839 }
840
841 div.headertitle {
842 padding: 0;
843 }
844
845 div.header .title {
846 font-weight: 600;
847 font-size: 210%;
848 padding: var(--spacing-medium) var(--spacing-large);
849 word-break: break-word;
850 }
851
852 div.header .summary {
853 width: auto;
854 display: block;
855 float: none;
856 padding: 0 var(--spacing-large);
857 }
858
859 td.memSeparator {
860 border-color: var(--separator-color);
861 }
862
863 .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams {
864 background: var(--code-background);
865 }
866
867 span.mlabel {
868 background: var(--primary-color);
869 border: none;
870 padding: 4px 9px;
871 border-radius: 12px;
872 margin-right: var(--spacing-medium);
873 }
874
875 span.mlabel:last-of-type {
876 margin-right: 2px;
877 }
878
879 div.contents {
880 padding: 0 var(--spacing-large);
881 }
882
883 div.contents p, div.contents li {
884 line-height: var(--content-line-height);
885 }
886
887 div.contents div.dyncontent {
888 margin: var(--spacing-medium) 0;
889 }
890
891 @media (prefers-color-scheme: dark) {
892 html:not(.light-mode) div.contents div.dyncontent img,
893 html:not(.light-mode) div.contents center img,
894 html:not(.light-mode) div.contents table img,
895 html:not(.light-mode) div.contents div.dyncontent iframe,
896 html:not(.light-mode) div.contents center iframe,
897 html:not(.light-mode) div.contents table iframe {
898 filter: hue-rotate(180deg) invert();
899 }
900 }
901
902 html.dark-mode div.contents div.dyncontent img,
903 html.dark-mode div.contents center img,
904 html.dark-mode div.contents table img,
905 html.dark-mode div.contents div.dyncontent iframe,
906 html.dark-mode div.contents center iframe,
907 html.dark-mode div.contents table iframe {
908 filter: hue-rotate(180deg) invert();
909 }
910
911 h2.groupheader {
912 border-bottom: 0px;
913 color: var(--page-foreground-color);
914 box-shadow:
915 100px 0 var(--page-background-color),
916 -100px 0 var(--page-background-color),
917 100px 1px var(--separator-color),
918 -100px 1px var(--separator-color),
919 500px 0 var(--page-background-color),
920 -500px 0 var(--page-background-color),
921 500px 1px var(--separator-color),
922 -500px 1px var(--separator-color),
923 1500px 0 var(--page-background-color),
924 1500px 1px var(--separator-color),
925 var(--content-maxwidth) 0 var(--page-background-color),
926 calc(0px - var(--content-maxwidth)) 0 var(--page-background-color),
927 var(--content-maxwidth) 1px var(--separator-color),
928 calc(0px - var(--content-maxwidth)) 1px var(--separator-color),
929 calc(2 * var(--content-maxwidth)) 0 var(--page-background-color),
930 calc(0px - 2 * var(--content-maxwidth)) 0 var(--page-background-color),
931 calc(2 * var(--content-maxwidth)) 1px var(--separator-color),
932 calc(0px - 2 * var(--content-maxwidth)) 1px var(--separator-color);
933 }
934
935 blockquote {
936 margin: 0 var(--spacing-medium) 0 var(--spacing-medium);
937 padding: var(--spacing-small) var(--spacing-large);
938 background: var(--blockquote-background);
939 color: var(--blockquote-foreground);
940 border-left: 0;
941 overflow: visible;
942 border-radius: var(--border-radius-medium);
943 overflow: visible;
944 position: relative;
945 }
946
947 blockquote::before, blockquote::after {
948 font-weight: bold;
949 font-family: serif;
950 font-size: 360%;
951 opacity: .15;
952 position: absolute;
953 }
954
955 blockquote::before {
956 content: "“";
957 left: -10px;
958 top: 4px;
959 }
960
961 blockquote::after {
962 content: "”";
963 right: -8px;
964 bottom: -25px;
965 }
966
967 blockquote p {
968 margin: var(--spacing-small) 0 var(--spacing-medium) 0;
969 }
970 .paramname {
971 font-weight: 600;
972 color: var(--primary-dark-color);
973 }
974
975 .paramname > code {
976 border: 0;
977 }
978
979 table.params .paramname {
980 font-weight: 600;
981 font-family: var(--font-family-monospace);
982 font-size: var(--code-font-size);
983 padding-right: var(--spacing-small);
984 }
985
986 .glow {
987 text-shadow: 0 0 15px var(--primary-light-color) !important;
988 }
989
990 .alphachar a {
991 color: var(--page-foreground-color);
992 }
993
994 /*
995 Table of Contents
996 */
997
998 div.toc {
999 z-index: 10;
1000 position: relative;
1001 background-color: var(--toc-background);
1002 border: 1px solid var(--separator-color);
1003 border-radius: var(--border-radius-medium);
1004 box-shadow: var(--box-shadow);
1005 padding: 0 var(--spacing-large);
1006 margin: 0 0 var(--spacing-medium) var(--spacing-medium);
1007 }
1008
1009 div.toc h3 {
1010 color: var(--toc-foreground);
1011 font-size: var(--navigation-font-size);
1012 margin: var(--spacing-large) 0;
1013 }
1014
1015 div.toc li {
1016 font-size: var(--navigation-font-size);
1017 padding: 0;
1018 background: none;
1019 }
1020
1021 div.toc li:before {
1022 content: '↓';
1023 font-weight: 800;
1024 font-family: var(--font-family);
1025 margin-right: var(--spacing-small);
1026 color: var(--toc-foreground);
1027 opacity: .4;
1028 }
1029
1030 div.toc ul li.level1 {
1031 margin: 0;
1032 }
1033
1034 div.toc ul li.level2, div.toc ul li.level3 {
1035 margin-top: 0;
1036 }
1037
1038
1039 @media screen and (max-width: 767px) {
1040 div.toc {
1041 float: none;
1042 width: auto;
1043 margin: 0 0 var(--spacing-medium) 0;
1044 }
1045 }
1046
1047 /*
1048 Code & Fragments
1049 */
1050
1051 code, div.fragment, pre.fragment {
1052 border-radius: var(--border-radius-small);
1053 border: 1px solid var(--separator-color);
1054 overflow: hidden;
1055 }
1056
1057 code {
1058 display: inline;
1059 background: var(--code-background);
1060 color: var(--code-foreground);
1061 padding: 2px 6px;
1062 word-break: break-word;
1063 }
1064
1065 div.fragment, pre.fragment {
1066 margin: var(--spacing-medium) 0;
1067 padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large);
1068 background: var(--fragment-background);
1069 color: var(--fragment-foreground);
1070 overflow-x: auto;
1071 }
1072
1073 @media screen and (max-width: 767px) {
1074 div.fragment, pre.fragment {
1075 border-top-right-radius: 0;
1076 border-bottom-right-radius: 0;
1077 border-right: 0;
1078 }
1079
1080 .contents > div.fragment,
1081 .textblock > div.fragment,
1082 .textblock > pre.fragment,
1083 .contents > .doxygen-awesome-fragment-wrapper > div.fragment,
1084 .textblock > .doxygen-awesome-fragment-wrapper > div.fragment,
1085 .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment {
1086 margin: var(--spacing-medium) calc(0px - var(--spacing-large));
1087 border-radius: 0;
1088 border-left: 0;
1089 }
1090
1091 .textblock li > .fragment,
1092 .textblock li > .doxygen-awesome-fragment-wrapper > .fragment {
1093 margin: var(--spacing-medium) calc(0px - var(--spacing-large));
1094 }
1095
1096 .memdoc li > .fragment,
1097 .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment {
1098 margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
1099 }
1100
1101 .textblock ul, .memdoc ul {
1102 overflow: initial;
1103 }
1104
1105 .memdoc > div.fragment,
1106 .memdoc > pre.fragment,
1107 dl dd > div.fragment,
1108 dl dd pre.fragment,
1109 .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment,
1110 .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment,
1111 dl dd > .doxygen-awesome-fragment-wrapper > div.fragment,
1112 dl dd .doxygen-awesome-fragment-wrapper > pre.fragment {
1113 margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
1114 border-radius: 0;
1115 border-left: 0;
1116 }
1117 }
1118
1119 code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span {
1120 font-family: var(--font-family-monospace);
1121 font-size: var(--code-font-size) !important;
1122 }
1123
1124 div.line:after {
1125 margin-right: var(--spacing-medium);
1126 }
1127
1128 div.fragment .line, pre.fragment {
1129 white-space: pre;
1130 word-wrap: initial;
1131 line-height: var(--fragment-lineheight);
1132 }
1133
1134 div.fragment span.keyword {
1135 color: var(--fragment-keyword);
1136 }
1137
1138 div.fragment span.keywordtype {
1139 color: var(--fragment-keywordtype);
1140 }
1141
1142 div.fragment span.keywordflow {
1143 color: var(--fragment-keywordflow);
1144 }
1145
1146 div.fragment span.stringliteral {
1147 color: var(--fragment-token)
1148 }
1149
1150 div.fragment span.comment {
1151 color: var(--fragment-comment);
1152 }
1153
1154 div.fragment a.code {
1155 color: var(--fragment-link) !important;
1156 }
1157
1158 div.fragment span.preprocessor {
1159 color: var(--fragment-preprocessor);
1160 }
1161
1162 div.fragment span.lineno {
1163 display: inline-block;
1164 width: 27px;
1165 border-right: none;
1166 background: var(--fragment-linenumber-background);
1167 color: var(--fragment-linenumber-color);
1168 }
1169
1170 div.fragment span.lineno a {
1171 background: none;
1172 color: var(--fragment-link) !important;
1173 }
1174
1175 div.fragment .line:first-child .lineno {
1176 box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border);
1177 }
1178
1179 /*
1180 dl warning, attention, note, deprecated, bug, ...
1181 */
1182
1183 dl.bug dt a, dl.deprecated dt a, dl.todo dt a {
1184 font-weight: bold !important;
1185 }
1186
1187 dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.todo, dl.remark {
1188 padding: var(--spacing-medium);
1189 margin: var(--spacing-medium) 0;
1190 color: var(--page-background-color);
1191 overflow: hidden;
1192 margin-left: 0;
1193 border-radius: var(--border-radius-small);
1194 }
1195
1196 dl.section dd {
1197 margin-bottom: 2px;
1198 }
1199
1200 dl.warning, dl.attention {
1201 background: var(--warning-color);
1202 border-left: 8px solid var(--warning-color-dark);
1203 color: var(--warning-color-darker);
1204 }
1205
1206 dl.warning dt, dl.attention dt {
1207 color: var(--warning-color-dark);
1208 }
1209
1210 dl.note, dl.remark {
1211 background: var(--note-color);
1212 border-left: 8px solid var(--note-color-dark);
1213 color: var(--note-color-darker);
1214 }
1215
1216 dl.note dt, dl.remark dt {
1217 color: var(--note-color-dark);
1218 }
1219
1220 dl.todo {
1221 background: var(--todo-color);
1222 border-left: 8px solid var(--todo-color-dark);
1223 color: var(--todo-color-darker);
1224 }
1225
1226 dl.todo dt {
1227 color: var(--todo-color-dark);
1228 }
1229
1230 dl.bug dt a {
1231 color: var(--todo-color-dark) !important;
1232 }
1233
1234 dl.bug {
1235 background: var(--bug-color);
1236 border-left: 8px solid var(--bug-color-dark);
1237 color: var(--bug-color-darker);
1238 }
1239
1240 dl.bug dt a {
1241 color: var(--bug-color-dark) !important;
1242 }
1243
1244 dl.deprecated {
1245 background: var(--deprecated-color);
1246 border-left: 8px solid var(--deprecated-color-dark);
1247 color: var(--deprecated-color-darker);
1248 }
1249
1250 dl.deprecated dt a {
1251 color: var(--deprecated-color-dark) !important;
1252 }
1253
1254 dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd {
1255 margin-inline-start: 0px;
1256 }
1257
1258 dl.invariant, dl.pre {
1259 background: var(--invariant-color);
1260 border-left: 8px solid var(--invariant-color-dark);
1261 color: var(--invariant-color-darker);
1262 }
1263
1264 dl.invariant dt, dl.pre dt {
1265 color: var(--invariant-color-dark);
1266 }
1267
1268 /*
1269 memitem
1270 */
1271
1272 div.memdoc, div.memproto, h2.memtitle {
1273 box-shadow: none;
1274 background-image: none;
1275 border: none;
1276 }
1277
1278 div.memdoc {
1279 padding: 0 var(--spacing-medium);
1280 background: var(--page-background-color);
1281 }
1282
1283 h2.memtitle, div.memitem {
1284 border: 1px solid var(--separator-color);
1285 box-shadow: var(--box-shadow);
1286 }
1287
1288 h2.memtitle {
1289 box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow);
1290 }
1291
1292 div.memitem {
1293 transition: none;
1294 }
1295
1296 div.memproto, h2.memtitle {
1297 background: var(--fragment-background);
1298 text-shadow: none;
1299 }
1300
1301 h2.memtitle {
1302 font-weight: 500;
1303 font-size: var(--memtitle-font-size);
1304 font-family: var(--font-family-monospace);
1305 border-bottom: none;
1306 border-top-left-radius: var(--border-radius-medium);
1307 border-top-right-radius: var(--border-radius-medium);
1308 word-break: break-all;
1309 position: relative;
1310 }
1311
1312 h2.memtitle:after {
1313 content: "";
1314 display: block;
1315 background: var(--fragment-background);
1316 height: var(--spacing-medium);
1317 bottom: calc(0px - var(--spacing-medium));
1318 left: 0;
1319 right: -14px;
1320 position: absolute;
1321 border-top-right-radius: var(--border-radius-medium);
1322 }
1323
1324 h2.memtitle > span.permalink {
1325 font-size: inherit;
1326 }
1327
1328 h2.memtitle > span.permalink > a {
1329 text-decoration: none;
1330 padding-left: 3px;
1331 margin-right: -4px;
1332 user-select: none;
1333 display: inline-block;
1334 margin-top: -6px;
1335 }
1336
1337 h2.memtitle > span.permalink > a:hover {
1338 color: var(--primary-dark-color) !important;
1339 }
1340
1341 a:target + h2.memtitle, a:target + h2.memtitle + div.memitem {
1342 border-color: var(--primary-light-color);
1343 }
1344
1345 div.memitem {
1346 border-top-right-radius: var(--border-radius-medium);
1347 border-bottom-right-radius: var(--border-radius-medium);
1348 border-bottom-left-radius: var(--border-radius-medium);
1349 overflow: hidden;
1350 display: block !important;
1351 }
1352
1353 div.memdoc {
1354 border-radius: 0;
1355 }
1356
1357 div.memproto {
1358 border-radius: 0 var(--border-radius-small) 0 0;
1359 overflow: auto;
1360 border-bottom: 1px solid var(--separator-color);
1361 padding: var(--spacing-medium);
1362 margin-bottom: -1px;
1363 }
1364
1365 div.memtitle {
1366 border-top-right-radius: var(--border-radius-medium);
1367 border-top-left-radius: var(--border-radius-medium);
1368 }
1369
1370 div.memproto table.memname {
1371 font-family: var(--font-family-monospace);
1372 color: var(--page-foreground-color);
1373 font-size: var(--memname-font-size);
1374 }
1375
1376 table.mlabels, table.mlabels > tbody {
1377 display: block;
1378 }
1379
1380 td.mlabels-left {
1381 width: auto;
1382 }
1383
1384 td.mlabels-right {
1385 margin-top: 3px;
1386 position: sticky;
1387 left: 0;
1388 }
1389
1390 table.mlabels > tbody > tr:first-child {
1391 display: flex;
1392 justify-content: space-between;
1393 flex-wrap: wrap;
1394 }
1395
1396 .memname, .memitem span.mlabels {
1397 margin: 0
1398 }
1399
1400 /*
1401 reflist
1402 */
1403
1404 dl.reflist {
1405 box-shadow: var(--box-shadow);
1406 border-radius: var(--border-radius-medium);
1407 border: 1px solid var(--separator-color);
1408 overflow: hidden;
1409 padding: 0;
1410 }
1411
1412
1413 dl.reflist dt, dl.reflist dd {
1414 box-shadow: none;
1415 text-shadow: none;
1416 background-image: none;
1417 border: none;
1418 padding: 12px;
1419 }
1420
1421
1422 dl.reflist dt {
1423 font-weight: 500;
1424 border-radius: 0;
1425 background: var(--code-background);
1426 border-bottom: 1px solid var(--separator-color);
1427 color: var(--page-foreground-color)
1428 }
1429
1430
1431 dl.reflist dd {
1432 background: none;
1433 }
1434
1435 /*
1436 Table
1437 */
1438
1439 table.markdownTable, table.fieldtable {
1440 width: 100%;
1441 border: none;
1442 margin: var(--spacing-medium) 0;
1443 box-shadow: 0 0 0 1px var(--separator-color);
1444 border-radius: var(--border-radius-small);
1445 }
1446
1447 th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
1448 background: var(--tablehead-background);
1449 color: var(--tablehead-foreground);
1450 font-weight: 600;
1451 font-size: var(--page-font-size);
1452 }
1453
1454 th.markdownTableHeadLeft:first-child, th.markdownTableHeadRight:first-child, th.markdownTableHeadCenter:first-child, th.markdownTableHeadNone:first-child {
1455 border-top-left-radius: var(--border-radius-small);
1456 }
1457
1458 th.markdownTableHeadLeft:last-child, th.markdownTableHeadRight:last-child, th.markdownTableHeadCenter:last-child, th.markdownTableHeadNone:last-child {
1459 border-top-right-radius: var(--border-radius-small);
1460 }
1461
1462 table.markdownTable td, table.markdownTable th, table.fieldtable dt {
1463 border: none;
1464 border-right: 1px solid var(--separator-color);
1465 padding: var(--spacing-small) var(--spacing-medium);
1466 }
1467
1468 table.markdownTable td:last-child, table.markdownTable th:last-child, table.fieldtable dt:last-child {
1469 border: none;
1470 }
1471
1472 table.markdownTable tr, table.markdownTable tr {
1473 border-bottom: 1px solid var(--separator-color);
1474 }
1475
1476 table.markdownTable tr:last-child, table.markdownTable tr:last-child {
1477 border-bottom: none;
1478 }
1479
1480 table.fieldtable th {
1481 font-size: var(--page-font-size);
1482 font-weight: 600;
1483 background-image: none;
1484 background-color: var(--tablehead-background);
1485 color: var(--tablehead-foreground);
1486 border-bottom: 1px solid var(--separator-color);
1487 }
1488
1489 .fieldtable td.fieldtype, .fieldtable td.fieldname {
1490 border-bottom: 1px solid var(--separator-color);
1491 border-right: 1px solid var(--separator-color);
1492 }
1493
1494 .fieldtable td.fielddoc {
1495 border-bottom: 1px solid var(--separator-color);
1496 }
1497
1498 .memberdecls td.glow, .fieldtable tr.glow {
1499 background-color: var(--primary-light-color);
1500 box-shadow: 0 0 15px var(--primary-light-color);
1501 }
1502
1503 table.memberdecls {
1504 display: block;
1505 }
1506
1507 table.memberdecls tr[class^='memitem'] {
1508 font-family: var(--font-family-monospace);
1509 font-size: var(--code-font-size);
1510 }
1511
1512 table.memberdecls .memItemLeft, table.memberdecls .memItemRight {
1513 transition: none;
1514 padding-top: var(--spacing-small);
1515 padding-bottom: var(--spacing-small);
1516 border-top: 1px solid var(--separator-color);
1517 border-bottom: 1px solid var(--separator-color);
1518 background-color: var(--fragment-background);
1519 }
1520
1521 table.memberdecls .memItemLeft {
1522 border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
1523 border-left: 1px solid var(--separator-color);
1524 padding-left: var(--spacing-medium);
1525 padding-right: 0;
1526 }
1527
1528 table.memberdecls .memItemRight {
1529 border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
1530 border-right: 1px solid var(--separator-color);
1531 padding-right: var(--spacing-medium);
1532 padding-left: 0;
1533
1534 }
1535
1536 table.memberdecls .mdescLeft, table.memberdecls .mdescRight {
1537 background: none;
1538 color: var(--page-foreground-color);
1539 padding: var(--spacing-small) 0;
1540 }
1541
1542 table.memberdecls .memSeparator {
1543 background: var(--page-background-color);
1544 height: var(--spacing-large);
1545 border: 0;
1546 transition: none;
1547 }
1548
1549 table.memberdecls .groupheader {
1550 margin-bottom: var(--spacing-large);
1551 }
1552
1553 table.memberdecls .inherit_header td {
1554 padding: 0 0 var(--spacing-medium) 0;
1555 text-indent: -12px;
1556 line-height: 1.5em;
1557 color: var(--page-secondary-foreground-color);
1558 }
1559
1560 @media screen and (max-width: 767px) {
1561
1562 table.memberdecls .memItemLeft, table.memberdecls .memItemRight, table.memberdecls .mdescLeft, table.memberdecls .mdescRight {
1563 display: block;
1564 text-align: left;
1565 padding-left: var(--spacing-large);
1566 margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large));
1567 border-right: none;
1568 border-left: none;
1569 border-radius: 0;
1570 }
1571
1572 table.memberdecls .memItemLeft, table.memberdecls .mdescLeft {
1573 border-bottom: 0;
1574 padding-bottom: 0;
1575 }
1576
1577 table.memberdecls .mdescLeft {
1578 margin-top: calc(0px - var(--page-font-size));
1579 }
1580
1581 table.memberdecls .memItemRight, table.memberdecls .mdescRight {
1582 border-top: 0;
1583 padding-top: 0;
1584 padding-right: var(--spacing-large);
1585 }
1586
1587 table.memberdecls tr[class^='memitem']:not(.inherit) {
1588 display: block;
1589 width: calc(100vw - 2 * var(--spacing-large));
1590 }
1591
1592 table.memberdecls .mdescRight {
1593 color: var(--page-foreground-color);
1594 }
1595
1596 table.memberdecls tr.inherit {
1597 visibility: hidden;
1598 }
1599
1600 table.memberdecls tr[style="display: table-row;"] {
1601 display: block !important;
1602 visibility: visible;
1603 width: calc(100vw - 2 * var(--spacing-large));
1604 animation: fade .5s;
1605 }
1606
1607 @keyframes fade {
1608 0% {
1609 opacity: 0;
1610 max-height: 0;
1611 }
1612
1613 100% {
1614 opacity: 1;
1615 max-height: 200px;
1616 }
1617 }
1618 }
1619
1620
1621 /*
1622 Horizontal Rule
1623 */
1624
1625 hr {
1626 margin-top: var(--spacing-large);
1627 margin-bottom: var(--spacing-large);
1628 border-top:1px solid var(--separator-color);
1629 }
1630
1631 .contents hr {
1632 box-shadow: 100px 0 0 0 var(--separator-color),
1633 -100px 0 0 0 var(--separator-color),
1634 var(--content-maxwidth) 0 0 0 var(--separator-color),
1635 calc(0px - var(--content-maxwidth)) 0 0 0 var(--separator-color),
1636 calc(2 * var(--content-maxwidth)) 0 0 0 var(--separator-color),
1637 calc(0px - 2* var(--content-maxwidth)) 0 0 0 var(--separator-color);
1638 }
1639
1640 .contents img, .contents .center, .contents center, .contents div.image object {
1641 max-width: 100%;
1642 overflow: auto;
1643 }
1644
1645 /*
1646 Directories
1647 */
1648 div.directory {
1649 border-top: 1px solid var(--separator-color);
1650 border-bottom: 1px solid var(--separator-color);
1651 width: auto;
1652 }
1653
1654 table.directory {
1655 font-family: var(--font-family);
1656 font-size: var(--page-font-size);
1657 font-weight: normal;
1658 }
1659
1660 .directory td.entry {
1661 padding: var(--spacing-small);
1662 }
1663
1664 .directory tr.even {
1665 background-color: var(--odd-color);
1666 }
1667
1668 .icona {
1669 width: auto;
1670 height: auto;
1671 margin: 0 var(--spacing-small);
1672 }
1673
1674 .icon {
1675 background: var(--primary-color);
1676 width: 18px;
1677 height: 18px;
1678 line-height: 18px;
1679 }
1680
1681 .iconfopen, .icondoc, .iconfclosed {
1682 background-position: center;
1683 margin-bottom: 0;
1684 }
1685
1686 .icondoc {
1687 filter: saturate(0.2);
1688 }
1689
1690 @media screen and (max-width: 767px) {
1691 div.directory {
1692 margin-left: calc(0px - var(--spacing-medium));
1693 margin-right: calc(0px - var(--spacing-medium));
1694 }
1695 }
1696
1697 @media (prefers-color-scheme: dark) {
1698 html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed {
1699 filter: hue-rotate(180deg) invert();
1700 }
1701 }
1702
1703 html.dark-mode .iconfopen, html.dark-mode .iconfclosed {
1704 filter: hue-rotate(180deg) invert();
1705 }
1706
1707 /*
1708 Class list
1709 */
1710
1711 .classindex dl.odd {
1712 background: var(--odd-color);
1713 border-radius: var(--border-radius-small);
1714 }
1715
1716 @media screen and (max-width: 767px) {
1717 .classindex {
1718 margin: 0 calc(0px - var(--spacing-small));
1719 }
1720 }
1721
1722 /*
1723 Class Index Doxygen 1.8
1724 */
1725
1726 table.classindex table div.ah {
1727 background-image: none;
1728 background-color: initial;
1729 border-color: var(--separator-color);
1730 color: var(--page-foreground-color);
1731 box-shadow: var(--box-shadow);
1732 border-radius: var(--border-radius-large);
1733 padding: var(--spacing-small);
1734 }
1735
1736 div.qindex {
1737 background-color: var(--odd-color);
1738 border-radius: var(--border-radius-small);
1739 border: 1px solid var(--separator-color);
1740 padding: var(--spacing-small) 0;
1741 }
1742
1743 /*
1744 Footer and nav-path
1745 */
1746
1747 #nav-path {
1748 margin-bottom: -1px;
1749 width: 100%;
1750 }
1751
1752 #nav-path ul {
1753 background-image: none;
1754 background: var(--page-background-color);
1755 border: none;
1756 border-top: 1px solid var(--separator-color);
1757 border-bottom: 1px solid var(--separator-color);
1758 font-size: var(--navigation-font-size);
1759 }
1760
1761 img.footer {
1762 width: 60px;
1763 }
1764
1765 .navpath li.footer {
1766 color: var(--page-secondary-foreground-color);
1767 }
1768
1769 address.footer {
1770 margin-bottom: var(--spacing-large);
1771 }
1772
1773 #nav-path li.navelem {
1774 background-image: none;
1775 display: flex;
1776 align-items: center;
1777 }
1778
1779 .navpath li.navelem a {
1780 text-shadow: none;
1781 display: inline-block;
1782 color: var(--primary-color) !important;
1783 }
1784
1785 .navpath li.navelem b {
1786 color: var(--primary-dark-color);
1787 font-weight: 500;
1788 }
1789
1790 li.navelem {
1791 padding: 0;
1792 margin-left: -8px;
1793 }
1794
1795 li.navelem:first-child {
1796 margin-left: var(--spacing-large);
1797 }
1798
1799 li.navelem:first-child:before {
1800 display: none;
1801 }
1802
1803 #nav-path li.navelem:after {
1804 content: '';
1805 border: 5px solid var(--page-background-color);
1806 border-bottom-color: transparent;
1807 border-right-color: transparent;
1808 border-top-color: transparent;
1809 transform: scaleY(4.2);
1810 z-index: 10;
1811 margin-left: 6px;
1812 }
1813
1814 #nav-path li.navelem:before {
1815 content: '';
1816 border: 5px solid var(--separator-color);
1817 border-bottom-color: transparent;
1818 border-right-color: transparent;
1819 border-top-color: transparent;
1820 transform: scaleY(3.2);
1821 margin-right: var(--spacing-small);
1822 }
1823
1824 .navpath li.navelem a:hover {
1825 color: var(--primary-color);
1826 }
1827
1828 /*
1829 Scrollbars for Webkit
1830 */
1831
1832 #nav-tree::-webkit-scrollbar,
1833 div.fragment::-webkit-scrollbar,
1834 pre.fragment::-webkit-scrollbar,
1835 div.memproto::-webkit-scrollbar,
1836 .contents center::-webkit-scrollbar {
1837 width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
1838 height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
1839 }
1840
1841 #nav-tree::-webkit-scrollbar-thumb,
1842 div.fragment::-webkit-scrollbar-thumb,
1843 pre.fragment::-webkit-scrollbar-thumb,
1844 div.memproto::-webkit-scrollbar-thumb,
1845 .contents center::-webkit-scrollbar-thumb {
1846 background-color: transparent;
1847 border: var(--webkit-scrollbar-padding) solid transparent;
1848 border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
1849 background-clip: padding-box;
1850 }
1851
1852 #nav-tree:hover::-webkit-scrollbar-thumb,
1853 div.fragment:hover::-webkit-scrollbar-thumb,
1854 pre.fragment:hover::-webkit-scrollbar-thumb,
1855 div.memproto:hover::-webkit-scrollbar-thumb,
1856 .contents center:hover::-webkit-scrollbar-thumb {
1857 background-color: var(--webkit-scrollbar-color);
1858 }
1859
1860 #nav-tree::-webkit-scrollbar-track,
1861 div.fragment::-webkit-scrollbar-track,
1862 pre.fragment::-webkit-scrollbar-track,
1863 div.memproto::-webkit-scrollbar-track,
1864 .contents center::-webkit-scrollbar-track {
1865 background: transparent;
1866 }
1867
1868 #nav-tree, div.fragment, pre.fragment, div.memproto, .contents center {
1869 overflow-x: overlay;
1870 }
1871
1872 /*
1873 Scrollbars for Firefox
1874 */
1875
1876 #nav-tree, div.fragment, pre.fragment, div.memproto, .contents center {
1877 scrollbar-width: thin;
1878 }
1879
1880 /*
1881 Optional Dark mode toggle button
1882 */
1883
1884 doxygen-awesome-dark-mode-toggle {
1885 display: inline-block;
1886 margin: 0 0 0 var(--spacing-small);
1887 padding: 0;
1888 width: var(--searchbar-height);
1889 height: var(--searchbar-height);
1890 background: none;
1891 border: none;
1892 border-radius: var(--searchbar-height);
1893 vertical-align: middle;
1894 text-align: center;
1895 line-height: var(--searchbar-height);
1896 font-size: 22px;
1897 display: flex;
1898 align-items: center;
1899 justify-content: center;
1900 user-select: none;
1901 cursor: pointer;
1902 }
1903
1904 doxygen-awesome-dark-mode-toggle > svg {
1905 transition: transform .1s ease-in-out;
1906 }
1907
1908 doxygen-awesome-dark-mode-toggle:active > svg {
1909 transform: scale(.5);
1910 }
1911
1912 doxygen-awesome-dark-mode-toggle:hover {
1913 background-color: rgba(0,0,0,.03);
1914 }
1915
1916 html.dark-mode doxygen-awesome-dark-mode-toggle:hover {
1917 background-color: rgba(0,0,0,.18);
1918 }
1919
1920 /*
1921 Optional fragment copy button
1922 */
1923 .doxygen-awesome-fragment-wrapper {
1924 position: relative;
1925 }
1926
1927 doxygen-awesome-fragment-copy-button {
1928 opacity: 0;
1929 background: var(--fragment-background);
1930 width: 28px;
1931 height: 28px;
1932 position: absolute;
1933 right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));
1934 top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));
1935 border: 1px solid var(--fragment-foreground);
1936 cursor: pointer;
1937 border-radius: var(--border-radius-small);
1938 display: flex;
1939 justify-content: center;
1940 align-items: center;
1941 }
1942
1943 .doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success {
1944 opacity: .28;
1945 }
1946
1947 doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success {
1948 opacity: 1 !important;
1949 }
1950
1951 doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg {
1952 transform: scale(.91);
1953 }
1954
1955 doxygen-awesome-fragment-copy-button svg {
1956 fill: var(--fragment-foreground);
1957 width: 18px;
1958 height: 18px;
1959 }
1960
1961 doxygen-awesome-fragment-copy-button.success svg {
1962 fill: rgb(14, 168, 14);
1963 }
1964
1965 doxygen-awesome-fragment-copy-button.success {
1966 border-color: rgb(14, 168, 14);
1967 }
1968
1969 @media screen and (max-width: 767px) {
1970 .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
1971 .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
1972 .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
1973 .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
1974 dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button {
1975 right: 0;
1976 }
1977 }
1978
1979 /*
1980 Optional paragraph link button
1981 */
1982
1983 a.anchorlink {
1984 font-size: 90%;
1985 margin-left: var(--spacing-small);
1986 color: var(--page-foreground-color) !important;
1987 text-decoration: none;
1988 opacity: .15;
1989 display: none;
1990 transition: opacity .1s ease-in-out, color .1s ease-in-out;
1991 }
1992
1993 a.anchorlink svg {
1994 fill: var(--page-foreground-color);
1995 }
1996
1997 h3 a.anchorlink svg, h4 a.anchorlink svg {
1998 margin-bottom: -3px;
1999 margin-top: -4px;
2000 }
2001
2002 a.anchorlink:hover {
2003 opacity: .45;
2004 }
2005
2006 h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink {
2007 display: inline-block;
2008 }