@font-face {
  font-family: 'IM FELL English SC';
  src: local('IM FELL English SC'),
       url('/IM FELL English SC.woff') format('woff');
}

@font-face {
  font-family: Ubuntu;
  src: local(Ubuntu), url(/Ubuntu.woff) format('woff');
}

* {
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  font-weight: bold;
  outline: none;
  text-decoration: inherit;
  text-shadow: grey 1px 1px 3px;
}

a:hover {
  text-decoration: underline;
}

.next, .previous {
  font-size: 4rem;
  font-weight: inherit;
}

.next:hover, .previous:hover {
  text-decoration: none;
}

.next {
  justify-self: right;
}

.previous {
  justify-self: left;
}

article {
  background: white;
  box-shadow: grey 0 0 1rem;
  color: black;
  padding: 1rem;
  width: 40rem;
}

article h1 {
  font-size: inherit;
  font-weight: inherit;
}

article h1 a {
  font-weight: inherit;
}

article p {
  margin-top: 1rem;
}

article .meta {
  display: grid;
  grid-template-columns: auto auto;
}

article .meta .coords {
  justify-self: right;
  margin: 0;
  text-align: right;
}

body {
  background: lightgrey;
  color: black;
  font-family: Ubuntu, sans-serif;
}

footer, header {
  font-family: 'IM FELL English SC', serif;
  margin: 1rem auto;
  text-align: center;
}

footer a, header a {
  font-weight: inherit;
}

footer a:hover, header a:hover {
  text-decoration: none;
}

nav {
  align-items: center;
  display: grid;
  grid-template-columns: auto auto auto;
  justify-items: center;
  margin: 1rem auto;
}

ol {
  padding: 1rem 1rem 0;
}

span.next, span.previous {
  color: transparent;
}

.chastell-net {
  font-family: 'IM FELL English SC', serif;
  font-size: 1.2em;
}

.footnotes {
  border-top: 1px dashed grey;
  margin-top: 1rem;
}

.footnotes p {
  margin: 0;
}

.photo {
  display: grid;
  justify-items: center;
  padding: 1rem 0;
}

.photo:first-of-type {
  margin-top: -1rem;
}

.photo img {
  background: white;
  box-shadow: grey 0 0 1rem;
  max-height: 80vh;
  max-width: 80vw;
  object-fit: contain;
  padding: 2vmin;
}

.photos {
  display: grid;
  grid-template-columns: repeat(9, 10vw);
  margin: 2rem auto;
  text-align: center;
  width: 90vw;
}

.photos a {
  display: block;
  font-weight: inherit;
}

.photos div {
  align-self: center;
  padding-bottom: 2rem;
}

.photos img {
  background: white;
  box-shadow: grey 0 0 1rem;
  max-height: 80%;
  max-width: 80%;
  object-fit: contain;
  padding: 0.5rem;
}

.photos .many a.title {
  margin-top: 1rem;
}

.photos .many img {
  box-shadow: grey 0 0 1rem,
    white 0.5rem 0.5rem, grey 0.5rem 0.5rem 1rem,
    white 1rem 1rem, grey 1rem 1rem 1rem;
}

.photos .two a.title {
  margin-top: 0.5rem;
}

.photos .two img {
  box-shadow: grey 0 0 1rem,
    white 0.5rem 0.5rem, grey 0.5rem 0.5rem 1rem;
}
