body {
	background: #404040;
	color: #ebebe6;
	font-family: 'Besley', georgia, serif;
	font-size: 16px;
}

#footer {
  color: #ebebe6;
}

@media screen and (min-width: 320px) {
   body {
    font-size: calc(16px + 8 * ((100vw - 320px) / 680));
  }
}
@media screen and (min-width: 1000px) {
  body {
    font-size: 22px;
  }
}

h1, h2, h3, h4, h5, h6, strong {
	font-weight: 700;
}

h3 {
  font-weight: normal;
}

h2 {
  font-size: 6vw;
  font-size: 2em;
  margin-top: 2em;
}

h3 {
  font-size: 4vw;
  font-size: 1.6em;
}

.content p a,
.content li a,
.content h3 a {
	color: inherit;
	text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-color: rgba(235,235,230,0.45);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.content a:hover {
	text-decoration-color: #ebebe6;
}

#header {
  position: relative;
  z-index: 10;
}

#header a {
	color: rgba(235, 235, 230, 0.5);
}

#nav .active a {
	color: #ebebe6;
}

#header a:hover {
	text-decoration: none;
}
.sparkle-top, .sparkle-bottom {
	background: #ebebe6;
}

.sparkle-top:before, .sparkle-top:after, .sparkle-bottom:before, .sparkle-bottom:after {
	background: #404040;
}

.book-title {
  padding: 1rem 0;
  font-style: italic;
}

.book-title .title {
	transform: rotate(-6deg);
	display: block;
	line-height: 1;
	font-size: 15vw;
}

.book-title .kern {
  letter-spacing: -.15em;
}

.book-title .year {
	display: block;
	text-align: right;
	font-size: 30vw;
	font-weight: 900;
	line-height: .7;
	padding-right: 16px;
  transform: skew(18deg);
  white-space: nowrap;
  margin-top: 50px;
}

@media (min-width: 1200px) {
  .book-title .title {
    font-size: 190px;
  }
  .book-title .year {
    font-size: 400px;
  }

}

@keyframes marquee {
  0%   { color: #ebebe6; }
  20%  { color: #FECA32; }
  40%  { color: #ffa500; }
  60%  { color: tomato; }
  80%  { color: #ff6699; }
  100% { color: #ff66ff; }
}

.year span {
  animation: marquee 1s infinite forwards;
  animation-timing-function:steps(1, end);
  transform: skew(-18deg);
  display: inline-block;
}

.year span:nth-child(2) {
  animation-delay: -.6s;
}

.year span:nth-child(3) {
  animation-delay: -.4s;
}

.year span:nth-child(4) {
  animation-delay: -.2s;
}

@media (min-width: 1440px) {
  .book-title {
    font-size: 216px;
  }
}

.figure-caption {
  color: #969693;
  font-family: 'Jost',arial,sans-serif;
  font-size: 1rem;
  line-height: 1.2;
}

.disclaimer:before,
.asterisk:after {
  content: "*";
  font-size: 2rem;
  line-height: 1;
  margin-top: -3px;
}

.disclaimer {
  display: flex;
}

.disclaimer:before {
  margin-right: .1em;
}

.book-heading {
	text-transform: uppercase;
	font-size: 1.5em;
	font-weight: 300;
	letter-spacing: .15em;
	margin-top: 2em;
	font-family: 'Jost',arial,sans-serif;
}

.book-list-heading {
  font-weight: normal;
  font-size: 1.5em;
  text-indent: -1em;
}

.book-desc {
  padding-left: 2em;
}

p.intro {
	font-size: 1.6em;
}

sup.lg {
	font-size: 1.5em;
	position: static;
}

.row {
  margin-top: 1rem;
}

.book-legend li,
.ratings-label {
  display: flex;
  align-items: center;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: .25em;
  font-family: 'Jost',arial,sans-serif;
}

.ratings-label {
  display: block;
  text-align: center;
}

.book-legend .key {
  display: block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
}

.book-legend.d-flex li {
  margin-right: 20px;
}

.pie {
  max-width: 450px;
  margin: 1em auto;
}

.big-book {
  margin-top: 1em;
  max-width: 300px;
}

.big-pic {
  max-width: 600px;
  margin: 1em auto;
  display: block;
}

.big-book,
.big-pic {
  width: 100%;
}

figure {
  margin: 1em auto;
  max-width: 600px;
}

ol.resolutions {
  line-height: 1.2;
  font-size: 1.3em;
}

ol.resolutions li {
  margin-bottom: .5em;
}

/* Stars */
.star-ratings {
  unicode-bidi: bidi-override;
  color: #868585;
  position: relative;
  white-space: nowrap;
  font-size: 24px;
  width: 120px;
  margin: 0 auto;
  display: block;
}

@media (max-width: 640px){
  .star-ratings {
    font-size: 16px;
    width: 80px;
  }
}

.star-ratings .top {
  color: #ffbb00;
  padding: 0;
  position: absolute;
  z-index: 1;
  display: flex;
  top: 0;
  left: 0;
  overflow: hidden;
}

.star-ratings .bottom {
  padding: 0;
  display: flex;
  z-index: 0;
}

.star-ratings.goodreads .top {
  color: tomato;
}

/* Table */

table {
  font-family: 'Jost',arial,sans-serif;
  font-size: 1rem;
  font-weight: 300;
}

table th {
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .9rem;
  background: #333333;
  text-align: center;  
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255,255,255,0.1);
}

.table-bordered thead th,
.table-bordered td {
  border-color: #222;
}

/* Book Numbering */
.res-2018 {
  counter-increment: section;
}

.top5 {
  counter-reset: start-from 6;
}

.top5 .book-desc {
  counter-increment: start-from -1;
}

.res-2018 .book-desc h3:before {
  content: counter(section)".";
  /*font-size: 4em;
  font-weight: bold;
  font-style: italic;*/
  line-height: 1;
  margin-right: .25em;
}

.top5 .book-desc h3:before {
  content: counter(start-from)".";
  font-size: 2em;
  font-weight: bold;
  font-style: italic;
  line-height: 1;  
  margin-right: .2em;
}

.top5 .book-list-heading {
  padding-left: 2em;
  text-indent: -2em;
}

/* Revisit */

.timeline {
position: relative;
}


.timeline-text {
position: absolute;
right: 10%;
top: 0;
}

@media (max-width: 640px) {
  .timeline-text {
    right: 40px;
    left: 15px;
  }
}

#time {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

/*.res-2018 .book-desc,*/
.top5 .book-desc {
/*position: relative;
padding-left: 3.5em;*/
}

/*.res-2018 .book-desc:before,*/
.top5 .book-desc:before {
 /* position: absolute;
  left: 8px;
  top: -0.15em; */
}

.book-col {
  text-align: center;
}

.constrain {
  max-width: 720px;
  margin: 0 auto;
}


@media (max-width: 768px) {
  .book-col a {
  display: block;
  }
  
  .book-col a img {
   /* max-width: 200px; */
  }
}

/* Stephen */
.king {
  position: relative;
  padding-bottom: 100px;
  overflow: hidden;
}

.king #stephen {
  position: absolute;
  right: 0;
  top: 100%;
  transition: all .4s ease;
}

.king #stephen.peekaboo {
  top: 120px;
}

@media (max-width: 640px) {
  .king {
    padding-bottom: 45px;
  }

  
  .king #stephen.peekaboo {
    top: 250px;
  } 
  
  .king #stephen img {
    max-width: 140px;
  }
  
  .book-row.most-read .col {
    flex-basis: 25%;
  }
}

