main .content {
  display: flex;
  flex-direction: column;
  line-height: 1.5em;
}

main .content p,
main .content ul {
  text-align: justify;
  overflow-wrap: break-word;
  word-break: break-word;
}

main .content code, .codehilite {
  font-size: .85em;
}

@media screen and (max-width: 767px) {
  main {
    font-size: 0.9em;
  }
}

a:hover {
  opacity: 0.7;
}

.description h3 {
  font-weight: normal;
  opacity: 0.6;
  margin: -.5em auto .5em auto;
}

.published-date {
  font-size: 0.75em;
  opacity: .75;
  margin-bottom: 2em;
}

@media screen and (max-width: 1024px) {
  main .container {
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  main .container {
    max-width: 35em;
  }
}

.codehilite {
  padding: 0 .5em;
  overflow: auto;
}

.main-image-container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-image-container img {
  width: 80%;
}
