style.less 27 KB

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