* {
  margin: 0;
  padding: 0;
}

a, a:visited, a:active, a:hover {
  color: #458588;
  text-decoration: none;
}

a:hover {
  color: #83a598;
  text-decoration: underline;
}

.gopher::after {
  content: '';
  display: inline-block;
  vertical-align: top;
  animation: gopherwave 2s infinite;
}

.gopher:hover::after {
  animation: gopherwave .5s infinite;
}

@keyframes gopherwave {
  0%, 100% {
    content: 'ˏʕ⚆ϖ⚆ʔˎ';
    color: #689d6a;
  }
  50% {
    content: '`ʕ◔ϖ◔ʔ´';
    color: #8ec07c;
  }
}

body {
  font-family: "Go Mono", "Source Code Pro", "Monaco", monospace;
  font-size: 14px;
  background: #282828;
  color: #ebdbb2;
  max-width: 60em;
  margin: 0 auto;
}

body>header::after {
  content: '';
  display: block;
  clear: both;
}

body>header, main, body>footer {
  margin: 5em 0;
  padding: 0 2em;
}

body>footer {
  text-align: center;
}

body>footer>* {
  margin: 2em 0;
  display: block;
}

.rss,
.rss:visited,
.rss:hover,
.rss:active {
  color: #f26522;
}

.left {
  float: left;
}

.logo {
  background: no-repeat top left/64px 64px url('../logo.png');
  min-height: 64px;
  padding: 0 0 0 calc(64px + 1em);
  margin-top: -1em;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

body>header>.left>h1>a {
  font-weight: normal;
  color: #d79921;
}

body>header nav {
  text-align: right;
}

nav>ul {
  list-style-type: none;
  margin: .75em 0;
}

nav>ul>li {
  display: inline;
}

nav>ul>li>a.active {
  text-decoration: underline;
}

@media (max-width: 600px) {
  .logo {
    float: none;
    padding: 0;
  }
  header {
    text-align: center;
  }
  nav {
    margin: 2em 0;
  }
  nav>ul {
    text-align: center;
    display: block;
  }
  body>header, main, body>footer, main>article {
    margin: 3em 0;
  }
}

article {
  background: #fffbe9;
  color: #3c3836;
  padding: 2em;
  box-shadow: 0 5px 25px rgba(0, 0, 0, .25);
  margin: 5em 0;
}

article>header {
  border-bottom: 1px solid #ebdbb2;
  margin-bottom: 1em;
  padding-bottom: 1em;
}

article>footer {
  border-top: 1px solid #ebdbb2;
  margin-top: 1em;
  padding-top: 1em;
}

.button {
  color: #ebdbb2;
  background: #458588;
  padding: 1em;
  cursor: pointer;
  display: inline-block;
}

article>header::after {
  content: '';
  display: block;
  clear: both;
}

article>header>h1 {
  float: left;
}

article>header>time, .disqus-comment-count {
  color: #7c6f64;
  float: right;
}

article>p {
  margin: 1em 0;
}

article>footer {
  margin-top: 1em;
}

article>.body pre code {
  display: block;
  padding: 1em;
  margin: 2em;
  background: #282828;
  color: #ebdbb2;
  font-size: 16px;
  overflow-x: auto;
}

article>.body code {
  display: inline;
  padding: .05em .25em;
  background: #ebdbb2;
  color: #282828;
  border-radius: 3px;
}

.alert.alert-warning {
  background: #d79921;
  border: 1px solid #b57614;
  padding: 1em;
}

article>.body h1, article>.body h2, article>.body h3, article>.body h4, article>.body h5, article>.body h6 {
  margin-top: 2em;
}

article>.body hr {
  margin: 1em 0;
  border: 0;
  border-bottom: 1px solid #ebdbb2;
}

article>.body blockquote {
  margin-left: 2em;
  padding-left: 2em;
  border-left: 2px solid #ebdbb2;
}

article>.body ol, article>.body ul {
  margin-left: 3em;
}

article>.body {
  line-height: 1.4em;
}

article>.body p {
  margin: 1em 0;
}

article>.body img {
  max-width: 100%;
}

.pagination .left, .pagination .right {
  display: inline-block;
  width: 50%;
  min-height: 1em;
}

.pagination .right {
  text-align: right;
}

.pagination a, .pagination a:visited, .pagination a:active, .pagination a:hover {
  color: #d79921;
}

.pagination a:hover {
  color: #fabd2f;
}

.pagination time {
  display: block;
  color: #665c54;
}
