]> git.agnieray.net Git - galette.git/blob - galette/docs/source/doxygen-awesome.css
75ac3cddb7cdc38054445238005592c19a738c78
[galette.git] / galette / docs / source / doxygen-awesome.css
1 /**
2
3 Doxygen Awesome
4 https://github.com/jothepro/doxygen-awesome-css
5
6 MIT License
7
8 Copyright (c) 2021 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: #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 compontest 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: #fff6df;
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 */
215 html.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: #fff6df;
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
259 body {
260 color: var(--page-foreground-color);
261 background-color: var(--page-background-color);
262 font-size: var(--page-font-size);
263 }
264
265 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 {
266 font-family: var(--font-family);
267 }
268
269 h1, h2, h3, h4, h5 {
270 margin-top: .9em;
271 font-weight: 600;
272 line-height: initial;
273 }
274
275 p, div, table, dl {
276 font-size: var(--page-font-size);
277 }
278
279 a: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
580 iframe#MSearchResults {
581 margin: 4px;
582 }
583
584 @media (prefers-color-scheme: dark) {
585 html:not(.light-mode) iframe#MSearchResults {
586 filter: invert() hue-rotate(180deg);
587 }
588 }
589
590 html.dark-mode iframe#MSearchResults {
591 filter: invert() hue-rotate(180deg);
592 }
593
594 #MSearchSelectWindow {
595 border: 1px solid var(--separator-color);
596 border-radius: var(--border-radius-medium);
597 box-shadow: var(--box-shadow);
598 background: var(--page-background-color);
599 }
600
601 #MSearchSelectWindow a.SelectItem {
602 font-size: var(--navigation-font-size);
603 line-height: var(--content-line-height);
604 margin: 0 var(--spacing-small);
605 border-radius: var(--border-radius-small);
606 color: var(--page-foreground-color) !important;
607 font-weight: normal;
608 }
609
610 #MSearchSelectWindow a.SelectItem:hover {
611 background: var(--menu-focus-background);
612 color: var(--menu-focus-foreground) !important;
613 }
614
615 @media screen and (max-width: 767px) {
616 #MSearchBox {
617 margin-top: var(--spacing-medium);
618 margin-bottom: var(--spacing-medium);
619 width: calc(100vw - 30px);
620 }
621
622 #main-menu > li:last-child {
623 float: none !important;
624 }
625
626 #MSearchField {
627 width: calc(100vw - 110px);
628 }
629
630 @keyframes slideInSearchResultsMobile {
631 from {
632 opacity: 0;
633 transform: translate(0, 15px);
634 }
635
636 to {
637 opacity: 1;
638 transform: translate(0, 20px);
639 }
640 }
641
642 #MSearchResultsWindow {
643 left: var(--spacing-medium) !important;
644 right: var(--spacing-medium);
645 overflow: auto;
646 transform: translate(0, 20px);
647 animation: ease-out 280ms slideInSearchResultsMobile;
648 }
649 }
650
651 /*
652 Tree view
653 */
654
655 #side-nav {
656 padding: 0 !important;
657 background: var(--side-nav-background);
658 }
659
660 @media screen and (max-width: 767px) {
661 #side-nav {
662 display: none;
663 }
664
665 #doc-content {
666 margin-left: 0 !important;
667 height: auto !important;
668 padding-bottom: calc(2 * var(--spacing-large));
669 }
670 }
671
672 #nav-tree {
673 background: transparent;
674 }
675
676 #nav-tree .label {
677 font-size: var(--navigation-font-size);
678 }
679
680 #nav-tree .item {
681 height: var(--tree-item-height);
682 line-height: var(--tree-item-height);
683 }
684
685 #nav-sync {
686 top: 12px !important;
687 right: 12px;
688 }
689
690 #nav-tree .selected {
691 text-shadow: none;
692 background-image: none;
693 background-color: transparent;
694 box-shadow: inset 4px 0 0 0 var(--primary-color);
695 }
696
697 #nav-tree a {
698 color: var(--side-nav-foreground) !important;
699 font-weight: normal;
700 }
701
702 #nav-tree a:focus {
703 outline-style: auto;
704 }
705
706 #nav-tree .arrow {
707 opacity: var(--side-nav-arrow-opacity);
708 }
709
710 .arrow {
711 color: inherit;
712 cursor: pointer;
713 font-size: 45%;
714 vertical-align: middle;
715 margin-right: 2px;
716 font-family: serif;
717 height: auto;
718 text-align: right;
719 }
720
721 #nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow {
722 opacity: var(--side-nav-arrow-hover-opacity);
723 }
724
725 #nav-tree .selected a {
726 color: var(--primary-color) !important;
727 font-weight: bolder;
728 font-weight: 600;
729 }
730
731 .ui-resizable-e {
732 background: var(--separator-color);
733 width: 1px;
734 }
735
736 /*
737 Contents
738 */
739
740 div.header {
741 border-bottom: 1px solid var(--separator-color);
742 background-color: var(--page-background-color);
743 background-image: none;
744 }
745
746 div.contents, div.header .title, div.header .summary {
747 max-width: var(--content-maxwidth);
748 }
749
750 div.contents, div.header .title {
751 line-height: initial;
752 margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto;
753 }
754
755 div.header .summary {
756 margin: var(--spacing-medium) auto 0 auto;
757 }
758
759 div.headertitle {
760 padding: 0;
761 }
762
763 div.header .title {
764 font-weight: 600;
765 font-size: 210%;
766 padding: var(--spacing-medium) var(--spacing-large);
767 word-break: break-word;
768 }
769
770 div.header .summary {
771 width: auto;
772 display: block;
773 float: none;
774 padding: 0 var(--spacing-large);
775 }
776
777 td.memSeparator {
778 border-color: var(--separator-color);
779 }
780
781 .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams {
782 background: var(--code-background);
783 }
784
785 .mdescRight {
786 color: var(--page-secondary-foreground-color);
787 }
788
789 span.mlabel {
790 background: var(--primary-color);
791 border: none;
792 padding: 4px 9px;
793 border-radius: 12px;
794 margin-right: var(--spacing-medium);
795 }
796
797 span.mlabel:last-of-type {
798 margin-right: 2px;
799 }
800
801 div.contents {
802 padding: 0 var(--spacing-large);
803 }
804
805 div.contents p, div.contents li {
806 line-height: var(--content-line-height);
807 }
808
809 div.contents div.dyncontent {
810 margin: var(--spacing-medium) 0;
811 }
812
813 @media (prefers-color-scheme: dark) {
814 html:not(.light-mode) div.contents div.dyncontent img,
815 html:not(.light-mode) div.contents center img,
816 html:not(.light-mode) div.contents table img,
817 html:not(.light-mode) div.contents div.dyncontent iframe,
818 html:not(.light-mode) div.contents center iframe,
819 html:not(.light-mode) div.contents table iframe {
820 filter: hue-rotate(180deg) invert();
821 }
822 }
823
824 html.dark-mode div.contents div.dyncontent img,
825 html.dark-mode div.contents center img,
826 html.dark-mode div.contents table img,
827 html.dark-mode div.contents div.dyncontent iframe,
828 html.dark-mode div.contents center iframe,
829 html.dark-mode div.contents table iframe {
830 filter: hue-rotate(180deg) invert();
831 }
832
833 h2.groupheader {
834 border-bottom: 1px solid var(--separator-color);
835 color: var(--page-foreground-color);
836 }
837
838 blockquote {
839 padding: var(--spacing-small) var(--spacing-medium);
840 background: var(--blockquote-background);
841 color: var(--blockquote-foreground);
842 border-left: 2px solid var(--blockquote-foreground);
843 margin: 0;
844 }
845
846 blockquote p {
847 margin: var(--spacing-small) 0 var(--spacing-medium) 0;
848 }
849 .paramname {
850 font-weight: 600;
851 color: var(--primary-dark-color);
852 }
853
854 .glow {
855 text-shadow: 0 0 15px var(--primary-light-color) !important;
856 }
857
858 .alphachar a {
859 color: var(--page-foreground-color);
860 }
861
862 /*
863 Table of Contents
864 */
865
866 div.toc {
867 background-color: var(--side-nav-background);
868 border: 1px solid var(--separator-color);
869 border-radius: var(--border-radius-medium);
870 box-shadow: var(--box-shadow);
871 padding: 0 var(--spacing-large);
872 margin: 0 0 var(--spacing-medium) var(--spacing-medium);
873 }
874
875 div.toc h3 {
876 color: var(--side-nav-foreground);
877 font-size: var(--navigation-font-size);
878 margin: var(--spacing-large) 0;
879 }
880
881 div.toc li {
882 font-size: var(--navigation-font-size);
883 padding: 0;
884 background: none;
885 }
886
887 div.toc li:before {
888 content: '↓';
889 font-weight: 800;
890 font-family: var(--font-family);
891 margin-right: var(--spacing-small);
892 color: var(--side-nav-foreground);
893 opacity: .4;
894 }
895
896 div.toc ul li.level1 {
897 margin: 0;
898 }
899
900 div.toc ul li.level2, div.toc ul li.level3 {
901 margin-top: 0;
902 }
903
904
905 @media screen and (max-width: 767px) {
906 div.toc {
907 float: none;
908 width: auto;
909 margin: 0 0 var(--spacing-medium) 0;
910 }
911 }
912
913 /*
914 Code & Fragments
915 */
916
917 code, div.fragment, pre.fragment {
918 border-radius: var(--border-radius-small);
919 border: none;
920 overflow: hidden;
921 }
922
923 code {
924 display: inline;
925 background: var(--code-background);
926 color: var(--code-foreground);
927 padding: 2px 6px;
928 word-break: break-word;
929 }
930
931 div.fragment, pre.fragment {
932 margin: var(--spacing-medium) 0;
933 padding: 14px 16px;
934 background: var(--fragment-background);
935 color: var(--fragment-foreground);
936 overflow-x: auto;
937 }
938
939 @media screen and (max-width: 767px) {
940 div.fragment, pre.fragment {
941 border-top-right-radius: 0;
942 border-bottom-right-radius: 0;
943 }
944
945 .contents > div.fragment, .textblock > div.fragment, .textblock > pre.fragment {
946 margin: var(--spacing-medium) calc(0px - var(--spacing-large));
947 border-radius: 0;
948 }
949
950 .textblock li > .fragment {
951 margin: var(--spacing-medium) calc(0px - var(--spacing-large));
952 }
953
954 .memdoc li > .fragment {
955 margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
956 }
957
958 .memdoc > div.fragment, .memdoc > pre.fragment, dl dd > div.fragment, dl dd pre.fragment {
959 margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
960 border-radius: 0;
961 }
962 }
963
964 code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span {
965 font-family: var(--font-family-monospace);
966 font-size: var(--code-font-size) !important;
967 }
968
969 div.line:after {
970 margin-right: var(--spacing-medium);
971 }
972
973 div.fragment .line, pre.fragment {
974 white-space: pre;
975 word-wrap: initial;
976 line-height: var(--fragment-lineheight);
977 }
978
979 div.fragment span.keyword {
980 color: var(--fragment-keyword);
981 }
982
983 div.fragment span.keywordtype {
984 color: var(--fragment-keywordtype);
985 }
986
987 div.fragment span.keywordflow {
988 color: var(--fragment-keywordflow);
989 }
990
991 div.fragment span.stringliteral {
992 color: var(--fragment-token)
993 }
994
995 div.fragment span.comment {
996 color: var(--fragment-comment);
997 }
998
999 div.fragment a.code {
1000 color: var(--fragment-link) !important;
1001 }
1002
1003 div.fragment span.preprocessor {
1004 color: var(--fragment-preprocessor);
1005 }
1006
1007 div.fragment span.lineno {
1008 display: inline-block;
1009 width: 27px;
1010 border-right: none;
1011 background: var(--fragment-linenumber-background);
1012 color: var(--fragment-linenumber-color);
1013 }
1014
1015 div.fragment span.lineno a {
1016 background: none;
1017 color: var(--fragment-link) !important;
1018 }
1019
1020 div.fragment .line:first-child .lineno {
1021 box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border);
1022 }
1023
1024 /*
1025 dl warning, attention, note, deprecated, bug, ...
1026 */
1027
1028 dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre {
1029 padding: var(--spacing-medium);
1030 margin: var(--spacing-medium) 0;
1031 color: var(--page-background-color);
1032 overflow: hidden;
1033 margin-left: 0;
1034 border-radius: var(--border-radius-small);
1035 }
1036
1037 dl.section dd {
1038 margin-bottom: 2px;
1039 }
1040
1041 dl.warning, dl.attention {
1042 background: var(--warning-color);
1043 border-left: 8px solid var(--warning-color-dark);
1044 color: var(--warning-color-darker);
1045 }
1046
1047 dl.warning dt, dl.attention dt {
1048 color: var(--warning-color-dark);
1049 }
1050
1051 dl.note {
1052 background: var(--note-color);
1053 border-left: 8px solid var(--note-color-dark);
1054 color: var(--note-color-darker);
1055 }
1056
1057 dl.note dt {
1058 color: var(--note-color-dark);
1059 }
1060
1061 dl.bug {
1062 background: var(--bug-color);
1063 border-left: 8px solid var(--bug-color-dark);
1064 color: var(--bug-color-darker);
1065 }
1066
1067 dl.bug dt a {
1068 color: var(--bug-color-dark) !important;
1069 }
1070
1071 dl.deprecated {
1072 background: var(--deprecated-color);
1073 border-left: 8px solid var(--deprecated-color-dark);
1074 color: var(--deprecated-color-darker);
1075 }
1076
1077 dl.deprecated dt a {
1078 color: var(--deprecated-color-dark) !important;
1079 }
1080
1081 dl.section dd, dl.bug dd, dl.deprecated dd {
1082 margin-inline-start: 0px;
1083 }
1084
1085 dl.invariant, dl.pre {
1086 background: var(--invariant-color);
1087 border-left: 8px solid var(--invariant-color-dark);
1088 color: var(--invariant-color-darker);
1089 }
1090
1091 /*
1092 memitem
1093 */
1094
1095 div.memdoc, div.memproto, h2.memtitle {
1096 box-shadow: none;
1097 background-image: none;
1098 border: none;
1099 }
1100
1101 div.memdoc {
1102 padding: 0 var(--spacing-medium);
1103 background: var(--page-background-color);
1104 }
1105
1106 h2.memtitle, div.memitem {
1107 border: 1px solid var(--separator-color);
1108 }
1109
1110 div.memproto, h2.memtitle {
1111 background: var(--code-background);
1112 text-shadow: none;
1113 }
1114
1115 h2.memtitle {
1116 font-weight: 500;
1117 font-family: monospace, fixed;
1118 border-bottom: none;
1119 border-top-left-radius: var(--border-radius-medium);
1120 border-top-right-radius: var(--border-radius-medium);
1121 word-break: break-all;
1122 }
1123
1124 a:target + h2.memtitle, a:target + h2.memtitle + div.memitem {
1125 border-color: var(--primary-light-color);
1126 }
1127
1128 a:target + h2.memtitle {
1129 box-shadow: -3px -3px 3px 0 var(--primary-lightest-color), 3px -3px 3px 0 var(--primary-lightest-color);
1130 }
1131
1132 a:target + h2.memtitle + div.memitem {
1133 box-shadow: 0 0 10px 0 var(--primary-lighter-color);
1134 }
1135
1136 div.memitem {
1137 border-top-right-radius: var(--border-radius-medium);
1138 border-bottom-right-radius: var(--border-radius-medium);
1139 border-bottom-left-radius: var(--border-radius-medium);
1140 overflow: hidden;
1141 display: block !important;
1142 }
1143
1144 div.memdoc {
1145 border-radius: 0;
1146 }
1147
1148 div.memproto {
1149 border-radius: 0 var(--border-radius-small) 0 0;
1150 overflow: auto;
1151 border-bottom: 1px solid var(--separator-color);
1152 padding: var(--spacing-medium);
1153 margin-bottom: -1px;
1154 }
1155
1156 div.memtitle {
1157 border-top-right-radius: var(--border-radius-medium);
1158 border-top-left-radius: var(--border-radius-medium);
1159 }
1160
1161 div.memproto table.memname {
1162 font-family: monospace, fixed;
1163 color: var(--page-foreground-color);
1164 }
1165
1166 table.mlabels, table.mlabels > tbody {
1167 display: block;
1168 }
1169
1170 td.mlabels-left {
1171 width: auto;
1172 }
1173
1174 table.mlabels > tbody > tr:first-child {
1175 display: flex;
1176 justify-content: space-between;
1177 flex-wrap: wrap;
1178 }
1179
1180 .memname, .memitem span.mlabels {
1181 margin: 0
1182 }
1183
1184 /*
1185 reflist
1186 */
1187
1188 dl.reflist {
1189 box-shadow: var(--box-shadow);
1190 border-radius: var(--border-radius-medium);
1191 border: 1px solid var(--separator-color);
1192 overflow: hidden;
1193 padding: 0;
1194 }
1195
1196
1197 dl.reflist dt, dl.reflist dd {
1198 box-shadow: none;
1199 text-shadow: none;
1200 background-image: none;
1201 border: none;
1202 padding: 12px;
1203 }
1204
1205
1206 dl.reflist dt {
1207 font-weight: 500;
1208 border-radius: 0;
1209 background: var(--code-background);
1210 border-bottom: 1px solid var(--separator-color);
1211 color: var(--page-foreground-color)
1212 }
1213
1214
1215 dl.reflist dd {
1216 background: none;
1217 }
1218
1219 /*
1220 Table
1221 */
1222
1223 table.markdownTable, table.fieldtable {
1224 width: 100%;
1225 border: 1px solid var(--separator-color);
1226 margin: var(--spacing-medium) 0;
1227 }
1228
1229 table.fieldtable {
1230 box-shadow: none;
1231 border-radius: var(--border-radius-small);
1232 }
1233
1234 th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
1235 background: var(--tablehead-background);
1236 color: var(--tablehead-foreground);
1237 font-weight: 600;
1238 font-size: var(--page-font-size);
1239 }
1240
1241 table.markdownTable td, table.markdownTable th, table.fieldtable dt {
1242 border: 1px solid var(--separator-color);
1243 padding: var(--spacing-small) var(--spacing-medium);
1244 }
1245
1246 table.fieldtable th {
1247 font-size: var(--page-font-size);
1248 font-weight: 600;
1249 background-image: none;
1250 background-color: var(--tablehead-background);
1251 color: var(--tablehead-foreground);
1252 border-bottom: 1px solid var(--separator-color);
1253 }
1254
1255 .fieldtable td.fieldtype, .fieldtable td.fieldname {
1256 border-bottom: 1px solid var(--separator-color);
1257 border-right: 1px solid var(--separator-color);
1258 }
1259
1260 .fieldtable td.fielddoc {
1261 border-bottom: 1px solid var(--separator-color);
1262 }
1263
1264 .memberdecls td.glow, .fieldtable tr.glow {
1265 background-color: var(--primary-light-color);
1266 box-shadow: 0 0 15px var(--primary-lighter-color);
1267 }
1268
1269 table.memberdecls {
1270 display: block;
1271 overflow-x: auto;
1272 overflow-y: hidden;
1273 }
1274
1275
1276 /*
1277 Horizontal Rule
1278 */
1279
1280 hr {
1281 margin-top: var(--spacing-large);
1282 margin-bottom: var(--spacing-large);
1283 border-top:1px solid var(--separator-color);
1284 }
1285
1286 .contents hr {
1287 box-shadow: var(--content-maxwidth) 0 0 0 var(--separator-color), calc(0px - var(--content-maxwidth)) 0 0 0 var(--separator-color);
1288 }
1289
1290 .contents img {
1291 max-width: 100%;
1292 }
1293
1294 /*
1295 Directories
1296 */
1297 div.directory {
1298 border-top: 1px solid var(--separator-color);
1299 border-bottom: 1px solid var(--separator-color);
1300 width: auto;
1301 }
1302
1303 table.directory {
1304 font-family: var(--font-family);
1305 font-size: var(--page-font-size);
1306 font-weight: normal;
1307 }
1308
1309 .directory td.entry {
1310 padding: var(--spacing-small);
1311 display: flex;
1312 align-items: center;
1313 }
1314
1315 .directory tr.even {
1316 background-color: var(--odd-color);
1317 }
1318
1319 .icona {
1320 width: auto;
1321 height: auto;
1322 margin: 0 var(--spacing-small);
1323 }
1324
1325 .icon {
1326 background: var(--primary-color);
1327 width: 18px;
1328 height: 18px;
1329 line-height: 18px;
1330 }
1331
1332 .iconfopen, .icondoc, .iconfclosed {
1333 background-position: center;
1334 margin-bottom: 0;
1335 }
1336
1337 .icondoc {
1338 filter: saturate(0.2);
1339 }
1340
1341 @media screen and (max-width: 767px) {
1342 div.directory {
1343 margin-left: calc(0px - var(--spacing-medium));
1344 margin-right: calc(0px - var(--spacing-medium));
1345 }
1346 }
1347
1348 @media (prefers-color-scheme: dark) {
1349 html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed {
1350 filter: hue-rotate(180deg) invert();
1351 }
1352 }
1353
1354 html.dark-mode .iconfopen, html.dark-mode .iconfclosed {
1355 filter: hue-rotate(180deg) invert();
1356 }
1357
1358 /*
1359 Class list
1360 */
1361
1362 .classindex dl.odd {
1363 background: var(--odd-color);
1364 border-radius: var(--border-radius-small);
1365 }
1366
1367 @media screen and (max-width: 767px) {
1368 .classindex {
1369 margin: 0 calc(0px - var(--spacing-small));
1370 }
1371 }
1372
1373 /*
1374 Footer and nav-path
1375 */
1376
1377 #nav-path {
1378 margin-bottom: -1px;
1379 width: 100%;
1380 }
1381
1382 #nav-path ul {
1383 background-image: none;
1384 background: var(--page-background-color);
1385 border: none;
1386 border-top: 1px solid var(--separator-color);
1387 border-bottom: 1px solid var(--separator-color);
1388 font-size: var(--navigation-font-size);
1389 }
1390
1391 img.footer {
1392 width: 60px;
1393 }
1394
1395 .navpath li.footer {
1396 color: var(--page-secondary-foreground-color);
1397 }
1398
1399 address.footer {
1400 margin-bottom: var(--spacing-large);
1401 }
1402
1403 #nav-path li.navelem {
1404 background-image: none;
1405 display: flex;
1406 align-items: center;
1407 }
1408
1409 .navpath li.navelem a {
1410 text-shadow: none;
1411 display: inline-block;
1412 color: var(--primary-color) !important;
1413 }
1414
1415 .navpath li.navelem b {
1416 color: var(--primary-dark-color);
1417 font-weight: 500;
1418 }
1419
1420 li.navelem {
1421 padding: 0;
1422 margin-left: -8px;
1423 }
1424
1425 li.navelem:first-child {
1426 margin-left: var(--spacing-large);
1427 }
1428
1429 li.navelem:first-child:before {
1430 display: none;
1431 }
1432
1433 #nav-path li.navelem:after {
1434 content: '';
1435 border: 5px solid var(--page-background-color);
1436 border-bottom-color: transparent;
1437 border-right-color: transparent;
1438 border-top-color: transparent;
1439 transform: scaleY(4.2);
1440 z-index: 10;
1441 margin-left: 6px;
1442 }
1443
1444 #nav-path li.navelem:before {
1445 content: '';
1446 border: 5px solid var(--separator-color);
1447 border-bottom-color: transparent;
1448 border-right-color: transparent;
1449 border-top-color: transparent;
1450 transform: scaleY(3.2);
1451 margin-right: var(--spacing-small);
1452 }
1453
1454 .navpath li.navelem a:hover {
1455 color: var(--primary-color);
1456 }
1457
1458 /*
1459 Optional Dark mode toggle button
1460 */
1461
1462 doxygen-awesome-dark-mode-toggle {
1463 margin: 0 0 0 var(--spacing-small);
1464 padding: 0;
1465 width: var(--searchbar-height);
1466 height: var(--searchbar-height);
1467 background: none;
1468 border: none;
1469 font-size: 23px;
1470 border-radius: var(--border-radius-medium);
1471 vertical-align: middle;
1472 text-align: center;
1473 line-height: var(--searchbar-height);
1474 }
1475
1476 doxygen-awesome-dark-mode-toggle:hover {
1477 background: var(--separator-color);
1478 }
1479
1480 doxygen-awesome-dark-mode-toggle:after {
1481 content: var(--darkmode-toggle-button-icon)
1482 }