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.

795 lines
16 KiB

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