style.css 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268
  1. @import url("/fontawesome/css/all.min.css");
  2. @font-face {
  3. font-family: 'PT Mono';
  4. font-style: normal;
  5. font-weight: 400;
  6. font-display: swap;
  7. src: url(https://fonts.gstatic.com/s/ptmono/v14/9oRONYoBnWILk-9AnC8zNg.ttf) format('truetype');
  8. }
  9. @font-face {
  10. font-family: 'Ubuntu';
  11. font-style: normal;
  12. font-weight: 400;
  13. font-display: swap;
  14. src: url(https://fonts.gstatic.com/s/ubuntu/v21/4iCs6KVjbNBYlgo6eA.ttf) format('truetype');
  15. }
  16. * {
  17. box-sizing: border-box;
  18. user-select: none;
  19. }
  20. :root {
  21. --fontFamily: Arial, Ubuntu, sans-serif;
  22. --foreground: #b1b1b1;
  23. --foreground2: #c5c5c5;
  24. --foreground3: #e7e7e7;
  25. --highlightFg: #ffd000;
  26. --highlightFg2: #c07302;
  27. --highlightedColor: #ffd000;
  28. --background: #1b1b1b;
  29. --background4: #111;
  30. --background3: #000000;
  31. --background2: #272727;
  32. --twitter: #1DA1F2;
  33. --buttonColor: #292929;
  34. --buttonColorFg: var(--foreground3);
  35. --docsColor: #0c5858;
  36. --docsColorFg: var(--foreground3);
  37. --bugsColor: #680404;
  38. --bugsColorFg: var(--foreground3);
  39. --codeColor: #6d003f;
  40. --codeColorFg: var(--foreground3);
  41. --discordColor: #44013b;
  42. --discordColorFg: var(--foreground3);
  43. --storeColor: #686602;
  44. --storeColorFg: var(--foreground3);
  45. --donateColor: #8cc800;
  46. --donateColorFg: #212700;
  47. --itchColor: #b11f38;
  48. --itchColorFg: var(--foreground3);
  49. --youtubeColor: #c4302b;
  50. --youtubeColorFg: var(--foreground3);
  51. --twitterColor: #1475b1;
  52. --twitterColorFg: var(--foreground3);
  53. --highlightedColorFg: #242424;
  54. --textShadowColor: var(--background3);
  55. --boxShadowColor: var(--background4);
  56. }
  57. img {
  58. max-width: 100%;
  59. }
  60. p {
  61. display: block;
  62. margin-top: 0.4rem;
  63. margin-bottom: 0.4rem;
  64. }
  65. blockquote {
  66. display: flex;
  67. flex-direction: row;
  68. align-items: center;
  69. }
  70. blockquote > *:first-child:before {
  71. content: "\f100";
  72. font-family: 'font awesome 5 free';
  73. font-weight: 700;
  74. padding: 0.5rem;
  75. }
  76. blockquote > *:first-child:after {
  77. content: "\f101";
  78. font-family: 'font awesome 5 free';
  79. font-weight: 700;
  80. padding: 0.5rem;
  81. }
  82. progress#pageLoadingProgress {
  83. position: fixed;
  84. top: 0;
  85. left: 0;
  86. width: 100%;
  87. z-index: 999;
  88. height: 0.6vh;
  89. }
  90. progress#pageLoadingProgress[value],
  91. progress#pageLoadingProgress::-webkit-progress-bar {
  92. -webkit-appearance: none;
  93. appearance: none;
  94. -moz-appearance: none;
  95. background: var(--background2);
  96. border: none;
  97. }
  98. progress#pageLoadingProgress::-webkit-progress-value,
  99. progress#pageLoadingProgress::-moz-progress-bar {
  100. background: var(--highlightFg);
  101. }
  102. html {
  103. height: 100%;
  104. width: 100%;
  105. position: absolute;
  106. top: 0;
  107. left: 0;
  108. }
  109. pre {
  110. padding: 1rem;
  111. }
  112. pre,
  113. code {
  114. position: relative;
  115. border-radius: 0.3rem;
  116. overflow: auto !important;
  117. font-family: "PT Mono";
  118. }
  119. .hljs-ln-numbers {
  120. -webkit-touch-callout: none;
  121. -webkit-user-select: none;
  122. -khtml-user-select: none;
  123. -moz-user-select: none;
  124. -ms-user-select: none;
  125. user-select: none;
  126. text-align: right;
  127. color: var(--foreground2);
  128. vertical-align: top;
  129. }
  130. .hljs-ln tr:nth-child(odd) {
  131. background-color: var(--background4);
  132. }
  133. .hljs-ln-code {
  134. padding-left: 1rem !important;
  135. }
  136. ul {
  137. padding: 0.5rem;
  138. }
  139. ul,
  140. li {
  141. text-decoration: none;
  142. appearance: none;
  143. list-style-type: none;
  144. padding-left: 0.5rem;
  145. margin: 0;
  146. }
  147. li {
  148. margin-top: 0.1rem;
  149. }
  150. li p {
  151. display: inline;
  152. }
  153. nav ul,
  154. nav li {
  155. text-align: left;
  156. all: unset;
  157. display: flex;
  158. white-space: nowrap;
  159. }
  160. nav ul {
  161. margin-top: 0.5rem;
  162. }
  163. nav li:before {
  164. display: none;
  165. }
  166. .shadowed {
  167. box-shadow: 0 0 0.8rem 0.3rem var(--boxShadowColor);
  168. }
  169. .textShadowed {
  170. text-shadow: 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor);
  171. }
  172. .textShadowedIntense {
  173. text-shadow: 0 0 0.2rem var(--textShadowColor), 0 0 0.2rem var(--textShadowColor), 0 0 0.2rem var(--textShadowColor), 0 0 0.4rem var(--textShadowColor), 0 0 0.8rem var(--textShadowColor), 0 0 0.8rem var(--textShadowColor), 0 0 1.6rem var(--textShadowColor), 0 0 1.6rem var(--textShadowColor), 0 0 0.1rem var(--foreground), 0 0 0.1rem var(--foreground), 0 0 0.1rem var(--foreground), 0 0 0.1rem var(--foreground);
  174. }
  175. #topmenu {
  176. background-color: var(--background);
  177. display: flex;
  178. flex-wrap: nowrap;
  179. flex-direction: row;
  180. border-bottom-left-radius: 0.3rem;
  181. border-bottom-right-radius: 0.3rem;
  182. padding: 0.2rem;
  183. padding-left: 1rem;
  184. padding-right: 1rem;
  185. }
  186. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  187. #topmenu {
  188. flex-wrap: wrap;
  189. }
  190. }
  191. #topmenu a {
  192. text-decoration: none !important;
  193. }
  194. #topmenu > div {
  195. display: flex;
  196. align-items: center;
  197. flex-direction: row;
  198. flex-wrap: wrap;
  199. justify-content: center;
  200. margin-right: 0.3rem;
  201. }
  202. #topmenu > div:last-child {
  203. margin-right: 0;
  204. }
  205. #topmenu > div:last-child > div {
  206. margin-left: 0.3rem;
  207. }
  208. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  209. #topmenu > div:last-child {
  210. margin: auto;
  211. }
  212. }
  213. #topmenu > div:first-child {
  214. margin-right: auto;
  215. margin-left: 0;
  216. }
  217. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  218. #topmenu > div:first-child {
  219. margin: auto;
  220. }
  221. }
  222. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  223. }
  224. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  225. #topmenu > div.expandedOnPortrait {
  226. flex-direction: column;
  227. align-items: stretch;
  228. }
  229. #topmenu > div.expandedOnPortrait button {
  230. margin: 0!important;
  231. margin-top: 0.3rem !important;
  232. min-width: 8rem;
  233. text-align: left!important;
  234. }
  235. }
  236. .commonButton {
  237. all: unset;
  238. appearance: none;
  239. background-color: var(--background2);
  240. border: 0.1rem solid var(--background3) !important;
  241. border-radius: 0.3rem;
  242. color: var(--highlightFg);
  243. padding: 0.3rem;
  244. text-decoration: none;
  245. margin: 0.3rem;
  246. display: inline-block;
  247. padding: 0.6rem;
  248. padding-left: 1rem;
  249. padding-right: 1rem;
  250. cursor: pointer;
  251. text-shadow: none;
  252. font-weight: bolder !important;
  253. background: var(--buttonColor);
  254. color: var(--buttonColorFg);
  255. font-weight: bold;
  256. box-shadow: 0 0 0.8rem 0.3rem var(--boxShadowColor);
  257. }
  258. .commonButton a {
  259. text-decoration: none !important;
  260. color: inherit;
  261. }
  262. button {
  263. all: unset;
  264. appearance: none;
  265. background-color: var(--background2);
  266. border: 0.1rem solid var(--background3) !important;
  267. border-radius: 0.3rem;
  268. color: var(--highlightFg);
  269. padding: 0.3rem;
  270. text-decoration: none;
  271. margin: 0.3rem;
  272. display: inline-block;
  273. padding: 0.6rem;
  274. padding-left: 1rem;
  275. padding-right: 1rem;
  276. cursor: pointer;
  277. text-shadow: none;
  278. font-weight: bolder !important;
  279. background: var(--buttonColor);
  280. color: var(--buttonColorFg);
  281. font-weight: bold;
  282. box-shadow: 0 0 0.8rem 0.3rem var(--boxShadowColor);
  283. }
  284. button a {
  285. text-decoration: none !important;
  286. color: inherit;
  287. }
  288. button:hover {
  289. filter: brightness(130%);
  290. }
  291. @keyframes buttonIconExpand {
  292. 100% {
  293. position: initial;
  294. }
  295. }
  296. .clickableIcon {
  297. padding: 0.5rem;
  298. padding-left: 0.7rem;
  299. padding-right: 0.7rem;
  300. min-width: 1.8rem;
  301. text-align: center;
  302. font-size: 1.2rem;
  303. }
  304. .clickableIcon i {
  305. margin: 0 !important;
  306. padding: 0 !important;
  307. display: inline-block;
  308. margin-right: -0.25rem !important;
  309. transition: margin 0.6s linear;
  310. }
  311. .clickableIcon > span {
  312. opacity: 0;
  313. letter-spacing: -0.9rem;
  314. font-size: 0px;
  315. margin: 0;
  316. padding: 0;
  317. }
  318. @media only screen and (min-width : 1168px) {
  319. .clickableIcon > span {
  320. transition: letter-spacing 0.8s linear, opacity 0.3s linear 0.6s, font-size 0.3s linear;
  321. }
  322. }
  323. @media only screen and (min-width : 1168px) {
  324. .clickableIcon.hover i,
  325. .clickableIcon:hover i {
  326. margin: 0 !important;
  327. }
  328. .clickableIcon.hover > span,
  329. .clickableIcon:hover > span {
  330. font-size: inherit;
  331. letter-spacing: 0px;
  332. opacity: 1;
  333. }
  334. }
  335. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  336. .clickableIcon.expandedOnPortrait i {
  337. margin: 0 !important;
  338. }
  339. .clickableIcon.expandedOnPortrait > span {
  340. font-size: inherit;
  341. letter-spacing: 0px;
  342. opacity: 1;
  343. }
  344. }
  345. button.icon {
  346. padding: 0.5rem;
  347. padding-left: 0.7rem;
  348. padding-right: 0.7rem;
  349. min-width: 1.8rem;
  350. text-align: center;
  351. font-size: 1.2rem;
  352. }
  353. button.icon i {
  354. margin: 0 !important;
  355. padding: 0 !important;
  356. display: inline-block;
  357. margin-right: -0.25rem !important;
  358. transition: margin 0.6s linear;
  359. }
  360. button.icon > span {
  361. opacity: 0;
  362. letter-spacing: -0.9rem;
  363. font-size: 0px;
  364. margin: 0;
  365. padding: 0;
  366. }
  367. @media only screen and (min-width : 1168px) {
  368. button.icon > span {
  369. transition: letter-spacing 0.8s linear, opacity 0.3s linear 0.6s, font-size 0.3s linear;
  370. }
  371. }
  372. @media only screen and (min-width : 1168px) {
  373. button.icon.hover i,
  374. button.icon:hover i {
  375. margin: 0 !important;
  376. }
  377. button.icon.hover > span,
  378. button.icon:hover > span {
  379. font-size: inherit;
  380. letter-spacing: 0px;
  381. opacity: 1;
  382. }
  383. }
  384. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  385. button.icon.expandedOnPortrait i {
  386. margin: 0 !important;
  387. }
  388. button.icon.expandedOnPortrait > span {
  389. font-size: inherit;
  390. letter-spacing: 0px;
  391. opacity: 1;
  392. }
  393. }
  394. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  395. button.responsiveIcon {
  396. padding: 0.5rem;
  397. padding-left: 0.7rem;
  398. padding-right: 0.7rem;
  399. min-width: 1.8rem;
  400. text-align: center;
  401. font-size: 1.2rem;
  402. margin: 0.2rem;
  403. }
  404. button.responsiveIcon i {
  405. margin: 0 !important;
  406. padding: 0 !important;
  407. display: inline-block;
  408. margin-right: -0.25rem !important;
  409. }
  410. button.responsiveIcon > span {
  411. opacity: 0;
  412. letter-spacing: -0.9rem;
  413. font-size: 0px;
  414. margin: 0;
  415. padding: 0;
  416. }
  417. button.responsiveIcon.expandedOnPortrait i {
  418. margin: 0 !important;
  419. }
  420. button.responsiveIcon.expandedOnPortrait > span {
  421. font-size: inherit;
  422. letter-spacing: 0px;
  423. opacity: 1;
  424. }
  425. }
  426. nav {
  427. display: flex;
  428. flex-wrap: wrap;
  429. flex-direction: column;
  430. }
  431. nav ul {
  432. display: flex;
  433. flex-direction: column;
  434. }
  435. a,
  436. a:hover,
  437. a:visited {
  438. color: inherit;
  439. text-decoration: inherit;
  440. color: var(--highlightFg);
  441. }
  442. a:hover {
  443. text-decoration: underline;
  444. }
  445. h1 a,
  446. h2 a,
  447. h1 a:visited,
  448. h2 a:visited,
  449. h1 a:hover,
  450. h2 a:hover,
  451. header a,
  452. header a:hover,
  453. header a:visited {
  454. color: inherit;
  455. }
  456. h1 {
  457. position: relative;
  458. }
  459. h1 {
  460. font-size: 2rem;
  461. }
  462. h2 {
  463. font-size: 1.5rem;
  464. }
  465. h3 {
  466. font-size: 1.2rem;
  467. }
  468. h2,
  469. h1,
  470. h3 {
  471. margin: 0;
  472. padding: 0;
  473. margin-bottom: 1rem;
  474. color: var(--highlightFg);
  475. }
  476. h2,
  477. h3 {
  478. margin-top: 0.1rem;
  479. margin-bottom: 0.1rem;
  480. }
  481. .toggleNavOnPortraitButton {
  482. font-size: 2rem;
  483. display: none;
  484. color: var(--highlightFg);
  485. cursor: pointer;
  486. }
  487. .toggleNavOnPortraitButton:hover {
  488. filter: brightness(130%);
  489. }
  490. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  491. .toggleNavOnPortraitButton {
  492. display: block;
  493. }
  494. }
  495. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  496. .useless {
  497. display: none;
  498. }
  499. }
  500. .toggleable.toggledOff {
  501. display: none !important;
  502. }
  503. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  504. .toggleable.toggledOffPortrait {
  505. display: none !important;
  506. }
  507. }
  508. * > i.fas:first-child,
  509. * > i.fab:first-child {
  510. padding-right: 0.2rem;
  511. }
  512. .genericCl {
  513. background: var(--buttonColor);
  514. color: var(--buttonColorFg);
  515. font-weight: bold;
  516. }
  517. .highlightedCl {
  518. background: var(--buttonColor);
  519. color: var(--buttonColorFg);
  520. font-weight: bold;
  521. background: var(--highlightedColor) !important;
  522. color: var(--highlightedColorFg) !important;
  523. }
  524. .highlightedCl i {
  525. color: var(--highlightedColorFg) !important;
  526. }
  527. .donateCl {
  528. background: var(--buttonColor);
  529. color: var(--buttonColorFg);
  530. font-weight: bold;
  531. background: var(--donateColor) !important;
  532. color: var(--donateColorFg) !important;
  533. }
  534. .donateCl i {
  535. color: var(--donateColorFg) !important;
  536. }
  537. .docsCl {
  538. background: var(--buttonColor);
  539. color: var(--buttonColorFg);
  540. font-weight: bold;
  541. background: var(--docsColor) !important;
  542. color: var(--docsColorFg) !important;
  543. }
  544. .docsCl i {
  545. color: var(--docsColorFg) !important;
  546. }
  547. .bugsCl {
  548. background: var(--buttonColor);
  549. color: var(--buttonColorFg);
  550. font-weight: bold;
  551. background: var(--bugsColor) !important;
  552. color: var(--bugsColorFg) !important;
  553. }
  554. .bugsCl i {
  555. color: var(--bugsColorFg) !important;
  556. }
  557. .codeCl {
  558. background: var(--buttonColor);
  559. color: var(--buttonColorFg);
  560. font-weight: bold;
  561. background: var(--codeColor) !important;
  562. color: var(--codeColorFg) !important;
  563. }
  564. .codeCl i {
  565. color: var(--codeColorFg) !important;
  566. }
  567. .discordCl {
  568. background: var(--buttonColor);
  569. color: var(--buttonColorFg);
  570. font-weight: bold;
  571. background: var(--discordColor) !important;
  572. color: var(--discordColorFg) !important;
  573. }
  574. .discordCl i {
  575. color: var(--discordColorFg) !important;
  576. }
  577. .storeCl {
  578. background: var(--buttonColor);
  579. color: var(--buttonColorFg);
  580. font-weight: bold;
  581. background: var(--storeColor) !important;
  582. color: var(--storeColorFg) !important;
  583. }
  584. .storeCl i {
  585. color: var(--storeColorFg) !important;
  586. }
  587. .twitterCl {
  588. background: var(--buttonColor);
  589. color: var(--buttonColorFg);
  590. font-weight: bold;
  591. background: var(--twitterColor) !important;
  592. color: var(--twitterColorFg) !important;
  593. }
  594. .twitterCl i {
  595. color: var(--twitterColorFg) !important;
  596. }
  597. .youtubeCl {
  598. background: var(--buttonColor);
  599. color: var(--buttonColorFg);
  600. font-weight: bold;
  601. background: var(--youtubeColor) !important;
  602. color: var(--youtubeColorFg) !important;
  603. }
  604. .youtubeCl i {
  605. color: var(--youtubeColorFg) !important;
  606. }
  607. .itchCl {
  608. background: var(--buttonColor);
  609. color: var(--buttonColorFg);
  610. font-weight: bold;
  611. background: var(--itchColor) !important;
  612. color: var(--itchColorFg) !important;
  613. }
  614. .itchCl i {
  615. color: var(--itchColorFg) !important;
  616. }
  617. figure.githubUser {
  618. display: flex;
  619. flex-direction: row;
  620. text-align: left;
  621. align-items: center;
  622. padding: 0;
  623. margin: 2rem;
  624. }
  625. figure.githubUser > * {
  626. padding: 0;
  627. margin: 0;
  628. }
  629. figure.githubUser > img {
  630. box-shadow: 0 0 0.2rem 0.01rem var(--highlightFg);
  631. border-radius: 8rem;
  632. max-height: 6rem;
  633. }
  634. figure.githubUser > figcaption {
  635. margin-left: 1rem;
  636. display: flex;
  637. flex-direction: column;
  638. }
  639. figure.githubUser > figcaption > h2 {
  640. padding: 0;
  641. margin: 0;
  642. }
  643. figure.githubUser.inline {
  644. margin: 0;
  645. margin-top: 2rem;
  646. margin-bottom: 0.5rem;
  647. padding-bottom: 1rem;
  648. border-bottom: 0.1rem solid var(--highlightFg);
  649. }
  650. figure.githubUser.inline > img {
  651. max-height: 3rem;
  652. }
  653. figure.githubUser.inline h2 {
  654. font-size: 1.2rem;
  655. }
  656. figure.githubUser.inline .ghbio {
  657. display: none !important;
  658. }
  659. body {
  660. text-align: left;
  661. overflow-x: hidden;
  662. font-family: var(--fontFamily);
  663. background: var(--background) !important;
  664. color: var(--foreground);
  665. min-height: 100%;
  666. width: 100%;
  667. position: relative;
  668. margin: 0;
  669. padding: 0;
  670. display: flex;
  671. flex-direction: column;
  672. align-items: center;
  673. font-size: 0.8706rem;
  674. word-wrap: break-word;
  675. white-space: normal;
  676. text-shadow: 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor), 0 0 0.1rem var(--textShadowColor);
  677. }
  678. body > footer {
  679. margin-top: 4rem;
  680. text-align: center;
  681. font-size: 0.8rem;
  682. color: var(--foreground2);
  683. margin-bottom: 1rem;
  684. }
  685. body > footer a,
  686. body > footer a:hover,
  687. body > footer a:visited {
  688. color: inherit;
  689. text-decoration: underline;
  690. }
  691. body > main {
  692. font-size: 1rem;
  693. width: 100%;
  694. }
  695. body > main > h1 {
  696. text-align: center;
  697. margin: auto;
  698. max-width: 600px;
  699. padding-top: 1rem;
  700. padding-bottom: 1rem;
  701. margin-top: 0.5rem;
  702. }
  703. body > main > h1:before,
  704. body > main > h1:after {
  705. content: "\f107";
  706. font-family: 'font awesome 5 free';
  707. font-weight: 700;
  708. padding: 0.5rem;
  709. }
  710. body > header {
  711. position: relative;
  712. z-index: 99;
  713. display: flex;
  714. flex-direction: column;
  715. align-items: center;
  716. background-color: var(--background4);
  717. box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.25);
  718. width: 100%;
  719. margin: 0;
  720. padding: 0;
  721. }
  722. body > header #siteTitle {
  723. color: var(--highlightFg);
  724. display: flex;
  725. flex-direction: row;
  726. text-align: center;
  727. /* justify-items: center;
  728. justify-content: center; */
  729. align-items: center;
  730. margin: 0;
  731. padding: 0;
  732. padding-top: 0.4rem;
  733. padding-bottom: 0.5rem;
  734. }
  735. body > header .smaller {
  736. flex-direction: column;
  737. }
  738. body > header .smaller #logo {
  739. display: flex;
  740. flex-direction: row;
  741. width: 100%;
  742. align-items: center;
  743. }
  744. body > header .smaller #logo .toggleNavOnPortraitButton {
  745. margin-right: 1rem;
  746. margin-left: auto;
  747. }
  748. body > header .smaller > #siteTitle {
  749. flex-direction: column !important;
  750. text-align: left !important;
  751. align-items: flex-start !important;
  752. }
  753. body > header .smaller > #siteTitle > #contributionsBanner {
  754. text-align: left!important;
  755. margin-left: 0;
  756. padding-left: 0.6rem;
  757. }
  758. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  759. body > header {
  760. flex-direction: column;
  761. }
  762. body > header #logo {
  763. display: flex;
  764. flex-direction: row;
  765. width: 100%;
  766. align-items: center;
  767. }
  768. body > header #logo .toggleNavOnPortraitButton {
  769. margin-right: 1rem;
  770. margin-left: auto;
  771. }
  772. body > header > #siteTitle {
  773. flex-direction: column !important;
  774. text-align: left !important;
  775. align-items: flex-start !important;
  776. }
  777. body > header > #siteTitle > #contributionsBanner {
  778. text-align: left!important;
  779. margin-left: 0;
  780. padding-left: 0.6rem;
  781. }
  782. }
  783. body > header.floating {
  784. position: fixed;
  785. top: 0;
  786. left: 0;
  787. flex-direction: column;
  788. }
  789. body > header.floating #logo {
  790. display: flex;
  791. flex-direction: row;
  792. width: 100%;
  793. align-items: center;
  794. }
  795. body > header.floating #logo .toggleNavOnPortraitButton {
  796. margin-right: 1rem;
  797. margin-left: auto;
  798. }
  799. body > header.floating > #siteTitle {
  800. flex-direction: column !important;
  801. text-align: left !important;
  802. align-items: flex-start !important;
  803. }
  804. body > header.floating > #siteTitle > #contributionsBanner {
  805. text-align: left!important;
  806. margin-left: 0;
  807. padding-left: 0.6rem;
  808. }
  809. body > header.floating #contributionsBanner {
  810. display: none;
  811. }
  812. body > header.floating .toggleNavOnPortraitButton {
  813. display: block;
  814. }
  815. .more {
  816. text-align: right;
  817. display: block;
  818. }
  819. .cover {
  820. width: 100%;
  821. height: 100%;
  822. background-color: rgba(0, 0, 0, 0.45);
  823. background-position: center;
  824. background-size: cover;
  825. position: absolute;
  826. top: 0;
  827. left: 0;
  828. z-index: -1;
  829. object-fit: cover;
  830. pointer-events: none;
  831. box-shadow: 0 0 0.3rem 0.04rem var(--background4);
  832. }
  833. .cover.gallery {
  834. background-size: contain;
  835. background-repeat: no-repeat;
  836. pointer-events: auto;
  837. object-fit: contain;
  838. z-index: 0;
  839. }
  840. .cover.blur {
  841. filter: blur(100px);
  842. margin-top: 40vh;
  843. }
  844. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  845. .cover.blur {
  846. display: none;
  847. }
  848. }
  849. .responsiveWidth {
  850. max-width: 1400px;
  851. width: 99vw;
  852. margin-left: auto;
  853. margin-right: auto;
  854. }
  855. #backerMessage {
  856. color: var(--foreground2);
  857. }
  858. #backerMessages {
  859. color: var(--foreground3);
  860. text-align: center;
  861. width: 100%;
  862. }
  863. #contributionsBanner {
  864. text-align: left ;
  865. margin-left: auto;
  866. }
  867. #contributionsBanner > div {
  868. margin-top: 0.4rem;
  869. }
  870. .list {
  871. display: flex;
  872. flex-wrap: wrap;
  873. justify-content: center;
  874. }
  875. .list > article p {
  876. display: inline;
  877. }
  878. .list.hlist {
  879. flex-direction: row;
  880. }
  881. .list.hlist > article {
  882. flex-basis: 30%;
  883. }
  884. .list.vlist {
  885. display: flex;
  886. flex-direction: column;
  887. }
  888. .collapsedList article {
  889. border-radius: 0;
  890. margin-top: 0;
  891. margin-bottom: 0;
  892. flex-basis: 100%;
  893. }
  894. .collapsedList article h1 {
  895. border-radius: 0;
  896. }
  897. .collapsedList article:last-child {
  898. margin-bottom: 1rem;
  899. border-bottom-left-radius: 0.3rem;
  900. border-bottom-right-radius: 0.3rem;
  901. }
  902. .collapsedList article:first-child {
  903. margin-top: 1rem;
  904. border-top-left-radius: 0.3rem;
  905. border-top-right-radius: 0.3rem;
  906. }
  907. .collapsedList article:first-child h1 {
  908. border-top-left-radius: 0.3rem;
  909. border-top-right-radius: 0.3rem;
  910. }
  911. main > section {
  912. text-align: center;
  913. margin: auto;
  914. }
  915. section {
  916. display: block;
  917. position: relative;
  918. text-align: left;
  919. margin-bottom: 1rem;
  920. margin-top: 1rem;
  921. }
  922. section > article {
  923. box-shadow: 0 0 0.8rem 0.3rem var(--boxShadowColor);
  924. text-align: left;
  925. background: var(--background2);
  926. border-radius: 0.3rem;
  927. margin: 1rem;
  928. display: flex;
  929. flex-direction: column;
  930. text-shadow: none;
  931. }
  932. section > article button {
  933. background-color: var(--background4);
  934. }
  935. section > article .content a,
  936. section > article .content a:hover,
  937. section > article .content a:visited {
  938. color: var(--highlightFg2);
  939. }
  940. section > article .content nav a,
  941. section > article .content nav a:visited,
  942. section > article .content nav a:hover {
  943. color: inherit;
  944. }
  945. section > article h2,
  946. section > article h3,
  947. section > article h1 {
  948. display: block;
  949. color: var(--foreground2);
  950. padding-top: 2rem;
  951. padding-bottom: 0.4rem;
  952. }
  953. section > article .more {
  954. text-align: left;
  955. }
  956. section > article hr {
  957. margin-top: 1rem!important;
  958. margin-bottom: 1rem!important;
  959. }
  960. section > article > h1:first-of-type {
  961. border-radius: 0.3rem;
  962. background: var(--background4);
  963. color: var(--foreground2);
  964. margin: 0;
  965. padding: 0;
  966. display: block;
  967. padding: 0.7rem;
  968. padding-left: 0.5rem;
  969. padding-right: 0.1rem;
  970. font-size: 1.3rem;
  971. width: 100%;
  972. border-bottom-left-radius: 0;
  973. border-bottom-right-radius: 0;
  974. }
  975. section > article > div.content {
  976. line-height: 130%;
  977. padding: 1rem;
  978. flex-direction: row;
  979. align-items: stretch;
  980. min-width: 0;
  981. width: 100%;
  982. /* @media @portrait {*/
  983. display: flex;
  984. flex-direction: column;
  985. /* }*/
  986. }
  987. section > article > div.content a {
  988. word-break: break-all;
  989. word-break: break-word;
  990. }
  991. section > article > div.content li {
  992. list-style: none;
  993. }
  994. section > article > div.content li:before {
  995. content: "\f0da";
  996. font-family: 'Font Awesome 5 Free';
  997. font-style: normal;
  998. font-weight: 900;
  999. font-display: auto;
  1000. margin-left: -0.8rem;
  1001. padding-right: 0.5rem;
  1002. }
  1003. section > article > div.content p:first-of-type {
  1004. margin-top: 0 !important;
  1005. padding-top: 0 !important;
  1006. }
  1007. section > article > div.content > span {
  1008. display: block;
  1009. overflow-wrap: break-word;
  1010. flex-grow: 1;
  1011. width: 100%;
  1012. }
  1013. section > article > div.content > span ul {
  1014. margin-left: 1rem;
  1015. }
  1016. section > article > div.content > nav {
  1017. flex-grow: 0;
  1018. margin-left: 2rem;
  1019. flex-direction: column;
  1020. align-items: baseline;
  1021. flex-wrap: wrap;
  1022. color: var(--foreground2);
  1023. /* @media @portrait {*/
  1024. /* }*/
  1025. /* @media @portrait {*/
  1026. margin-left: 0;
  1027. flex-direction: row;
  1028. /*}*/
  1029. }
  1030. section > article > div.content > nav * {
  1031. color: var(--foreground2);
  1032. }
  1033. section > article > div.content > nav > ul {
  1034. width: 100%;
  1035. }
  1036. section > article > div.content > nav > ul li {
  1037. width: 100%;
  1038. background: none;
  1039. border: none !important;
  1040. margin: 0.1rem;
  1041. margin-left: 0rem;
  1042. font-size: 0.8rem;
  1043. box-shadow: none;
  1044. }
  1045. section > article > div.content > nav > ul li > * {
  1046. margin-left: 1rem;
  1047. }
  1048. section > article > div.content > nav > ul li button {
  1049. width: 100%;
  1050. margin: 0;
  1051. margin: 0.4rem;
  1052. box-shadow: 0 0 0.8rem 0 var(--boxShadowColor);
  1053. }
  1054. section > article > div.content > nav ul li {
  1055. margin: 0rem;
  1056. padding: 0;
  1057. width: auto;
  1058. }
  1059. section > article > div.content > nav > ul {
  1060. margin-right: 0.4rem;
  1061. width: auto;
  1062. }
  1063. section.list > article > div.content {
  1064. display: flex;
  1065. flex-direction: column;
  1066. }
  1067. section.list > article > div.content nav {
  1068. flex-direction: row;
  1069. }
  1070. section.list > article > div.content nav .share {
  1071. display: none !important;
  1072. }
  1073. section.list > article > div.content ul {
  1074. width: auto;
  1075. }
  1076. section.list > article > div.content ul li {
  1077. width: auto;
  1078. }
  1079. section.list > article > div.content nav,
  1080. section.list > article > div.content nav ul li {
  1081. margin: 0rem;
  1082. padding: 0;
  1083. }
  1084. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  1085. section.hlist.responsive article {
  1086. border-radius: 0;
  1087. margin-top: 0;
  1088. margin-bottom: 0;
  1089. flex-basis: 100%;
  1090. }
  1091. section.hlist.responsive article h1 {
  1092. border-radius: 0;
  1093. }
  1094. section.hlist.responsive article:last-child {
  1095. margin-bottom: 1rem;
  1096. border-bottom-left-radius: 0.3rem;
  1097. border-bottom-right-radius: 0.3rem;
  1098. }
  1099. section.hlist.responsive article:first-child {
  1100. margin-top: 1rem;
  1101. border-top-left-radius: 0.3rem;
  1102. border-top-right-radius: 0.3rem;
  1103. }
  1104. section.hlist.responsive article:first-child h1 {
  1105. border-top-left-radius: 0.3rem;
  1106. border-top-right-radius: 0.3rem;
  1107. }
  1108. }
  1109. section#contribute article {
  1110. border-radius: 0;
  1111. margin-top: 0;
  1112. margin-bottom: 0;
  1113. flex-basis: 100%;
  1114. }
  1115. section#contribute article h1 {
  1116. border-radius: 0;
  1117. }
  1118. section#contribute article:last-child {
  1119. margin-bottom: 1rem;
  1120. border-bottom-left-radius: 0.3rem;
  1121. border-bottom-right-radius: 0.3rem;
  1122. }
  1123. section#contribute article:first-child {
  1124. margin-top: 1rem;
  1125. border-top-left-radius: 0.3rem;
  1126. border-top-right-radius: 0.3rem;
  1127. }
  1128. section#contribute article:first-child h1 {
  1129. border-top-left-radius: 0.3rem;
  1130. border-top-right-radius: 0.3rem;
  1131. }
  1132. button#startbtn {
  1133. font-size: 1.6rem;
  1134. }
  1135. button#featuresbtn {
  1136. font-size: 1.2rem;
  1137. }
  1138. section#showcase {
  1139. text-align: center;
  1140. width: 100%;
  1141. margin-top: 0;
  1142. margin-bottom: 0;
  1143. color: var(--foreground3);
  1144. padding: 0;
  1145. display: flex;
  1146. position: relative;
  1147. flex-direction: column;
  1148. min-height: 40vh;
  1149. background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000000' fill-opacity='0.42' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E");
  1150. text-shadow: 0 0 0.2rem var(--textShadowColor), 0 0 0.2rem var(--textShadowColor), 0 0 0.2rem var(--textShadowColor), 0 0 0.4rem var(--textShadowColor), 0 0 0.8rem var(--textShadowColor), 0 0 0.8rem var(--textShadowColor), 0 0 1.6rem var(--textShadowColor), 0 0 1.6rem var(--textShadowColor), 0 0 0.1rem var(--foreground), 0 0 0.1rem var(--foreground), 0 0 0.1rem var(--foreground), 0 0 0.1rem var(--foreground);
  1151. }
  1152. section#showcase.gallery {
  1153. background-image: none;
  1154. }
  1155. section#showcase h1,
  1156. section#showcase h2,
  1157. section#showcase h3 {
  1158. color: var(--highlightFg);
  1159. }
  1160. section#showcase #playButton {
  1161. position: absolute;
  1162. top: 0;
  1163. left: 0;
  1164. pointer-events: none;
  1165. width: 100%;
  1166. height: 100%;
  1167. z-index: 90;
  1168. align-items: center;
  1169. font-size: 4rem;
  1170. display: none;
  1171. justify-content: center;
  1172. }
  1173. section#showcase #gameDescription {
  1174. text-align: right !important;
  1175. width: 50%;
  1176. font-size: 0.8rem;
  1177. margin-top: auto;
  1178. margin-right: 0 !important;
  1179. margin-left: auto;
  1180. height: auto;
  1181. display: block;
  1182. }
  1183. section#showcase #gameDescription h2 {
  1184. text-align: left !important;
  1185. font-size: 0.9rem;
  1186. }
  1187. section#showcase #engineDescription {
  1188. font-size: 1.3rem;
  1189. text-align: center;
  1190. width: 100%;
  1191. display: block;
  1192. }
  1193. section#showcase #showCasePrev,
  1194. section#showcase #showCaseNext {
  1195. display: block;
  1196. cursor: pointer;
  1197. position: absolute;
  1198. color: var(--highlightFg);
  1199. }
  1200. section#showcase.gallery {
  1201. min-height: 30vmax;
  1202. }
  1203. section#showcase #showCasePrev {
  1204. font-size: 4rem;
  1205. top: 50%;
  1206. margin-top: -2rem;
  1207. left: 1rem;
  1208. }
  1209. section#showcase #showCaseNext {
  1210. font-size: 4rem;
  1211. margin-top: -2rem;
  1212. top: 50%;
  1213. right: 1rem;
  1214. }
  1215. section#showcase > div {
  1216. padding: 1rem;
  1217. background: none;
  1218. box-shadow: none;
  1219. width: 100%;
  1220. display: block;
  1221. background-position: center;
  1222. background-size: cover;
  1223. margin-top: 0;
  1224. margin-bottom: 0;
  1225. }
  1226. @media only screen and (max-width:1167px), only screen and (orientation:portrait) {
  1227. section#showcase #gameDescription h2 {
  1228. text-align: center !important;
  1229. }
  1230. section#showcase #gameDescription {
  1231. text-align: center !important;
  1232. width: 100%;
  1233. }
  1234. section#showcase #engineDescription {
  1235. text-align: center !important;
  1236. font-size: 1.1rem;
  1237. }
  1238. }
  1239. div#poweredBy {
  1240. display: flex;
  1241. align-items: center;
  1242. justify-content: center;
  1243. width: 100%;
  1244. padding: 3em;
  1245. text-align: right;
  1246. }
  1247. div#poweredBy img {
  1248. margin: 1em;
  1249. max-height: 4em;
  1250. }
  1251. pre,
  1252. code,
  1253. pre *,
  1254. code *,
  1255. p,
  1256. p *,
  1257. article .content * {
  1258. pointer-events: all!important;
  1259. -moz-pointer-events: all!important;
  1260. -khtml-pointer-events: all!important;
  1261. -webkit-pointer-events: all!important;
  1262. -ms-pointer-events: all!important;
  1263. user-select: text!important;
  1264. -moz-user-select: text!important;
  1265. -khtml-user-select: text!important;
  1266. -webkit-user-select: text!important;
  1267. -ms-user-select: text!important;
  1268. }