custom.css 35 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111
  1. /**
  2. * Various tweaks to the Read the Docs theme to better conform with Godot's
  3. * visual identity. Many colors are also overridden to use CSS variables.
  4. * This makes it possible to provide an automatically-used dark theme
  5. * based on browser preferences.
  6. */
  7. /* Default (light) theme colors */
  8. :root {
  9. --body-color: #404040;
  10. --content-wrap-background-color: #efefef;
  11. --content-background-color: #fcfcfc;
  12. --logo-opacity: 1.0;
  13. --navbar-background-color: #333f67;
  14. --navbar-background-color-hover: #29355c;
  15. --navbar-background-color-active: #212d51;
  16. --navbar-current-background-color: #212d51;
  17. --navbar-current-background-color-hover: #182343;
  18. --navbar-current-background-color-active: #131e3b;
  19. --navbar-level-1-color: #c3e3ff;
  20. --navbar-level-2-color: #b8d6f0;
  21. --navbar-level-3-color: #a3c4e1;
  22. --navbar-heading-color: #ff7381;
  23. --navbar-scrollbar-color: #d45a66;
  24. --navbar-scrollbar-hover-color: #b14550;
  25. --navbar-scrollbar-active-color: #72383e;
  26. --navbar-scrollbar-background: #131e2b;
  27. --link-color: #2980b9;
  28. --link-color-hover: #3091d1;
  29. --link-color-active: #105078;
  30. --link-color-visited: #9b59b6;
  31. --external-reference-icon: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyIiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMjk4MGI5Ij48cGF0aCBkPSJtNy41IDcuMXYzLjRoLTZ2LTZoMy40Ii8+PHBhdGggZD0ibTUuNzY1IDFoNS4yMzV2NS4zOWwtMS41NzMgMS41NDctMS4zMS0xLjMxLTIuNzI0IDIuNzIzLTIuNjktMi42ODggMi44MS0yLjgwOC0xLjMxMy0xLjMxeiIvPjwvZz48L3N2Zz4K");
  32. --classref-badge-text-color: hsl(0, 0%, 45%);
  33. --hr-color: #e1e4e5;
  34. --table-row-odd-background-color: #f3f6f6;
  35. --code-background-color: #fff;
  36. --code-border-color: #e1e4e5;
  37. --code-literal-color: #d04c60;
  38. --input-background-color: #fcfcfc;
  39. --input-focus-border-color: #5f8cff;
  40. --search-input-background-color: #e6eef3; /* derived from --input-background-color */
  41. --search-match-color: #2c6b96; /* derived from --link-color */
  42. --search-match-background-color: #e3f2fd; /* derived from --link-color */
  43. --search-active-color: #efefef;
  44. --search-credits-background-color: #333f67; /* derived from --navbar-background-color */
  45. --search-credits-color: #b3b3b3; /* derived from --footer-color */
  46. --search-credits-link-color: #4392c5; /* derived from --link-color */
  47. --highlight-background-color: #f5ffe1;
  48. --highlight-background-emph-color: #dbe6c3;
  49. --highlight-default-color: #404040;
  50. --highlight-comment-color: #408090;
  51. --highlight-keyword-color: #007020;
  52. --highlight-keyword2-color: #902000;
  53. --highlight-number-color: #208050;
  54. --highlight-decorator-color: #4070a0;
  55. --highlight-type-color: #007020;
  56. --highlight-type2-color: #0e84b5;
  57. --highlight-function-color: #06287e;
  58. --highlight-operator-color: #666666;
  59. --highlight-string-color: #4070a0;
  60. --admonition-note-background-color: #e7f2fa;
  61. --admonition-note-color: #404040;
  62. --admonition-note-title-background-color: #6ab0de;
  63. --admonition-note-title-color: #fff;
  64. --admonition-attention-background-color: #ffedcc;
  65. --admonition-attention-color: #404040;
  66. --admonition-attention-title-background-color: #f0b37e;
  67. --admonition-attention-title-color: #fff;
  68. --admonition-danger-background-color: #fcf3f2;
  69. --admonition-danger-color: #404040;
  70. --admonition-danger-title-background-color: #e9a499;
  71. --admonition-danger-title-color: #fff;
  72. --admonition-tip-background-color: #dbfaf4;
  73. --admonition-tip-color: #404040;
  74. --admonition-tip-title-background-color: #1abc9c;
  75. --admonition-tip-title-color: #fff;
  76. --kbd-background-color: #fafbfc;
  77. --kbd-outline-color: #d1d5da;
  78. --kbd-shadow-color: #b0b7bf;
  79. --kbd-text-color: #444d56;
  80. --code-example-good-color: #3fb950;
  81. --code-example-bad-color: #f85149;
  82. --btn-neutral-background-color: #f3f6f6;
  83. --btn-neutral-hover-background-color: #e5ebeb;
  84. --footer-color: #808080;
  85. }
  86. /* Dark theme colors */
  87. @media (prefers-color-scheme: dark) {
  88. :root {
  89. --body-color: rgba(255, 255, 255, 0.85);
  90. --content-wrap-background-color: #202326;
  91. --content-background-color: #2e3236;
  92. /* Decrease the logo opacity when using the dark theme to be less distracting */
  93. --logo-opacity: 0.85;
  94. --navbar-background-color: #25282b;
  95. --navbar-background-color-hover: #333639;
  96. --navbar-background-color-active: #111417;
  97. --navbar-current-background-color: #333639;
  98. --navbar-current-background-color-hover: #44474a;
  99. --navbar-current-background-color-active: #222528;
  100. --navbar-level-1-color: #ddd;
  101. --navbar-level-2-color: #ccc;
  102. --navbar-level-3-color: #bbb;
  103. --navbar-heading-color: #ee7381;
  104. --navbar-scrollbar-color: #be5460;
  105. --navbar-scrollbar-hover-color: #963e48;
  106. --navbar-scrollbar-active-color: #5f3034;
  107. --navbar-scrollbar-background: #1c1e21;
  108. --link-color: #8cf;
  109. --link-color-hover: #9df;
  110. --link-color-active: #6ad;
  111. --link-color-visited: #cb99f6;
  112. --external-reference-icon: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyIiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOGNmIj48cGF0aCBkPSJtNy41IDcuMXYzLjRoLTZ2LTZoMy40Ii8+PHBhdGggZD0ibTUuNzY1IDFoNS4yMzV2NS4zOWwtMS41NzMgMS41NDctMS4zMS0xLjMxLTIuNzI0IDIuNzIzLTIuNjktMi42ODggMi44MS0yLjgwOC0xLjMxMy0xLjMxeiIvPjwvZz48L3N2Zz4K");
  113. --classref-badge-text-color: hsl(0, 0%, 70%);
  114. --hr-color: #555;
  115. --table-row-odd-background-color: #3b3e41;
  116. --code-background-color: #434649;
  117. --code-border-color: #505356;
  118. --code-literal-color: #faa;
  119. --input-background-color: #333537;
  120. --input-focus-border-color: #5f8cff;
  121. --search-input-background-color: #43464a; /* derived from --input-background-color */
  122. --search-match-color: #52b4ff; /* derived from --link-color */
  123. --search-match-background-color: #414c56; /* derived from --link-color */
  124. --search-active-color: #202326;
  125. --search-credits-background-color: #202123; /* derived from --navbar-background-color */
  126. --search-credits-color: #6b6b6b; /* derived from --footer-color */
  127. --search-credits-link-color: #628fb1; /* derived from --link-color */
  128. /* Colors taken from the Godot script editor with the Adaptive theme */
  129. --highlight-background-color: #202531;
  130. --highlight-background-emph-color: #2d3444;
  131. --highlight-default-color: rgba(255, 255, 255, 0.85);
  132. --highlight-comment-color: rgba(204, 206, 211, 0.5);
  133. --highlight-keyword-color: #ff7085;
  134. --highlight-keyword2-color: #42ffc2;
  135. --highlight-number-color: #a1ffe0;
  136. --highlight-decorator-color: #ffb373;
  137. --highlight-type-color: #8effda;
  138. --highlight-type2-color: #c6ffed;
  139. --highlight-function-color: #57b3ff;
  140. --highlight-operator-color: #abc8ff;
  141. --highlight-string-color: #ffeca1;
  142. --admonition-note-background-color: #303d4f;
  143. --admonition-note-color: #bfeeff;
  144. --admonition-note-title-background-color: #305070;
  145. --admonition-note-title-color: #bfefff;
  146. --admonition-attention-background-color: #444033;
  147. --admonition-attention-color: #ffeeaf;
  148. --admonition-attention-title-background-color: #665022;
  149. --admonition-attention-title-color: #ffeeaf;
  150. --admonition-danger-background-color: #433;
  151. --admonition-danger-color: #fcc;
  152. --admonition-danger-title-background-color: #633;
  153. --admonition-danger-title-color: #fcc;
  154. --admonition-tip-background-color: #28382d;
  155. --admonition-tip-color: #dfd;
  156. --admonition-tip-title-background-color: #336648;
  157. --admonition-tip-title-color: #dfd;
  158. --kbd-background-color: #595b5d;
  159. --kbd-outline-color: #3d4144;
  160. --kbd-shadow-color: #1e2023;
  161. --kbd-text-color: #e2f2ff;
  162. --code-example-good-color: #3fb950;
  163. --code-example-bad-color: #f85149;
  164. --btn-neutral-background-color: #404040;
  165. --btn-neutral-hover-background-color: #505050;
  166. --footer-color: #aaa;
  167. }
  168. }
  169. body,
  170. h1,
  171. h2,
  172. h3,
  173. h4,
  174. h5,
  175. h6,
  176. input[type="text"],
  177. input[type="button"],
  178. input[type="reset"],
  179. input[type="submit"],
  180. textarea,
  181. legend,
  182. .btn,
  183. .rst-content .toctree-wrapper p.caption,
  184. .rst-versions {
  185. /* Use a system font stack for better performance (no Web fonts required) */
  186. 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";
  187. }
  188. h1,
  189. h2,
  190. h3,
  191. h4,
  192. h5,
  193. h6,
  194. legend,
  195. .rst-content .toctree-wrapper p.caption {
  196. /* Use a lighter font for headers (Medium instead of Bold) */
  197. font-weight: 500;
  198. }
  199. /* See <https://github.com/godotengine/godot-docs/pull/5876> for context. */
  200. .rst-content .align-right,
  201. .rst-content .align-left {
  202. clear: both;
  203. }
  204. .rst-content div.figure p.caption {
  205. /* Tweak caption styling to be closer to typical captions */
  206. text-align: center;
  207. margin-top: 8px;
  208. opacity: 0.75;
  209. }
  210. .rst-content div.figure.figure-w480 {
  211. max-width: 480px;
  212. }
  213. .rst-content div.figure img {
  214. border: 1px solid var(--body-color);
  215. }
  216. p,
  217. article ul,
  218. article ol,
  219. .wy-plain-list-disc,
  220. .wy-plain-list-decimal,
  221. .rst-content ol.arabic,
  222. .rst-content .section ul,
  223. .rst-content .toctree-wrapper ul,
  224. .rst-content .section ol {
  225. /* Increase the line height slightly to account for the different font */
  226. line-height: 25px;
  227. }
  228. .rst-content section ul li {
  229. /* Increase spacing between list items. */
  230. margin-top: 8px;
  231. margin-bottom: 8px;
  232. }
  233. body,
  234. .rst-content table.docutils thead {
  235. color: var(--body-color);
  236. }
  237. a {
  238. color: var(--link-color);
  239. }
  240. .sphinx-tabs-tab {
  241. color: var(--link-color);
  242. }
  243. .sphinx-tabs-tab[aria-selected="true"] {
  244. background-color: var(--code-background-color);
  245. border-bottom: 1px solid var(--code-background-color);
  246. }
  247. .sphinx-tabs-panel {
  248. background-color: var(--code-background-color);
  249. }
  250. a:hover {
  251. color: var(--link-color-hover);
  252. text-decoration: underline;
  253. }
  254. a:active {
  255. /* Add visual feedback when clicking on a link */
  256. color: var(--link-color-active);
  257. }
  258. a:visited {
  259. color: var(--link-color-visited);
  260. }
  261. a.btn:hover {
  262. text-decoration: none;
  263. }
  264. /* Style external links differently to make them easier to distinguish from internal links. */
  265. .reference.external {
  266. background-position: center right;
  267. background-repeat: no-repeat;
  268. background-image: var(--external-reference-icon);
  269. padding-right: 13px;
  270. }
  271. /* Distinguish class reference page links from "user manual" page links with a "ref" badge. */
  272. a[href*="classes/"]::before {
  273. content: "ref";
  274. color: var(--classref-badge-text-color);
  275. background-color: hsla(0, 0%, 50%, 0.3);
  276. font-weight: 700;
  277. font-size: 80%;
  278. border-radius: 9999px;
  279. padding: 0.125rem 0.375rem;
  280. margin-right: 0.25rem;
  281. }
  282. /* Prevent the "ref" badge from appearing twice in the instant search results (not testable locally). */
  283. .wy-body-for-nav .search__result__single a[href*="classes/"]::before {
  284. display: none;
  285. }
  286. .wy-body-for-nav .search__result__single a[href*="classes/"]:first-child::before {
  287. display: inline;
  288. }
  289. /* Prevent the "ref" badge from appearing several times per item in the dedicated search results page. */
  290. #search-results .context a[href*="classes/"]::before {
  291. display: none;
  292. }
  293. /* Prevent the "ref" badge from appearing in the sidebar. */
  294. .wy-menu-vertical a[href*="classes/"]::before {
  295. display: none;
  296. }
  297. hr,
  298. #search-results .search li:first-child,
  299. #search-results .search li {
  300. border-color: var(--hr-color);
  301. }
  302. /* JavaScript documentation directives */
  303. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dt,
  304. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list) > dt {
  305. background-color: var(--admonition-note-background-color);
  306. border-color: var(--admonition-note-title-background-color);
  307. color: var(--admonition-note-color);
  308. }
  309. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl dt {
  310. background-color: transparent;
  311. border-color: transparent;
  312. color: var(--footer-color);
  313. }
  314. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class dt,
  315. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).function dt,
  316. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).method dt,
  317. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).attribute dt {
  318. font-weight: 600;
  319. padding: 0 8px;
  320. margin-bottom: 1px;
  321. width: 100%;
  322. }
  323. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class > dt,
  324. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).function > dt,
  325. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).method > dt,
  326. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).attribute > dt {
  327. font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, Courier, monospace;
  328. font-size: 90%;
  329. font-weight: normal;
  330. margin-bottom: 16px;
  331. padding: 6px 8px;
  332. }
  333. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-prename.descclassname {
  334. color: var(--highlight-type2-color);
  335. font-weight: normal;
  336. }
  337. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-name.descname {
  338. color: var(--highlight-function-color);
  339. font-weight: 700;
  340. }
  341. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-paren,
  342. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .optional {
  343. color: var(--highlight-operator-color) !important;
  344. font-weight: normal;
  345. padding: 0 2px;
  346. }
  347. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .optional {
  348. font-style: italic;
  349. }
  350. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-param,
  351. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class dt > em,
  352. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).function dt > em,
  353. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).method dt > em {
  354. color: var(--code-literal-color);
  355. font-style: normal;
  356. padding: 0 4px;
  357. }
  358. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .k {
  359. font-style: normal;
  360. }
  361. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-param,
  362. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class dt > .optional ~ em,
  363. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).function dt > .optional ~ em,
  364. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).method dt > .optional ~ em {
  365. color: var(--highlight-number-color);
  366. font-style: italic;
  367. }
  368. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class dt > em.property {
  369. color: var(--highlight-keyword-color);
  370. }
  371. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dt a.headerlink {
  372. color: var(--link-color) !important;
  373. }
  374. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dt a.headerlink:visited {
  375. color: var(--link-color-visited);
  376. }
  377. html.writer-html5 .rst-content dl.field-list > dd strong {
  378. font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, Courier, monospace;
  379. }
  380. footer,
  381. #search-results .context {
  382. color: var(--footer-color);
  383. }
  384. /* Sphinx Search extension */
  385. /* .wy-body-for-nav is used for higher rule specificity */
  386. /* Search popup body */
  387. .wy-body-for-nav .search__outer {
  388. background-color: var(--content-background-color);
  389. border: 2px solid var(--content-background-color);
  390. }
  391. .wy-body-for-nav .search__cross svg {
  392. fill: var(--body-color);
  393. }
  394. .wy-body-for-nav .search__outer::-webkit-scrollbar-track {
  395. border-radius: 10px;
  396. background-color: var(--content-background-color);
  397. }
  398. .wy-body-for-nav .search__outer::-webkit-scrollbar {
  399. width: 7px;
  400. height: 7px;
  401. background-color: var(--content-background-color);
  402. }
  403. .wy-body-for-nav .search__outer::-webkit-scrollbar-thumb {
  404. border-radius: 10px;
  405. background-color: var(--hr-color);
  406. }
  407. /* Search input */
  408. .wy-body-for-nav .search__outer__input {
  409. background-color: var(--search-input-background-color);
  410. background-image: none;
  411. border-radius: 50px;
  412. border: 2px solid transparent;
  413. color: var(--body-color);
  414. height: 36px;
  415. padding: 6px 12px;
  416. }
  417. .wy-body-for-nav .search__outer__input:focus {
  418. border-color: var(--input-focus-border-color);
  419. }
  420. .wy-body-for-nav .search__outer .bar:after,
  421. .wy-body-for-nav .search__outer .bar:before {
  422. display: none;
  423. }
  424. /* Search results item */
  425. .wy-body-for-nav .search__result__single {
  426. border-bottom-color: var(--hr-color);
  427. }
  428. /* Search item title */
  429. .wy-body-for-nav .search__result__title {
  430. color: var(--link-color);
  431. border-bottom: none;
  432. font-size: 120%;
  433. font-weight: 400;
  434. }
  435. /* Search item section */
  436. .wy-body-for-nav .outer_div_page_results:hover,
  437. .wy-body-for-nav .search__result__box .active {
  438. background-color: var(--search-active-color);
  439. }
  440. .wy-body-for-nav .search__result__subheading{
  441. color: var(--body-color);
  442. font-size: 100%;
  443. font-weight: 400;
  444. }
  445. .wy-body-for-nav .search__result__content {
  446. color: var(--footer-color);
  447. }
  448. /* Search item matching substring */
  449. .wy-body-for-nav .search__outer .search__result__title span,
  450. .wy-body-for-nav .search__outer .search__result__content span {
  451. color: var(--search-match-color);
  452. border-bottom: 1px solid var(--search-match-color);
  453. background-color: var(--search-match-background-color);
  454. padding: 0 2px;
  455. }
  456. .wy-body-for-nav .search__result__subheading span {
  457. border-bottom-color: var(--body-color);
  458. }
  459. /* Search empty results */
  460. /* The original styles are inlined, see https://github.com/readthedocs/readthedocs-sphinx-search/issues/48 */
  461. .wy-body-for-nav .search__result__box {
  462. color: var(--body-color) !important;
  463. }
  464. /* Search footer & credits */
  465. .wy-body-for-nav .rtd__search__credits {
  466. background-color: var(--search-credits-background-color);
  467. border-color: var(--search-credits-background-color);
  468. color: var(--search-credits-color);
  469. padding: 4px 8px;
  470. }
  471. .wy-body-for-nav .rtd__search__credits a {
  472. color: var(--search-credits-link-color);
  473. }
  474. /* Main sections */
  475. .wy-nav-content-wrap {
  476. background-color: var(--content-wrap-background-color);
  477. }
  478. .wy-nav-content {
  479. background-color: var(--content-background-color);
  480. }
  481. .wy-body-for-nav {
  482. background-color: var(--content-wrap-background-color);
  483. }
  484. @media only screen and (min-width: 769px) {
  485. .wy-body-for-nav {
  486. /* Center the page on wide displays for better readability */
  487. max-width: 1100px;
  488. margin: 0 auto;
  489. }
  490. }
  491. /* Table display tweaks */
  492. .rst-content table.docutils,
  493. .wy-table-bordered-all td,
  494. .rst-content table.docutils td,
  495. .wy-table thead th,
  496. .rst-content table.docutils thead th,
  497. .rst-content table.field-list thead th {
  498. border-color: var(--code-border-color);
  499. }
  500. .wy-table-odd td,
  501. .wy-table-striped tr:nth-child(2n-1) td,
  502. .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td {
  503. background-color: var(--table-row-odd-background-color);
  504. }
  505. /* Override table no-wrap */
  506. /* The first column cells are not verbose, no need to wrap them */
  507. .wy-table-responsive table td:not(:nth-child(1)),
  508. .wy-table-responsive table th:not(:nth-child(1)) {
  509. white-space: normal;
  510. }
  511. /* Allow to control wrapping behavior per table */
  512. .wy-table-responsive table.wrap-normal td,
  513. .wy-table-responsive table.wrap-normal th {
  514. white-space: normal;
  515. }
  516. /* Make sure line blocks don't stretch tables */
  517. .wy-table-responsive table .line-block {
  518. margin-bottom: 0;
  519. }
  520. /* Make sure not to wrap keyboard shortcuts */
  521. .wy-table-responsive table td kbd {
  522. white-space: nowrap;
  523. }
  524. /* Code display tweaks */
  525. code,
  526. .rst-content tt,
  527. .rst-content code {
  528. font-size: 14px;
  529. background-color: var(--code-background-color);
  530. border: 1px solid var(--code-border-color);
  531. }
  532. .rst-content tt.literal,
  533. .rst-content code.literal {
  534. color: var(--code-literal-color);
  535. }
  536. .rst-content div[class^="highlight"] {
  537. border-color: var(--code-border-color);
  538. }
  539. .rst-content pre.literal-block,
  540. .rst-content div[class^="highlight"] pre,
  541. .rst-content .linenodiv pre {
  542. /* Increase the font size and line height in code blocks */
  543. font-size: 14px;
  544. line-height: 1.5;
  545. }
  546. /* Code tab display tweaks */
  547. .ui.tabular.menu .active.item,
  548. .ui.segment {
  549. background-color: var(--code-background-color);
  550. }
  551. /* Syntax highlighting */
  552. /* Remove default red boxes around Pygments errors */
  553. .highlight .err {
  554. border: none;
  555. }
  556. .highlight {
  557. background-color: var(--highlight-background-color);
  558. }
  559. /* Emphasized lines */
  560. .highlight .hll {
  561. background-color: var(--highlight-background-emph-color);
  562. }
  563. .highlight .gh /* Generic.Heading */,
  564. .highlight .gu /* Generic.Subheading */,
  565. .highlight .go /* Generic.Output */,
  566. .highlight .gt /* Generic.Traceback */ {
  567. color: var(--highlight-default-color);
  568. }
  569. .highlight .c /* Comment */,
  570. .highlight .c1 /* Comment.Single */,
  571. .highlight .cm /* Comment.Multiline */,
  572. .highlight .cs /* Comment.Special */ {
  573. color: var(--highlight-comment-color);
  574. }
  575. .highlight .bp /* Name.Builtin.Pseudo */,
  576. .highlight .k /* Keyword */,
  577. .highlight .kc /* Keyword.Constant */,
  578. .highlight .kd /* Keyword.Declaration */,
  579. .highlight .kn /* Keyword.Namespace */,
  580. .highlight .kp /* Keyword.Pseudo */,
  581. .highlight .kr /* Keyword.Reserved */,
  582. .highlight .kt /* Keyword.Type */,
  583. .highlight .ow /* Operator.Word */ {
  584. color: var(--highlight-keyword-color);
  585. }
  586. .highlight .ch /* Comment.Hashbang */,
  587. .highlight .cp /* Comment.Preproc */ {
  588. color: var(--highlight-keyword2-color);
  589. }
  590. .highlight .m /* Literal.Number */,
  591. .highlight .mf /* Literal.Number.Float */,
  592. .highlight .mi /* Literal.Number.Integer */,
  593. .highlight .il /* Literal.Number.Integer.Long */,
  594. .highlight .mb /* Literal.Number.Bin */,
  595. .highlight .mh /* Literal.Number.Hex */,
  596. .highlight .mo /* Literal.Number.Oct */ {
  597. color: var(--highlight-number-color);
  598. }
  599. .highlight .na /* Name.Attribute */,
  600. .highlight .nd /* Name.Decorator */,
  601. .highlight .ni /* Name.Entity */,
  602. .highlight .nl /* Name.Label */ {
  603. color: var(--highlight-decorator-color);
  604. }
  605. .highlight .nb /* Name.Builtin */,
  606. .highlight .ne /* Name.Exception */ {
  607. color: var(--highlight-type-color);
  608. }
  609. .highlight .nc /* Name.Class */,
  610. .highlight .nn /* Name.Namespace */,
  611. .highlight .no /* Name.Constant */,
  612. .highlight .nv /* Name.Variable */,
  613. .highlight .vc /* Name.Variable.Class */,
  614. .highlight .vg /* Name.Variable.Global */,
  615. .highlight .vi /* Name.Variable.Instance */,
  616. .highlight .vm /* Name.Variable.Magic */ {
  617. color: var(--highlight-type2-color);
  618. }
  619. .highlight .nf /* Name.Function */,
  620. .highlight .fm /* Name.Function.Magic */,
  621. .highlight .nt /* Name.Tag */ {
  622. color: var(--highlight-function-color);
  623. }
  624. .highlight .o /* Operator */,
  625. .highlight .si /* Literal.String.Interpol */,
  626. .highlight .sx /* Literal.String.Other */,
  627. .highlight .sr /* Literal.String.Regex */,
  628. .highlight .ss /* Literal.String.Symbol */ {
  629. color: var(--highlight-operator-color);
  630. }
  631. .highlight .cpf/* Comment.PreprocFile */,
  632. .highlight .s /* Literal.String */,
  633. .highlight .s1 /* Literal.String.Single */,
  634. .highlight .s2 /* Literal.String.Double */,
  635. .highlight .sc /* Literal.String.Char */,
  636. .highlight .se /* Literal.String.Escape */,
  637. .highlight .sa /* Literal.String.Affix */,
  638. .highlight .sb /* Literal.String.Backtick */,
  639. .highlight .dl /* Literal.String.Delimiter */,
  640. .highlight .sd /* Literal.String.Doc */,
  641. .highlight .sh /* Literal.String.Heredoc */ {
  642. color: var(--highlight-string-color);
  643. }
  644. /* Admonition tweaks */
  645. .rst-content .admonition.note,
  646. .rst-content .admonition.seealso {
  647. background-color: var(--admonition-note-background-color);
  648. color: var(--admonition-note-color);
  649. }
  650. .rst-content .admonition.note .admonition-title,
  651. .rst-content .admonition.seealso .admonition-title {
  652. background-color: var(--admonition-note-title-background-color);
  653. color: var(--admonition-note-title-color);
  654. }
  655. .rst-content .admonition.attention,
  656. .rst-content .admonition.caution,
  657. .rst-content .admonition.warning {
  658. background-color: var(--admonition-attention-background-color);
  659. color: var(--admonition-attention-color);
  660. }
  661. .rst-content .admonition.attention .admonition-title,
  662. .rst-content .admonition.caution .admonition-title,
  663. .rst-content .admonition.warning .admonition-title {
  664. background-color: var(--admonition-attention-title-background-color);
  665. color: var(--admonition-attention-title-color);
  666. }
  667. .rst-content .admonition.danger {
  668. background-color: var(--admonition-danger-background-color);
  669. color: var(--admonition-danger-color);
  670. }
  671. .rst-content .admonition.danger .admonition-title {
  672. background-color: var(--admonition-danger-title-background-color);
  673. color: var(--admonition-danger-title-color);
  674. }
  675. .rst-content .admonition.tip,
  676. .rst-content .admonition.important {
  677. background-color: var(--admonition-tip-background-color);
  678. color: var(--admonition-tip-color);
  679. }
  680. .rst-content .admonition.tip .admonition-title,
  681. .rst-content .admonition.important .admonition-title {
  682. background-color: var(--admonition-tip-title-background-color);
  683. color: var(--admonition-tip-title-color);
  684. }
  685. /* Keyboard shortcuts tweaks */
  686. kbd, .kbd {
  687. background-color: var(--kbd-background-color);
  688. border: 1px solid var(--kbd-outline-color);
  689. border-radius: 3px;
  690. box-shadow: inset 0 -1px 0 var(--kbd-shadow-color);
  691. color: var(--kbd-text-color);
  692. display: inline-block;
  693. font-size: 12px;
  694. line-height: 11px;
  695. padding: 4px 5px;
  696. vertical-align: middle;
  697. }
  698. /* Unset excessive styles for nested kbd tags. */
  699. kbd.compound > kbd,
  700. kbd.compound > .kbd,
  701. .kbd.compound > kbd,
  702. .kbd.compound > .kbd {
  703. border: none;
  704. box-shadow: none;
  705. padding: 0;
  706. }
  707. /* Buttons */
  708. .btn-neutral {
  709. background-color: var(--btn-neutral-background-color) !important;
  710. color: var(--body-color) !important;
  711. }
  712. .btn-neutral:hover {
  713. background-color: var(--btn-neutral-hover-background-color) !important;
  714. }
  715. .btn-neutral:visited {
  716. color: var(--body-color) !important;
  717. }
  718. /* Navigation bar logo and search */
  719. .logo {
  720. opacity: var(--logo-opacity);
  721. }
  722. .wy-side-nav-search > a img.logo {
  723. /* Fixed size to prevent reflows and support hiDPI displays */
  724. /* A 5 pixel margin is added on each side. The logo itself displays at 200×200 at 100% scaling. */
  725. width: 210px;
  726. height: 210px;
  727. }
  728. .wy-side-nav-search {
  729. background-color: var(--navbar-background-color);
  730. }
  731. .wy-side-nav-search.fixed {
  732. position: fixed;
  733. }
  734. @media only screen and (min-width: 769px) {
  735. /* Simulate a drop shadow that only affects the bottom edge */
  736. /* This is used to indicate the search bar is fixed */
  737. .wy-side-nav-search.fixed-and-scrolled::after {
  738. content: '';
  739. position: absolute;
  740. left: 0;
  741. bottom: -8px;
  742. width: 300px;
  743. height: 8px;
  744. pointer-events: none;
  745. background: linear-gradient(hsla(0, 0%, 0%, 0.2), transparent);
  746. }
  747. }
  748. .wy-side-nav-search > a:hover,
  749. .wy-side-nav-search .wy-dropdown > a:hover {
  750. background-color: var(--navbar-background-color-hover);
  751. }
  752. .wy-side-nav-search > a:active,
  753. .wy-side-nav-search .wy-dropdown > a:active {
  754. background-color: var(--navbar-background-color-active);
  755. }
  756. .wy-side-nav-search input[type="text"] {
  757. background-color: var(--input-background-color);
  758. color: var(--body-color);
  759. /* Avoid reflowing when toggling the focus state */
  760. border: 2px solid transparent;
  761. box-shadow: none;
  762. /* Make visual feedback instant */
  763. transition: none;
  764. font-size: 14px;
  765. }
  766. .wy-side-nav-search input[type="text"]:focus {
  767. border: 2px solid var(--input-focus-border-color);
  768. }
  769. .wy-side-nav-search input[type="text"]::placeholder {
  770. color: var(--body-color);
  771. opacity: 0.55;
  772. }
  773. /* Navigation bar */
  774. .wy-nav-side {
  775. background-color: var(--navbar-background-color);
  776. }
  777. @media only screen and (min-width: 769px) {
  778. .wy-nav-side {
  779. /* Required to center the page on wide displays */
  780. left: inherit;
  781. }
  782. }
  783. .wy-menu-vertical header,
  784. .wy-menu-vertical p.caption {
  785. color: var(--navbar-heading-color);
  786. /* Improves the appearance of uppercase text */
  787. letter-spacing: 0.75px;
  788. }
  789. /* Mobile navigation */
  790. .wy-nav-top,
  791. .wy-nav-top a {
  792. background-color: var(--navbar-background-color);
  793. color: var(--navbar-level-1-color);
  794. }
  795. /* Version branch label below the logo */
  796. .wy-side-nav-search > div.version {
  797. color: var(--navbar-level-3-color);
  798. opacity: 0.9;
  799. }
  800. /* First level of navigation items */
  801. .wy-menu-vertical a {
  802. color: var(--navbar-level-1-color);
  803. }
  804. .wy-menu-vertical a:hover {
  805. background-color: var(--navbar-background-color-hover);
  806. color: var(--navbar-level-1-color);
  807. }
  808. .wy-menu-vertical a:active {
  809. background-color: var(--navbar-background-color-active);
  810. }
  811. .wy-menu-vertical li.toctree-l1.current > a {
  812. border: none;
  813. }
  814. .wy-side-nav-search, .wy-menu-vertical a, .wy-menu-vertical a button.toctree-expand,
  815. .wy-menu-vertical li.toctree-l1 a button.toctree-expand,
  816. .wy-menu-vertical li.toctree-l2 a button.toctree-expand {
  817. color: var(--navbar-level-3-color);
  818. opacity: 0.9;
  819. margin-right: 8px;
  820. }
  821. .wy-side-nav-search, .wy-menu-vertical a, .wy-menu-vertical a:hover button.toctree-expand,
  822. .wy-menu-vertical li.toctree-l1 a:hover button.toctree-expand,
  823. .wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand {
  824. color: var(--navbar-level-2-color);
  825. opacity: 1;
  826. }
  827. .wy-side-nav-search, .wy-menu-vertical a, .wy-menu-vertical a:active button.toctree-expand,
  828. .wy-menu-vertical li.toctree-l1 a:active button.toctree-expand,
  829. .wy-menu-vertical li.toctree-l2 a:active button.toctree-expand {
  830. color: var(--navbar-level-1-color);
  831. opacity: 1;
  832. }
  833. /* Second (and higher) levels of navigation items */
  834. .wy-menu-vertical li.current a {
  835. /* Make long words always display on a single line, keep wrapping for multiple words */
  836. /* This fixes the class reference titles' display with very long class names */
  837. display: flex;
  838. }
  839. .wy-menu-vertical li.current a,
  840. .wy-menu-vertical li.toctree-l2.current > a,
  841. .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a,
  842. .wy-menu-vertical li.toctree-l2.current li.toctree-l4 > a {
  843. background-color: var(--navbar-current-background-color);
  844. color: var(--navbar-level-2-color);
  845. border-color: var(--navbar-current-background-color);
  846. }
  847. .wy-menu-vertical li.current a:hover,
  848. .wy-menu-vertical li.toctree-l2.current > a:hover,
  849. .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:hover,
  850. .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a:hover {
  851. background-color: var(--navbar-current-background-color-hover);
  852. }
  853. .wy-menu-vertical li.current a:active,
  854. .wy-menu-vertical li.toctree-l2.current > a:active,
  855. .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:active,
  856. .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a:active {
  857. background-color: var(--navbar-current-background-color-active);
  858. }
  859. .wy-menu-vertical a {
  860. /* This overrides 8px margin added in other multi-selector rules */
  861. margin-right: 0;
  862. }
  863. /* Banner panel in sidebar */
  864. .wy-nav-side .ethical-rtd.fixed {
  865. position: fixed;
  866. }
  867. /* Version selector (only visible on Read the Docs) */
  868. .rst-versions {
  869. background-color: var(--navbar-current-background-color);
  870. }
  871. @media only screen and (min-width: 769px) {
  872. .rst-versions {
  873. /* Required to center the page on wide displays */
  874. left: inherit;
  875. }
  876. }
  877. .rst-versions a,
  878. .rst-versions .rst-current-version,
  879. .rst-versions .rst-current-version .fa,
  880. .rst-versions .rst-other-versions dd a {
  881. color: var(--navbar-level-1-color);
  882. }
  883. .rst-versions .rst-other-versions small {
  884. color: var(--navbar-level-3-color);
  885. }
  886. .rst-versions .rst-other-versions dd a:hover {
  887. text-decoration: underline;
  888. }
  889. .rst-versions .rst-other-versions {
  890. color: var(--navbar-heading-color);
  891. }
  892. .rst-versions .rst-current-version {
  893. background-color: var(--navbar-current-background-color);
  894. }
  895. .rst-versions .rst-current-version:hover {
  896. background-color: var(--navbar-current-background-color-hover);
  897. }
  898. .rst-versions .rst-current-version:active {
  899. background-color: var(--navbar-current-background-color-active);
  900. }
  901. /* Hide the obnoxious automatic highlight in search results */
  902. .rst-content .highlighted {
  903. background-color: transparent;
  904. font-weight: inherit;
  905. padding: 0;
  906. }
  907. /* Allows the scrollbar to be shown in the sidebar */
  908. @media only screen and (min-width: 769px) {
  909. .wy-side-scroll {
  910. overflow: hidden;
  911. }
  912. .wy-nav-side .wy-side-scroll .ethical-rtd {
  913. width: calc(300px - 1.25em);
  914. padding: 0 0 0 1em;
  915. }
  916. }
  917. .wy-menu.wy-menu-vertical {
  918. overflow-y: auto;
  919. overflow-x: hidden;
  920. max-height: calc(100% - 348px);
  921. }
  922. @media screen and (max-width: 768px) {
  923. .wy-nav-side {
  924. padding-bottom: 44px;
  925. }
  926. .wy-menu.wy-menu-vertical {
  927. overflow-y: initial;
  928. max-height: initial;
  929. }
  930. }
  931. /* Scrollbar styling */
  932. .wy-menu.wy-menu-vertical {
  933. scrollbar-color: var(--navbar-scrollbar-color) var(--navbar-scrollbar-background);
  934. }
  935. .wy-menu.wy-menu-vertical::-webkit-scrollbar {
  936. width: .75rem;
  937. }
  938. .wy-menu.wy-menu-vertical::-webkit-scrollbar-track {
  939. background-color: var(--navbar-scrollbar-background);
  940. }
  941. .wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb {
  942. background-color: var(--navbar-scrollbar-color);
  943. }
  944. /* Firefox does the dimming on hover automatically. We emulate it for Webkit-based browsers. */
  945. .wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb:hover {
  946. background-color: var(--navbar-scrollbar-hover-color);
  947. }
  948. .wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb:active {
  949. background-color: var(--navbar-scrollbar-active-color);
  950. }
  951. /* Allows to add a green or red bar to code blocks for "good"/"bad" code examples. */
  952. .code-example-good div.highlight {
  953. border-left-color: var(--code-example-good-color);
  954. border-left-width: 8px;
  955. }
  956. .code-example-bad div.highlight {
  957. border-left-color: var(--code-example-bad-color);
  958. border-left-width: 8px;
  959. }