html, body {
  padding: 0;
  margin: 0;
  box-sizing: content-box; }

body {
  font-family: 'Inconsolata', monospace;
  padding-bottom: 100px;
  min-height: calc(100vh - 100px);
  position: relative; }

nav {
  border-bottom: 1px solid #d0d0d0; }
  nav .row > div {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px; }

footer {
  position: absolute;
  bottom: 0;
  height: 50px;
  width: 100%;
  font-family: 'Open Sans', sans-serif; }
  footer .container {
    height: 100%;
    border-top: 1px solid #d0d0d0; }
    footer .container .row {
      height: 100%; }
      footer .container .row .copyright {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%; }

a {
  color: black;
  text-decoration: none; }
  a:hover {
    color: black;
    text-decoration: underline;
    cursor: pointer; }

#app {
  margin-top: 60px; }
  #app .post {
    margin-bottom: 2rem; }
    #app .post .info .crono {
      display: flex;
      align-items: center;
      font-size: 1.4rem;
      height: 3.0rem;
      color: #888; }
    #app .post a.title {
      display: flex;
      align-items: center;
      height: 3.0rem;
      font-size: 2.75rem; }
    #app .post .subtitle {
      font-size: 1.3rem;
      margin-bottom: 1.0rem; }
    #app .post p {
      font-family: 'Open Sans', sans-serif; }

.article {
  margin-bottom: 5rem;
  font-family: 'Open Sans', sans-serif; }
  .article h1, .article h2, .article h3, .article h4 {
    letter-spacing: 0; }
  .article blockquote {
    margin-left: 0;
    border-left: 4px solid #cfcfcf;
    padding-left: 1rem;
    color: #777; }
    .article blockquote b, .article blockquote strong {
      color: #5f5f5f; }
  .article h1 {
    font-family: 'Inconsolata', sans-serif;
    font-size: 4.5rem; }
    .article h1 > small {
      margin-left: -1rem;
      font-size: 2.0rem;
      color: #555; }
  .article h2 {
    font-family: 'Inconsolata', sans-serif;
    font-size: 3.5rem; }
  .article h3 {
    font-family: 'Inconsolata', sans-serif;
    font-size: 2.5rem; }
  .article p {
    font-size: 1.6rem; }
  .article code {
    font-size: 1.7rem;
    white-space: pre-wrap; }
  .article ol {
    list-style-type: lower-roman;
    list-style-position: outside;
    padding-left: 2.5rem; }
  .article ul {
    list-style-type: disc; }
  .article a {
    padding: 0 2px;
    text-decoration: none;
    border-top: 2px solid transparent;
    border-bottom: 2px solid #000; }
    .article a:hover {
      background: royalblue;
      color: white !important;
      border-color: transparent;
      border-radius: 4px; }
      .article a:hover:visited {
        background: #738; }
    .article a:visited {
      color: #738;
      border-color: #738; }
  .article table td, .article table th {
    text-align: center;
    padding: 12px 15px; }

.container {
  background: #ffffff; }
