style.less 29 KB

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