Mobile-responsive personal website, generated using Hugo. https://kevin-mok.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

643 lines
13 KiB

  1. /* Base16 Eighties Colorscheme by Chris Kempson (http://chriskempson.com) */
  2. // base colors {{{ //
  3. $base04: #a09f93;
  4. $base05: #d3d0c8;
  5. $base-red: #f2777a;
  6. $base-orange: #f99157;
  7. $base-yellow: #ffcc66;
  8. $base-green: #99cc99;
  9. $base-sky-blue: #66cccc;
  10. $base-blue: #6699cc;
  11. $base-violet: #cc99cc;
  12. $base-dark-orange: #d27b53;
  13. /* .base00 { color: #2d2d2d; }
  14. .base01 { color: #393939; }
  15. .base02 { color: #515151; }
  16. .base03 { color: #747369; }
  17. .base04 { color: #a09f93; }
  18. .base06 { color: #e8e6df; }
  19. .base07 { color: #f2f0ec; } */
  20. .base08 { color: $base-red; }
  21. .base09 { color: $base-orange; }
  22. .base0a { color: $base-yellow; }
  23. .base0b { color: $base-green; }
  24. .base0c { color: $base-sky-blue; }
  25. .base0d { color: $base-blue; }
  26. .base0e { color: $base-violet; }
  27. .base0f { color: $base-dark-orange; }
  28. // }}} base colors //
  29. // mixins {{{ //
  30. $max-page-width: 52em;
  31. $phone-width: 600px;
  32. @mixin side-padding-rem($n) {
  33. padding-left: $n * 1rem;
  34. padding-right: $n * 1rem;
  35. }
  36. @mixin vert-padding-rem($n) {
  37. padding-top: $n * 1rem;
  38. padding-bottom: $n * 1rem;
  39. }
  40. @mixin auto-center() {
  41. margin-left: auto;
  42. margin-right: auto;
  43. }
  44. @mixin article-body() {
  45. /* background-color: #e6e6fa; */
  46. background-color: #cbbeb5;
  47. color: #2d2d2d;
  48. @include side-padding-rem(8);
  49. @include vert-padding-rem(1);
  50. /* min-height: 50%; */
  51. /* min-height: 30em; */
  52. @media (max-width: $max-page-width) {
  53. @include side-padding-rem(2);
  54. }
  55. }
  56. @mixin a-color($color) {
  57. a {
  58. color: $color;
  59. &:visited {
  60. color: $color;
  61. }
  62. &:active {
  63. color: $color;
  64. }
  65. }
  66. }
  67. // }}} mixins //
  68. // general elements {{{ //
  69. body {
  70. margin: 0;
  71. background-color: #2d2d2d;
  72. color: #f2f0ec;
  73. line-height: 1.5;
  74. font-size: 100%;
  75. /* font-family: 'Source Code Pro', monospace; */
  76. font-family: 'Hack', monospace;
  77. display: flex;
  78. flex-direction: column;
  79. min-height: 100vh;
  80. @include a-color($base-sky-blue);
  81. }
  82. .container {
  83. max-width: $max-page-width;
  84. margin-left: auto;
  85. margin-right: auto;
  86. flex: 1;
  87. .copyright {
  88. @include a-color(#747369);
  89. }
  90. @media (max-width: $max-page-width) {
  91. width: 100%;
  92. }
  93. }
  94. div {
  95. .right {
  96. float:right;
  97. }
  98. .clearfix {
  99. overflow: auto;
  100. }
  101. }
  102. article {
  103. .single {
  104. section {
  105. @include article-body();
  106. }
  107. }
  108. }
  109. .article-list {
  110. article {
  111. @include article-body();
  112. }
  113. }
  114. header {
  115. margin-top: 1.5rem;
  116. margin-bottom: 1rem;
  117. @media (max-width: $max-page-width) {
  118. margin-top: 0;
  119. @include side-padding-rem(2);
  120. }
  121. }
  122. footer {
  123. margin-top: 2rem;
  124. margin-bottom: 1rem;
  125. text-align: center;
  126. font-size: 0.9em;
  127. color: #747369;
  128. // bottom: 0;
  129. // position: absolute;
  130. // width: 100%;
  131. .container {
  132. background-color: #393939;
  133. max-width: 62em;
  134. @include auto-center();
  135. height: 1.8em;
  136. }
  137. @media (max-width: $max-page-width) {
  138. margin-top: 0;
  139. margin-bottom: 0;
  140. }
  141. }
  142. /* Typography */
  143. @for $i from 1 to 6 {
  144. h#{$i} {
  145. font-weight: bold;
  146. line-height: 1.25;
  147. margin-top: 1em;
  148. margin-bottom: .5em;
  149. }
  150. }
  151. p {
  152. margin-top: 0;
  153. margin-bottom: 1rem;
  154. }
  155. h1 { font-size: 2rem }
  156. h2 { font-size: 1.5rem }
  157. h3 { font-size: 1.25rem }
  158. h4 { font-size: 1rem }
  159. h5 { font-size: .875rem }
  160. h6 { font-size: .75rem }
  161. pre, code {
  162. font-family: inherit;
  163. font-size: inherit;
  164. }
  165. // }}} general elements //
  166. // header {{{ //
  167. header {
  168. a {
  169. .path .path:visited {
  170. color: #6699cc;
  171. }
  172. }
  173. span {
  174. caret {
  175. color: #f2f0ec;
  176. }
  177. }
  178. }
  179. // }}} header //
  180. // footer {{{ //
  181. footer {
  182. @include a-color(#747369);
  183. }
  184. // }}} footer //
  185. // 404 {{{ //
  186. .page-not-found {
  187. h1 {
  188. text-align: center;
  189. font-size: 5em;
  190. }
  191. h2 {
  192. text-align: center;
  193. font-size: 3em;
  194. color: $base04;
  195. margin-bottom: 4rem;
  196. }
  197. @media (max-width: $max-page-width) {
  198. h1 {
  199. font-size: 3em;
  200. }
  201. h2 {
  202. font-size: 2em;
  203. }
  204. }
  205. }
  206. // }}} 404 //
  207. // homepage {{{ //
  208. #homepage {
  209. #about {
  210. font-size: 1.25rem;
  211. h1 {
  212. margin-top: 1.25rem;
  213. font-size: 2rem;
  214. color: $base-yellow;
  215. text-align: center;
  216. // @media (max-width: $max-page-width) {
  217. // @include side-padding-rem(2);
  218. // }
  219. }
  220. .me-equation {
  221. margin-top: 3em;
  222. text-align: center;
  223. display: flex;
  224. justify-content: center; /* align horizontal */
  225. align-items: center; /* align vertical */
  226. img {
  227. width: 8em;
  228. border-radius: 2em;
  229. display: inline;
  230. &#gnu {
  231. background-color: $base04;
  232. // background-color: $base05;
  233. }
  234. }
  235. p {
  236. font-size: 4rem;
  237. display: inline;
  238. @include side-padding-rem(1);
  239. }
  240. @media (max-width: $phone-width) {
  241. margin-top: 2em;
  242. display: block;
  243. p {
  244. display: block;
  245. @include vert-padding-rem(0.1);
  246. margin-bottom: 0rem;
  247. }
  248. }
  249. }
  250. }
  251. @media (max-width: $max-page-width) {
  252. margin-bottom: 2rem;
  253. }
  254. }
  255. /* .homepage section.categories,
  256. .homepage section.tags {
  257. padding-left: 2rem;
  258. padding-right: 2rem;
  259. }
  260. .homepage .category,
  261. .homepage .category a,
  262. .homepage .tag,
  263. .homepage .tag a {
  264. color: #cc99cc;
  265. }
  266. .homepage .tag {
  267. margin-right: 2em;
  268. } */
  269. // }}} homepage //
  270. // TODO: converted up to here
  271. // hero {{{ //
  272. h1.site-title {
  273. text-align: center;
  274. /* font-size: 3.5em; */
  275. font-size: 4.8em;
  276. // color: #66cccc;
  277. color: $base05;
  278. margin-top: 0.5em;
  279. margin-bottom: 0.2em;
  280. }
  281. @media (max-width: $max-page-width) {
  282. h1.site-title {
  283. font-size: 3em;
  284. }
  285. }
  286. .hero-logo img {
  287. width: 100%;
  288. }
  289. .nav-bar {
  290. margin-left: .5em;
  291. margin-bottom: 1em;
  292. }
  293. .hero-tagline{
  294. margin-top: .3em;
  295. font-size: .8rem;
  296. // font-style: italic;
  297. text-align: center;
  298. .icon {
  299. width: 1.25rem;
  300. }
  301. }
  302. // }}} hero //
  303. // article-list {{{ //
  304. .article-list h1.list-title {
  305. font-size: 3em;
  306. color: #ffcc66;
  307. }
  308. .article-list article {
  309. padding-top: 4rem;
  310. padding-bottom: 4rem;
  311. margin-bottom: 4rem;
  312. }
  313. .article-list article h2.headline,
  314. .article-list article h2.headline a {
  315. margin-top: 0;
  316. color: #6699cc;
  317. }
  318. .article-list article .meta {
  319. margin-bottom: 1rem;
  320. }
  321. .article-list article .meta .key {
  322. color: #747369;
  323. }
  324. .article-list article .meta .val,
  325. .article-list article .meta .val a {
  326. color: #cc99cc;
  327. }
  328. .article-list article section.summary a { color: #d27b53; }
  329. // }}} article-list //
  330. // article.single {{{ //
  331. article.single .meta {
  332. font-size: 0.9em;
  333. text-align: right;
  334. }
  335. article.single .meta .key {
  336. color: #747369;
  337. }
  338. article.single .meta .val, article.single .meta .val a {
  339. color: #cc99cc;
  340. }
  341. @media (max-width: $max-page-width) {
  342. article.single .meta {
  343. padding-left: 2rem;
  344. padding-right: 2rem;
  345. }
  346. }
  347. article.single h1.headline {
  348. margin-top: 0;
  349. font-size: 3em;
  350. color: #ffcc66;
  351. }
  352. @media (max-width: $max-page-width) {
  353. article.single h1.headline {
  354. padding-left: 2rem;
  355. padding-right: 2rem;
  356. }
  357. }
  358. article.single section.body {
  359. padding-top: 4rem;
  360. padding-bottom: 3rem;
  361. }
  362. @media (max-width: $max-page-width) {
  363. article.single section.body {
  364. padding-top: 2rem;
  365. padding-bottom: 1rem;
  366. }
  367. }
  368. /* Highlight Colors */
  369. article.single section.body h1 { color: #6699cc; }
  370. article.single section.body h2 { color: #99cc99; }
  371. article.single section.body h3 { color: #f99157; }
  372. article.single section.body h4 { color: #f2777a; }
  373. article.single section.body h5 { color: #515151; }
  374. article.single section.body h6 { color: #747369; }
  375. article.single section.body a,a:visited { color: #a06700; }
  376. /* Article Elements */
  377. article.single * {
  378. max-width: 100%;
  379. }
  380. article.single pre {
  381. margin-top: 0;
  382. margin-bottom: 1rem;
  383. overflow-x: scroll;
  384. border-radius: 3px;
  385. padding: 2rem;
  386. }
  387. article.single p code {
  388. padding: 0.2em 0.5em;
  389. border-radius: 3px;
  390. background: #747369;
  391. color: #f2f0ec;
  392. }
  393. article.single figure, article.single div.highlight {
  394. box-sizing: border-box;
  395. max-width: 52rem;
  396. width: 52rem;
  397. margin-left: -8rem;
  398. margin-right: -8rem;
  399. margin-bottom: 1rem;
  400. padding: 1em;
  401. background-color: #393939;
  402. }
  403. @media (max-width: $max-page-width) {
  404. article.single figure, article.single div.highlight {
  405. width: 100%;
  406. margin-left: 0;
  407. margin-right: 0;
  408. border-radius: 3px;
  409. }
  410. }
  411. article.single figure img {
  412. max-width: 100%;
  413. width: 100%;
  414. border-radius: 3px;
  415. }
  416. article.single figure figcaption {
  417. margin-top: 1rem;
  418. }
  419. article.single figure figcaption h4 {
  420. margin-top: 0;
  421. text-align: center;
  422. font-style: italic;
  423. font-weight: normal;
  424. color: #f2f0ec;
  425. }
  426. article.single table {
  427. border-collapse: separate;
  428. border-spacing: 0;
  429. max-width: 100%;
  430. width: 100%;
  431. }
  432. article.single th,
  433. article.single td {
  434. padding: .25rem 1rem;
  435. line-height: inherit;
  436. border-bottom-width: 1px;
  437. border-bottom-style: solid;
  438. border-bottom-color: $base04;
  439. }
  440. article.single tr:last-child td {
  441. border-bottom: 0;
  442. }
  443. article.single th {
  444. text-align: left;
  445. font-weight: bold;
  446. vertical-align: bottom;
  447. }
  448. article.single td { vertical-align: top }
  449. article.single blockquote {
  450. margin-left: 2rem;
  451. margin-right: 3rem;
  452. padding-left: 1rem;
  453. border-left: 5px solid #66cccc;
  454. }
  455. article.single hr {
  456. border: 0;
  457. border-bottom-style: solid;
  458. border-bottom-width: 1px;
  459. border-bottom-color: $base04;
  460. }
  461. // }}} article.single //
  462. // Pygments {{{ //
  463. pre { background: #2d2d2d; color: #f2f0ec }
  464. .highlight .hll { background-color: #515151 }
  465. .highlight .c { color: #747369 } /* Comment */
  466. .highlight .err { color: #f2777a } /* Error */
  467. .highlight .k { color: #cc99cc } /* Keyword */
  468. .highlight .l { color: #f99157 } /* Literal */
  469. .highlight .n { color: #f2f0ec } /* Name */
  470. .highlight .o { color: #66cccc } /* Operator */
  471. .highlight .p { color: #f2f0ec } /* Punctuation */
  472. .highlight .cm { color: #747369 } /* Comment.Multiline */
  473. .highlight .cp { color: #747369 } /* Comment.Preproc */
  474. .highlight .c1 { color: #747369 } /* Comment.Single */
  475. .highlight .cs { color: #747369 } /* Comment.Special */
  476. .highlight .gd { color: #f2777a } /* Generic.Deleted */
  477. .highlight .ge { font-style: italic } /* Generic.Emph */
  478. .highlight .gh { color: #f2f0ec; font-weight: bold } /* Generic.Heading */
  479. .highlight .gi { color: #99cc99 } /* Generic.Inserted */
  480. .highlight .gp { color: #747369; font-weight: bold } /* Generic.Prompt */
  481. .highlight .gs { font-weight: bold } /* Generic.Strong */
  482. .highlight .gu { color: #66cccc; font-weight: bold } /* Generic.Subheading */
  483. .highlight .kc { color: #cc99cc } /* Keyword.Constant */
  484. .highlight .kd { color: #cc99cc } /* Keyword.Declaration */
  485. .highlight .kn { color: #66cccc } /* Keyword.Namespace */
  486. .highlight .kp { color: #cc99cc } /* Keyword.Pseudo */
  487. .highlight .kr { color: #cc99cc } /* Keyword.Reserved */
  488. .highlight .kt { color: #ffcc66 } /* Keyword.Type */
  489. .highlight .ld { color: #99cc99 } /* Literal.Date */
  490. .highlight .m { color: #f99157 } /* Literal.Number */
  491. .highlight .s { color: #99cc99 } /* Literal.String */
  492. .highlight .na { color: #6699cc } /* Name.Attribute */
  493. .highlight .nb { color: #f2f0ec } /* Name.Builtin */
  494. .highlight .nc { color: #ffcc66 } /* Name.Class */
  495. .highlight .no { color: #f2777a } /* Name.Constant */
  496. .highlight .nd { color: #66cccc } /* Name.Decorator */
  497. .highlight .ni { color: #f2f0ec } /* Name.Entity */
  498. .highlight .ne { color: #f2777a } /* Name.Exception */
  499. .highlight .nf { color: #6699cc } /* Name.Function */
  500. .highlight .nl { color: #f2f0ec } /* Name.Label */
  501. .highlight .nn { color: #ffcc66 } /* Name.Namespace */
  502. .highlight .nx { color: #6699cc } /* Name.Other */
  503. .highlight .py { color: #f2f0ec } /* Name.Property */
  504. .highlight .nt { color: #66cccc } /* Name.Tag */
  505. .highlight .nv { color: #f2777a } /* Name.Variable */
  506. .highlight .ow { color: #66cccc } /* Operator.Word */
  507. .highlight .w { color: #f2f0ec } /* Text.Whitespace */
  508. .highlight .mf { color: #f99157 } /* Literal.Number.Float */
  509. .highlight .mh { color: #f99157 } /* Literal.Number.Hex */
  510. .highlight .mi { color: #f99157 } /* Literal.Number.Integer */
  511. .highlight .mo { color: #f99157 } /* Literal.Number.Oct */
  512. .highlight .sb { color: #99cc99 } /* Literal.String.Backtick */
  513. .highlight .sc { color: #f2f0ec } /* Literal.String.Char */
  514. .highlight .sd { color: #747369 } /* Literal.String.Doc */
  515. .highlight .s2 { color: #99cc99 } /* Literal.String.Double */
  516. .highlight .se { color: #f99157 } /* Literal.String.Escape */
  517. .highlight .sh { color: #99cc99 } /* Literal.String.Heredoc */
  518. .highlight .si { color: #f99157 } /* Literal.String.Interpol */
  519. .highlight .sx { color: #99cc99 } /* Literal.String.Other */
  520. .highlight .sr { color: #99cc99 } /* Literal.String.Regex */
  521. .highlight .s1 { color: #99cc99 } /* Literal.String.Single */
  522. .highlight .ss { color: #99cc99 } /* Literal.String.Symbol */
  523. .highlight .bp { color: #f2f0ec } /* Name.Builtin.Pseudo */
  524. .highlight .vc { color: #f2777a } /* Name.Variable.Class */
  525. .highlight .vg { color: #f2777a } /* Name.Variable.Global */
  526. .highlight .vi { color: #f2777a } /* Name.Variable.Instance */
  527. .highlight .il { color: #f99157 } /* Literal.Number.Integer.Long */
  528. /*# sourceMappingURL=style.css.map */
  529. // }}} Pygments //