body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.6;
  color: #222;
  margin: 0;
  padding: 0;
}

a {
  color: #222;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.page {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.header {
  width: 60%;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

.content {
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Article listing on index */
.article-list {
  list-style: none;
  padding: 0;
}

.article-list li {
  margin-bottom: 1.5em;
}

.article-list .summary {
  margin: 0.25em 0 0 0;
  color: #555;
  font-size: 0.9em;
}

.article-list a {
  font-size: 1.1em;
}

.article-list .date {
  color: #888;
  font-size: 0.85em;
  margin-left: 0.5em;
}

/* Article page */
.article {
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-bottom: 4em;
}

.article .author,
.article .email {
  margin: 0;
}

.article .email {
  font-size: 0.85em;
  font-weight: 300;
}

.article .date {
  color: #888;
  font-size: 0.85em;
  margin: 0.25em 0 1.5em 0;
}

.article a {
  color: #0000ee;
  text-decoration: underline;
}

.article a:visited {
  color: #551a8b;
}

.article img {
  max-width: 100%;
  height: auto;
}

.article blockquote {
  border-left: 3px solid #ccc;
  margin-left: 0;
  padding-left: 1em;
  color: #555;
}

.article pre {
  background: #f5f5f5;
  padding: 1em;
  overflow-x: auto;
  border-radius: 4px;
}

.article code {
  background: #f5f5f5;
  padding: 0.15em 0.3em;
  border-radius: 3px;
  font-size: 0.9em;
}

.article pre code {
  background: none;
  padding: 0;
}

@media (max-width: 800px) {
  .header, .content, .article {
    width: 90%;
  }
}
