custom.css 30 KB

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