.marg {
  display: table;
}

.marg .cats,
.marg .col {
  display: table-cell;
  width: auto;
  vertical-align: middle;
}

.marg .cats img {
  display: block;
  width: auto;
}

@media (max-width: 640px) {
  .marg .cats {
    display: flex;
  } 
}






.content a.book-button {
  animation: marquee 1s infinite forwards;
  animation-timing-function:steps(1, end);
  background: #333;
  font-family: 'Jost',arial,sans-serif;
  border: none;
  padding: .75rem 2rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 700;
  font-size: .7em;
  border: 1px solid transparent;
  color: #ebebe6;
  text-decoration: none;
}

a.book-button:hover,
a.book-button:not(:disabled):not(.disabled):active,
.book-button:not(:disabled):not(.disabled):active:focus {
  border-color: currentcolor;
  box-shadow: 0 0 0 0.2rem currentColor;
  background: #222;
  color: inherit;
}

h1 .th {
  font-family: 'Jost',arial,sans-serif;
  font-weight: bold;
  text-transform: uppercase;
}

#book th,
#book td {
  line-height: 1.25;
}

.res-2018:nth-of-type(1) .hli {
  color: #ffbb00;
}

.res-2018:nth-of-type(2) .hli {
  color: #ffa014;
}

.res-2018:nth-of-type(3) .hli {
  color: #ff8529;
}

.res-2018:nth-of-type(4) .hli {
  color: #ff693d;
}

.res-2018:nth-of-type(5) .hli {
  color: #ff4e52;
}

.res-2018:nth-of-type(6) .hli {
  color: #ff3366;
}

.resolutions li:nth-of-type(1) .hli {
  color: #ffbb00;
}

.resolutions li:nth-of-type(2) .hli {
  color: #ffa014;
}

.resolutions li:nth-of-type(3) .hli {
  color: #ff8529;
}

.resolutions li:nth-of-type(4) .hli {
  color: #ff693d;
}

.resolutions li:nth-of-type(5) .hli {
  color: #ff4e52;
}

.resolutions li:nth-of-type(6) .hli {
  color: #ff3366;
}