8fb8d5b58111e6867e64be72332f54e64031201f
[platform/core/graphics/tizenvg.git] / docs / html / 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         --primary-color: #1982d2;
171         --primary-dark-color: #5ca8e2;
172         --primary-light-color: #4779ac;
173         --primary-lighter-color: #191e21;
174         --primary-lightest-color: #191a1c;
175
176         --box-shadow: 0 2px 10px 0 rgba(0,0,0,.35);
177
178         --odd-color: rgba(0,0,0,.1);
179
180         --menu-selected-background: rgba(0,0,0,.4);
181
182         --page-background-color: #1C1D1F;
183         --page-foreground-color: #d2dbde;
184         --page-secondary-foreground-color: #859399;
185         --separator-color: #000000;
186         --side-nav-background: #252628;
187
188         --code-background: #2a2c2f;
189
190         --tablehead-background: #2a2c2f;
191
192         --blockquote-background: #1f2022;
193         --blockquote-foreground: #77848a;
194
195         --warning-color: #b61825;
196         --warning-color-dark: #510a02;
197         --warning-color-darker: #f5b1aa;
198         --note-color: rgb(255, 183, 0);
199         --note-color-dark: #9f7300;
200         --note-color-darker: #fff6df;
201         --deprecated-color: rgb(88, 90, 96);
202         --deprecated-color-dark: #262e37;
203         --deprecated-color-darker: #a0a5b0;
204         --bug-color: rgb(248, 113, 0);
205         --bug-color-dark: #812a00;
206         --bug-color-darker: #ffd3be;
207
208         --darkmode-toggle-button-icon: '🌛';
209     }
210 }
211
212 /* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */
213 html.dark-mode {
214     --primary-color: #1982d2;
215     --primary-dark-color: #5ca8e2;
216     --primary-light-color: #4779ac;
217     --primary-lighter-color: #191e21;
218     --primary-lightest-color: #191a1c;
219
220     --box-shadow: 0 2px 10px 0 rgba(0,0,0,.35);
221
222     --odd-color: rgba(0,0,0,.1);
223
224     --menu-selected-background: rgba(0,0,0,.4);
225
226     --page-background-color: #1C1D1F;
227     --page-foreground-color: #d2dbde;
228     --page-secondary-foreground-color: #859399;
229     --separator-color: #000000;
230     --side-nav-background: #252628;
231
232     --code-background: #2a2c2f;
233
234     --tablehead-background: #2a2c2f;
235
236     --blockquote-background: #1f2022;
237     --blockquote-foreground: #77848a;
238
239     --warning-color: #b61825;
240     --warning-color-dark: #510a02;
241     --warning-color-darker: #f5b1aa;
242     --note-color: rgb(255, 183, 0);
243     --note-color-dark: #9f7300;
244     --note-color-darker: #fff6df;
245     --deprecated-color: rgb(88, 90, 96);
246     --deprecated-color-dark: #262e37;
247     --deprecated-color-darker: #a0a5b0;
248     --bug-color: rgb(248, 113, 0);
249     --bug-color-dark: #812a00;
250     --bug-color-darker: #ffd3be;
251
252     --darkmode-toggle-button-icon: '🌛';
253 }
254
255 body {
256     color: var(--page-foreground-color);
257     background-color: var(--page-background-color);
258     font-size: var(--page-font-size);
259 }
260
261 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 {
262     font-family: var(--font-family);
263 }
264
265 h1, h2, h3, h4, h5 {
266     margin-top: .9em;
267     font-weight: 600;
268     line-height: initial;
269 }
270
271 p, div, table, dl {
272     font-size: var(--page-font-size);
273 }
274
275 a:link, a:visited, a:hover, a:focus, a:active {
276     color: var(--primary-color) !important;
277     font-weight: 500;
278 }
279
280 /*
281  Title and top navigation
282  */
283
284 #top {
285     background: var(--header-background);
286     border-bottom: 1px solid var(--separator-color);
287 }
288
289 @media screen and (min-width: 768px) {
290     #top {
291         display: flex;
292         flex-wrap: wrap;
293         justify-content: space-between;
294         align-items: center;
295     }
296 }
297
298 #main-nav {
299     flex-grow: 5;
300     padding: var(--spacing-small) var(--spacing-medium);
301 }
302
303 #titlearea {
304     width: auto;
305     padding: var(--spacing-medium) var(--spacing-large);
306     background: none;
307     color: var(--header-foreground);
308     border-bottom: none;
309 }
310
311 @media screen and (max-width: 767px) {
312     #titlearea {
313         padding-bottom: var(--spacing-small);
314     }
315 }
316
317 #titlearea table tbody tr {
318     height: auto !important;
319 }
320
321 #projectname {
322     font-size: var(--title-font-size);
323     font-weight: 600;
324 }
325
326 #projectnumber {
327     font-family: inherit;
328     font-size: 60%;
329 }
330
331 #projectbrief {
332     font-family: inherit;
333     font-size: 80%;
334 }
335
336 #projectlogo {
337     vertical-align: middle;
338 }
339
340 #projectlogo img {
341     max-height: calc(var(--title-font-size) * 2);
342     margin-right: var(--spacing-small);
343 }
344
345 .sm-dox, .tabs, .tabs2, .tabs3 {
346     background: none;
347     padding: 0;
348 }
349
350 .tabs, .tabs2, .tabs3 {
351     border-bottom: 1px solid var(--separator-color);
352     margin-bottom: -1px;
353 }
354
355 @media screen and (max-width: 767px) {
356     .sm-dox a span.sub-arrow {
357         background: var(--code-background);
358     }
359 }
360
361 @media screen and (min-width: 768px) {
362     .sm-dox li, .tablist li {
363         display: var(--menu-display);
364     }
365
366     .sm-dox a span.sub-arrow {
367         border-color: var(--header-foreground) transparent transparent transparent;
368     }
369
370     .sm-dox a:hover span.sub-arrow {
371         border-color: var(--menu-focus-foreground) transparent transparent transparent;
372     }
373
374     .sm-dox ul a span.sub-arrow {
375         border-color: transparent transparent transparent var(--page-foreground-color);
376     }
377
378     .sm-dox ul a:hover span.sub-arrow {
379         border-color: transparent transparent transparent var(--menu-focus-foreground);
380     }
381 }
382
383 .sm-dox ul {
384     background: var(--page-background-color);
385     box-shadow: var(--box-shadow);
386     border: 1px solid var(--separator-color);
387     border-radius: var(--border-radius-medium) !important;
388     padding: var(--spacing-small);
389     animation: ease-out 150ms slideInMenu;
390 }
391
392 @keyframes slideInMenu {
393     from {
394         opacity: 0;
395         transform: translate(0px, -2px);
396     }
397
398     to {
399         opacity: 1;
400         transform: translate(0px, 0px);
401     }
402 }
403
404 .sm-dox ul a {
405     color: var(--page-foreground-color) !important;
406     background: var(--page-background-color);
407     font-size: var(--navigation-font-size);
408 }
409
410 .sm-dox>li>ul:after {
411     border-bottom-color: var(--page-background-color) !important;
412 }
413
414 .sm-dox>li>ul:before {
415     border-bottom-color: var(--separator-color) !important;
416 }
417
418 .sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus {
419     font-size: var(--navigation-font-size) !important;
420     color: var(--menu-focus-foreground) !important;
421     text-shadow: none;
422     background-color: var(--menu-focus-background);
423     border-radius: var(--border-radius-small) !important;
424 }
425
426 .sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a {
427     text-shadow: none;
428     background: transparent;
429     background-image: none !important;
430     color: var(--header-foreground) !important;
431     font-weight: normal;
432     font-size: var(--navigation-font-size);
433 }
434
435 .sm-dox a:focus {
436     outline: auto;
437 }
438
439 .sm-dox a:hover, .sm-dox a:active, .tablist li a:hover {
440     text-shadow: none;
441     font-weight: normal;
442     background: var(--menu-focus-background);
443     color: var(--menu-focus-foreground) !important;
444     border-radius: var(--border-radius-small) !important;
445     font-size: var(--navigation-font-size);
446 }
447
448 .tablist li.current {
449     border-radius: var(--border-radius-small);
450     background: var(--menu-selected-background);
451 }
452
453 .tablist li {
454     margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small);
455 }
456
457 .tablist a {
458     padding: 0 var(--spacing-large);
459 }
460
461
462 /*
463  Search box
464  */
465
466 #MSearchBox {
467     height: var(--searchbar-height);
468     background: var(--searchbar-background);
469     border-radius: var(--searchbar-height);
470     border: 1px solid var(--separator-color);
471     overflow: hidden;
472     width: var(--searchbar-width);
473     position: relative;
474     box-shadow: none;
475     display: block;
476     margin-top: 0;
477 }
478
479 .left #MSearchSelect {
480     left: 0;
481 }
482
483 .tabs .left #MSearchSelect {
484     padding-left: 0;
485 }
486
487 .tabs #MSearchBox {
488     position: absolute;
489     right: var(--spacing-medium);
490 }
491
492 @media screen and (max-width: 767px) {
493     .tabs #MSearchBox {
494         position: relative;
495         right: 0;
496         margin-left: var(--spacing-medium);
497         margin-top: 0;
498     }
499 }
500
501 #MSearchSelectWindow, #MSearchResultsWindow {
502     z-index: 9999;
503 }
504
505 #MSearchBox.MSearchBoxActive {
506     border-color: var(--primary-color);
507     box-shadow: inset 0 0 0 1px var(--primary-color);
508 }
509
510 #main-menu > li:last-child {
511     margin-right: 0;
512 }
513
514 @media screen and (max-width: 767px) {
515     #main-menu > li:last-child {
516         height: 50px;
517     }
518 }
519
520 #MSearchField {
521     font-size: var(--navigation-font-size);
522     height: calc(var(--searchbar-height) - 2px);
523     background: transparent;
524     width: calc(var(--searchbar-width) - 64px);
525 }
526
527 .MSearchBoxActive #MSearchField {
528     color: var(--searchbar-foreground);
529 }
530
531 #MSearchSelect {
532     top: calc(calc(var(--searchbar-height) / 2) - 11px);
533 }
534
535 .left #MSearchSelect {
536     padding-left: 8px;
537 }
538
539 #MSearchBox span.left, #MSearchBox span.right {
540     background: none;
541 }
542
543 #MSearchBox span.right {
544     padding-top: calc(calc(var(--searchbar-height) / 2) - 12px);
545     position: absolute;
546     right: var(--spacing-small);
547 }
548
549 .tabs #MSearchBox span.right {
550     top: calc(calc(var(--searchbar-height) / 2) - 12px);
551 }
552
553 @keyframes slideInSearchResults {
554     from {
555         opacity: 0;
556         transform: translate(0, 15px);
557     }
558
559     to {
560         opacity: 1;
561         transform: translate(0, 20px);
562     }
563 }
564
565 #MSearchResultsWindow {
566     left: auto !important;
567     right: var(--spacing-medium);
568     border-radius: var(--border-radius-large);
569     border: 1px solid var(--separator-color);
570     transform: translate(0, 20px);
571     box-shadow: var(--box-shadow);
572     animation: ease-out 280ms slideInSearchResults;
573     background: var(--page-background-color);
574 }
575
576 iframe#MSearchResults {
577     margin: 4px;
578 }
579
580 @media (prefers-color-scheme: dark) {
581     html:not(.light-mode) iframe#MSearchResults {
582         filter: invert() hue-rotate(180deg);
583     }
584 }
585
586 html.dark-mode iframe#MSearchResults {
587     filter: invert() hue-rotate(180deg);
588 }
589
590 #MSearchSelectWindow {
591     border: 1px solid var(--separator-color);
592     border-radius: var(--border-radius-medium);
593     box-shadow: var(--box-shadow);
594     background: var(--page-background-color);
595 }
596
597 #MSearchSelectWindow a.SelectItem {
598     font-size: var(--navigation-font-size);
599     line-height: var(--content-line-height);
600     margin: 0 var(--spacing-small);
601     border-radius: var(--border-radius-small);
602     color: var(--page-foreground-color) !important;
603     font-weight: normal;
604 }
605
606 #MSearchSelectWindow a.SelectItem:hover {
607     background: var(--menu-focus-background);
608     color: var(--menu-focus-foreground) !important;
609 }
610
611 @media screen and (max-width: 767px) {
612     #MSearchBox {
613         margin-top: var(--spacing-medium);
614         margin-bottom: var(--spacing-medium);
615         width: calc(100vw - 30px);
616     }
617
618     #main-menu > li:last-child {
619         float: none !important;
620     }
621
622     #MSearchField {
623         width: calc(100vw - 110px);
624     }
625
626     @keyframes slideInSearchResultsMobile {
627         from {
628             opacity: 0;
629             transform: translate(0, 15px);
630         }
631
632         to {
633             opacity: 1;
634             transform: translate(0, 20px);
635         }
636     }
637
638     #MSearchResultsWindow {
639         left: var(--spacing-medium) !important;
640         right: var(--spacing-medium);
641         overflow: auto;
642         transform: translate(0, 20px);
643         animation: ease-out 280ms slideInSearchResultsMobile;
644     }
645 }
646
647 /*
648  Tree view
649  */
650
651 #side-nav {
652     padding: 0 !important;
653     background: var(--side-nav-background);
654 }
655
656 @media screen and (max-width: 767px) {
657     #side-nav {
658         display: none;
659     }
660
661     #doc-content {
662         margin-left: 0 !important;
663         height: auto !important;
664         padding-bottom: calc(2 * var(--spacing-large));
665     }
666 }
667
668 #nav-tree {
669     background: transparent;
670 }
671
672 #nav-tree .label {
673     font-size: var(--navigation-font-size);
674 }
675
676 #nav-tree .item {
677     height: var(--tree-item-height);
678     line-height: var(--tree-item-height);
679 }
680
681 #nav-sync {
682     top: 12px !important;
683     right: 12px;
684 }
685
686 #nav-tree .selected {
687     text-shadow: none;
688     background-image: none;
689     background-color: transparent;
690     box-shadow: inset 4px 0 0 0 var(--primary-color);
691 }
692
693 #nav-tree a {
694     color: var(--side-nav-foreground) !important;
695     font-weight: normal;
696 }
697
698 #nav-tree a:focus {
699     outline-style: auto;
700 }
701
702 #nav-tree .arrow {
703     opacity: var(--side-nav-arrow-opacity);
704 }
705
706 .arrow {
707     color: inherit;
708     cursor: pointer;
709     font-size: 45%;
710     vertical-align: middle;
711     margin-right: 2px;
712     font-family: serif;
713     height: auto;
714     text-align: right;
715 }
716
717 #nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow {
718     opacity: var(--side-nav-arrow-hover-opacity);
719 }
720
721 #nav-tree .selected a {
722     color: var(--primary-color) !important;
723     font-weight: bolder;
724     font-weight: 600;
725 }
726
727 .ui-resizable-e {
728     background: var(--separator-color);
729     width: 1px;
730 }
731
732 /*
733  Contents
734  */
735
736 div.header {
737     border-bottom: 1px solid var(--separator-color);
738     background-color: var(--page-background-color);
739     background-image: none;
740 }
741
742 div.contents, div.header .title, div.header .summary {
743     max-width: var(--content-maxwidth);
744 }
745
746 div.contents, div.header .title  {
747     line-height: initial;
748     margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto;
749 }
750
751 div.header .summary {
752     margin: var(--spacing-medium) auto 0 auto;
753 }
754
755 div.headertitle {
756     padding: 0;
757 }
758
759 div.header .title {
760     font-weight: 600;
761     font-size: 210%;
762     padding: var(--spacing-medium) var(--spacing-large);
763     word-break: break-word;
764 }
765
766 div.header .summary {
767     width: auto;
768     display: block;
769     float: none;
770     padding: 0 var(--spacing-large);
771 }
772
773 td.memSeparator {
774     border-color: var(--separator-color);
775 }
776
777 .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams {
778     background: var(--code-background);
779 }
780
781 .mdescRight {
782     color: var(--page-secondary-foreground-color);
783 }
784
785 span.mlabel {
786     background: var(--primary-color);
787     border: none;
788     padding: 4px 9px;
789     border-radius: 12px;
790     margin-right: var(--spacing-medium);
791 }
792
793 span.mlabel:last-of-type {
794     margin-right: 2px;
795 }
796
797 div.contents {
798     padding: 0 var(--spacing-large);
799 }
800
801 div.contents p, div.contents li {
802     line-height: var(--content-line-height);
803 }
804
805 div.contents div.dyncontent {
806     margin: var(--spacing-medium) 0;
807 }
808
809 @media (prefers-color-scheme: dark) {
810     html:not(.light-mode) div.contents div.dyncontent img,
811     html:not(.light-mode) div.contents center img,
812     html:not(.light-mode) div.contents table img,
813     html:not(.light-mode) div.contents div.dyncontent iframe,
814     html:not(.light-mode) div.contents center iframe,
815     html:not(.light-mode) div.contents table iframe {
816         filter: hue-rotate(180deg) invert();
817     }
818 }
819
820 html.dark-mode div.contents div.dyncontent img,
821 html.dark-mode div.contents center img,
822 html.dark-mode div.contents table img,
823 html.dark-mode div.contents div.dyncontent iframe,
824 html.dark-mode div.contents center iframe,
825 html.dark-mode div.contents table iframe {
826     filter: hue-rotate(180deg) invert();
827 }
828
829 h2.groupheader {
830     border-bottom: 1px solid var(--separator-color);
831     color: var(--page-foreground-color);
832 }
833
834 blockquote {
835     padding: var(--spacing-small) var(--spacing-medium);
836     background: var(--blockquote-background);
837     color: var(--blockquote-foreground);
838     border-left: 2px solid var(--blockquote-foreground);
839     margin: 0;
840 }
841
842 blockquote p {
843     margin: var(--spacing-small) 0 var(--spacing-medium) 0;
844 }
845 .paramname {
846     font-weight: 600;
847     color: var(--primary-dark-color);
848 }
849
850 .glow {
851     text-shadow: 0 0 15px var(--primary-light-color) !important;
852 }
853
854 .alphachar a {
855     color: var(--page-foreground-color);
856 }
857
858 /*
859  Table of Contents
860  */
861
862 div.toc {
863     background-color: var(--side-nav-background);
864     border: 1px solid var(--separator-color);
865     border-radius: var(--border-radius-medium);
866     box-shadow: var(--box-shadow);
867     padding: 0 var(--spacing-large);
868     margin: 0 0 var(--spacing-medium) var(--spacing-medium);
869 }
870
871 div.toc h3 {
872     color: var(--side-nav-foreground);
873     font-size: var(--navigation-font-size);
874     margin: var(--spacing-large) 0;
875 }
876
877 div.toc li {
878     font-size: var(--navigation-font-size);
879     padding: 0;
880     background: none;
881 }
882
883 div.toc li:before {
884     content: '↓';
885     font-weight: 800;
886     font-family: var(--font-family);
887     margin-right: var(--spacing-small);
888     color: var(--side-nav-foreground);
889     opacity: .4;
890 }
891
892 div.toc ul li.level1 {
893     margin: 0;
894 }
895
896 div.toc ul li.level2, div.toc ul li.level3 {
897     margin-top: 0;
898 }
899
900
901 @media screen and (max-width: 767px) {
902     div.toc {
903         float: none;
904         width: auto;
905         margin: 0 0 var(--spacing-medium) 0;
906     }
907 }
908
909 /*
910  Code & Fragments
911  */
912
913 code, div.fragment, pre.fragment {
914     border-radius: var(--border-radius-small);
915     border: none;
916     overflow: hidden;
917 }
918
919 code {
920     display: inline;
921     background: var(--code-background);
922     color: var(--code-foreground);
923     padding: 2px 6px;
924     word-break: break-word;
925 }
926
927 div.fragment, pre.fragment {
928     margin: var(--spacing-medium) 0;
929     padding: 14px 16px;
930     background: var(--fragment-background);
931     color: var(--fragment-foreground);
932     overflow-x: auto;
933 }
934
935 @media screen and (max-width: 767px) {
936     div.fragment, pre.fragment {
937         border-top-right-radius: 0;
938         border-bottom-right-radius: 0;
939     }
940
941     .contents > div.fragment, .textblock > div.fragment, .textblock > pre.fragment {
942         margin: var(--spacing-medium) calc(0px - var(--spacing-large));
943         border-radius: 0;
944     }
945
946     .textblock li > .fragment {
947         margin: var(--spacing-medium) calc(0px - var(--spacing-large));
948     }
949
950     .memdoc li > .fragment {
951         margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
952     }
953
954     .memdoc > div.fragment, .memdoc > pre.fragment, dl dd > div.fragment, dl dd pre.fragment {
955         margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
956         border-radius: 0;
957     }
958 }
959
960 code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span {
961     font-family: var(--font-family-monospace);
962     font-size: var(--code-font-size) !important;
963 }
964
965 div.line:after {
966     margin-right: var(--spacing-medium);
967 }
968
969 div.fragment .line, pre.fragment {
970     white-space: pre;
971     word-wrap: initial;
972     line-height: var(--fragment-lineheight);
973 }
974
975 div.fragment span.keyword {
976     color: var(--fragment-keyword);
977 }
978
979 div.fragment span.keywordtype {
980     color: var(--fragment-keywordtype);
981 }
982
983 div.fragment span.keywordflow {
984     color: var(--fragment-keywordflow);
985 }
986
987 div.fragment span.stringliteral {
988     color: var(--fragment-token)
989 }
990
991 div.fragment span.comment {
992     color: var(--fragment-comment);
993 }
994
995 div.fragment a.code {
996     color: var(--fragment-link) !important;
997 }
998
999 div.fragment span.preprocessor {
1000     color: var(--fragment-preprocessor);
1001 }
1002
1003 div.fragment span.lineno {
1004     display: inline-block;
1005     width: 27px;
1006     border-right: none;
1007     background: var(--fragment-linenumber-background);
1008     color: var(--fragment-linenumber-color);
1009 }
1010
1011 div.fragment span.lineno a {
1012     background: none;
1013     color: var(--fragment-link) !important;
1014 }
1015
1016 div.fragment .line:first-child .lineno {
1017     box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border);
1018 }
1019
1020 /*
1021  dl warning, attention, note, deprecated, bug, ...
1022  */
1023
1024 dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre {
1025     padding: var(--spacing-medium);
1026     margin: var(--spacing-medium) 0;
1027     color: var(--page-background-color);
1028     overflow: hidden;
1029     margin-left: 0;
1030     border-radius: var(--border-radius-small);
1031 }
1032
1033 dl.section dd {
1034     margin-bottom: 2px;
1035 }
1036
1037 dl.warning, dl.attention {
1038     background: var(--warning-color);
1039     border-left: 8px solid var(--warning-color-dark);
1040     color: var(--warning-color-darker);
1041 }
1042
1043 dl.warning dt, dl.attention dt {
1044     color: var(--warning-color-dark);
1045 }
1046
1047 dl.note {
1048     background: var(--note-color);
1049     border-left: 8px solid var(--note-color-dark);
1050     color: var(--note-color-darker);
1051 }
1052
1053 dl.note dt {
1054     color: var(--note-color-dark);
1055 }
1056
1057 dl.bug {
1058     background: var(--bug-color);
1059     border-left: 8px solid var(--bug-color-dark);
1060     color: var(--bug-color-darker);
1061 }
1062
1063 dl.bug dt a {
1064     color: var(--bug-color-dark) !important;
1065 }
1066
1067 dl.deprecated {
1068     background: var(--deprecated-color);
1069     border-left: 8px solid var(--deprecated-color-dark);
1070     color: var(--deprecated-color-darker);
1071 }
1072
1073 dl.deprecated dt a {
1074     color: var(--deprecated-color-dark) !important;
1075 }
1076
1077 dl.section dd, dl.bug dd, dl.deprecated dd {
1078     margin-inline-start: 0px;
1079 }
1080
1081 dl.invariant, dl.pre {
1082     background: var(--invariant-color);
1083     border-left: 8px solid var(--invariant-color-dark);
1084     color: var(--invariant-color-darker);
1085 }
1086
1087 /*
1088  memitem
1089  */
1090
1091 div.memdoc, div.memproto, h2.memtitle {
1092     box-shadow: none;
1093     background-image: none;
1094     border: none;
1095 }
1096
1097 div.memdoc {
1098     padding: 0 var(--spacing-medium);
1099     background: var(--page-background-color);
1100 }
1101
1102 h2.memtitle, div.memitem {
1103     border: 1px solid var(--separator-color);
1104 }
1105
1106 div.memproto, h2.memtitle {
1107     background: var(--code-background);
1108     text-shadow: none;
1109 }
1110
1111 h2.memtitle {
1112     font-weight: 500;
1113     font-family: monospace, fixed;
1114     border-bottom: none;
1115     border-top-left-radius: var(--border-radius-medium);
1116     border-top-right-radius: var(--border-radius-medium);
1117     word-break: break-all;
1118 }
1119
1120 a:target + h2.memtitle, a:target + h2.memtitle + div.memitem {
1121     border-color: var(--primary-light-color);
1122 }
1123
1124 a:target + h2.memtitle {
1125     box-shadow: -3px -3px 3px 0 var(--primary-lightest-color), 3px -3px 3px 0 var(--primary-lightest-color);
1126 }
1127
1128 a:target + h2.memtitle + div.memitem {
1129     box-shadow: 0 0 10px 0 var(--primary-lighter-color);
1130 }
1131
1132 div.memitem {
1133     border-top-right-radius: var(--border-radius-medium);
1134     border-bottom-right-radius: var(--border-radius-medium);
1135     border-bottom-left-radius: var(--border-radius-medium);
1136     overflow: hidden;
1137     display: block !important;
1138 }
1139
1140 div.memdoc {
1141     border-radius: 0;
1142 }
1143
1144 div.memproto {
1145     border-radius: 0 var(--border-radius-small) 0 0;
1146     overflow: auto;
1147     border-bottom: 1px solid var(--separator-color);
1148     padding: var(--spacing-medium);
1149     margin-bottom: -1px;
1150 }
1151
1152 div.memtitle {
1153     border-top-right-radius: var(--border-radius-medium);
1154     border-top-left-radius: var(--border-radius-medium);
1155 }
1156
1157 div.memproto table.memname {
1158     font-family: monospace, fixed;
1159     color: var(--page-foreground-color);
1160 }
1161
1162 table.mlabels, table.mlabels > tbody {
1163     display: block;
1164 }
1165
1166 td.mlabels-left {
1167     width: auto;
1168 }
1169
1170 table.mlabels > tbody > tr:first-child {
1171     display: flex;
1172     justify-content: space-between;
1173     flex-wrap: wrap;
1174 }
1175
1176 .memname, .memitem span.mlabels {
1177     margin: 0
1178 }
1179
1180 /*
1181  reflist
1182  */
1183
1184 dl.reflist {
1185     box-shadow: var(--box-shadow);
1186     border-radius: var(--border-radius-medium);
1187     border: 1px solid var(--separator-color);
1188     overflow: hidden;
1189     padding: 0;
1190 }
1191
1192
1193 dl.reflist dt, dl.reflist dd {
1194     box-shadow: none;
1195     text-shadow: none;
1196     background-image: none;
1197     border: none;
1198     padding: 12px;
1199 }
1200
1201
1202 dl.reflist dt {
1203     font-weight: 500;
1204     border-radius: 0;
1205     background: var(--code-background);
1206     border-bottom: 1px solid var(--separator-color);
1207     color: var(--page-foreground-color)
1208 }
1209
1210
1211 dl.reflist dd {
1212     background: none;
1213 }
1214
1215 /*
1216  Table
1217  */
1218
1219 table.markdownTable, table.fieldtable {
1220     width: 100%;
1221     border: 1px solid var(--separator-color);
1222     margin: var(--spacing-medium) 0;
1223 }
1224
1225 table.fieldtable {
1226     box-shadow: none;
1227     border-radius: var(--border-radius-small);
1228 }
1229
1230 th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
1231     background: var(--tablehead-background);
1232     color: var(--tablehead-foreground);
1233     font-weight: 600;
1234     font-size: var(--page-font-size);
1235 }
1236
1237 table.markdownTable td, table.markdownTable th, table.fieldtable dt {
1238     border: 1px solid var(--separator-color);
1239     padding: var(--spacing-small) var(--spacing-medium);
1240 }
1241
1242 table.fieldtable th {
1243     font-size: var(--page-font-size);
1244     font-weight: 600;
1245     background-image: none;
1246     background-color: var(--tablehead-background);
1247     color: var(--tablehead-foreground);
1248     border-bottom: 1px solid var(--separator-color);
1249 }
1250
1251 .fieldtable td.fieldtype, .fieldtable td.fieldname {
1252     border-bottom: 1px solid var(--separator-color);
1253     border-right: 1px solid var(--separator-color);
1254 }
1255
1256 .fieldtable td.fielddoc {
1257     border-bottom: 1px solid var(--separator-color);
1258 }
1259
1260 .memberdecls td.glow, .fieldtable tr.glow {
1261     background-color: var(--primary-light-color);
1262     box-shadow: 0 0 15px var(--primary-lighter-color);
1263 }
1264
1265 table.memberdecls {
1266     display: block;
1267     overflow-x: auto;
1268     overflow-y: hidden;
1269 }
1270
1271
1272 /*
1273  Horizontal Rule
1274  */
1275
1276 hr {
1277     margin-top: var(--spacing-large);
1278     margin-bottom: var(--spacing-large);
1279     border-top:1px solid var(--separator-color);
1280 }
1281
1282 .contents hr {
1283     box-shadow: var(--content-maxwidth) 0 0 0 var(--separator-color), calc(0px - var(--content-maxwidth)) 0 0 0 var(--separator-color);
1284 }
1285
1286 .contents img {
1287     max-width: 100%;
1288 }
1289
1290 /*
1291  Directories
1292  */
1293 div.directory {
1294     border-top: 1px solid var(--separator-color);
1295     border-bottom: 1px solid var(--separator-color);
1296     width: auto;
1297 }
1298
1299 table.directory {
1300     font-family: var(--font-family);
1301     font-size: var(--page-font-size);
1302     font-weight: normal;
1303 }
1304
1305 .directory td.entry {
1306     padding: var(--spacing-small);
1307     display: flex;
1308     align-items: center;
1309 }
1310
1311 .directory tr.even {
1312     background-color: var(--odd-color);
1313 }
1314
1315 .icona {
1316     width: auto;
1317     height: auto;
1318     margin: 0 var(--spacing-small);
1319 }
1320
1321 .icon {
1322     background: var(--primary-color);
1323     width: 18px;
1324     height: 18px;
1325     line-height: 18px;
1326 }
1327
1328 .iconfopen, .icondoc, .iconfclosed {
1329     background-position: center;
1330     margin-bottom: 0;
1331 }
1332
1333 .icondoc {
1334     filter: saturate(0.2);
1335 }
1336
1337 @media screen and (max-width: 767px) {
1338     div.directory {
1339         margin-left: calc(0px - var(--spacing-medium));
1340         margin-right: calc(0px - var(--spacing-medium));
1341     }
1342 }
1343
1344 @media (prefers-color-scheme: dark) {
1345     html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed {
1346         filter: hue-rotate(180deg) invert();
1347     }
1348 }
1349
1350 html.dark-mode .iconfopen, html.dark-mode .iconfclosed {
1351     filter: hue-rotate(180deg) invert();
1352 }
1353
1354 /*
1355  Class list
1356  */
1357
1358 .classindex dl.odd {
1359     background: var(--odd-color);
1360     border-radius: var(--border-radius-small);
1361 }
1362
1363 @media screen and (max-width: 767px) {
1364     .classindex {
1365         margin: 0 calc(0px - var(--spacing-small));
1366     }
1367 }
1368
1369 /*
1370   Footer and nav-path
1371  */
1372
1373 #nav-path {
1374     margin-bottom: -1px;
1375     width: 100%;
1376 }
1377
1378 #nav-path ul {
1379     background-image: none;
1380     background: var(--page-background-color);
1381     border: none;
1382     border-top: 1px solid var(--separator-color);
1383     border-bottom: 1px solid var(--separator-color);
1384     font-size: var(--navigation-font-size);
1385 }
1386
1387 img.footer {
1388     width: 60px;
1389 }
1390
1391 .navpath li.footer {
1392     color: var(--page-secondary-foreground-color);
1393 }
1394
1395 address.footer {
1396     margin-bottom: var(--spacing-large);
1397 }
1398
1399 #nav-path li.navelem {
1400     background-image: none;
1401     display: flex;
1402     align-items: center;
1403 }
1404
1405 .navpath li.navelem a {
1406     text-shadow: none;
1407     display: inline-block;
1408     color: var(--primary-color) !important;
1409 }
1410
1411 .navpath li.navelem b {
1412     color: var(--primary-dark-color);
1413     font-weight: 500;
1414 }
1415
1416 li.navelem {
1417     padding: 0;
1418     margin-left: -8px;
1419 }
1420
1421 li.navelem:first-child {
1422     margin-left: var(--spacing-large);
1423 }
1424
1425 li.navelem:first-child:before {
1426     display: none;
1427 }
1428
1429 #nav-path li.navelem:after {
1430     content: '';
1431     border: 5px solid var(--page-background-color);
1432     border-bottom-color: transparent;
1433     border-right-color: transparent;
1434     border-top-color: transparent;
1435     transform: scaleY(4.2);
1436     z-index: 10;
1437     margin-left: 6px;
1438 }
1439
1440 #nav-path li.navelem:before {
1441     content: '';
1442     border: 5px solid var(--separator-color);
1443     border-bottom-color: transparent;
1444     border-right-color: transparent;
1445     border-top-color: transparent;
1446     transform: scaleY(3.2);
1447     margin-right: var(--spacing-small);
1448 }
1449
1450 .navpath li.navelem a:hover {
1451     color: var(--primary-color);
1452 }
1453
1454 /*
1455   Optional Dark mode toggle button
1456 */
1457
1458 doxygen-awesome-dark-mode-toggle {
1459     margin: 0 0 0 var(--spacing-small);
1460     padding: 0;
1461     width: var(--searchbar-height);
1462     height: var(--searchbar-height);
1463     background: none;
1464     border: none;
1465     font-size: 23px;
1466     border-radius: var(--border-radius-medium);
1467     vertical-align: middle;
1468     text-align: center;
1469     line-height: var(--searchbar-height);
1470 }
1471
1472 doxygen-awesome-dark-mode-toggle:hover {
1473     background: var(--separator-color);
1474 }
1475
1476 doxygen-awesome-dark-mode-toggle:after {
1477     content: var(--darkmode-toggle-button-icon)
1478 }