@charset "UTF-8";
@font-face {
  font-family: "PT Serif";
  src: url("/assets/fonts/pt-serif-regular.woff2") format("woff2"), url("/assets/fonts/pt-serif-regular.woff") format("woff");
  font-style: normal; }
@font-face {
  font-family: "PT Serif";
  src: url("/assets/fonts/pt-serif-italic.woff2") format("woff2"), url("/assets/fonts/pt-serif-italic.woff") format("woff");
  font-style: italic; }
@font-face {
  font-family: "Ubuntu Mono";
  src: url("/assets/fonts/ubuntu-mono-regular.woff2") format("woff2"), url("/assets/fonts/ubuntu-mono-regular.woff") format("woff"); }
* {
  padding: 0;
  margin: 0 auto;
  -webkit-text-size-adjust: none; }

body {
  font: 1.0625em / 1.7647058824 "PT Serif", Cambria, Georgia, serif;
  background: #f3f3f3;
  border-bottom: 5.2941176471em #eaeaea solid;
  counter-reset: reference; }
  @media (max-width: 450px) {
    body {
      font-size: 0.925em; } }

h1, h2, h3, h4 {
  font-weight: normal; }

ul li {
  list-style-type: none; }

.header {
  background-color: #191919; }
  .header__navbar {
    display: flex;
    max-width: 44em;
    min-height: 3.5294117647em;
    align-items: center;
    padding: 0 1.5em; }
  .header__link {
    color: #777777;
    padding: 0 0.25em;
    text-decoration: none; }
    .header__link:hover {
      color: #ffffff; }
  .header__element {
    font-size: 0.9411764706em;
    line-height: 1.875;
    margin: 0; }
    .header__element--icon {
      margin-right: auto;
      padding-left: 0.2em; }
      .header__element--icon svg {
        height: 0.65em; }
      .header__element--icon a:hover path {
        fill: #EC803A; }
  .header__element--logo .header__link, :lang(en) .header .en, :lang(fr) .header .fr {
    color: #cccccc; }

@media (max-width: 370px) {
  .header__navbar {
    padding: 0.5em 1em;
    flex-wrap: wrap; }

  .header__element {
    order: 3; }
    .header__element--logo {
      order: 1;
      margin-right: auto;
      flex-basis: 70%; }
    .header__element--lang {
      order: 2;
      flex-basis: 30%;
      text-align: right; }
    .header__element--icon {
      order: 4;
      margin: 0 0 0 auto;
      padding: 0; } }
.banner {
  display: flex;
  font-size: 1.5294117647em;
  line-height: 1.1538461538;
  padding: 2.3076923077em 0em 4.0384615385em;
  align-items: center;
  height: 2.3076923077em;
  background: #252525 center;
  background-size: cover;
  color: #fff;
  text-align: center;
  text-shadow: 0 0 0 #000, 0 0 0.3em #000; }

@media (min-width: 450px) {
  .main {
    padding: 0 5%; } }

.content {
  margin: -2.6470588235em auto -2.6470588235em;
  padding: 0em 0em 2.6470588235em;
  background: #ffffff;
  max-width: 48em; }

.pages {
  padding: 1.7647058824em 0em 2.6470588235em; }

.comment {
  padding: 1.7647058824em 0em 0em;
  text-align: center;
  color: #acacac; }
  .comment__or {
    font-style: italic; }

.journal {
  padding: 3.5294117647em 1em;
  max-width: 34em; }
  .journal__group {
    font-size: 1.1176470588em;
    line-height: 1.5789473684;
    max-width: 22.3684210526em;
    margin: 1.1842105263em auto 0.3947368421em;
    color: #999999; }
  .journal__post {
    display: flex;
    max-width: 23em; }
    .journal__post__title {
      flex-grow: 1; }
    .journal__post__date {
      font-size: 0.7647058824em;
      line-height: 2.3076923077;
      color: #cccccc; }
    .journal__post:hover {
      text-decoration: none; }
      .journal__post:hover .journal__post__title {
        text-decoration: underline; }

.projects {
  max-width: 40em; }
  .projects ul {
    max-width: 25em;
    padding: 0 1em; }
  .projects li {
    padding: 3.3333333333em 0em 0em; }
  .projects h3 {
    padding: 0em 0em 0em;
    font-size: 1.1176470588em;
    line-height: 1.5789473684;
    color: #156f8f;
    text-align: left; }
  .projects .sub {
    font-size: 0.9411764706em;
    line-height: 1.875;
    padding: 0em 0em 0em;
    color: #999;
    text-align: left; }
  .projects .img img {
    margin-left: 1em;
    float: right;
    height: 7.3em;
    width: 10em;
    opacity: 0.8;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07); }
  .projects .desc {
    font-size: 1em;
    line-height: 1.7647058824;
    padding: 0.4411764706em 0em 0em;
    color: #444;
    text-align: left; }
  .projects a {
    text-decoration: none; }
    .projects a:hover h3 {
      color: #0c4255;
      text-decoration: underline; }
    .projects a:hover .sub {
      color: #666; }
    .projects a:hover .desc {
      color: #000; }
    .projects a:hover .img img {
      opacity: 1; }

.content p, .content ul, .content ol, .content .posts h2, .content .pages h2, .content h3, .content h4 {
  max-width: 32em; }
.content img {
  max-width: 100%; }
.content p {
  padding: 0.8823529412em 3em 0.8823529412em; }
  @media (max-width: 450px) {
    .content p {
      padding: 0.8823529412em 1.5em 0.8823529412em; } }

a {
  color: #156f8f;
  text-decoration: none; }
  a:hover {
    color: #0c4255;
    text-decoration: underline; }

sup {
  font-size: 0.8em;
  line-height: 0; }

.posts ul li, .pages ul li {
  max-width: 30em;
  padding: 0 2em 0 4em; }
  .posts ul li:before, .pages ul li:before {
    content: "–  ";
    margin-left: -18px; }

hr {
  font-size: 1.4117647059em;
  line-height: 1.25;
  padding: 2.5em 0em 0em;
  text-align: center;
  border: 0;
  color: #ccc; }
  hr:before {
    content: "*\a*    *";
    white-space: pre; }

.posts p:first-of-type:first-letter {
  float: left;
  margin: 0.13em 0.05em 0 -0.05em;
  font-size: 3.333em;
  line-height: 0.75em; }

.date {
  padding: 3.1578947368em 0em 1.5789473684em;
  font-size: 1.1176470588em;
  line-height: 1.5789473684;
  font-style: italic;
  color: #aaa;
  text-align: center; }

.original {
  padding: 0em 0em 2.3076923077em;
  font-size: 0.7647058824em;
  line-height: 1.1538461538;
  margin-top: -2.3076923077em;
  font-style: italic;
  color: #d4d4d4;
  text-align: center; }

.posts h2, .pages h2 {
  text-align: center;
  position: relative;
  top: 0.6em;
  font-size: 1.4705882353em;
  line-height: 1.2;
  padding: 1.2em 2.04em 1.2em;
  max-width: 21.76em;
  margin: 0 auto;
  font-style: italic;
  color: #666;
  background: linear-gradient(#fff 52%, #e8e8e8 52%, #fff 53.5%);
  text-shadow: -0.2em 0 #fff, 0.2em 0 #fff, -0.1em 0 #fff, 0.1em 0 #fff; }
  @media (max-width: 450px) {
    .posts h2, .pages h2 {
      padding: 1.2em 1.02em 1.2em; } }
.posts h3, .pages h3 {
  font-size: 1.2352941176em;
  line-height: 1.4285714286;
  padding: 1.4285714286em 2.4285714286em 0em;
  max-width: 25.9047619048em;
  color: #888; }
  @media (max-width: 450px) {
    .posts h3, .pages h3 {
      padding: 1.4285714286em 1.2142857143em 0em; } }
.posts h4, .pages h4 {
  font-size: 1.0588235294em;
  line-height: 1.6666666667;
  padding: 1.6666666667em 2.8333333333em 0em;
  max-width: 30.2222222222em;
  font-style: italic;
  color: #888; }
  @media (max-width: 450px) {
    .posts h4, .pages h4 {
      padding: 1.4285714286em 1.2142857143em 0em; } }

code {
  font-family: "Ubuntu Mono", monospace;
  color: #717171;
  line-height: 1.5;
  background: #f5f5f5;
  border: 3px solid #f5f5f5; }

pre {
  font-size: 0.9411764706em;
  line-height: 1.875;
  padding: 0.9375em 3.1875em 0.9375em;
  background: #f9f9f9;
  margin-bottom: 1.7647058824em;
  font-family: "Ubuntu Mono", monospace;
  white-space: pre-wrap; }
  @media (max-width: 450px) {
    pre {
      padding: 0.9375em 1.59375em 0.9375em; } }
  pre code {
    display: block;
    max-width: 34em;
    border: none;
    background: none; }

.c, .cm, .cp, .c1, .cs, .gh {
  color: #5B6370; }

.k, .kd {
  color: #C776DF; }

.gd, .gd .x {
  color: #000; }

.gr, .gt {
  color: #a00; }

.gi, .gi .x {
  color: #a6e22e; }

.go, .nn {
  color: #888; }

.gp {
  color: #555; }

.gu {
  color: #aaa; }

.kt {
  color: #458; }

.na, .nc, .ni {
  color: #E2964A; }

.nd, .no {
  color: #4FB6BE; }

.ne {
  color: #900; }

.nf {
  color: #52A5EB; }

.nt, .nv {
  color: #DE5442; }

.w {
  color: #bbb; }

.m, .nb, .mf, .mh, .mi, .mo, .il {
  color: #4FB6C3; }

.s, .sb, .sc, .s2, .se, .sh, .si, .sx, .s1 {
  color: #A2BD40; }

.sd {
  color: #5B6370; }

.sr {
  color: #009926; }

.ss {
  color: #990073; }

.bp {
  color: #999; }

.vc, .vg, .vi {
  color: #008080; }

.iframe {
  margin: 0 auto;
  max-width: 32em; }
  .iframe div {
    position: relative;
    width: 100%;
    height: 0; }
    .iframe div iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border: none; }

.large, .content p.large, .iframe {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  max-width: none; }

@media (min-width: 1200px) {
  .as:after {
    content: counter(reference);
    color: #999999;
    vertical-align: super;
    font-size: 0.7em;
    counter-increment: reference; }

  .br {
    display: none; }

  .mar {
    font-size: 0.8235294118em;
    line-height: 2.1428571429;
    position: absolute;
    left: 59%;
    right: 1em;
    margin-left: 23em;
    max-width: 16em;
    text-align: left;
    color: #999999; }
    .mar:before {
      content: counter(reference) " – "; }
    .mar:after {
      content: "."; }
    .mar code, .mar a {
      color: #717171;
      background: none;
      border: none; } }
.latex {
  letter-spacing: 0.8px; }
  .latex sup, .latex sub {
    position: relative;
    vertical-align: 0;
    text-transform: uppercase; }

.latex sup {
  bottom: 0.15em;
  margin-left: -0.36em;
  margin-right: -0.15em;
  font-size: 0.85em; }

.latex sub {
  top: 0.25em;
  margin-left: -0.1667em;
  margin-right: -0.125em;
  font-size: 1em; }

.stats {
  width: 1px;
  height: 1px;
  border: 0; }
