custom.css 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567
  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. @font-face {
  8. font-family: "JetBrains Mono";
  9. src: url('fonts/JetBrainsMono-Regular.woff2');
  10. font-weight: 400;
  11. font-style: normal;
  12. }
  13. @font-face {
  14. font-family: "JetBrains Mono";
  15. src: url('fonts/JetBrainsMono-Medium.woff2');
  16. font-weight: 600;
  17. font-style: normal;
  18. }
  19. @font-face {
  20. font-family: "JetBrains Mono";
  21. src: url('fonts/JetBrainsMono-Bold.woff2');
  22. font-weight: 700;
  23. font-style: normal;
  24. }
  25. /* Default (light) theme colors */
  26. :root {
  27. --body-color: #404040;
  28. --content-wrap-background-color: #efefef;
  29. --content-background-color: #fcfcfc;
  30. --logo-opacity: 1.0;
  31. --navbar-background-color: #333f67;
  32. --navbar-background-color-hover: #29355c;
  33. --navbar-background-color-active: #212d51;
  34. --navbar-current-background-color: #212d51;
  35. --navbar-current-background-color-hover: #182343;
  36. --navbar-current-background-color-active: #131e3b;
  37. --navbar-category-active-color: rgba(255 115 129 / 10%);
  38. --navbar-level-1-color: #c3e3ff;
  39. --navbar-level-2-color: #b8d6f0;
  40. --navbar-level-3-color: #a3c4e1;
  41. --navbar-heading-color: #ff7381;
  42. --navbar-scrollbar-color: #d45a66;
  43. --navbar-scrollbar-hover-color: #b14550;
  44. --navbar-scrollbar-active-color: #72383e;
  45. --navbar-scrollbar-background: #131e2b;
  46. --link-color: #2980b9;
  47. --link-color-hover: #3091d1;
  48. --link-color-active: #105078;
  49. --link-color-visited: #9b59b6;
  50. --class-reference-icon: url("data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjIiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNS4wMjkgMWMtLjk5OS0uMDExLTIuMDA5LjMxMi0zLjAyOSAxdjdjMi4wMTctMS4zNTMgNC4wMTctMS4zMTQgNiAwIDEuOTgzLTEuMzE0IDMuOTgzLTEuMzUzIDYgMHYtN2MtMS4wMi0uNjg4LTIuMDMtMS4wMTEtMy4wMjktMS0uNjYyLjAwNy0xLjMxOC4xNzMtMS45NzEuNDYzdjQuNTM3aC0xdi00Yy0uOTgyLS42NDUtMS45NzEtLjk4OS0yLjk3MS0xem0tNS4wMjkgOXY2aDJjMS42NDYgMCAzLTEuMzU0IDMtM3MtMS4zNTQtMy0zLTN6bTUgM2MwIDEuNjQ2IDEuMzU0IDMgMyAzczMtMS4zNTQgMy0zLTEuMzU0LTMtMy0zLTMgMS4zNTQtMyAzem02IDBjMCAxLjY0NiAxLjM1NCAzIDMgM2gxdi0yaC0xYy0uNTQ5IDAtMS0uNDUxLTEtMXMuNDUxLTEgMS0xaDF2LTJoLTFjLTEuNjQ2IDAtMyAxLjM1NC0zIDN6bS05LTFjLjU0OSAwIDEgLjQ1MSAxIDFzLS40NTEgMS0xIDF6bTYgMGMuNTQ5IDAgMSAuNDUxIDEgMXMtLjQ1MSAxLTEgMS0xLS40NTEtMS0xIC40NTEtMSAxLTF6IiBmaWxsPSIjNDE0MTQxIiBmaWxsLW9wYWNpdHk9Ii41OSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Cg==");
  51. --external-reference-icon: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyIiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMjk4MGI5Ij48cGF0aCBkPSJtNy41IDcuMXYzLjRoLTZ2LTZoMy40Ii8+PHBhdGggZD0ibTUuNzY1IDFoNS4yMzV2NS4zOWwtMS41NzMgMS41NDctMS4zMS0xLjMxLTIuNzI0IDIuNzIzLTIuNjktMi42ODggMi44MS0yLjgwOC0xLjMxMy0xLjMxeiIvPjwvZz48L3N2Zz4K");
  52. --hr-color: #e1e4e5;
  53. --table-row-odd-background-color: #f3f6f6;
  54. --code-background-color: #e9eae5;
  55. --code-border-color: #e1e4e5;
  56. --code-literal-color: #c03e41;
  57. --input-background-color: #fcfcfc;
  58. --input-focus-border-color: #5f8cff;
  59. --tabs-background-color: #e1e4e5;
  60. --tabs-selected-color: #a2a9ae;
  61. --code-tabs-background-color: #e3ecd1;
  62. --code-tabs-selected-color: #8a9378;
  63. --classref-primary-color: #252525;
  64. --classref-secondary-color: #616770;
  65. --classref-setget-color: #56585b;
  66. --search-input-background-color: #e6eef3; /* derived from --input-background-color */
  67. --search-match-color: #2c6b96; /* derived from --link-color */
  68. --search-match-background-color: #e3f2fd; /* derived from --link-color */
  69. --search-active-color: #efefef;
  70. --search-credits-background-color: #333f67; /* derived from --navbar-background-color */
  71. --search-credits-color: #b3b3b3; /* derived from --footer-color */
  72. --search-credits-link-color: #4392c5; /* derived from --link-color */
  73. --search-odd-color: rgb(133 160 253 / 24%);
  74. --search-even-color: rgb(202 209 239 / 30%);
  75. --search-highlighted-color: rgb(255 205 0 / 25%);
  76. --search-context-color: #6c6e72;
  77. --highlight-background-color: #f5ffe1;
  78. --highlight-background-emph-color: #dbe6c3;
  79. --highlight-default-color: #404040;
  80. --highlight-comment-color: #408090;
  81. --highlight-keyword-color: #007020;
  82. --highlight-keyword2-color: #902000;
  83. --highlight-number-color: #208050;
  84. --highlight-decorator-color: #4070a0;
  85. --highlight-type-color: #007020;
  86. --highlight-type2-color: #0e84b5;
  87. --highlight-function-color: #06287e;
  88. --highlight-operator-color: #666666;
  89. --highlight-string-color: #4070a0;
  90. --contribute-background-color: #d7dee8;
  91. --contribute-text-color: #646e72;
  92. --admonition-note-background-color: #e7f2fa;
  93. --admonition-note-color: #404040;
  94. --admonition-note-title-background-color: #6ab0de;
  95. --admonition-note-title-color: #fff;
  96. --admonition-attention-background-color: #ffedcc;
  97. --admonition-attention-color: #404040;
  98. --admonition-attention-title-background-color: #f0b37e;
  99. --admonition-attention-title-color: #fff;
  100. --admonition-danger-background-color: #fcf3f2;
  101. --admonition-danger-color: #404040;
  102. --admonition-danger-title-background-color: #e9a499;
  103. --admonition-danger-title-color: #fff;
  104. --admonition-tip-background-color: #dbfaf4;
  105. --admonition-tip-color: #404040;
  106. --admonition-tip-title-background-color: #1abc9c;
  107. --admonition-tip-title-color: #fff;
  108. --kbd-background-color: #fafbfc;
  109. --kbd-outline-color: #d1d5da;
  110. --kbd-shadow-color: #b0b7bf;
  111. --kbd-text-color: #444d56;
  112. --code-example-good-color: #3fb950;
  113. --code-example-bad-color: #f85149;
  114. --btn-neutral-background-color: #f3f6f6;
  115. --btn-neutral-hover-background-color: #e5ebeb;
  116. --footer-color: #808080;
  117. --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";
  118. --monospace-font-family: "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, Courier, monospace;
  119. }
  120. /* Dark theme colors */
  121. @media (prefers-color-scheme: dark) {
  122. :root {
  123. --body-color: rgba(255, 255, 255, 0.85);
  124. --content-wrap-background-color: #202326;
  125. --content-background-color: #2e3236;
  126. /* Decrease the logo opacity when using the dark theme to be less distracting */
  127. --logo-opacity: 0.85;
  128. --navbar-background-color: #25282b;
  129. --navbar-background-color-hover: #333639;
  130. --navbar-background-color-active: #111417;
  131. --navbar-current-background-color: #333639;
  132. --navbar-current-background-color-hover: #44474a;
  133. --navbar-current-background-color-active: #222528;
  134. --navbar-category-active-color: rgba(238 115 129 / 10%);
  135. --navbar-level-1-color: #ddd;
  136. --navbar-level-2-color: #ccc;
  137. --navbar-level-3-color: #bbb;
  138. --navbar-heading-color: #ee7381;
  139. --navbar-scrollbar-color: #be5460;
  140. --navbar-scrollbar-hover-color: #963e48;
  141. --navbar-scrollbar-active-color: #5f3034;
  142. --navbar-scrollbar-background: #1c1e21;
  143. --link-color: #8cf;
  144. --link-color-hover: #9df;
  145. --link-color-active: #6ad;
  146. --link-color-visited: #cb99f6;
  147. --class-reference-icon: url("data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjIiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNS4wMjkgMWMtLjk5OS0uMDExLTIuMDA5LjMxMi0zLjAyOSAxdjdjMi4wMTctMS4zNTMgNC4wMTctMS4zMTQgNiAwIDEuOTgzLTEuMzE0IDMuOTgzLTEuMzUzIDYgMHYtN2MtMS4wMi0uNjg4LTIuMDMtMS4wMTEtMy4wMjktMS0uNjYyLjAwNy0xLjMxOC4xNzMtMS45NzEuNDYzdjQuNTM3aC0xdi00Yy0uOTgyLS42NDUtMS45NzEtLjk4OS0yLjk3MS0xem0tNS4wMjkgOXY2aDJjMS42NDYgMCAzLTEuMzU0IDMtM3MtMS4zNTQtMy0zLTN6bTUgM2MwIDEuNjQ2IDEuMzU0IDMgMyAzczMtMS4zNTQgMy0zLTEuMzU0LTMtMy0zLTMgMS4zNTQtMyAzem02IDBjMCAxLjY0NiAxLjM1NCAzIDMgM2gxdi0yaC0xYy0uNTQ5IDAtMS0uNDUxLTEtMXMuNDUxLTEgMS0xaDF2LTJoLTFjLTEuNjQ2IDAtMyAxLjM1NC0zIDN6bS05LTFjLjU0OSAwIDEgLjQ1MSAxIDFzLS40NTEgMS0xIDF6bTYgMGMuNTQ5IDAgMSAuNDUxIDEgMXMtLjQ1MSAxLTEgMS0xLS40NTEtMS0xIC40NTEtMSAxLTF6IiBmaWxsPSIjYmZiZmJmIiBmaWxsLW9wYWNpdHk9Ii41OSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Cg==");
  148. --external-reference-icon: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyIiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOGNmIj48cGF0aCBkPSJtNy41IDcuMXYzLjRoLTZ2LTZoMy40Ii8+PHBhdGggZD0ibTUuNzY1IDFoNS4yMzV2NS4zOWwtMS41NzMgMS41NDctMS4zMS0xLjMxLTIuNzI0IDIuNzIzLTIuNjktMi42ODggMi44MS0yLjgwOC0xLjMxMy0xLjMxeiIvPjwvZz48L3N2Zz4K");
  149. --hr-color: #555;
  150. --table-row-odd-background-color: #3b3e41;
  151. --code-background-color: #22252d;
  152. --code-border-color: #505356;
  153. --code-literal-color: #d68f8f;
  154. --input-background-color: #333537;
  155. --input-focus-border-color: #5f8cff;
  156. --tabs-background-color: #434649;
  157. --tabs-selected-color: #a2a9ae;
  158. --code-tabs-background-color: #353c4c;
  159. --code-tabs-selected-color: #5a657e;
  160. --classref-primary-color: #e8e8e8;
  161. --classref-secondary-color: #929598;
  162. --classref-setget-color: #9e9fa0;
  163. --search-input-background-color: #43464a; /* derived from --input-background-color */
  164. --search-match-color: #52b4ff; /* derived from --link-color */
  165. --search-match-background-color: #414c56; /* derived from --link-color */
  166. --search-active-color: #202326;
  167. --search-credits-background-color: #202123; /* derived from --navbar-background-color */
  168. --search-credits-color: #6b6b6b; /* derived from --footer-color */
  169. --search-credits-link-color: #628fb1; /* derived from --link-color */
  170. --search-odd-color: #202326;
  171. --search-even-color: #25282b;
  172. --search-highlighted-color: rgb(255 205 0 / 16%);
  173. --search-context-color: #aaa;
  174. /* Colors taken from the Godot script editor with the Adaptive theme */
  175. --highlight-background-color: #202531;
  176. --highlight-background-emph-color: #2d3444;
  177. --highlight-default-color: rgba(255, 255, 255, 0.85);
  178. --highlight-comment-color: rgba(204, 206, 211, 0.5);
  179. --highlight-keyword-color: #ff7085;
  180. --highlight-keyword2-color: #42ffc2;
  181. --highlight-number-color: #a1ffe0;
  182. --highlight-decorator-color: #ffb373;
  183. --highlight-type-color: #8effda;
  184. --highlight-type2-color: #c6ffed;
  185. --highlight-function-color: #57b3ff;
  186. --highlight-operator-color: #abc8ff;
  187. --highlight-string-color: #ffeca1;
  188. --contribute-background-color: #25282d;
  189. --contribute-text-color: #7f939b;
  190. --admonition-note-background-color: #303d4f;
  191. --admonition-note-color: #bfeeff;
  192. --admonition-note-title-background-color: #305070;
  193. --admonition-note-title-color: #bfefff;
  194. --admonition-attention-background-color: #444033;
  195. --admonition-attention-color: #ffeeaf;
  196. --admonition-attention-title-background-color: #665022;
  197. --admonition-attention-title-color: #ffeeaf;
  198. --admonition-danger-background-color: #433;
  199. --admonition-danger-color: #fcc;
  200. --admonition-danger-title-background-color: #633;
  201. --admonition-danger-title-color: #fcc;
  202. --admonition-tip-background-color: #28382d;
  203. --admonition-tip-color: #dfd;
  204. --admonition-tip-title-background-color: #336648;
  205. --admonition-tip-title-color: #dfd;
  206. --kbd-background-color: #595b5d;
  207. --kbd-outline-color: #3d4144;
  208. --kbd-shadow-color: #1e2023;
  209. --kbd-text-color: #e2f2ff;
  210. --code-example-good-color: #3fb950;
  211. --code-example-bad-color: #f85149;
  212. --btn-neutral-background-color: #404040;
  213. --btn-neutral-hover-background-color: #505050;
  214. --footer-color: #aaa;
  215. }
  216. }
  217. body,
  218. h1,
  219. h2,
  220. h3,
  221. h4,
  222. h5,
  223. h6,
  224. input[type="text"],
  225. input[type="button"],
  226. input[type="reset"],
  227. input[type="submit"],
  228. textarea,
  229. legend,
  230. .btn,
  231. .rst-content .toctree-wrapper p.caption,
  232. .rst-versions {
  233. /* Use a system font stack for better performance (no Web fonts required) */
  234. font-family: var(--system-font-family);
  235. /* Some fonts that we use (namely JetBrains Mono) can come with ligatures. It's better to opt-in if needed. */
  236. font-variant-ligatures: none;
  237. }
  238. h1,
  239. h2,
  240. h3,
  241. h4,
  242. h5,
  243. h6,
  244. legend,
  245. .rst-content .toctree-wrapper p.caption {
  246. /* Use a lighter font for headers (Medium instead of Bold) */
  247. font-weight: 500;
  248. }
  249. /* See <https://github.com/godotengine/godot-docs/pull/5876> for context. */
  250. .rst-content .align-right,
  251. .rst-content .align-left {
  252. clear: both;
  253. }
  254. .rst-content div.figure p.caption {
  255. /* Tweak caption styling to be closer to typical captions */
  256. text-align: center;
  257. margin-top: 8px;
  258. opacity: 0.75;
  259. }
  260. .rst-content div.figure.figure-w480 {
  261. max-width: 480px;
  262. }
  263. .rst-content div.figure img {
  264. border: 1px solid var(--body-color);
  265. }
  266. p,
  267. article ul,
  268. article ol,
  269. .wy-plain-list-disc,
  270. .wy-plain-list-decimal,
  271. .rst-content ol.arabic,
  272. .rst-content .section ul,
  273. .rst-content .toctree-wrapper ul,
  274. .rst-content .section ol {
  275. /* Increase the line height slightly to account for the different font */
  276. line-height: 25px;
  277. }
  278. .rst-content section ul li {
  279. /* Increase spacing between list items. */
  280. margin-top: 8px;
  281. margin-bottom: 8px;
  282. }
  283. body,
  284. .rst-content table.docutils thead {
  285. color: var(--body-color);
  286. }
  287. a {
  288. color: var(--link-color);
  289. }
  290. a:hover {
  291. color: var(--link-color-hover);
  292. text-decoration: underline;
  293. }
  294. a:active {
  295. /* Add visual feedback when clicking on a link */
  296. color: var(--link-color-active);
  297. }
  298. a:visited {
  299. color: var(--link-color-visited);
  300. }
  301. a.btn:hover {
  302. text-decoration: none;
  303. }
  304. /* Style external links differently to make them easier to distinguish from internal links. */
  305. .reference.external {
  306. background-position: center right;
  307. background-repeat: no-repeat;
  308. background-image: var(--external-reference-icon);
  309. padding-right: 13px;
  310. }
  311. /* Distinguish class reference page links from "user manual" page links with a class reference badge. */
  312. /* Remove text wrapping so that the badge is always on the same line as the anchor's text. */
  313. .rst-content a[href*="classes/"] {
  314. white-space: nowrap;
  315. }
  316. /* Add an icon as a badge, after the anchor's text. */
  317. .rst-content a[href*="classes/"]::after {
  318. content: "";
  319. background-image: var(--class-reference-icon);
  320. display: inline-block;
  321. height: 16px;
  322. width: 16px;
  323. padding: 0.125rem 0.375rem;
  324. margin-left: 0.25rem;
  325. }
  326. /* Prevent the class reference badge from appearing twice in the instant search results (not testable locally). */
  327. .wy-body-for-nav .search__result__single a[href*="classes/"]::after {
  328. display: none;
  329. }
  330. .wy-body-for-nav .search__result__single a[href*="classes/"]:first-child::after {
  331. display: inline-block;
  332. }
  333. /* Prevent the class reference badge from appearing several times per item in the dedicated search results page. */
  334. #search-results .context a[href*="classes/"]::after {
  335. display: none;
  336. }
  337. /* Stylize horizontal separator, mainly for the search results page. */
  338. hr,
  339. #search-results .search li:first-child,
  340. #search-results .search li {
  341. border-color: var(--hr-color);
  342. }
  343. /* Stylize the search results page. */
  344. #search-results .search-summary {
  345. color: var(--footer-color);
  346. }
  347. #search-results .context {
  348. color: var(--search-context-color);
  349. padding-left: 14px;
  350. position: relative;
  351. }
  352. #search-results .context:before {
  353. content: "•";
  354. display: block;
  355. position: absolute;
  356. left: 0;
  357. font-size: 120%;
  358. }
  359. #search-results .search li {
  360. background-color: var(--search-odd-color);
  361. padding: 16px 14px;
  362. border-radius: 6px;
  363. border: none;
  364. margin-bottom: 18px;
  365. }
  366. #search-results .search li:first-child {
  367. border: none;
  368. padding: 16px 14px;
  369. margin-top: 20px;
  370. }
  371. #search-results .search li:nth-child(2n) {
  372. background-color: var(--search-even-color);
  373. }
  374. /* Add more visual separation for the title of a search result island. */
  375. #search-results .search li > a:first-child {
  376. font-weight: 600;
  377. font-size: 140%;
  378. }
  379. /* JavaScript documentation directives */
  380. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dt,
  381. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list) > dt {
  382. background-color: var(--admonition-note-background-color);
  383. border-color: var(--admonition-note-title-background-color);
  384. color: var(--admonition-note-color);
  385. }
  386. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl dt {
  387. background-color: transparent;
  388. border-color: transparent;
  389. color: var(--footer-color);
  390. }
  391. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class dt,
  392. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).function dt,
  393. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).method dt,
  394. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).attribute dt {
  395. font-weight: 600;
  396. padding: 0 8px;
  397. margin-bottom: 1px;
  398. width: 100%;
  399. }
  400. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class > dt,
  401. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).function > dt,
  402. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).method > dt,
  403. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).attribute > dt {
  404. font-family: var(--monospace-font-family);
  405. font-size: 90%;
  406. font-weight: normal;
  407. margin-bottom: 16px;
  408. padding: 6px 8px;
  409. }
  410. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-prename.descclassname {
  411. color: var(--highlight-type2-color);
  412. font-weight: normal;
  413. }
  414. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-name.descname {
  415. color: var(--highlight-function-color);
  416. font-weight: 700;
  417. }
  418. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-paren,
  419. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .optional {
  420. color: var(--highlight-operator-color) !important;
  421. font-weight: normal;
  422. padding: 0 2px;
  423. }
  424. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .optional {
  425. font-style: italic;
  426. }
  427. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-param,
  428. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class dt > em,
  429. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).function dt > em,
  430. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).method dt > em {
  431. color: var(--code-literal-color);
  432. font-style: normal;
  433. padding: 0 4px;
  434. }
  435. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .k {
  436. font-style: normal;
  437. }
  438. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-param,
  439. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class dt > .optional ~ em,
  440. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).function dt > .optional ~ em,
  441. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).method dt > .optional ~ em {
  442. color: var(--highlight-number-color);
  443. font-style: italic;
  444. }
  445. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple).class dt > em.property {
  446. color: var(--highlight-keyword-color);
  447. }
  448. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dt a.headerlink {
  449. color: var(--link-color) !important;
  450. }
  451. html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dt a.headerlink:visited {
  452. color: var(--link-color-visited);
  453. }
  454. html.writer-html5 .rst-content dl.field-list > dd strong {
  455. font-family: var(--monospace-font-family);
  456. }
  457. footer {
  458. color: var(--footer-color);
  459. }
  460. /* Sphinx Search extension */
  461. /* .wy-body-for-nav is used for higher rule specificity */
  462. /* Search popup body */
  463. .wy-body-for-nav .search__outer {
  464. background-color: var(--content-background-color);
  465. border: 2px solid var(--content-background-color);
  466. }
  467. .wy-body-for-nav .search__cross svg {
  468. fill: var(--body-color);
  469. }
  470. .wy-body-for-nav .search__outer::-webkit-scrollbar-track {
  471. border-radius: 10px;
  472. background-color: var(--content-background-color);
  473. }
  474. .wy-body-for-nav .search__outer::-webkit-scrollbar {
  475. width: 7px;
  476. height: 7px;
  477. background-color: var(--content-background-color);
  478. }
  479. .wy-body-for-nav .search__outer::-webkit-scrollbar-thumb {
  480. border-radius: 10px;
  481. background-color: var(--hr-color);
  482. }
  483. /* Search input */
  484. .wy-body-for-nav .search__outer__input {
  485. background-color: var(--search-input-background-color);
  486. background-image: none;
  487. border-radius: 50px;
  488. border: 2px solid transparent;
  489. color: var(--body-color);
  490. height: 36px;
  491. padding: 6px 12px;
  492. }
  493. .wy-body-for-nav .search__outer__input:focus {
  494. border-color: var(--input-focus-border-color);
  495. }
  496. .wy-body-for-nav .search__outer .bar:after,
  497. .wy-body-for-nav .search__outer .bar:before {
  498. display: none;
  499. }
  500. /* Search results item */
  501. .wy-body-for-nav .search__result__single {
  502. border-bottom-color: var(--hr-color);
  503. }
  504. /* Search item title */
  505. .wy-body-for-nav .search__result__title {
  506. color: var(--link-color);
  507. border-bottom: none;
  508. font-size: 120%;
  509. font-weight: 400;
  510. }
  511. /* Search item section */
  512. .wy-body-for-nav .outer_div_page_results:hover,
  513. .wy-body-for-nav .search__result__box .active {
  514. background-color: var(--search-active-color);
  515. }
  516. .wy-body-for-nav .search__result__subheading{
  517. color: var(--body-color);
  518. font-size: 100%;
  519. font-weight: 400;
  520. }
  521. .wy-body-for-nav .search__result__content {
  522. color: var(--footer-color);
  523. }
  524. /* Search item matching substring */
  525. .wy-body-for-nav .search__outer .search__result__title span,
  526. .wy-body-for-nav .search__outer .search__result__content span {
  527. color: var(--search-match-color);
  528. border-bottom: 1px solid var(--search-match-color);
  529. background-color: var(--search-match-background-color);
  530. padding: 0 2px;
  531. }
  532. .wy-body-for-nav .search__result__subheading span {
  533. border-bottom-color: var(--body-color);
  534. }
  535. /* Search empty results */
  536. /* The original styles are inlined, see https://github.com/readthedocs/readthedocs-sphinx-search/issues/48 */
  537. .wy-body-for-nav .search__result__box {
  538. color: var(--body-color) !important;
  539. }
  540. /* Search footer & credits */
  541. .wy-body-for-nav .rtd__search__credits {
  542. background-color: var(--search-credits-background-color);
  543. border-color: var(--search-credits-background-color);
  544. color: var(--search-credits-color);
  545. padding: 4px 8px;
  546. }
  547. .wy-body-for-nav .rtd__search__credits a {
  548. color: var(--search-credits-link-color);
  549. }
  550. /* Main sections */
  551. .wy-nav-content-wrap {
  552. background-color: var(--content-wrap-background-color);
  553. }
  554. .wy-nav-content {
  555. background-color: var(--content-background-color);
  556. max-width: 900px;
  557. }
  558. .wy-body-for-nav {
  559. background-color: var(--content-wrap-background-color);
  560. }
  561. @media only screen and (min-width: 769px) {
  562. .wy-body-for-nav {
  563. /* Center the page on wide displays for better readability */
  564. max-width: 1200px;
  565. margin: 0 auto;
  566. }
  567. }
  568. /* Customize the look of tabbed panels, including code tabs. */
  569. .rst-content [role="tablist"] {
  570. border-bottom: none;
  571. }
  572. .rst-content .sphinx-tabs-tab {
  573. border-top: 4px solid transparent;
  574. color: var(--link-color);
  575. padding: 0.5rem 1.25rem;
  576. }
  577. .rst-content .sphinx-tabs-tab[aria-selected="true"] {
  578. background-color: var(--tabs-background-color);
  579. border: none;
  580. border-radius: 0;
  581. border-top: 4px solid var(--tabs-selected-color);
  582. }
  583. .rst-content .sphinx-tabs-tab.code-tab[aria-selected="true"] {
  584. background-color: var(--code-tabs-background-color);
  585. border-top: 4px solid var(--code-tabs-selected-color);
  586. }
  587. .rst-content .sphinx-tabs-tab:focus {
  588. z-index: inherit;
  589. }
  590. .rst-content .sphinx-tabs-panel {
  591. background-color: var(--tabs-background-color);
  592. border: none;
  593. border-radius: 0;
  594. }
  595. .rst-content .sphinx-tabs-panel.code-tab {
  596. background-color: var(--code-tabs-background-color);
  597. }
  598. .rst-content .sphinx-tabs-panel div[class^="highlight"] {
  599. border: none;
  600. box-shadow: none;
  601. margin-bottom: 2px;
  602. }
  603. .rst-content div[class^="highlight"] pre {
  604. font-variant-ligatures: none;
  605. padding: 18px 16px;
  606. }
  607. /* Table display tweaks */
  608. .rst-content table.docutils,
  609. .wy-table-bordered-all {
  610. border: 4px solid var(--code-border-color);
  611. }
  612. .wy-table-bordered-all td,
  613. .wy-table thead th,
  614. .rst-content table.docutils td,
  615. .rst-content table.docutils thead th,
  616. .rst-content table.field-list thead th {
  617. border-bottom: 2px solid var(--code-border-color);
  618. border-left: 2px solid var(--code-border-color);
  619. padding: 4px 16px;
  620. }
  621. html.writer-html5 .rst-content table.docutils th {
  622. border-bottom: 4px solid var(--code-border-color);
  623. border-left: 2px solid var(--code-border-color);
  624. padding: 8px 16px;
  625. vertical-align: middle;
  626. }
  627. .wy-table-odd td,
  628. .wy-table-striped tr:nth-child(2n-1) td,
  629. .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td {
  630. background-color: var(--table-row-odd-background-color);
  631. }
  632. /* Override table no-wrap */
  633. /* The first column cells are not verbose, no need to wrap them */
  634. .wy-table-responsive table td:not(:nth-child(1)),
  635. .wy-table-responsive table th:not(:nth-child(1)) {
  636. white-space: normal;
  637. }
  638. /* Allow to control wrapping behavior per table */
  639. .wy-table-responsive table.wrap-normal td,
  640. .wy-table-responsive table.wrap-normal th {
  641. white-space: normal;
  642. }
  643. /* Make sure line blocks don't stretch tables */
  644. .wy-table-responsive table .line-block {
  645. margin-bottom: 0;
  646. }
  647. /* Make sure not to wrap keyboard shortcuts */
  648. .wy-table-responsive table td kbd {
  649. white-space: nowrap;
  650. }
  651. /* Artificially increasing specificity to make it override theme.css. */
  652. html.writer-html5 .rst-content .wy-table-responsive > table td > p {
  653. line-height: 1.425rem;
  654. }
  655. html.writer-html5 .rst-content .wy-table-responsive > table th > p {
  656. line-height: 1.425rem;
  657. font-size: .95rem;
  658. font-weight: 600;
  659. }
  660. html.writer-html5 .rst-content .wy-table-responsive > table td > p tt.literal,
  661. html.writer-html5 .rst-content .wy-table-responsive > table td > p code.literal {
  662. font-size: .85rem;
  663. padding: 2px 5px;
  664. }
  665. /* Code display tweaks */
  666. code,
  667. .rst-content tt,
  668. .rst-content code {
  669. font-size: 14px;
  670. font-family: var(--monospace-font-family);
  671. background-color: var(--code-background-color);
  672. border: none;
  673. border-radius: 4px;
  674. }
  675. .rst-content tt.literal,
  676. .rst-content code.literal {
  677. color: var(--code-literal-color);
  678. font-weight: 600;
  679. font-variant-ligatures: none;
  680. padding: 3px 5px;
  681. }
  682. .rst-content div[class^="highlight"] {
  683. border: 3px solid var(--code-tabs-background-color);
  684. }
  685. .rst-content div[class^="highlight"] div[class^="highlight"] {
  686. box-shadow: none;
  687. }
  688. .rst-content pre.literal-block,
  689. .rst-content div[class^="highlight"] pre,
  690. .rst-content .linenodiv pre {
  691. /* Increase the font size and line height in code blocks */
  692. font-size: 14px;
  693. line-height: 1.5;
  694. font-family: var(--monospace-font-family);
  695. }
  696. /* Code tab display tweaks */
  697. .ui.tabular.menu .active.item,
  698. .ui.segment {
  699. background-color: var(--code-background-color);
  700. }
  701. /* Syntax highlighting */
  702. /* Remove default red boxes around Pygments errors */
  703. .highlight .err {
  704. border: none;
  705. }
  706. .highlight {
  707. background-color: var(--highlight-background-color);
  708. }
  709. /* Emphasized lines */
  710. .highlight .hll {
  711. background-color: var(--highlight-background-emph-color);
  712. }
  713. .highlight .gh /* Generic.Heading */,
  714. .highlight .gu /* Generic.Subheading */,
  715. .highlight .go /* Generic.Output */,
  716. .highlight .gt /* Generic.Traceback */ {
  717. color: var(--highlight-default-color);
  718. }
  719. .highlight .c /* Comment */,
  720. .highlight .c1 /* Comment.Single */,
  721. .highlight .cm /* Comment.Multiline */,
  722. .highlight .cs /* Comment.Special */ {
  723. color: var(--highlight-comment-color);
  724. }
  725. .highlight .bp /* Name.Builtin.Pseudo */,
  726. .highlight .k /* Keyword */,
  727. .highlight .kc /* Keyword.Constant */,
  728. .highlight .kd /* Keyword.Declaration */,
  729. .highlight .kn /* Keyword.Namespace */,
  730. .highlight .kp /* Keyword.Pseudo */,
  731. .highlight .kr /* Keyword.Reserved */,
  732. .highlight .kt /* Keyword.Type */,
  733. .highlight .ow /* Operator.Word */ {
  734. color: var(--highlight-keyword-color);
  735. }
  736. .highlight .ch /* Comment.Hashbang */,
  737. .highlight .cp /* Comment.Preproc */ {
  738. color: var(--highlight-keyword2-color);
  739. }
  740. .highlight .m /* Literal.Number */,
  741. .highlight .mf /* Literal.Number.Float */,
  742. .highlight .mi /* Literal.Number.Integer */,
  743. .highlight .il /* Literal.Number.Integer.Long */,
  744. .highlight .mb /* Literal.Number.Bin */,
  745. .highlight .mh /* Literal.Number.Hex */,
  746. .highlight .mo /* Literal.Number.Oct */ {
  747. color: var(--highlight-number-color);
  748. }
  749. .highlight .na /* Name.Attribute */,
  750. .highlight .nd /* Name.Decorator */,
  751. .highlight .ni /* Name.Entity */,
  752. .highlight .nl /* Name.Label */ {
  753. color: var(--highlight-decorator-color);
  754. }
  755. .highlight .nb /* Name.Builtin */,
  756. .highlight .ne /* Name.Exception */ {
  757. color: var(--highlight-type-color);
  758. }
  759. .highlight .nc /* Name.Class */,
  760. .highlight .nn /* Name.Namespace */,
  761. .highlight .no /* Name.Constant */,
  762. .highlight .nv /* Name.Variable */,
  763. .highlight .vc /* Name.Variable.Class */,
  764. .highlight .vg /* Name.Variable.Global */,
  765. .highlight .vi /* Name.Variable.Instance */,
  766. .highlight .vm /* Name.Variable.Magic */ {
  767. color: var(--highlight-type2-color);
  768. }
  769. .highlight .nf /* Name.Function */,
  770. .highlight .fm /* Name.Function.Magic */,
  771. .highlight .nt /* Name.Tag */ {
  772. color: var(--highlight-function-color);
  773. }
  774. .highlight .o /* Operator */,
  775. .highlight .si /* Literal.String.Interpol */,
  776. .highlight .sx /* Literal.String.Other */,
  777. .highlight .sr /* Literal.String.Regex */,
  778. .highlight .ss /* Literal.String.Symbol */ {
  779. color: var(--highlight-operator-color);
  780. }
  781. .highlight .cpf/* Comment.PreprocFile */,
  782. .highlight .s /* Literal.String */,
  783. .highlight .s1 /* Literal.String.Single */,
  784. .highlight .s2 /* Literal.String.Double */,
  785. .highlight .sc /* Literal.String.Char */,
  786. .highlight .se /* Literal.String.Escape */,
  787. .highlight .sa /* Literal.String.Affix */,
  788. .highlight .sb /* Literal.String.Backtick */,
  789. .highlight .dl /* Literal.String.Delimiter */,
  790. .highlight .sd /* Literal.String.Doc */,
  791. .highlight .sh /* Literal.String.Heredoc */ {
  792. color: var(--highlight-string-color);
  793. }
  794. /* Call to action for missing documentation */
  795. .rst-content .contribute {
  796. background-color: var(--contribute-background-color);
  797. color: var(--contribute-text-color);
  798. padding: 12px;
  799. margin-bottom: 12px;
  800. }
  801. .rst-content .contribute > p {
  802. margin-bottom: 0;
  803. }
  804. /* Admonition tweaks */
  805. .rst-content .admonition.note,
  806. .rst-content .admonition.seealso {
  807. background-color: var(--admonition-note-background-color);
  808. color: var(--admonition-note-color);
  809. }
  810. .rst-content .admonition.note .admonition-title,
  811. .rst-content .admonition.seealso .admonition-title {
  812. background-color: var(--admonition-note-title-background-color);
  813. color: var(--admonition-note-title-color);
  814. }
  815. .rst-content .admonition.attention,
  816. .rst-content .admonition.caution,
  817. .rst-content .admonition.warning {
  818. background-color: var(--admonition-attention-background-color);
  819. color: var(--admonition-attention-color);
  820. }
  821. .rst-content .admonition.attention .admonition-title,
  822. .rst-content .admonition.caution .admonition-title,
  823. .rst-content .admonition.warning .admonition-title {
  824. background-color: var(--admonition-attention-title-background-color);
  825. color: var(--admonition-attention-title-color);
  826. }
  827. .rst-content .admonition.danger {
  828. background-color: var(--admonition-danger-background-color);
  829. color: var(--admonition-danger-color);
  830. }
  831. .rst-content .admonition.danger .admonition-title {
  832. background-color: var(--admonition-danger-title-background-color);
  833. color: var(--admonition-danger-title-color);
  834. }
  835. .rst-content .admonition.tip,
  836. .rst-content .admonition.important {
  837. background-color: var(--admonition-tip-background-color);
  838. color: var(--admonition-tip-color);
  839. }
  840. .rst-content .admonition.tip .admonition-title,
  841. .rst-content .admonition.important .admonition-title {
  842. background-color: var(--admonition-tip-title-background-color);
  843. color: var(--admonition-tip-title-color);
  844. }
  845. /* Keyboard shortcuts tweaks */
  846. kbd, .kbd {
  847. background-color: var(--kbd-background-color);
  848. border: 1px solid var(--kbd-outline-color);
  849. border-radius: 3px;
  850. box-shadow: inset 0 -1px 0 var(--kbd-shadow-color);
  851. color: var(--kbd-text-color);
  852. display: inline-block;
  853. font-size: 12px;
  854. line-height: 11px;
  855. padding: 4px 5px;
  856. vertical-align: middle;
  857. }
  858. /* Unset excessive styles for nested kbd tags. */
  859. kbd.compound > kbd,
  860. kbd.compound > .kbd,
  861. .kbd.compound > kbd,
  862. .kbd.compound > .kbd {
  863. border: none;
  864. box-shadow: none;
  865. padding: 0;
  866. }
  867. /* Class reference tweaks. */
  868. .classref-section-separator {
  869. border-color: var(--navbar-heading-color);
  870. border-top-width: 3px;
  871. margin: 36px 0;
  872. }
  873. .classref-item-separator {
  874. border-top-width: 2px;
  875. margin: 26px 0;
  876. }
  877. .classref-descriptions-group > p.classref-property,
  878. .classref-descriptions-group > p.classref-signal,
  879. .classref-descriptions-group > p.classref-annotation,
  880. .classref-descriptions-group > p.classref-themeproperty,
  881. .classref-descriptions-group > p.classref-method,
  882. .classref-descriptions-group > p.classref-constructor,
  883. .classref-descriptions-group > p.classref-operator,
  884. .classref-descriptions-group > p.classref-constant,
  885. .classref-descriptions-group > p.classref-enumeration,
  886. .classref-descriptions-group > p.classref-enumeration-constant {
  887. color: var(--classref-secondary-color);
  888. font-family: var(--monospace-font-family);
  889. font-size: 110%;
  890. font-weight: 600;
  891. margin-bottom: 18px;
  892. }
  893. .classref-property {
  894. margin-bottom: 12px;
  895. }
  896. p + .classref-constant {
  897. margin-top: 22px;
  898. }
  899. .classref-descriptions-group > p.classref-enumeration-constant {
  900. font-size: 100%;
  901. margin-top: 18px;
  902. margin-bottom: 14px;
  903. }
  904. .classref-property > a,
  905. .classref-signal > a,
  906. .classref-annotation > a,
  907. .classref-themeproperty > a,
  908. .classref-method > a,
  909. .classref-constructor > a,
  910. .classref-operator > a,
  911. .classref-constant > a,
  912. .classref-enumeration > a {
  913. opacity: 0.85;
  914. }
  915. .classref-enumeration-constant > a {
  916. opacity: 0.75;
  917. }
  918. .classref-property > a:hover,
  919. .classref-signal > a:hover,
  920. .classref-annotation > a:hover,
  921. .classref-themeproperty > a:hover,
  922. .classref-method > a:hover,
  923. .classref-constructor > a:hover,
  924. .classref-operator > a:hover,
  925. .classref-constant > a:hover,
  926. .classref-enumeration > a:hover,
  927. .classref-enumeration-constant > a:hover {
  928. opacity: 1;
  929. }
  930. .classref-property > strong,
  931. .classref-signal > strong,
  932. .classref-annotation > strong,
  933. .classref-themeproperty > strong,
  934. .classref-method > strong,
  935. .classref-constructor > strong,
  936. .classref-operator > strong,
  937. .classref-constant > strong,
  938. .classref-enumeration > strong,
  939. .classref-enumeration-constant > strong {
  940. color: var(--classref-primary-color);
  941. }
  942. .classref-property > code.literal,
  943. .classref-signal > code.literal,
  944. .classref-annotation > code.literal,
  945. .classref-themeproperty > code.literal,
  946. .classref-method > code.literal,
  947. .classref-constructor > code.literal,
  948. .classref-operator > code.literal,
  949. .classref-constant > code.literal,
  950. .classref-enumeration > code.literal,
  951. .classref-enumeration-constant > code.literal {
  952. background-color: transparent;
  953. border: none;
  954. padding: 0;
  955. font-weight: 600;
  956. font-size: 90%
  957. }
  958. .classref-constant > code.literal,
  959. .classref-enumeration-constant > code.literal {
  960. color: var(--classref-setget-color);
  961. font-weight: 400;
  962. }
  963. /* Artificially increasing specificity to make it override theme.css. */
  964. .classref-descriptions-group ul.classref-property-setget {
  965. color: var(--classref-setget-color);
  966. font-size: 90%;
  967. margin-bottom: 22px;
  968. }
  969. .classref-property-setget > li {
  970. line-height: 22px;
  971. }
  972. .classref-property-setget p {
  973. font-family: var(--monospace-font-family);
  974. font-size: 100%;
  975. line-height: 22px;
  976. }
  977. .classref-property-setget p > a {
  978. opacity: 0.75;
  979. }
  980. .classref-property-setget p > a:hover {
  981. opacity: 1;
  982. }
  983. .classref-property-setget p > strong {
  984. color: var(--classref-setget-color);
  985. }
  986. .classref-property-setget p > code {
  987. background-color: transparent;
  988. border: none;
  989. padding: 0;
  990. font-weight: 600;
  991. }
  992. .classref-descriptions-group {
  993. margin-left: 24px;
  994. }
  995. #enumerations.classref-descriptions-group {
  996. margin-left: 48px;
  997. }
  998. .classref-descriptions-group > h2,
  999. .classref-descriptions-group > hr {
  1000. margin-left: -24px;
  1001. }
  1002. #enumerations.classref-descriptions-group > h2,
  1003. #enumerations.classref-descriptions-group > hr {
  1004. margin-left: -48px;
  1005. }
  1006. .classref-descriptions-group > p {
  1007. margin-bottom: 12px;
  1008. }
  1009. .classref-descriptions-group .classref-property,
  1010. .classref-descriptions-group .classref-signal,
  1011. .classref-descriptions-group .classref-annotation,
  1012. .classref-descriptions-group .classref-themeproperty,
  1013. .classref-descriptions-group .classref-method,
  1014. .classref-descriptions-group .classref-constructor,
  1015. .classref-descriptions-group .classref-operator,
  1016. .classref-descriptions-group .classref-constant,
  1017. .classref-descriptions-group .classref-enumeration-constant {
  1018. margin-left: -24px;
  1019. }
  1020. .classref-descriptions-group .classref-enumeration {
  1021. margin-left: -48px;
  1022. }
  1023. .classref-reftable-group .wy-table-responsive {
  1024. margin-bottom: 36px;
  1025. }
  1026. .classref-reftable-group .wy-table-responsive > table {
  1027. width: 100%;
  1028. }
  1029. /* Buttons */
  1030. .btn-neutral {
  1031. background-color: var(--btn-neutral-background-color) !important;
  1032. color: var(--body-color) !important;
  1033. }
  1034. .btn-neutral:hover {
  1035. background-color: var(--btn-neutral-hover-background-color) !important;
  1036. }
  1037. .btn-neutral:visited {
  1038. color: var(--body-color) !important;
  1039. }
  1040. /* Navigation bar logo and search */
  1041. .logo {
  1042. opacity: var(--logo-opacity);
  1043. }
  1044. .wy-side-nav-search > a {
  1045. padding: 0;
  1046. margin-bottom: 0.404em;
  1047. margin-top: 0.404em;
  1048. }
  1049. .wy-side-nav-search > a img.logo {
  1050. /* Fixed size to prevent reflows and support hiDPI displays */
  1051. /* A 5 pixel margin is added on each side. The logo itself displays at 200×200 at 100% scaling. */
  1052. width: 270px;
  1053. height: 70px;
  1054. }
  1055. .wy-side-nav-search {
  1056. background-color: var(--navbar-background-color);
  1057. }
  1058. .wy-side-nav-search.fixed {
  1059. position: fixed;
  1060. }
  1061. @media only screen and (min-width: 769px) {
  1062. /* Simulate a drop shadow that only affects the bottom edge */
  1063. /* This is used to indicate the search bar is fixed */
  1064. .wy-side-nav-search.fixed-and-scrolled::after {
  1065. content: '';
  1066. position: absolute;
  1067. left: 0;
  1068. bottom: -8px;
  1069. width: 300px;
  1070. height: 8px;
  1071. pointer-events: none;
  1072. background: linear-gradient(hsla(0, 0%, 0%, 0.2), transparent);
  1073. }
  1074. }
  1075. .wy-side-nav-search > a:hover,
  1076. .wy-side-nav-search .wy-dropdown > a:hover {
  1077. background-color: var(--navbar-background-color-hover);
  1078. }
  1079. .wy-side-nav-search > a:active,
  1080. .wy-side-nav-search .wy-dropdown > a:active {
  1081. background-color: var(--navbar-background-color-active);
  1082. }
  1083. .wy-side-nav-search input[type="text"] {
  1084. background-color: var(--input-background-color);
  1085. color: var(--body-color);
  1086. /* Avoid reflowing when toggling the focus state */
  1087. border: 2px solid transparent;
  1088. box-shadow: none;
  1089. /* Make visual feedback instant */
  1090. transition: none;
  1091. font-size: 14px;
  1092. }
  1093. .wy-side-nav-search input[type="text"]:focus {
  1094. border: 2px solid var(--input-focus-border-color);
  1095. }
  1096. .wy-side-nav-search input[type="text"]::placeholder {
  1097. color: var(--body-color);
  1098. opacity: 0.55;
  1099. }
  1100. /* Navigation bar */
  1101. .wy-nav-side {
  1102. background-color: var(--navbar-background-color);
  1103. }
  1104. @media only screen and (min-width: 769px) {
  1105. .wy-nav-side {
  1106. /* Required to center the page on wide displays */
  1107. left: inherit;
  1108. }
  1109. }
  1110. .wy-menu-vertical header,
  1111. .wy-menu-vertical p.caption {
  1112. color: var(--navbar-heading-color);
  1113. /* Improves the appearance of uppercase text */
  1114. letter-spacing: 0.75px;
  1115. }
  1116. /* Mobile navigation */
  1117. .wy-nav-top,
  1118. .wy-nav-top a {
  1119. background-color: var(--navbar-background-color);
  1120. color: var(--navbar-level-1-color);
  1121. }
  1122. /* Version branch label below the logo */
  1123. .wy-side-nav-search > div.version {
  1124. color: var(--navbar-level-3-color);
  1125. font-size: 14px;
  1126. opacity: 0.9;
  1127. }
  1128. /* First level of navigation items */
  1129. .wy-menu-vertical a {
  1130. color: var(--navbar-level-1-color);
  1131. }
  1132. .wy-menu-vertical a:hover {
  1133. background-color: var(--navbar-background-color-hover);
  1134. color: var(--navbar-level-1-color);
  1135. }
  1136. .wy-menu-vertical a:active {
  1137. background-color: var(--navbar-background-color-active);
  1138. }
  1139. .wy-menu-vertical li.toctree-l1 > a {
  1140. padding: .4045em 1.918em;
  1141. }
  1142. .wy-menu-vertical li.toctree-l1.current > a {
  1143. border: none;
  1144. }
  1145. .wy-side-nav-search, .wy-menu-vertical a, .wy-menu-vertical a button.toctree-expand,
  1146. .wy-menu-vertical li.toctree-l1 a button.toctree-expand,
  1147. .wy-menu-vertical li.toctree-l2 a button.toctree-expand {
  1148. color: var(--navbar-level-3-color);
  1149. opacity: 0.9;
  1150. margin-right: 8px;
  1151. }
  1152. .wy-side-nav-search, .wy-menu-vertical a, .wy-menu-vertical a:hover button.toctree-expand,
  1153. .wy-menu-vertical li.toctree-l1 a:hover button.toctree-expand,
  1154. .wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand {
  1155. color: var(--navbar-level-2-color);
  1156. opacity: 1;
  1157. }
  1158. .wy-side-nav-search, .wy-menu-vertical a, .wy-menu-vertical a:active button.toctree-expand,
  1159. .wy-menu-vertical li.toctree-l1 a:active button.toctree-expand,
  1160. .wy-menu-vertical li.toctree-l2 a:active button.toctree-expand {
  1161. color: var(--navbar-level-1-color);
  1162. opacity: 1;
  1163. }
  1164. /* Second (and higher) levels of navigation items */
  1165. .wy-menu-vertical li.current a {
  1166. /* Make long words always display on a single line, keep wrapping for multiple words */
  1167. /* This fixes the class reference titles' display with very long class names */
  1168. display: flex;
  1169. }
  1170. .wy-menu-vertical li.current a,
  1171. .wy-menu-vertical li.toctree-l2.current > a,
  1172. .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a,
  1173. .wy-menu-vertical li.toctree-l2.current li.toctree-l4 > a {
  1174. background-color: var(--navbar-current-background-color);
  1175. color: var(--navbar-level-2-color);
  1176. border-color: var(--navbar-current-background-color);
  1177. }
  1178. .wy-menu-vertical li.current a:hover,
  1179. .wy-menu-vertical li.toctree-l2.current > a:hover,
  1180. .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:hover,
  1181. .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a:hover {
  1182. background-color: var(--navbar-current-background-color-hover);
  1183. }
  1184. .wy-menu-vertical li.current a:active,
  1185. .wy-menu-vertical li.toctree-l2.current > a:active,
  1186. .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:active,
  1187. .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a:active {
  1188. background-color: var(--navbar-current-background-color-active);
  1189. }
  1190. .wy-menu-vertical a {
  1191. /* This overrides 8px margin added in other multi-selector rules */
  1192. margin-right: 0;
  1193. }
  1194. /* Make the expand icon a bit easier to hit. */
  1195. .wy-menu-vertical li a button.toctree-expand {
  1196. position: relative;
  1197. width: 12px;
  1198. min-width: 12px; /* Forces the size to stay this way in the flexbox model. */
  1199. height: 18px;
  1200. }
  1201. .wy-menu-vertical li a button.toctree-expand:before {
  1202. position: absolute;
  1203. top: -3px;
  1204. left: -6px;
  1205. width: 24px;
  1206. height: 24px;
  1207. padding: 6px;
  1208. }
  1209. /* Banner panel in sidebar */
  1210. .wy-nav-side .ethical-rtd.fixed {
  1211. position: fixed;
  1212. }
  1213. /* Version selector (only visible on Read the Docs) */
  1214. .rst-versions {
  1215. background-color: var(--navbar-current-background-color);
  1216. }
  1217. .rst-versions.shift-up {
  1218. overflow: visible;
  1219. }
  1220. .rst-versions.shift-up:before {
  1221. content: '';
  1222. position: absolute;
  1223. left: 0;
  1224. top: -8px;
  1225. width: 100%;
  1226. height: 8px;
  1227. pointer-events: none;
  1228. background: linear-gradient(transparent, hsla(0, 0%, 0%, 0.2));
  1229. }
  1230. @media only screen and (min-width: 769px) {
  1231. .rst-versions {
  1232. /* Required to center the page on wide displays */
  1233. left: inherit;
  1234. }
  1235. }
  1236. .rst-versions a,
  1237. .rst-versions .rst-current-version,
  1238. .rst-versions .rst-current-version .fa,
  1239. .rst-versions .rst-other-versions dd a {
  1240. color: var(--navbar-level-1-color);
  1241. }
  1242. .rst-versions .rst-other-versions small {
  1243. color: var(--navbar-level-3-color);
  1244. }
  1245. .rst-versions .rst-other-versions dd a:hover {
  1246. text-decoration: underline;
  1247. }
  1248. .rst-versions .rst-other-versions {
  1249. color: var(--navbar-heading-color);
  1250. }
  1251. .rst-versions .rst-current-version {
  1252. background-color: var(--navbar-current-background-color);
  1253. }
  1254. .rst-versions .rst-current-version:hover {
  1255. background-color: var(--navbar-current-background-color-hover);
  1256. }
  1257. .rst-versions .rst-current-version:active {
  1258. background-color: var(--navbar-current-background-color-active);
  1259. }
  1260. /* Hide the obnoxious automatic highlight from the search context. */
  1261. .rst-content .highlighted {
  1262. background-color: transparent;
  1263. box-shadow: none;
  1264. font-weight: inherit;
  1265. padding: 0;
  1266. }
  1267. /* Still slightly highlight matched parts on the dedicated search results page. */
  1268. .rst-content #search-results .highlighted {
  1269. background-color: var(--search-highlighted-color);
  1270. border-radius: 2px;
  1271. color: var(--body-color);
  1272. font-weight: 600;
  1273. padding: 0 3px;
  1274. }
  1275. /* Allows the scrollbar to be shown in the sidebar */
  1276. @media only screen and (min-width: 769px) {
  1277. .wy-side-scroll {
  1278. overflow: hidden;
  1279. }
  1280. .wy-nav-side .wy-side-scroll .ethical-rtd {
  1281. width: calc(300px - 1.25em);
  1282. padding: 0 0 0 1em;
  1283. }
  1284. }
  1285. .wy-menu.wy-menu-vertical {
  1286. overflow-y: auto;
  1287. overflow-x: hidden;
  1288. max-height: calc(100% - 348px);
  1289. }
  1290. @media screen and (max-width: 768px) {
  1291. .wy-nav-side {
  1292. padding-bottom: 44px;
  1293. }
  1294. .wy-menu.wy-menu-vertical {
  1295. overflow-y: initial;
  1296. max-height: initial;
  1297. }
  1298. }
  1299. /* Scrollbar styling */
  1300. .wy-menu.wy-menu-vertical {
  1301. scrollbar-color: var(--navbar-scrollbar-color) var(--navbar-scrollbar-background);
  1302. }
  1303. .wy-menu.wy-menu-vertical::-webkit-scrollbar {
  1304. width: .75rem;
  1305. }
  1306. .wy-menu.wy-menu-vertical::-webkit-scrollbar-track {
  1307. background-color: var(--navbar-scrollbar-background);
  1308. }
  1309. .wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb {
  1310. background-color: var(--navbar-scrollbar-color);
  1311. }
  1312. /* Firefox does the dimming on hover automatically. We emulate it for Webkit-based browsers. */
  1313. .wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb:hover {
  1314. background-color: var(--navbar-scrollbar-hover-color);
  1315. }
  1316. .wy-menu.wy-menu-vertical::-webkit-scrollbar-thumb:active {
  1317. background-color: var(--navbar-scrollbar-active-color);
  1318. }
  1319. /* Allows to add a green or red bar to code blocks for "good"/"bad" code examples. */
  1320. .code-example-good div.highlight {
  1321. border-left-color: var(--code-example-good-color);
  1322. border-left-width: 8px;
  1323. }
  1324. .code-example-bad div.highlight {
  1325. border-left-color: var(--code-example-bad-color);
  1326. border-left-width: 8px;
  1327. }
  1328. /* Togglable sidebar sections. */
  1329. .wy-menu-vertical p.caption {
  1330. cursor: pointer;
  1331. }
  1332. .wy-menu-vertical p.caption.active {
  1333. background-color: var(--navbar-category-active-color);
  1334. }
  1335. .wy-menu-vertical p.caption:hover {
  1336. background-color: var(--navbar-background-color-hover);
  1337. }
  1338. .wy-menu-vertical p.caption.active .caption-text:before {
  1339. transform: rotate(90deg);
  1340. }
  1341. .wy-menu-vertical p.caption .caption-text:before {
  1342. content: "❯";
  1343. display: inline-block;
  1344. margin-left: -4px;
  1345. transition: transform 0.2s;
  1346. width: 16px;
  1347. height: 32px;
  1348. transform-origin: 2px 16px;
  1349. }
  1350. .wy-menu-vertical p.caption + ul {
  1351. display: none;
  1352. }
  1353. .wy-menu-vertical p.caption + ul.active {
  1354. display: block;
  1355. }