@media screen {

  html {
    font-size: 20px;
  }

  body {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
    font-family: 'Source Serif Pro', serif;
    color: rgba(0,0,0,0.8);
    letter-spacing: -0.02em;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-font-feature-settings: "liga" on;
    line-height: 1.5;
    text-align: left;
  }

  header,
  article {
    box-sizing: border-box;
    max-width: 700px;
    margin: 3em auto 6em;
  }

  h1, h2, h3, h4, h5, h6,
  .title, .authors {
    font-family: 'Source Sans Pro', sans-serif;
  }

  p {

    line-height: 1.5;
  }

  a {
    color: rgba(0,0,0,0.8);
  }

  a.latex {
    display: inline-block;
    text-decoration: none;
    height: 21px;
    border-bottom: 1px solid rgba(0,0,0,0.8);
  }

  code {
    font-family: 'Source Code Pro', monospace;
    font-weight: 600;
  }

  table {
    margin: 2em auto 3em;
  }

  th, td {
    border-width: 1px;
  }

  header h2 {
    margin: 0 0 2em;
  }

  .title {
    font-size: 36px;
  }

  .author {
    font-size: 14px;
  }

  .author :first-child,
  .author :last-child {
    font-size: 20px;
  }

  code a,
  .author a {
    text-decoration: underline;
  }

  .equation {
    margin: 2rem 0 3rem;
  }

  .footnotes {
    margin-top: 3em;
    padding-top: 1em;
    border-top: 1px solid #000;
  }

  footnote {
    display: block;
    position: relative;
    margin: 0 0 1em;
    padding-left: 1.5em;
    font-size: 15px;
  }

  footnote:before {
    content: attr(data-counter);
    position: absolute;
    left: 0;
  }

  cite,
  .footnote-ref {
    position: relative;
    cursor: pointer;
    margin-left: 2px;
  }

  .popup {
    z-index: 100;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 100%;
    width: 300px;
    padding: 0.5em 1em;
    font-size: 15px;
    box-shadow: 1px 1px 5px rgba(0,0,0,0.4);
  }

  figure img,
  figure svg {
    cursor: pointer;
  }

  .lightbox {
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 2em;
    background-color: rgba(0,0,0,0.9);
    cursor: pointer;
  }

  .lightbox img,
  .lightbox svg {
    z-index: 200;
    width: 100% !important;
    height: 100% !important;
  }

  @media (max-width: 720px) {
    html {
      font-size: 15px;
    }

    header,
    article {
      margin: 0 auto;
      width: 100%;
      padding: 2em;
    }

    figure img,
    figure svg {
      max-width: 100%;
    }

    .authors {
      -webkit-column-count: 1;
         -moz-column-count: 1;
              column-count: 1;
    }

    .author {
      -webkit-column-break-after: auto;
      margin-bottom: 2em;
    }

    .equation {
      width: 100%;
      overflow-x: scroll;
    }

    .popup {
      position: absolute;
      width: 150px;
      left: -75px;
    }

    .popup img,
    .popup svg {
      margin: 0 !important;
    }
  }
}
