1/** 2 * Copyright (c) 2019-2020, Juan Linietsky, Ariel Manzur and the Godot community 3 * Copyright (c) 2021, Teslabs Engineering S.L. 4 * Copyright (c) 2023-2025, The Linux Foundation. 5 * SPDX-License-Identifier: CC-BY-3.0 6 * 7 * Various tweaks to the Read the Docs theme to better conform with Zephyr's 8 * visual identity. Many colors are also overridden to use CSS variables. 9 */ 10 11 :root { 12 /* Use system font stacks for better performance (no Web fonts required) */ 13 --system-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 14 --header-font-family: Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif; 15 --monospace-font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace; 16 } 17 18body, 19h1, 20h2, 21h3, 22h4, 23h5, 24h6, 25input[type="text"], 26input[type="button"], 27input[type="reset"], 28input[type="submit"], 29textarea, 30legend, 31.btn, 32.rst-content .toctree-wrapper p.caption, 33.rst-versions { 34 font-family: var(--system-font-family); 35} 36 37h1, 38h2, 39h3, 40h4, 41h5, 42h6, 43legend, 44.rst-content .toctree-wrapper p.caption { 45 /* Use a lighter font for headers (Semi-Bold instead of Bold) */ 46 font-weight: 600; 47 font-family: var(--header-font-family); 48} 49 50.rst-content div.figure p.caption { 51 /* Tweak caption styling to be closer to typical captions */ 52 text-align: center; 53 margin-top: 8px; 54 opacity: 0.75; 55} 56 57.rst-content div.figure.figure-w480 { 58 max-width: 480px; 59} 60 61p, 62article ul, 63article ol, 64.wy-plain-list-disc, 65.wy-plain-list-decimal, 66.rst-content ol.arabic, 67.rst-content .section ul, 68.rst-content .toctree-wrapper ul, 69.rst-content .section ol { 70 /* Increase the line height slightly to account for the different font */ 71 line-height: 25px; 72} 73 74body, 75.rst-content table.docutils thead { 76 color: var(--body-color); 77} 78 79a { 80 color: var(--link-color); 81} 82 83a:hover { 84 color: var(--link-color-hover); 85 text-decoration: underline; 86} 87 88a:active { 89 /* Add visual feedback when clicking on a link */ 90 color: var(--link-color-active); 91} 92 93a:visited { 94 color: var(--link-color-visited); 95} 96 97a.btn:hover { 98 text-decoration: none; 99} 100 101.sphinx-tabs .sphinx-menu a.item { 102 /* Original definition has `!important` */ 103 color: var(--link-color) !important; 104} 105 106.rst-content .toc-backref { 107 color: var(--link-color); 108} 109 110/* Style external links differently to make them easier to distinguish from internal links. */ 111.reference.external { 112 background-position: center right; 113 background-repeat: no-repeat; 114 background-image: var(--external-reference-icon); 115 padding-right: 13px; 116} 117 118hr, 119#search-results .search li:first-child, 120#search-results .search li { 121 border-color: var(--hr-color); 122} 123 124 125footer, 126#search-results .context { 127 color: var(--footer-color); 128} 129 130/* Icon tweaks */ 131a.icon-home, 132a.icon-home:visited { 133 color: var(--navbar-level-1-color); 134} 135 136/* Main sections */ 137 138.wy-nav-content-wrap { 139 background-color: var(--content-wrap-background-color); 140} 141 142.wy-nav-content { 143 background-color: var(--content-background-color); 144 min-height: 100vh; 145 min-height: 100dvh; 146 display: flex; 147} 148 149.wy-body-for-nav { 150 background-color: var(--content-wrap-background-color); 151} 152 153@media only screen and (min-width: 769px) { 154 .wy-nav-content { 155 max-width: 915px; 156 } 157} 158 159/* Table display tweaks */ 160 161.rst-content table.docutils, 162.wy-table-bordered-all td, 163.rst-content table.docutils td, 164.wy-table thead th, 165.rst-content table.docutils thead th, 166.rst-content table.field-list thead th { 167 border-color: var(--code-border-color); 168} 169 170.rst-content table.docutils caption, .rst-content table.field-list caption, .wy-table caption { 171 color: var(--body-color); 172} 173.wy-table-odd td, 174.wy-table-striped tr:nth-child(2n-1) td, 175.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td { 176 background-color: var(--table-row-odd-background-color); 177} 178 179/* Override table no-wrap */ 180/* The first column cells are not verbose, no need to wrap them */ 181.wy-table-responsive table td:not(:nth-child(1)), 182.wy-table-responsive table th:not(:nth-child(1)) { 183 white-space: normal; 184} 185 186/* Allow to control wrapping behavior per table */ 187.wy-table-responsive table.wrap-normal td, 188.wy-table-responsive table.wrap-normal th { 189 white-space: normal; 190} 191 192/* Make sure not to wrap keyboard shortcuts */ 193.wy-table-responsive table td kbd { 194 white-space: nowrap; 195} 196 197/* Force table content font-size in responsive tables to be 100% 198 * fixing larger font size for paragraphs in the kconfig tables */ 199 .wy-table-responsive td p { 200 font-size: 100%; 201} 202 203/* Code display tweaks */ 204 205code, 206.rst-content tt, 207.rst-content code { 208 font-size: 14px; 209 background-color: var(--code-background-color); 210 border: 1px solid var(--code-border-color); 211} 212 213.rst-content tt.literal, 214.rst-content code.literal { 215 color: var(--code-literal-color); 216} 217 218.rst-content div[class^="highlight"] { 219 border-color: none; 220 border: none; 221} 222 223.rst-content pre.literal-block, 224.rst-content div[class^="highlight"] pre, 225.rst-content .linenodiv pre { 226 /* Increase the font size and line height in code blocks */ 227 font-size: 14px; 228 line-height: 1.5; 229} 230 231.rst-content pre.literal-block { 232 border: none; 233 border-radius: 0.25rem; 234 background-color: var(--code-background-color); 235} 236 237/* Code tab display tweaks */ 238 239.ui.tabular.menu .active.item, 240.ui.segment, 241.sphinx-tabs-panel { 242 background-color: var(--code-background-color) !important; 243} 244 245.sphinx-tabs-tab { 246 color: var(--link-color) !important; 247} 248 249.sphinx-tabs-tab[aria-selected="true"] { 250 background-color: var(--code-background-color) !important; 251 border-bottom: 1px solid var(--code-background-color) !important; 252} 253 254/* Code literals */ 255a.internal code.literal { 256 color: var(--link-color); 257} 258 259a.internal:visited code.literal { 260 color: var(--link-color-visited); 261} 262 263/* Syntax highlighting */ 264 265.tab div[class^='highlight']:last-child { 266 margin-bottom: 1em; 267} 268 269.rst-content tt.literal, .rst-content code.literal, .highlight { 270 border-radius: 0.25rem; 271} 272 273.highlight { 274 background-color: var(--highlight-background-color); 275} 276 277/* Emphasized lines */ 278.highlight .hll { 279 background-color: var(--highlight-background-emph-color); 280} 281 282.highlight .gh /* Generic.Heading */, 283.highlight .gu /* Generic.Subheading */, 284.highlight .go /* Generic.Output */, 285.highlight .gt /* Generic.Traceback */ { 286 color: var(--highlight-default-color); 287} 288 289.highlight .c /* Comment */, 290.highlight .c1 /* Comment.Single */, 291.highlight .cm /* Comment.Multiline */, 292.highlight .cs /* Comment.Special */ { 293 color: var(--highlight-comment-color); 294} 295 296.highlight .bp /* Name.Builtin.Pseudo */, 297.highlight .k /* Keyword */, 298.highlight .kc /* Keyword.Constant */, 299.highlight .kd /* Keyword.Declaration */, 300.highlight .kn /* Keyword.Namespace */, 301.highlight .kp /* Keyword.Pseudo */, 302.highlight .kr /* Keyword.Reserved */, 303.highlight .kt /* Keyword.Type */, 304.highlight .ow /* Operator.Word */ { 305 color: var(--highlight-keyword-color); 306} 307 308.highlight .ch /* Comment.Hashbang */, 309.highlight .cp /* Comment.Preproc */ { 310 color: var(--highlight-keyword2-color); 311} 312 313.highlight .m /* Literal.Number */, 314.highlight .mf /* Literal.Number.Float */, 315.highlight .mi /* Literal.Number.Integer */, 316.highlight .il /* Literal.Number.Integer.Long */, 317.highlight .mb /* Literal.Number.Bin */, 318.highlight .mh /* Literal.Number.Hex */, 319.highlight .mo /* Literal.Number.Oct */ { 320 color: var(--highlight-number-color); 321} 322 323.highlight .na /* Name.Attribute */, 324.highlight .nd /* Name.Decorator */, 325.highlight .ni /* Name.Entity */, 326.highlight .nl /* Name.Label */ { 327 color: var(--highlight-decorator-color); 328} 329 330.highlight .nb /* Name.Builtin */, 331.highlight .ne /* Name.Exception */ { 332 color: var(--highlight-type-color); 333} 334 335.highlight .nc /* Name.Class */, 336.highlight .nn /* Name.Namespace */, 337.highlight .no /* Name.Constant */, 338.highlight .nv /* Name.Variable */, 339.highlight .vc /* Name.Variable.Class */, 340.highlight .vg /* Name.Variable.Global */, 341.highlight .vi /* Name.Variable.Instance */, 342.highlight .vm /* Name.Variable.Magic */ { 343 color: var(--highlight-type2-color); 344} 345 346.highlight .nf /* Name.Function */, 347.highlight .fm /* Name.Function.Magic */, 348.highlight .nt /* Name.Tag */ { 349 color: var(--highlight-function-color); 350} 351 352.highlight .o /* Operator */, 353.highlight .si /* Literal.String.Interpol */, 354.highlight .sx /* Literal.String.Other */, 355.highlight .sr /* Literal.String.Regex */, 356.highlight .ss /* Literal.String.Symbol */ { 357 color: var(--highlight-operator-color); 358} 359 360.highlight .cpf/* Comment.PreprocFile */, 361.highlight .s /* Literal.String */, 362.highlight .s1 /* Literal.String.Single */, 363.highlight .s2 /* Literal.String.Double */, 364.highlight .sc /* Literal.String.Char */, 365.highlight .se /* Literal.String.Escape */, 366.highlight .sa /* Literal.String.Affix */, 367.highlight .sb /* Literal.String.Backtick */, 368.highlight .dl /* Literal.String.Delimiter */, 369.highlight .sd /* Literal.String.Doc */, 370.highlight .sh /* Literal.String.Heredoc */ { 371 color: var(--highlight-string-color); 372} 373 374/* Admonition tweaks */ 375 376.rst-content .admonition, 377.rst-content .admonition.note, 378.rst-content .admonition.seealso { 379 background-color: var(--admonition-note-background-color); 380 color: var(--admonition-note-color); 381 overflow: auto; 382} 383 384.rst-content .admonition .admonition-title, 385.rst-content .admonition.note .admonition-title, 386.rst-content .admonition.seealso .admonition-title { 387 background-color: var(--admonition-note-title-background-color); 388 color: var(--admonition-note-title-color); 389} 390 391.rst-content .admonition.attention, 392.rst-content .admonition.caution, 393.rst-content .admonition.warning { 394 background-color: var(--admonition-attention-background-color); 395 color: var(--admonition-attention-color); 396 overflow: auto; 397} 398 399.rst-content .admonition.attention .admonition-title, 400.rst-content .admonition.caution .admonition-title, 401.rst-content .admonition.warning .admonition-title { 402 background-color: var(--admonition-attention-title-background-color); 403 color: var(--admonition-attention-title-color); 404} 405 406.rst-content .admonition.danger { 407 background-color: var(--admonition-danger-background-color); 408 color: var(--admonition-danger-color); 409 overflow: auto; 410} 411 412.rst-content .admonition.danger .admonition-title { 413 background-color: var(--admonition-danger-title-background-color); 414 color: var(--admonition-danger-title-color); 415} 416 417.rst-content .admonition.tip, 418.rst-content .admonition.important { 419 background-color: var(--admonition-tip-background-color); 420 color: var(--admonition-tip-color); 421 overflow: auto; 422} 423 424.rst-content .admonition.tip .admonition-title, 425.rst-content .admonition.important .admonition-title { 426 background-color: var(--admonition-tip-title-background-color); 427 color: var(--admonition-tip-title-color); 428} 429 430/* Admonition tweaks - sphinx_togglebutton */ 431 432.rst-content .admonition.toggle { 433 overflow: visible; 434} 435 436.rst-content .admonition.toggle button { 437 display: inline-flex; 438 color: var(--admonition-note-title-color); 439} 440 441.rst-content .admonition.toggle .tb-icon { 442 height: 1em; 443 width: 1em; 444} 445 446/* Keyboard shortcuts tweaks */ 447kbd, .kbd, 448.rst-content :not(dl.option-list) > :not(dt):not(kbd):not(.kbd) > kbd, 449.rst-content :not(dl.option-list) > :not(dt):not(kbd):not(.kbd) > .kbd { 450 background-color: var(--kbd-background-color); 451 border: 1px solid var(--kbd-outline-color); 452 border-radius: 3px; 453 box-shadow: inset 0 -1px 0 var(--kbd-shadow-color); 454 color: var(--kbd-text-color); 455 display: inline-block; 456 font-size: 12px; 457 line-height: 11px; 458 padding: 4px 5px; 459 vertical-align: middle; 460} 461 462/* guilabel and menuselection tweaks */ 463.rst-content .guilabel, 464.rst-content .menuselection { 465 color: var(--body-color); 466 background-color: var(--guiitems-background-color); 467 border-color: var(--guiitems-border-color); 468} 469 470/* heading tweaks to make document hierarchy easier to grasp */ 471 472.rst-content section > h1 { 473 font-weight: 700; 474 margin-bottom: 2.5rem; 475 position: relative; 476 line-height: 1; 477 z-index: 1; 478} 479 480.rst-content section > h1::before { 481 content: ''; 482 position: absolute; 483 z-index:-1; 484 left: 0; 485 right: 0; 486 height: 4px; 487 bottom: -1px; 488 background: linear-gradient(to right, var(--admonition-note-title-background-color), var(--admonition-note-title-background-color) 50%, var(--admonition-note-background-color) 80%, transparent); /* Example gradient */ 489 opacity:50%; 490} 491 492.rst-content section > h2, 493.rst-content section > h3, 494.rst-content section > h4, 495.rst-content section > h5 { 496 font-weight: 500; 497 padding-inline-start: 8px; 498 margin-inline-start: 0px; 499 border-inline-start: 8px solid; 500 padding-top: 0.2em; 501 padding-bottom: 0.2em; 502} 503 504.rst-content section > h2 { 505 border-color: var(--admonition-note-title-background-color); 506} 507 508.rst-content section > h3 { 509 border-color: var(--admonition-note-background-color); 510} 511 512.rst-content section > h4 { 513 border-color: transparent; 514 font-weight: 400; 515} 516 517.rst-content section > h5 { 518 border-color: transparent; 519 font-weight: 100; 520} 521 522/* Definition lists */ 523.rst-content dl { 524 border-left: 4px solid var(--admonition-note-background-color); 525} 526 527.rst-content dl:not(.field-list) > dt { 528 position: relative; 529 padding-left: 1rem; 530 line-height: 1.8rem; 531 background: var(--highlight-background-color); 532 border-radius: 0 16px 16px 0; 533} 534 535.rst-content dl:not(.field-list) > dt::before { 536 content: ''; 537 position: absolute; 538 left: -10px; 539 top: 6px; 540 width: 16px; 541 height: 16px; 542 background: var(--admonition-note-title-background-color); 543 border-radius: 50%; 544 border: 4px solid var(--content-background-color); 545} 546 547/* Buttons */ 548 549.btn-neutral { 550 background-color: var(--btn-neutral-background-color) !important; 551 color: var(--body-color) !important; 552} 553 554.btn-neutral:hover { 555 background-color: var(--btn-neutral-hover-background-color) !important; 556} 557 558.btn-neutral:visited { 559 color: var(--body-color) !important; 560} 561 562/* Navigation bar logo and search */ 563 564.logo { 565 opacity: var(--logo-opacity); 566} 567 568.wy-side-nav-search > a img.logo { 569 /* Fixed size to prevent reflows and support hiDPI displays */ 570 /* A 5 pixel margin is added on each side. The logo itself displays at 200×100 at 100% scaling. */ 571 width: 210px; 572 height: 105px; 573} 574 575.wy-side-nav-search { 576 background-color: var(--navbar-background-color); 577} 578 579.wy-side-nav-search.fixed { 580 position: fixed; 581} 582 583@media only screen and (min-width: 769px) { 584 /* Simulate a drop shadow that only affects the bottom edge */ 585 /* This is used to indicate the search bar is fixed */ 586 .wy-side-nav-search.fixed-and-scrolled::after { 587 content: ''; 588 position: absolute; 589 left: 0; 590 bottom: -8px; 591 width: 300px; 592 height: 8px; 593 pointer-events: none; 594 background: linear-gradient(hsla(0, 0%, 0%, 0.2), transparent); 595 } 596} 597 598.wy-side-nav-search > a:hover, 599.wy-side-nav-search .wy-dropdown > a:hover { 600 background-color: var(--navbar-background-color-hover); 601} 602 603.wy-side-nav-search > a:active, 604.wy-side-nav-search .wy-dropdown > a:active { 605 background-color: var(--navbar-background-color-active); 606} 607 608.wy-side-nav-search input[type=search] { 609 width: 100%; 610 border-radius: 50px; 611 padding: 6px 12px; 612 background-color: var(--input-background-color); 613 color: var(--body-color); 614 /* Avoid reflowing when toggling the focus state */ 615 border: 2px solid transparent; 616 box-shadow: none; 617 /* Make visual feedback instant */ 618 transition: none; 619 font-size: 14px; 620} 621 622.wy-side-nav-search input[type="search"]:focus { 623 border: 2px solid var(--input-focus-border-color); 624} 625 626.wy-side-nav-search input[type="search"]::placeholder { 627 color: var(--body-color); 628 opacity: 0.55; 629} 630 631/* Navigation bar */ 632 633.wy-nav-side { 634 background-color: var(--navbar-background-color); 635} 636 637.wy-menu-vertical header, 638.wy-menu-vertical p.caption { 639 color: var(--navbar-heading-color); 640 641 /* Improves the appearance of uppercase text */ 642 letter-spacing: 0.75px; 643} 644 645/* Mobile navigation */ 646 647.wy-nav-top, 648.wy-nav-top a { 649 background-color: var(--navbar-background-color); 650 color: var(--navbar-level-1-color); 651} 652 653/* Version branch label below the logo */ 654.wy-side-nav-search > div.version { 655 color: var(--navbar-level-3-color); 656 opacity: 0.9; 657} 658 659/* First level of navigation items */ 660 661.wy-menu-vertical a { 662 color: var(--navbar-level-1-color); 663} 664 665.wy-menu-vertical a:hover { 666 background-color: var(--navbar-background-color-hover); 667 color: var(--navbar-level-1-color); 668} 669 670.wy-menu-vertical a:active { 671 background-color: var(--navbar-background-color-active); 672} 673 674.wy-menu-vertical li.toctree-l1.current > a { 675 border: none; 676} 677 678.wy-menu-vertical a button.toctree-expand, 679.wy-menu-vertical li.toctree-l2 a button.toctree-expand { 680 color: var(--navbar-level-3-color); 681 opacity: 0.9; 682 margin-right: 6px; 683} 684 685.wy-menu-vertical a:hover button.toctree-expand, 686.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand { 687 color: var(--navbar-level-2-color); 688 opacity: 1; 689} 690 691.wy-menu-vertical a:active button.toctree-expand, 692.wy-menu-vertical li.toctree-l2 a:active button.toctree-expand { 693 color: var(--navbar-level-1-color); 694 opacity: 1; 695} 696 697/* Second (and higher) levels of navigation items */ 698 699.wy-menu-vertical li.current a { 700 /* Make long words always display on a single line, keep wrapping for multiple words */ 701 /* This fixes the class reference titles' display with very long class names */ 702 display: flex; 703} 704 705.wy-menu-vertical li.current a, 706.wy-menu-vertical li.toctree-l2.current > a, 707.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a, 708.wy-menu-vertical li.toctree-l2.current li.toctree-l4 > a { 709 background-color: var(--navbar-current-background-color); 710 color: var(--navbar-level-2-color); 711 border-color: var(--navbar-current-background-color); 712} 713 714.wy-menu-vertical li.current a:hover, 715.wy-menu-vertical li.toctree-l2.current > a:hover, 716.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:hover, 717.wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a:hover { 718 background-color: var(--navbar-current-background-color-hover); 719} 720 721.wy-menu-vertical li.current a:active, 722.wy-menu-vertical li.toctree-l2.current > a:active, 723.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:active, 724.wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a:active { 725 background-color: var(--navbar-current-background-color-active); 726} 727 728.wy-menu-vertical a { 729 /* This overrides 8px margin added in other multi-selector rules */ 730 margin-right: 0; 731} 732 733/* Banner panel in sidebar */ 734.wy-nav-side .ethical-rtd.fixed { 735 position: fixed; 736} 737 738/* Version selector (only visible on Read the Docs) */ 739 740.rst-versions { 741 background-color: var(--navbar-current-background-color); 742} 743 744.rst-versions a, 745.rst-versions .rst-current-version, 746.rst-versions .rst-current-version .fa, 747.rst-versions .rst-other-versions dd a { 748 color: var(--navbar-level-1-color); 749} 750 751.rst-versions .rst-other-versions small { 752 color: var(--navbar-level-3-color); 753} 754 755.rst-versions .rst-other-versions dd a:hover { 756 text-decoration: underline; 757} 758 759.rst-versions .rst-other-versions { 760 color: var(--navbar-heading-color); 761} 762 763.rst-versions .rst-current-version { 764 background-color: var(--navbar-current-background-color); 765} 766 767.rst-versions .rst-current-version:hover { 768 background-color: var(--navbar-current-background-color-hover); 769} 770 771.rst-versions .rst-current-version:active { 772 background-color: var(--navbar-current-background-color-active); 773} 774 775.rst-versions.shift-up { 776 overflow-y: auto; 777} 778 779/* Hide the obnoxious automatic highlight in search results */ 780.rst-content .highlighted { 781 background-color: transparent; 782 font-weight: inherit; 783 padding: 0; 784} 785 786/* Allows the scrollbar to be shown in the sidebar */ 787@media only screen and (min-width: 769px) { 788 .wy-side-scroll { 789 overflow: hidden; 790 } 791 792 .wy-nav-side .wy-side-scroll .ethical-rtd { 793 width: calc(300px - 1.25em); 794 padding: 0 0 0 1em; 795 } 796} 797.wy-menu.wy-menu-vertical { 798 overflow-y: auto; 799 overflow-x: hidden; 800 max-height: calc(100% - 243px); 801} 802@media screen and (max-width: 768px) { 803 .wy-nav-side { 804 padding-bottom: 44px; 805 } 806 .wy-menu.wy-menu-vertical { 807 overflow-y: initial; 808 max-height: initial; 809 } 810 .wy-nav-content { 811 min-height: calc(100vh - 64px); 812 min-height: calc(100dvh - 64px); 813 } 814} 815 816/* Scrollbar styling */ 817.wy-menu.wy-menu-vertical { 818 scrollbar-color: var(--navbar-scrollbar-color) var(--navbar-scrollbar-background); 819} 820.wy-menu.wy-menu-vertical::-webkit-scrollbar { 821 width: .75rem; 822} 823.wy-menu.wy-menu-vertical::-webkit-scrollbar-track { 824 background-color: var(--navbar-scrollbar-background); 825} 826.wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb { 827 background-color: var(--navbar-scrollbar-color); 828} 829/* Firefox does the dimming on hover automatically. We emulate it for Webkit-based browsers. */ 830.wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb:hover { 831 background-color: var(--navbar-scrollbar-hover-color); 832} 833.wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb:active { 834 background-color: var(--navbar-scrollbar-active-color); 835} 836 837/* Misc tweaks */ 838 839.rst-columns { 840 column-width: 18em; 841} 842 843.rst-content div.figure, .rst-content figure { 844 text-align: center; 845} 846 847.wy-alert.wy-alert-danger { 848 background-color: var(--admonition-danger-background-color); 849} 850 851 852dark-mode-toggle::part(fieldset) { 853 padding-inline: 0.75rem; 854 padding-block: 0; 855} 856 857dark-mode-toggle::part(darkLabel), 858dark-mode-toggle::part(lightLabel), 859dark-mode-toggle::part(toggleLabel){ 860 font-size: unset; 861} 862 863div.graphviz > object { 864 filter: var(--graphviz-filter); 865} 866 867/* Sidebar */ 868.rst-content .sidebar { 869 border-radius: 12px; 870 padding: 0px; 871 background: var(--admonition-note-background-color); 872 color: var(--admonition-note-title-color); 873 border-color: var(--admonition-note-title-background-color); 874} 875 876@media screen and (max-width: 480px) { 877 .rst-content .sidebar { 878 float: none; 879 margin-left: 0; 880 } 881} 882 883.rst-content .sidebar { 884 color: var(--admonition-note-color); 885} 886 887.rst-content .sidebar .sidebar-title { 888 font-family: var(--header-font-family); 889 background: var(--admonition-note-title-background-color); 890 color: var(--admonition-note-title-color); 891 border-radius: 12px 12px 0px 0px; 892 margin: 0px; 893 text-align: center; 894} 895 896.rst-content .sidebar figure { 897 padding: 1rem; 898 margin-bottom: -1rem; 899} 900 901.rst-content .sidebar figure img { 902 height: auto !important; 903} 904 905.rst-content .sidebar figure figcaption p { 906 margin-bottom: 0px; 907} 908 909.rst-content .sidebar dl.field-list { 910 align-items: center; 911 margin-top: 12px !important; 912 margin-bottom: 12px !important; 913 grid-template-columns: auto 1fr !important; 914 padding-right: 1em; 915} 916 917.rst-content .sidebar dl.field-list>dt { 918 background: transparent !important; 919} 920 921.rst-content .sidebar dl.field-list>dd { 922 margin-left: 1em; 923 text-overflow: ellipsis; 924 overflow: hidden; 925} 926 927.rst-content .sidebar dl.field-list>dd code { 928 font-size: 0.9em; 929} 930 931/* Home page grid display */ 932.grid { 933 list-style-type: none !important; 934 display: -webkit-box; 935 display: -ms-flexbox; 936 display: flex; 937 -ms-flex-wrap: wrap; 938 flex-wrap: wrap; 939 -webkit-box-pack: center; 940 -ms-flex-pack: center; 941 justify-content: center; 942 margin: 1rem auto; 943 max-width: calc((160px + 2rem) * 4); 944} 945 946.grid-item { 947 list-style-type: none !important; 948 -webkit-box-flex: 0; 949 -ms-flex: 0 0 auto; 950 flex: 0 0 auto; 951 width: 150px; 952 text-align: center; 953 margin: 1rem; 954} 955 956.grid-item a { 957 display: block; 958 width: 150px; 959 height: 150px; 960 padding: 20px; 961 display: -webkit-box; 962 display: -ms-flexbox; 963 display: flex; 964 -webkit-box-orient: vertical; 965 -webkit-box-direction: normal; 966 -ms-flex-direction: column; 967 flex-direction: column; 968 -webkit-box-pack: center; 969 -ms-flex-pack: center; 970 justify-content: center; 971 -webkit-box-align: center; 972 -ms-flex-align: center; 973 align-items: center; 974 border-radius: 1rem; 975 background: linear-gradient(135deg, #0070c5 0%, #5c13a5 100%); 976 color: white; 977} 978 979.grid-item h2 { 980 font-size: 1rem; 981} 982 983.grid-item img { 984 margin-bottom: 1rem; 985 max-width: 75%; 986} 987 988.grid-item a:hover { 989 text-decoration: none; 990} 991 992.grid-item p { 993 font-size: 0.9rem; 994 margin-top: 0.5rem; 995 color: var(--body-color); 996 font-weight: 200; 997 margin-left: -0.9em; 998 margin-right: -0.9em; 999 line-height: 1.4rem; 1000} 1001 1002.grid-icon { 1003 line-height: 1.5; 1004 font-size: 3rem; 1005 color: white; 1006} 1007 1008.lastupdated { 1009 font-weight: 200; 1010 font-size: 0.9rem; 1011} 1012 1013/* Make actual document take all vertical space available so that footer is always at the bottom */ 1014 1015.rst-content { 1016 flex: 1; 1017 display: flex; 1018 flex-direction: column; 1019 width: 100%; 1020} 1021 1022.document { 1023 flex-grow: 1; 1024} 1025 1026/* Custom search box, including search engine selection */ 1027 1028.search-container { 1029 position: relative; 1030} 1031 1032#search-se-settings-icon { 1033 position: absolute; 1034 color: var(--body-color); 1035 right: 10px; 1036 top: 50%; 1037 transform: translateY(-50%); 1038 cursor: pointer; 1039 opacity: 0.8; 1040 padding: 10px; 1041} 1042 1043#search-se-menu { 1044 display: none; 1045 position: absolute; 1046 font-size: 11px; 1047 background-color: var(--input-background-color); 1048 color: var(--body-color); 1049 right: 0px; 1050 top: 36px; 1051 border: solid 1px var(--body-color); 1052 border-radius: 10px; 1053 z-index: 1000; 1054} 1055 1056#search-se-menu ul { 1057 list-style: none; 1058 margin: 0; 1059 padding: 2px; 1060} 1061 1062#search-se-menu ul li { 1063 padding: 8px 12px; 1064 cursor: pointer; 1065 display: flex; 1066 justify-content: space-between; 1067 align-items: center; 1068 gap: 1em; 1069} 1070 1071#search-se-menu [role="menuitemradio"]:focus { 1072 background-color: var(--navbar-current-background-color-hover); 1073 color: var(--navbar-level-1-color); 1074 border-radius: 10px; 1075} 1076 1077#search-se-menu ul li .fa-check { 1078 display: none; 1079 } 1080 1081 #search-se-menu ul li.selected .fa-check { 1082 display: inline; 1083 } 1084 1085.doxygroup::after { 1086 content: 'Doxygen'; 1087 display: inline-block; 1088 background-color: var(--admonition-note-title-background-color); 1089 color: var(--admonition-note-title-color); 1090 padding: 2px 8px; 1091 border-radius: 12px; 1092 margin-left: 8px; 1093 font-size: 0.875em; 1094 font-weight: bold; 1095} 1096 1097.code-sample-list li { 1098 margin-bottom: 0.25em; 1099} 1100.code-sample-name { 1101 font-weight: bold; 1102 padding-right: 0.5em; 1103} 1104 1105.code-sample-description { 1106 font-weight: 300; 1107} 1108 1109.code-sample-description::before { 1110 content: '\F0A9'; /* arrow-circle-right */ 1111 font-family: 'FontAwesome'; 1112 padding-right: 0.5em; 1113} 1114 1115li>a.code-sample-link.reference.internal { 1116 font-weight: 100; 1117} 1118 1119li>a.code-sample-link.reference.internal.current { 1120 text-decoration: underline; 1121} 1122