@charset "UTF-8";
/*!
Theme Name: Umbra
Theme URI: 
Author: 
Author URI: 
Description: 
Version: 1.0.3
*/
/*
NOTES

Here's the gradient to give the blue glow for the background




*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
html {
  min-height: 100%;
}

body {
  background: #030917;
  min-width: 300px;
  min-height: 100%;
  text-align: center;
}

h1, h2, h3, h4, h5, h6, p, li, span {
  font-display: swap;
  font-family: priori-serif, serif;
}

h1 {
  font-weight: 400;
  font-style: normal;
  font-size: 3.2rem;
  line-height: 0.9;
  margin-top: 1rem;
  margin-bottom: 0;
  padding-bottom: 0;
  color: #eee;
}
@media print, screen and (min-width: 40em) {
  h1 {
    font-size: 4.2rem;
  }
}

h2 {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 0.9;
  margin-bottom: 0.7rem;
  padding-bottom: 0;
  margin-top: 0.8rem;
  color: #eee;
}
h2 a {
  color: #fff;
  text-decoration: none;
}

p {
  color: #ddd;
  font-family: p22-underground, sans-serif;
  line-height: 1.4;
}
p a {
  color: #fff;
  text-decoration: underline;
}

p.excerpt {
  font-size: 500;
}

.bg-grad {
  background: -webkit-gradient(linear, left top, right top, from(rgba(3, 9, 23, 0)), color-stop(50%, rgba(37, 51, 94, 0.9)), to(rgba(3, 9, 23, 0)));
  background: linear-gradient(90deg, rgba(3, 9, 23, 0) 0%, rgba(37, 51, 94, 0.9) 50%, rgba(3, 9, 23, 0) 100%);
  width: 100vw;
  height: 100px;
  position: fixed;
  margin: 0 auto;
  z-index: -1;
  top: 0;
  height: 100vh;
}

figcaption {
  text-align: center;
  font-style: italic;
  font-family: sans-serif;
  font-size: 0.9rem;
  color: #888;
  padding-top: 5px;
  letter-spacing: 0.2px;
}

div.inner {
  padding-bottom: 5.5%;
  text-align: left;
  max-width: 85%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
div.inner a {
  color: #0c286b;
}
div.inner a:hover {
  color: #2a62e7;
}
@media print, screen and (min-width: 64em) {
  div.inner {
    max-width: 75%;
  }
}
div.inner > p {
  text-align: left;
  color: #444;
  font-family: priori-serif, serif;
  font-size: 1.3rem;
  line-height: 1.3;
}
@media print, screen and (min-width: 40em) {
  div.inner > p {
    font-size: 1.6rem;
    line-height: 1.4;
  }
}
div.inner > p:first-of-type {
  font-weight: 700;
}
div.inner > p:first-of-type:first-letter {
  float: left;
  line-height: 0;
  font-size: 3.8rem;
  margin-top: 0.7rem;
  margin-right: 0.2rem;
}
@media print, screen and (min-width: 40em) {
  div.inner > p:first-of-type:first-letter {
    font-size: 5rem;
    margin-top: 0.9rem;
    margin-right: 0.3rem;
  }
}
div.inner h2 {
  text-align: center;
  color: #333;
  margin-top: 5.5%;
}
div.inner blockquote {
  background-color: rgb(255, 243, 225);
  padding: 2rem;
  margin-top: 5.5%;
  margin-bottom: 5.5%;
  margin: 0;
}
@media print, screen and (min-width: 40em) {
  div.inner blockquote {
    margin-left: 3rem;
    margin-right: 3rem;
  }
}
div.inner blockquote p {
  font-family: priori-serif, serif;
  color: #111;
  font-size: 1.4rem;
}
@media print, screen and (min-width: 40em) {
  div.inner blockquote p {
    font-size: 1.6rem;
  }
}
div.inner blockquote cite {
  font-family: priori-serif, serif;
  text-align: right;
  font-size: 1.4rem;
  width: 100%;
  display: block;
}
div.inner blockquote cite::before {
  content: "– ";
}

.grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr;
  grid-template-columns: repeat(12, 1fr);
  grid-column-gap: 2em;
  grid-row-gap: 1em;
  margin: 0 auto;
  max-width: 90rem;
}

div.mb {
  margin-bottom: 5.5%;
}

.section-header {
  margin-bottom: 2.75%;
  margin-top: 5.5%;
}

header.header {
  margin-bottom: 5.5%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  margin-top: 1%;
  padding-bottom: 0.7%;
}
@media print, screen and (max-width: 63.99875em) {
  header.header {
    height: 55px;
    margin-top: 0;
    padding-bottom: 0;
    display: block;
  }
}
header.header .logo {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
}
@media print, screen and (max-width: 63.99875em) {
  header.header .logo {
    display: none;
  }
}
header.header .logo img {
  background: none;
  max-width: 100%;
  max-height: 4rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
header.header .logo img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
header.header .tp50 {
  -ms-grid-column: 12;
  -ms-grid-column-span: 1;
  grid-column: 12/13;
}
header.header .tp50 img {
  background: none;
  max-width: 100%;
  max-height: 4rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0.75;
}
@media print, screen and (max-width: 63.99875em) {
  header.header .tp50 img {
    height: 40px;
    margin-top: 7px;
  }
}
header.header .tp50 img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 1;
}
header.header ul li {
  font-family: p22-underground, sans-serif;
  font-weight: 900;
  font-style: normal;
  text-transform: uppercase;
}
header.header ul li a {
  text-decoration: none;
  width: 100%;
  color: rgb(228, 228, 228);
  display: block;
}
@media print, screen and (min-width: 64em) {
  header.header ul {
    -ms-grid-column: 3;
    -ms-grid-column-span: 9;
    grid-column: 3/12;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0;
    padding: 0;
  }
  header.header ul li {
    list-style: none;
    margin: 0 auto;
    text-align: center;
    font-size: 1.1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  header.header ul li:hover::before, header.header ul li:hover::after, header.header ul li.current_page_item::before, header.header ul li.current_page_item::after {
    opacity: 1;
  }
  header.header ul li a {
    padding: 25px 10px 25px 10px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  header.header ul li a:hover {
    color: #fff;
  }
  header.header ul li.current-page-item a {
    color: #fff;
  }
}

.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu > li {
  margin: 0 1rem;
  overflow: hidden;
}

.menu-button-container {
  display: none;
  height: 100%;
  width: 30px;
  cursor: pointer;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#menu-toggle {
  display: none;
}

.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: #fff;
  position: absolute;
  height: 4px;
  width: 30px;
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}

.menu-button::before {
  content: "";
  margin-top: -8px;
}

.menu-button::after {
  content: "";
  margin-top: 8px;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  -webkit-transform: rotate(405deg);
          transform: rotate(405deg);
}

#menu-toggle:checked + .menu-button-container .menu-button {
  background: rgba(255, 255, 255, 0);
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0px;
  -webkit-transform: rotate(-405deg);
          transform: rotate(-405deg);
}

@media print, screen and (max-width: 63.99875em) {
  .menu-button-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 10px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    float: right;
  }
  .menu {
    position: absolute;
    top: 55px;
    left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #menu-toggle ~ .menu li {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    -webkit-transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  #menu-toggle:checked ~ .menu li {
    border: 1px solid #333;
    height: 2.5em;
    padding: 0.5em;
    -webkit-transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  .menu > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
    padding: 10px 0;
    width: 100%;
    color: white;
    background-color: #040e26;
  }
  .menu > li:hover {
    background-color: #0a2054;
  }
  .menu > li a {
    padding: 13px;
    color: #fff;
  }
  .menu > li:not(:last-child) {
    border-bottom: 1px solid #444;
  }
}
footer.footer {
  background-color: #09152b;
}
footer.footer > div {
  min-height: 200px;
  padding-top: 2rem;
  margin-top: 5.5%;
}
footer.footer > div .legal {
  -ms-grid-column: 1;
  -ms-grid-column-span: 5;
  grid-column: 1/6;
  text-align: left;
}
@media print, screen and (min-width: 64em) {
  footer.footer > div .legal {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
  }
}
footer.footer > div .legal ul {
  padding: 0 0 0 2rem;
  margin: 0;
}
footer.footer > div .legal ul li {
  list-style: none;
  font-family: p22-underground, sans-serif;
  text-transform: uppercase;
  font-size: 0.8rem;
  line-height: 1.5;
  font-weight: 600;
}
footer.footer > div .legal ul li a {
  text-decoration: none;
  color: #eee;
}
footer.footer > div .social {
  text-align: right;
  -ms-grid-column: 6;
  -ms-grid-column-span: 6;
  grid-column: 6/12;
}
footer.footer > div .social ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
footer.footer > div .social li {
  display: inline-block;
}
footer.footer > div .social svg {
  width: 50px;
  color: #fff;
}
footer.footer > div .social a {
  display: block;
  margin-left: 1rem;
  color: #fff;
  text-decoration: none;
}
@media print, screen and (min-width: 64em) {
  footer.footer > div .social {
    -ms-grid-column: 11;
    -ms-grid-column-span: 2;
    grid-column: 11/13;
  }
}
footer.footer > div .quote {
  -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2/12;
}
footer.footer > div .quote blockquote {
  max-width: 25rem;
  margin: 0 auto;
  color: #fff;
  font-family: priori-serif, serif;
  font-weight: 400;
  font-style: italic;
  font-size: 2rem;
}
footer.footer > div .quote img {
  background: none;
  max-width: 15rem;
  margin-top: 2rem;
  opacity: 0.5;
}
footer.footer > div .copyright {
  -ms-grid-column: 1;
  -ms-grid-column-span: 11;
  grid-column: 1/12;
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-family: sans-serif;
  color: rgba(238, 238, 238, 0.623);
  font-size: 0.7rem;
  line-height: 1.6;
}
@media print, screen and (min-width: 64em) {
  footer.footer > div .copyright {
    -ms-grid-column: 2;
    -ms-grid-column-span: 10;
    grid-column: 2/12;
  }
}

a.button {
  display: inline-block;
  border: 1px solid #eee;
  padding: 1rem 1.5rem;
  text-decoration: none;
  font-family: priori-serif, serif;
  text-transform: lowercase;
  color: #eee;
  font-size: 1.5rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.button:hover {
  border: 1px solid #eee;
  background-color: #eee;
  color: #07173d;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

header.context span {
  font-family: p22-underground, sans-serif;
  text-transform: lowercase;
}
header.context span a {
  color: #b1b1b1;
  text-decoration: none;
}

.container {
  padding-top: 5.5%;
  padding-bottom: 5.5%;
}
.container.dark {
  background: rgba(0, 0, 0, 0.4);
}

.hero {
  grid-column-gap: 2.5em;
}
.hero div, .hero article {
  -ms-grid-column: 1;
  -ms-grid-column-span: 12;
  grid-column: 1/13;
}
.hero img {
  max-width: 100%;
  height: auto;
}
@media print, screen and (min-width: 64em) {
  .hero > div:first-child {
    -ms-grid-column: 2;
    -ms-grid-column-span: 5;
    grid-column: 2/7;
    padding-top: 100%;
    position: relative;
  }
  .hero > div:first-child img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .hero > article:last-child {
    -ms-grid-column: 7;
    -ms-grid-column-span: 5;
    grid-column: 7/12;
  }
}
.hero article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
@media print, screen and (min-width: 64em) {
  .hero article {
    text-align: left;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
  }
}
.hero article p {
  line-height: 1.5;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.1rem;
}
.hero h1 {
  margin-top: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.hero h1 a {
  text-decoration: none;
  color: #ddd;
}
.hero h1 a:hover {
  color: #fff;
}
.hero h1::after {
  content: "•••";
  display: block;
}
.hero .button {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.updates {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 3%;
  margin: 0 auto;
  max-width: 90rem;
  padding: 0 2rem;
}
.updates h2 {
  font-size: 2rem;
}
.updates img {
  height: auto;
}
.updates header.context {
  margin-top: 1rem;
}
.updates > article {
  padding-top: 100%;
  position: relative;
  margin-bottom: 5%;
}
@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .updates > article {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.updates > article img {
  width: 100%;
  margin-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .updates {
    padding: 0 2rem;
    text-align: left;
  }
  .updates > article {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 2rem;
    padding: 0;
  }
  .updates > article img {
    position: relative;
  }
}
@media print, screen and (min-width: 64em) {
  .updates {
    padding: 0 20px;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
  .updates > article {
    margin-bottom: 0;
  }
}

.deep-dive {
  padding: 0 2rem;
}
.deep-dive h2::after {
  content: "• • •";
  display: block;
}
.deep-dive div {
  -ms-grid-column: 1;
  -ms-grid-column-span: 12;
  grid-column: 1/13;
}
.deep-dive img {
  height: auto;
}
.deep-dive div:first-child img {
  max-width: 100%;
}
@media print, screen and (min-width: 64em) {
  .deep-dive {
    padding: 0;
  }
  .deep-dive > div:first-child {
    -ms-grid-column: 2;
    -ms-grid-column-span: 6;
    grid-column: 2/8;
  }
  .deep-dive > div:last-child {
    -ms-grid-column: 8;
    -ms-grid-column-span: 4;
    grid-column: 8/12;
  }
}
@media print, screen and (min-width: 64em) {
  .deep-dive.right {
    padding: 0;
  }
  .deep-dive.right > div:first-child {
    -ms-grid-column: 6;
    -ms-grid-column-span: 6;
    grid-column: 6/12;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .deep-dive.right > div:last-child {
    -ms-grid-column: 2;
    -ms-grid-column-span: 4;
    grid-column: 2/6;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: right;
  }
}
.deep-dive .opening {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: left;
}

div.discworld-intro {
  margin-bottom: 5.5%;
  background: rgba(255, 255, 255, 0.1);
  padding-top: 40px;
  padding-bottom: 60px;
  background-image: url(assets/img/dwturtle.png);
  background-size: 1000px;
  background-position: right;
  background-repeat: no-repeat;
}
div.discworld-intro section {
  -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2/12;
}
@media print, screen and (min-width: 64em) {
  div.discworld-intro section {
    -ms-grid-column: 4;
    -ms-grid-column-span: 6;
    grid-column: 4/10;
  }
}
div.discworld-intro section p {
  font-size: 1.2rem;
}

/*

h2 {
    font-size:2rem;
    @include breakpoint(large) { margin-bottom: auto; }
    display: block;
  }
  &> article {
    padding-top:100%;
    position: relative;
    margin-bottom: 5%;
    @include breakpoint(large) {
      display: flex;
      flex-direction: column;
      a.button {
        margin-top: auto;
      }
    }

*/
.news {
  margin-top: 5.5%;
}
@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .news h2 {
    font-size: 2.6rem;
  }
}
@media print, screen and (max-width: 39.99875em) {
  .news h2 {
    font-size: 2.1rem;
  }
}
@media print, screen and (min-width: 64em) {
  .news > div:first-child {
    -ms-grid-column: 2;
    -ms-grid-column-span: 6;
    grid-column: 2/8;
  }
}
.news article:nth-child(even) {
  -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2/12;
}
@media print, screen and (min-width: 64em) {
  .news article:nth-child(even) div:first-child {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -ms-grid-column: 8;
    -ms-grid-column-span: 4;
    grid-column: 8/12;
  }
}
.news article:nth-child(even) div:last-child {
  text-align: right;
}
@media print, screen and (min-width: 64em) {
  .news article:nth-child(even) div:last-child {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 5;
    grid-column: 3/8;
  }
}
@media print, screen and (min-width: 64em) {
  .news article:first-child > div:first-child {
    -ms-grid-column: 2;
    -ms-grid-column-span: 6;
    grid-column: 2/8;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .news article:first-child > div:first-child {
    -ms-grid-column: 1;
    -ms-grid-column-span: 7;
    grid-column: 1/8;
  }
}
@media print, screen and (min-width: 64em) {
  .news article:first-child > div:last-child {
    -ms-grid-column: 8;
    -ms-grid-column-span: 4;
    grid-column: 8/12;
  }
}

article.post {
  -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2/12;
  margin-bottom: 5.5%;
}
@media print, screen and (min-width: 64em) {
  article.post {
    padding: 0;
  }
}
@media print, screen and (min-width: 64em) and (min-width: 64em) {
  article.post > div:first-child {
    -ms-grid-column: 3;
    -ms-grid-column-span: 4;
    grid-column: 3/7;
  }
}
@media print, screen and (min-width: 64em) {
  article.post > div:first-child img {
    max-width: 100%;
    height: auto;
  }
}
@media print, screen and (min-width: 64em) {
  article.post > div:last-child {
    text-align: left;
  }
}
@media print, screen and (min-width: 64em) and (min-width: 64em) {
  article.post > div:last-child {
    -ms-grid-column: 7;
    -ms-grid-column-span: 5;
    grid-column: 7/12;
  }
}
@media print, screen and (min-width: 64em) and (max-width: 63.99875em) {
  article.post > div:last-child {
    -ms-grid-column: 1;
    -ms-grid-column-span: 8;
    grid-column: 1/9;
  }
}

@media print, screen and (max-width: 63.99875em) {
  .news-pic {
    -ms-grid-column: 1;
    -ms-grid-column-span: 7;
    grid-column: 1/8;
  }
}
@media print, screen and (max-width: 39.99875em) {
  .news-pic {
    -ms-grid-column: 1 !important;
    -ms-grid-column-span: 12 !important;
    grid-column: 1/13 !important;
  }
}
.news-pic img {
  width: 100%;
  height: auto;
}

.news-text {
  text-align: left !important;
}
@media print, screen and (max-width: 63.99875em) {
  .news-text {
    -ms-grid-column: 8;
    -ms-grid-column-span: 5;
    grid-column: 8/13;
  }
  .news-text h1, .news-text h2, .news-text h3, .news-text p, .news-text a {
    text-align: left;
  }
}
@media print, screen and (max-width: 39.99875em) {
  .news-text {
    -ms-grid-column: 1;
    -ms-grid-column-span: 12;
    grid-column: 1/13;
  }
}

.single-post .article-header {
  -ms-grid-column: 3;
  -ms-grid-column-span: 8;
  grid-column: 3/11;
}
.single-post .entry-content {
  -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2/12;
  padding-top: 8.25%;
  background-color: #fff;
}
@media print, screen and (min-width: 40em) {
  .single-post .entry-content {
    -ms-grid-column: 3;
    -ms-grid-column-span: 8;
    grid-column: 3/11;
    padding-top: 13.75%;
  }
}
.single-post .entry-content img {
  height: auto;
}
.single-post .entry-content figure {
  margin: 0;
  width: 100%;
  text-align: center;
}

ul.characters {
  margin: 0;
  padding: 0;
}
ul.characters.all {
  width: 100%;
  -ms-grid-column: 1;
  -ms-grid-column-span: 12;
  grid-column: 1/13;
}
ul.characters.all li {
  margin-bottom: 2rem;
}
ul.characters li {
  display: inline-block;
  text-align: center;
  margin: auto 10px;
}
ul.characters li span {
  font-family: p22-underground, sans-serif;
}
ul.characters li a {
  text-decoration: none;
  color: #ddd;
}
ul.characters li img {
  display: block;
  margin-bottom: 10px;
  -webkit-transition: -webkit-transform 0.2s ease-in;
  transition: -webkit-transform 0.2s ease-in;
  transition: transform 0.2s ease-in;
  transition: transform 0.2s ease-in, -webkit-transform 0.2s ease-in;
}
ul.characters li img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.character {
  border-radius: 100px;
}

.page-main {
  display: -ms-grid;
  display: grid;
}
.page-main .entry-content {
  -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2/12;
  padding-top: 5.5%;
  margin-top: 5.5%;
  background-color: #fff;
}
@media print, screen and (min-width: 40em) {
  .page-main .entry-content {
    -ms-grid-column: 3;
    -ms-grid-column-span: 8;
    grid-column: 3/11;
    padding-top: 8.25%;
  }
}
.page-main .entry-content img {
  height: auto;
}
.page-main .entry-content figure {
  margin: 0;
}

section.books-intro {
  -ms-grid-column: 3;
  -ms-grid-column-span: 8;
  grid-column: 3/11;
  padding-top: 8.25%;
  padding-bottom: 8.25%;
}
section.books-intro p {
  font-size: 1.4rem;
}

.character-bio {
  max-width: 300px;
  border-radius: 300px;
  height: auto;
  margin-bottom: 1.8333333333%;
}

.character-intro {
  display: -ms-grid;
  display: grid;
}
.character-intro .entry-content {
  -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2/12;
  padding-top: 5.5%;
  margin-top: 5.5%;
  background-color: #fff;
}
@media print, screen and (min-width: 40em) {
  .character-intro .entry-content {
    -ms-grid-column: 3;
    -ms-grid-column-span: 8;
    grid-column: 3/11;
    padding-top: 8.25%;
  }
}
.character-intro .entry-content img {
  height: auto;
}
.character-intro .entry-content figure {
  margin: 0;
}

h2.featured-novels {
  margin-top: 5.5%;
  margin-bottom: 2.75%;
}

.book-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
@media print, screen and (min-width: 40em) {
  .book-grid {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media print, screen and (min-width: 64em) {
  .book-grid {
    -ms-grid-columns: 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 75em) {
  .book-grid {
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
.book-grid > article {
  margin-bottom: 20px;
}

.book-tile header h2 {
  font-size: 1.6rem;
}
.book-tile img {
  width: 100%;
  max-width: 250px;
  height: auto;
}
@media print, screen and (min-width: 40em) {
  .book-tile img {
    width: inherit;
  }
}

section.featured-book {
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 20px;
  border-radius: 10px;
  -webkit-box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.05);
  background-color: #fbf9f6;
}
@media print, screen and (min-width: 40em) {
  section.featured-book {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 150px 20px 1fr;
    grid-template-columns: 150px 1fr;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
  }
}
section.featured-book div.thumb img {
  max-width: 100%;
}
section.featured-book h1 {
  font-size: 1.4rem;
  text-align: left;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin: 0;
}
section.featured-book h2 {
  font-size: 2.1rem;
  text-align: left;
  margin-top: 10px;
}
section.featured-book a.button {
  background-color: #09152b;
  color: #fff;
  cursor: pointer;
}

.biography .bio {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  padding: 10px;
  grid-gap: 0;
}
@media print, screen and (min-width: 64em) {
  .biography .bio {
    padding: 0;
    -ms-grid-columns: 6fr 0 1fr 0 1fr 0 1fr 0 6fr;
    grid-template-columns: 6fr 1fr 1fr 1fr 6fr;
  }
}
.biography .bio .date {
  -ms-grid-column: 2;
      grid-column-start: 2;
}
.biography .bio .entry div {
  width: 100%;
}

.biography {
  padding-top: 11%;
}

.bio {
  padding-bottom: 2.75%;
}

.date {
  -ms-grid-column: 4;
  -ms-grid-column-span: 1;
  grid-column: 4/5;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media print, screen and (min-width: 64em) {
  .date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.date .roundell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.date .roundell span {
  text-align: center;
  display: block;
  font-size: 32px;
  width: 100%;
  font-variant-numeric: oldstyle-nums;
}

@media print, screen and (min-width: 64em) {
  .small-year {
    display: none;
  }
}

.bio .line {
  display: none;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  height: 50%;
  border-bottom: 1px solid #fff;
}
@media print, screen and (min-width: 64em) {
  .bio .line {
    display: block;
  }
}

.bio .entry {
  padding: 10px;
}

.bio:nth-child(odd) .entry {
  -ms-grid-column: 1;
  grid-column: 1;
}
@media print, screen and (min-width: 64em) {
  .bio:nth-child(odd) .entry {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}

.bio:nth-child(even) .entry {
  grid-columns: 1;
}
@media print, screen and (min-width: 64em) {
  .bio:nth-child(even) .entry {
    -ms-grid-column: 5;
    -ms-grid-column-span: 2;
    grid-column: 5/7;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
.bio:nth-child(even) .line {
  -ms-grid-column: 4;
  -ms-grid-column-span: 1;
  grid-column: 4/5;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}

.bio .entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bio .entry h3 {
  color: rgb(255, 255, 255);
  font-size: 1.5rem;
}

.bio-photo {
  max-width: 250px;
  height: auto;
  border-radius: 500px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media print, screen and (min-width: 64em) {
  .bio-photo {
    margin-top: -150px;
  }
}
.bio-photo:hover {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}

.bio-book {
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media print, screen and (min-width: 64em) {
  .bio-book {
    margin-top: -150px;
  }
}
.bio-book:hover {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}

.cookie-banner {
  position: fixed;
  bottom: 40px;
  left: 10%;
  right: 10%;
  padding: 10px 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: rgba(10, 10, 10, 0.9);
  border-radius: 5px;
  -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
  z-index: 10;
}
.cookie-banner p {
  font-family: Helvetica, sans-serif;
  color: #ddd;
}
.cookie-banner p a {
  color: #eee;
}

.close {
  height: 20px;
  background-color: #777;
  border: none;
  color: white;
  border-radius: 2px;
  cursor: pointer;
}
.close:hover {
  background-color: #333;
}

header.book-header {
  -ms-grid-column: 1;
  -ms-grid-column-span: 12;
  grid-column: 1/13;
}

section.book-image {
  -ms-grid-column: 3;
  -ms-grid-column-span: 8;
  grid-column: 3/11;
}
@media print, screen and (min-width: 40em) {
  section.book-image {
    -ms-grid-column: 2;
    -ms-grid-column-span: 3;
    grid-column: 2/5;
  }
}
section.book-image img {
  max-width: 100%;
  height: auto;
}

section.book-info {
  -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2/12;
  padding-top: 8.25%;
  background: #fff;
  margin-bottom: 5.5%;
}
@media print, screen and (min-width: 40em) {
  section.book-info {
    -ms-grid-column: 5;
    -ms-grid-column-span: 7;
    grid-column: 5/12;
  }
}

footer.book-footer {
  -ms-grid-column: 1;
  -ms-grid-column-span: 12;
  grid-column: 1/13;
}
footer.book-footer h1 {
  margin-bottom: 2.75%;
}

div.purchase-links {
  margin-top: 11%;
  background: #101a35;
  padding: 20px;
}
div.purchase-links h2 {
  font-size: 2rem;
}
div.purchase-links ul {
  margin: 0;
  padding: 0;
}
div.purchase-links ul li {
  list-style: none;
  margin: 0;
}
div.purchase-links ul li a {
  display: block;
  color: #eee;
  text-decoration: none;
  background: #081a46;
  padding: 15px 10px;
  border: 0.5px solid #174bc6;
  margin-bottom: 10px;
  font-size: 1.3rem;
  -webkit-transition: all 1s infinite;
  transition: all 1s infinite;
}
div.purchase-links ul li a:hover {
  background: #0c2766;
}

.size {
  background: orangered;
  min-width: 100px;
  height: 40px;
  position: fixed;
  bottom: 0;
  left: 0;
  border-radius: 0 12px 0 0;
  color: #fff;
  font-family: sans-serif;
  font-weight: 700;
  text-shadow: -1px -1px 0 red;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 1px;
  padding: 0 10px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  z-index: 10;
}
.size::after {
  content: "small";
}
@media print, screen and (min-width: 40em) {
  .size::after {
    content: "medium";
  }
}
@media print, screen and (min-width: 64em) {
  .size::after {
    content: "large";
  }
}
@media screen and (min-width: 75em) {
  .size::after {
    content: "x-large";
  }
}
@media screen and (min-width: 90em) {
  .size::after {
    content: "xx-large";
  }
}

section.book_section, section.tv_section {
  background-size: cover;
  background-position: 50% 50%;
  aspect-ratio: 3/2;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  margin-bottom: 2.75%;
}
section.book_section > div, section.tv_section > div {
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  position: relative;
}
section.book_section > div > div, section.tv_section > div > div {
  position: absolute;
  width: 100%;
  bottom: 0;
  padding-bottom: 5.5%;
}
section.book_section > div > div p, section.tv_section > div > div p {
  font-family: priori-serif, serif;
  font-style: italic;
  font-size: 1.8rem;
  font-weight: 300;
  display: block;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.1;
  margin-bottom: 20px;
}
section.book_section > div > div h1, section.tv_section > div > div h1 {
  margin-bottom: 10px;
}
section.book_section > div > div h1 span, section.tv_section > div > div h1 span {
  font-size: 34px;
  line-height: 0.9;
  display: block;
  font-style: italic;
}

section.book_section.discworld_cover {
  background-image: url("assets/img/discworld_cover.jpg");
}

section.book_section.goodomens_cover {
  background-image: url("assets/img/goodomens_cover.jpg");
}

section.book_section.bromeliad_cover {
  background-image: url("assets/img/truckers_cover.jpg");
}

section.book_section.longearth_cover {
  background-image: url("assets/img/longearth_cover.jpg");
}

section.book_section.johnny_cover {
  background-image: url("assets/img/johnny_cover.jpg");
}

section.book_section.nation_cover {
  background-image: url("assets/img/nation_cover.jpg");
}

section.book_section.dodger_cover {
  background-image: url("assets/img/dodger_cover.jpg");
}

section.book_section.terry_cover {
  background-image: url("assets/img/terry_cover.jpg");
}

section.tv_section.maurice_cover {
  background-image: url("assets/img/maurice-tv-cover.jpg");
}

section.tv_section.go_cover {
  background-image: url("assets/img/go-tv-cover.jpg");
}

section.tv_section.sb_cover {
  background-image: url("assets/img/sb-tv-cover.jpg");
}

section.tv_section.com_cover {
  background-image: url("assets/img/com-tv-cover.jpg");
}

section.tv_section.hog_cover {
  background-image: url("assets/img/hog-tv-cover.jpg");
}

section.tv_section.gp_cover {
  background-image: url("assets/img/gp-tv-cover.jpg");
}

section.tv_section.dw_cover {
  background-image: url("assets/img/dw-tv-cover.jpg");
}

.author-box {
  max-width: 500px;
  margin: 30px auto;
  text-align: left;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 96px 1fr;
  grid-template-columns: 96px 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  background: rgba(255, 255, 255, 0.2);
  padding: 10px;
  border-radius: 100px;
}

.author-box > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.author-box > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}
.author-box .author-pic {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}
.author-box .author-bio {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  padding-left: 10px;
}
.author-box h3 {
  color: #ddd;
  font-size: 2.1rem;
  font-weight: 400;
  margin: 0;
}
.author-box p {
  color: #ccc;
  margin: 0;
  font-weight: 400;
  font-size: 0.9rem;
  line-height: 1.4;
}
.author-box .wp-user-avatar {
  border-radius: 100px;
}

/*---------- Video Embeds ---------*/
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto;
}

.video-container iframe, .video-container object, .video-container embed, .video-container video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}