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.

782 lines
16 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: 800px;
  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. @include vert-padding-rem(.1);
  136. }
  137. @media (max-width: $max-page-width) {
  138. margin-top: 0;
  139. margin-bottom: 0;
  140. }
  141. @media (max-width: $phone-width) {
  142. font-size: 0.8em;
  143. }
  144. }
  145. /* Typography */
  146. @for $i from 1 to 6 {
  147. h#{$i} {
  148. font-weight: bold;
  149. line-height: 1.25;
  150. margin-top: 1em;
  151. margin-bottom: .5em;
  152. }
  153. }
  154. p {
  155. margin-top: 0;
  156. margin-bottom: 1rem;
  157. }
  158. h1 { font-size: 2rem }
  159. h2 { font-size: 1.5rem }
  160. h3 { font-size: 1.25rem }
  161. h4 { font-size: 1rem }
  162. h5 { font-size: .875rem }
  163. h6 { font-size: .75rem }
  164. pre, code {
  165. font-family: inherit;
  166. font-size: inherit;
  167. }
  168. // }}} general elements //
  169. header {// {{{
  170. a {
  171. .path .path:visited {
  172. color: #6699cc;
  173. }
  174. }
  175. span {
  176. caret {
  177. color: #f2f0ec;
  178. }
  179. }
  180. }// }}}
  181. footer {// {{{
  182. @include a-color(#747369);
  183. }// }}}
  184. .page-not-found {// {{{
  185. h1 {
  186. text-align: center;
  187. font-size: 5em;
  188. }
  189. h2 {
  190. text-align: center;
  191. font-size: 3em;
  192. color: $base04;
  193. margin-bottom: 4rem;
  194. }
  195. @media (max-width: $max-page-width) {
  196. h1 {
  197. font-size: 3em;
  198. }
  199. h2 {
  200. font-size: 2em;
  201. }
  202. }
  203. }// }}}
  204. #homepage {// {{{
  205. #about {
  206. font-size: 1.25rem;
  207. h2 {
  208. margin-top: 1.25rem;
  209. font-size: 2rem;
  210. color: $base-yellow;
  211. text-align: center;
  212. // @media (max-width: $max-page-width) {
  213. // @include side-padding-rem(2);
  214. // }
  215. }
  216. .me-equation {
  217. margin-top: 3em;
  218. text-align: center;
  219. display: flex;
  220. // display: grid;
  221. // grid-template-columns: repeat(3, 2fr 1fr) 2fr;
  222. justify-content: center; /* align horizontal */
  223. align-items: center; /* align vertical */
  224. .equation-part {
  225. // width: 33%;
  226. display: flex;
  227. flex: 1;
  228. justify-content: center; /* align horizontal */
  229. align-items: center; /* align vertical */
  230. a {
  231. text-decoration: none;
  232. width: 70%;
  233. }
  234. img {
  235. // width: 7em;
  236. width: 70%;
  237. // width: 15vw;
  238. // min-width: 25%;
  239. // height: 25%;
  240. height: 100%;
  241. // height: auto;
  242. // height: 20vw;
  243. // object-fit: contain;
  244. // flex-basis: 20%;
  245. // flex: 2 2 0;
  246. // border-radius: 1.5em;
  247. border-radius: 1.1em;
  248. display: inline;
  249. &#gnu {
  250. background-color: $base04;
  251. // background-color: $base05;
  252. }
  253. }
  254. p {
  255. // font-size: 3rem;
  256. font-size: 3vw;
  257. // width: 20%;
  258. // flex: 1;
  259. // display: inline;
  260. display: inline-block;
  261. @include side-padding-rem(0.2);
  262. }
  263. }
  264. // @media (max-width: 800px) {// {{{
  265. @media (max-width: $phone-width) {
  266. // flex-direction: column;
  267. flex-wrap: wrap;
  268. margin-top: 2em;
  269. justify-content: space-around; /* align horizontal */
  270. // height: 100vh;
  271. // height: 50vh;
  272. .equation-part {
  273. // min-width: 50vw;
  274. // display: inline-block;
  275. // min-width: 50%;
  276. min-width: 33%;
  277. // max-height: 25vh;
  278. // flex-direction: column;
  279. img {
  280. // display: block;
  281. // width: 50%;
  282. flex: 1.5;
  283. // flex: 1;
  284. // height: 50%;
  285. // max-height: 30%;
  286. // max-height: 25vh;
  287. &#hexatar {
  288. // max-width: 70%;
  289. max-width: 20%;
  290. // max-height: 15vh;
  291. // margin-top: 2rem;
  292. margin-top: 1.75rem;
  293. }
  294. }
  295. p {
  296. // font-size: 3rem;
  297. font-size: 6vw;
  298. // width: 20%;
  299. flex: 1;
  300. // @include side-padding-rem(0.2);
  301. }
  302. &#uoft-part {
  303. justify-content: flex-end;
  304. }
  305. }
  306. }
  307. // @media (max-width: $phone-width) {
  308. // margin-top: 2em;
  309. // display: block;
  310. // p {
  311. // display: block;
  312. // @include vert-padding-rem(0.1);
  313. // margin-bottom: 0rem;
  314. // }
  315. // }
  316. }
  317. @media (max-width: $phone-width) {
  318. // font-size: 1.1em;
  319. font-size: .9em;
  320. h1 {
  321. // font-size: 1.75rem;
  322. font-size: 1.4rem;
  323. }
  324. }// }}}
  325. }
  326. @media (max-width: $max-page-width) {
  327. margin-bottom: 2rem;
  328. }
  329. }
  330. /* .homepage section.categories,
  331. .homepage section.tags {
  332. padding-left: 2rem;
  333. padding-right: 2rem;
  334. }
  335. .homepage .category,
  336. .homepage .category a,
  337. .homepage .tag,
  338. .homepage .tag a {
  339. color: #cc99cc;
  340. }
  341. .homepage .tag {
  342. margin-right: 2em;
  343. } */// }}}
  344. #resume {
  345. a {
  346. text-decoration: none;
  347. &:hover {
  348. text-decoration: underline;
  349. }
  350. }
  351. h1 {
  352. color: $base-orange;
  353. }
  354. h2 {
  355. color: $base-yellow;
  356. display: inline;
  357. }
  358. p {
  359. &.project-date {
  360. float: right;
  361. }
  362. }
  363. }
  364. // TODO: converted up to here
  365. // hero {{{ //
  366. h1.site-title {// {{{
  367. text-align: center;
  368. /* font-size: 3.5em; */
  369. font-size: 4.8em;
  370. // color: #66cccc;
  371. color: $base05;
  372. margin-top: 1rem;
  373. margin-bottom: 0.5rem;
  374. @include a-color($base-sky-blue);
  375. a {
  376. text-decoration: none;
  377. }
  378. @media (max-width: $max-page-width) {
  379. font-size: 3em;
  380. }
  381. @media (max-width: $phone-width) {
  382. // font-size: 3em;
  383. // font-size: 2.5em;
  384. font-size: 2em;
  385. }
  386. }// }}}
  387. .hero-logo img {
  388. margin-top: 0.5rem;
  389. width: 100%;
  390. }
  391. .nav-bar {// {{{
  392. margin-left: .5em;
  393. // margin-bottom: 1em;
  394. // margin-top: .75em;
  395. @include vert-padding-rem(.5);
  396. .caret {
  397. color: #f2f0ec;
  398. margin-right: .75rem;
  399. }
  400. .nav-bar-links {
  401. display: inline;
  402. .nav-bar-link {
  403. padding-right: .5em;
  404. }
  405. }
  406. @media (max-width: $phone-width) {
  407. // font-size: .9em;
  408. font-size: .8em;
  409. }
  410. }// }}}
  411. .hero-tagline{// {{{
  412. margin-top: .3em;
  413. font-size: .8rem;
  414. // font-style: italic;
  415. text-align: center;
  416. .icon {
  417. width: 1.25rem;
  418. }
  419. }// }}}
  420. // }}} hero //
  421. // article-list {{{ //
  422. .article-list h1.list-title {
  423. font-size: 3em;
  424. color: #ffcc66;
  425. }
  426. .article-list article {
  427. padding-top: 4rem;
  428. padding-bottom: 4rem;
  429. margin-bottom: 4rem;
  430. }
  431. .article-list article h2.headline,
  432. .article-list article h2.headline a {
  433. margin-top: 0;
  434. color: #6699cc;
  435. }
  436. .article-list article .meta {
  437. margin-bottom: 1rem;
  438. }
  439. .article-list article .meta .key {
  440. color: #747369;
  441. }
  442. .article-list article .meta .val,
  443. .article-list article .meta .val a {
  444. color: #cc99cc;
  445. }
  446. .article-list article section.summary a { color: #d27b53; }
  447. // }}} article-list //
  448. // article.single {{{ //
  449. article.single {
  450. .meta {
  451. font-size: 0.9em;
  452. text-align: right;
  453. margin-top: .5rem;
  454. margin-bottom: .5rem;
  455. .key {
  456. color: #747369;
  457. }
  458. .val {
  459. color: #cc99cc;
  460. a {
  461. color: #cc99cc;
  462. }
  463. }
  464. }
  465. .body {
  466. padding-top: 1rem;
  467. padding-bottom: 3rem;
  468. }
  469. @media (max-width: $max-page-width) {
  470. .meta {
  471. padding-left: 2rem;
  472. padding-right: 2rem;
  473. }
  474. .body {
  475. padding-top: .5rem;
  476. padding-bottom: 1rem;
  477. }
  478. }
  479. }
  480. article.single h1.headline {
  481. margin-top: 0;
  482. font-size: 3em;
  483. color: #ffcc66;
  484. }
  485. @media (max-width: $max-page-width) {
  486. article.single h1.headline {
  487. padding-left: 2rem;
  488. padding-right: 2rem;
  489. }
  490. }
  491. /* Highlight Colors */
  492. article.single section.body h1 { color: #6699cc; }
  493. article.single section.body h2 { color: #99cc99; }
  494. article.single section.body h3 { color: #f99157; }
  495. article.single section.body h4 { color: #f2777a; }
  496. article.single section.body h5 { color: #515151; }
  497. article.single section.body h6 { color: #747369; }
  498. article.single section.body a,a:visited { color: #a06700; }
  499. /* Article Elements */
  500. article.single * {
  501. max-width: 100%;
  502. }
  503. article.single pre {
  504. margin-top: 0;
  505. margin-bottom: 1rem;
  506. // overflow-x: auto;
  507. border-radius: 3px;
  508. padding: 2rem;
  509. }
  510. article.single p code {
  511. padding: 0.2em 0.5em;
  512. border-radius: 3px;
  513. background: #747369;
  514. color: #f2f0ec;
  515. }
  516. article.single figure, article.single div.highlight {
  517. box-sizing: border-box;
  518. max-width: 52rem;
  519. width: 52rem;
  520. margin-bottom: 1rem;
  521. padding: 1em;
  522. background-color: #393939;
  523. }
  524. @media (max-width: $max-page-width) {
  525. article.single figure, article.single div.highlight {
  526. width: 100%;
  527. margin-left: 0;
  528. margin-right: 0;
  529. border-radius: 3px;
  530. }
  531. }
  532. article.single figure img {
  533. max-width: 100%;
  534. width: 100%;
  535. border-radius: 3px;
  536. }
  537. article.single figure figcaption {
  538. margin-top: 1rem;
  539. }
  540. article.single figure figcaption h4 {
  541. margin-top: 0;
  542. text-align: center;
  543. font-style: italic;
  544. font-weight: normal;
  545. color: #f2f0ec;
  546. }
  547. article.single table {
  548. border-collapse: separate;
  549. border-spacing: 0;
  550. max-width: 100%;
  551. width: 100%;
  552. }
  553. article.single th,
  554. article.single td {
  555. padding: .25rem 1rem;
  556. line-height: inherit;
  557. border-bottom-width: 1px;
  558. border-bottom-style: solid;
  559. border-bottom-color: $base04;
  560. }
  561. article.single tr:last-child td {
  562. border-bottom: 0;
  563. }
  564. article.single th {
  565. text-align: left;
  566. font-weight: bold;
  567. vertical-align: bottom;
  568. }
  569. article.single td { vertical-align: top }
  570. article.single blockquote {
  571. margin-left: 2rem;
  572. margin-right: 3rem;
  573. padding-left: 1rem;
  574. border-left: 5px solid #66cccc;
  575. }
  576. article.single hr {
  577. border: 0;
  578. border-bottom-style: solid;
  579. border-bottom-width: 1px;
  580. border-bottom-color: $base04;
  581. }
  582. // }}} article.single //
  583. // Pygments {{{ //
  584. pre { background: #2d2d2d; color: #f2f0ec }
  585. .highlight .hll { background-color: #515151 }
  586. .highlight .c { color: #747369 } /* Comment */
  587. .highlight .err { color: #f2777a } /* Error */
  588. .highlight .k { color: #cc99cc } /* Keyword */
  589. .highlight .l { color: #f99157 } /* Literal */
  590. .highlight .n { color: #f2f0ec } /* Name */
  591. .highlight .o { color: #66cccc } /* Operator */
  592. .highlight .p { color: #f2f0ec } /* Punctuation */
  593. .highlight .cm { color: #747369 } /* Comment.Multiline */
  594. .highlight .cp { color: #747369 } /* Comment.Preproc */
  595. .highlight .c1 { color: #747369 } /* Comment.Single */
  596. .highlight .cs { color: #747369 } /* Comment.Special */
  597. .highlight .gd { color: #f2777a } /* Generic.Deleted */
  598. .highlight .ge { font-style: italic } /* Generic.Emph */
  599. .highlight .gh { color: #f2f0ec; font-weight: bold } /* Generic.Heading */
  600. .highlight .gi { color: #99cc99 } /* Generic.Inserted */
  601. .highlight .gp { color: #747369; font-weight: bold } /* Generic.Prompt */
  602. .highlight .gs { font-weight: bold } /* Generic.Strong */
  603. .highlight .gu { color: #66cccc; font-weight: bold } /* Generic.Subheading */
  604. .highlight .kc { color: #cc99cc } /* Keyword.Constant */
  605. .highlight .kd { color: #cc99cc } /* Keyword.Declaration */
  606. .highlight .kn { color: #66cccc } /* Keyword.Namespace */
  607. .highlight .kp { color: #cc99cc } /* Keyword.Pseudo */
  608. .highlight .kr { color: #cc99cc } /* Keyword.Reserved */
  609. .highlight .kt { color: #ffcc66 } /* Keyword.Type */
  610. .highlight .ld { color: #99cc99 } /* Literal.Date */
  611. .highlight .m { color: #f99157 } /* Literal.Number */
  612. .highlight .s { color: #99cc99 } /* Literal.String */
  613. .highlight .na { color: #6699cc } /* Name.Attribute */
  614. .highlight .nb { color: #f2f0ec } /* Name.Builtin */
  615. .highlight .nc { color: #ffcc66 } /* Name.Class */
  616. .highlight .no { color: #f2777a } /* Name.Constant */
  617. .highlight .nd { color: #66cccc } /* Name.Decorator */
  618. .highlight .ni { color: #f2f0ec } /* Name.Entity */
  619. .highlight .ne { color: #f2777a } /* Name.Exception */
  620. .highlight .nf { color: #6699cc } /* Name.Function */
  621. .highlight .nl { color: #f2f0ec } /* Name.Label */
  622. .highlight .nn { color: #ffcc66 } /* Name.Namespace */
  623. .highlight .nx { color: #6699cc } /* Name.Other */
  624. .highlight .py { color: #f2f0ec } /* Name.Property */
  625. .highlight .nt { color: #66cccc } /* Name.Tag */
  626. .highlight .nv { color: #f2777a } /* Name.Variable */
  627. .highlight .ow { color: #66cccc } /* Operator.Word */
  628. .highlight .w { color: #f2f0ec } /* Text.Whitespace */
  629. .highlight .mf { color: #f99157 } /* Literal.Number.Float */
  630. .highlight .mh { color: #f99157 } /* Literal.Number.Hex */
  631. .highlight .mi { color: #f99157 } /* Literal.Number.Integer */
  632. .highlight .mo { color: #f99157 } /* Literal.Number.Oct */
  633. .highlight .sb { color: #99cc99 } /* Literal.String.Backtick */
  634. .highlight .sc { color: #f2f0ec } /* Literal.String.Char */
  635. .highlight .sd { color: #747369 } /* Literal.String.Doc */
  636. .highlight .s2 { color: #99cc99 } /* Literal.String.Double */
  637. .highlight .se { color: #f99157 } /* Literal.String.Escape */
  638. .highlight .sh { color: #99cc99 } /* Literal.String.Heredoc */
  639. .highlight .si { color: #f99157 } /* Literal.String.Interpol */
  640. .highlight .sx { color: #99cc99 } /* Literal.String.Other */
  641. .highlight .sr { color: #99cc99 } /* Literal.String.Regex */
  642. .highlight .s1 { color: #99cc99 } /* Literal.String.Single */
  643. .highlight .ss { color: #99cc99 } /* Literal.String.Symbol */
  644. .highlight .bp { color: #f2f0ec } /* Name.Builtin.Pseudo */
  645. .highlight .vc { color: #f2777a } /* Name.Variable.Class */
  646. .highlight .vg { color: #f2777a } /* Name.Variable.Global */
  647. .highlight .vi { color: #f2777a } /* Name.Variable.Instance */
  648. .highlight .il { color: #f99157 } /* Literal.Number.Integer.Long */
  649. /*# sourceMappingURL=style.css.map */
  650. // }}} Pygments //