/**
 *
 * @group Reset
 *
*/
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

:focus {
  outline: none; }

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/**
 *
 * @group Typography
 *
*/
body {
  font: 400 112.5% "harfang-pro", Georgia, serif;
  line-height: 1.6;
  color: #242424; }
  @media (min-width: 1000px) {
    body {
      font-size: 137.5%; } }

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 1rem;
  font-family: "ars-maquette-web", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 700;
  line-height: 1; }

a {
  font-family: "ars-maquette-web", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 700;
  color: inherit;
  cursor: pointer;
  text-decoration: none; }

em, i {
  font-family: "harfang-pro", Georgia, serif;
  font-style: italic; }

strong, b {
  font-weight: 700; }

p + p,
p + ul,
ul + p,
h2 + ul,
h3 + ul {
  margin-bottom: 2.5rem; }

h1 {
  margin-bottom: 1.5rem;
  font-size: 300%; }
  @media (min-width: 1000px) {
    h1 {
      font-size: 400%; } }

h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  font-size: 175%; }

h3 {
  text-transform: uppercase;
  letter-spacing: .15rem;
  font-size: 125%; }

h2 + h3 {
  margin-top: 1.5rem; }

.site__info {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  width: 15rem;
  padding: 2rem;
  background: #892eca;
  color: #fff;
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none; }
  @media (min-width: 1000px) {
    .site__info {
      width: 20rem; } }
  @media (max-width: 666px) {
    .site__info {
      position: relative;
      width: 100%; } }

.site__nav {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  visibility: visible; }

.site__nav::-webkit-scrollbar {
  width: 6px; }

.site__nav::-webkit-scrollbar-track {
  background-color: transparent; }

.site__nav::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.4); }

.site__nav ul {
  margin: 0;
  padding: 0 10px 0 0;
  font-size: 1rem;
  list-style: none; }
  .site__nav ul li:not(:last-of-type) {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: solid 1px rgba(255, 255, 255, 0.15); }
  .site__nav ul a {
    display: block;
    font-weight: 400; }
    .site__nav ul a:hover {
      color: #a1f0df; }

.site__content,
.site__footer {
  margin-left: 18rem;
  padding-right: 3rem; }
  @media (min-width: 1000px) {
    .site__content,
    .site__footer {
      margin-left: 25rem; } }
  @media (max-width: 666px) {
    .site__content,
    .site__footer {
      margin-left: 0;
      padding: 2rem; } }
  .site__content h1,
  .site__footer h1 {
    max-width: 60rem; }
  .site__content ul,
  .site__footer ul {
    max-width: 44rem; }

.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 10px;
  line-height: 1; }
  .back-to-top a {
    padding: 5px 10px;
    font-size: 200%;
    font-weight: 700;
    text-decoration: none;
    color: #a1f0df; }
    .back-to-top a:hover {
      color: #892eca; }

.site__header {
  padding: 3rem;
  padding-left: 18rem;
  font-family: "ars-maquette-web", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  background: #a1f0df;
  color: #892eca; }
  @media (min-width: 1000px) {
    .site__header {
      margin-bottom: 3rem;
      padding: 6rem 3rem 6rem;
      padding-left: 25rem; } }
  @media (max-width: 666px) {
    .site__header {
      padding: 2rem; } }

.site__title {
  max-width: 44rem; }

.lede {
  max-width: 44rem;
  font-size: 125%;
  margin-bottom: 1.5rem;
  line-height: 1.2; }

.credit {
  font-size: 65%;
  margin: 0; }

.site__footer p {
  font-size: .9rem;
  color: #777; }

.post {
  margin-bottom: 6rem; }

.post a.post__title__anchor {
  font-size: 2.75rem;
  position: relative;
  top: 0.5rem;
  vertical-align: super;
  font-weight: 700;
  text-decoration: none;
  color: #a1f0df;
  border: 0; }
  .post a.post__title__anchor:before {
    content: "#"; }

.post ul {
  list-style: none;
  margin-left: 0;
  text-indent: -0.8em; }

.post li {
  margin-bottom: 1.125rem; }
  .post li:before {
    content: "\00B7";
    display: block;
    float: left;
    width: 0.8em;
    color: #aaa; }

.post a {
  border-bottom: solid 2px #a1f0df; }
  .post a:hover {
    color: #892eca;
    border-color: rgba(137, 46, 202, 0.25); }

.post h1 {
  padding-top: 2rem; }

.post ul.short-list {
  margin-left: -0.8rem;
  line-height: 1.2;
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3; }
  @media (max-width: 1100px) {
    .post ul.short-list {
      -webkit-column-count: 2;
         -moz-column-count: 2;
              column-count: 2; } }
  @media (max-width: 500px) {
    .post ul.short-list {
      -webkit-column-count: 1;
         -moz-column-count: 1;
              column-count: 1; } }
  .post ul.short-list li {
    margin-bottom: 1.25rem;
    padding-left: 1rem;
    padding-right: 1rem; }
  .post ul.short-list li:before {
    content: "\00B7";
    display: block;
    float: left;
    width: 0.8em;
    color: #aaa; }
