/* Modeled on the "Authory" Tumblr theme by Cubthemes that the blog used. */
:root {
  --ink: #424242;
  --text: #757575;
  --muted: #bdbdbd;
  --band: #f5f5f5;
  --paper: #ffffff;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font: 17px/1.8 "Lora", Georgia, serif;
  color: var(--text);
  background: var(--ink);
}
a, a:visited { color: var(--ink); }
h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  color: var(--ink);
  font-weight: 700;
  line-height: 1.25;
}
img, iframe, video { max-width: 100%; height: auto; display: block; }
p { margin: 0 0 20px; }
hr { border: 0; border-top: 1px solid var(--band); margin: 40px 0; }
blockquote { margin: 0 0 20px; padding: 4px 20px; border-left: 4px solid var(--band); font-size: 15px; }

/* Header */
#header {
  position: relative;
  background: var(--band);
  border-bottom: 1px solid rgba(0,0,0,.03);
  text-align: center;
  padding: 45px 16px 75px;
}
#header .title { font: 900 48px/1.1 "Roboto", sans-serif; }
#header .title a { color: var(--ink); text-decoration: none; }
#header nav ul { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 28px; }
#header nav a { font: 700 15px "Roboto", sans-serif; text-decoration: none; opacity: .8; }
#header nav a:hover { opacity: 1; }
#header .avatar { position: absolute; left: 50%; bottom: -45px; margin-left: -45px; }
#header .avatar img { width: 90px; height: 90px; border-radius: 50%; border: 4px solid var(--paper); }

/* Main */
#main { background: var(--paper); padding: 90px 16px 40px; }
#main > * { max-width: 720px; margin-left: auto; margin-right: auto; }
article { margin-bottom: 100px; }
article header { margin: 0 0 24px; }
article header h1, article header h2 { margin: 0; font-size: 30px; }
article header a { text-decoration: none; }
.listing-title { text-align: center; margin: 0 auto 60px; }
.post-content { margin: 24px 0; }
.post-content figure { margin: 0 0 20px; }
.post-content img { margin: 0 auto; }

.photos figure { margin: 0 0 12px; }
.photos img { width: 100%; }
.photos figcaption { font-size: 14px; color: var(--muted); }

.video video { width: 100%; background: #000; }
.video.embed { position: relative; aspect-ratio: 16 / 9; }
.video.embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-source { font: 14px "Roboto", sans-serif; margin-top: 8px; }

h2.link { font-size: 26px; }

article > footer { font: 14px/2 "Roboto", sans-serif; color: var(--muted); }
article > footer a { color: var(--muted); text-decoration: none; }
article > footer a:hover { color: var(--ink); }
.tags { display: inline; list-style: none; margin: 0 0 0 16px; padding: 0; }
.tags li { display: inline; margin-right: 10px; }

.pager { display: flex; justify-content: space-between; gap: 16px; font: 500 15px "Roboto", sans-serif; margin-bottom: 60px; }
.pager span { color: var(--muted); }
.pager a { text-decoration: none; }

.archive { list-style: none; padding: 0; margin: 0; }
.archive li { display: flex; gap: 20px; padding: 6px 0; border-bottom: 1px solid var(--band); }
.archive time { flex: 0 0 9.5em; color: var(--muted); font: 14px/2 "Roboto", sans-serif; }

/* Footer */
#footer { text-align: center; color: var(--muted); font: 14px/2 "Roboto", sans-serif; padding: 40px 16px 60px; }
#footer a { color: var(--band); }
#footer .social { margin-bottom: 8px; }

@media (max-width: 600px) {
  body { font-size: 16px; }
  #header .title { font-size: 34px; }
  article header h1, article header h2 { font-size: 24px; }
  .archive li { flex-direction: column; gap: 0; }
  .archive time { flex: none; }
}
