@font-face {
  font-family: 'montserrat';
  src: url("../fonts/Montserrat-Regular.ttf");
  font-weight: normal; }

body {
  height: 100%; }

html, body {
  margin: 0;
  padding: 0; }

body {
  background-color: black;
  line-height: 1.25;
  text-shadow: 1px 1px 5px black; }

* {
  box-sizing: border-box; }

svg {
  height: auto;
  display: block; }

button {
  font-size: 100%;
  font-family: inherit;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  color: inherit;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none; }

a {
  color: inherit; }

ol, ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6, header {
  font-size: 100%;
  line-height: 1;
  margin: 0; }

.btn {
  cursor: pointer; }

header {
  position: relative;
  z-index: 2;
  font-family: "blenny", serif;
  font-size: 10vw;
  margin: 2rem auto 4rem;
  padding: 0 2rem 0 4rem;
  display: flex; }
  @media only screen and (max-width: 800px) {
    header {
      padding-left: 2rem; } }
  @media (max-width: 500px) {
    header {
      padding-left: 1rem; } }
  header a {
    text-decoration: none; }
  header .header_links {
    margin-left: auto;
    padding-left: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    header .header_links svg {
      pointer-events: none; }
    header .header_links a + a {
      margin-top: 1rem; }

footer {
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1;
  width: 8rem;
  padding: 0 1em;
  overflow: auto; }
  footer nav {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    height: 100%;
    padding: 2rem 5px 0.6666666667rem 0; }
    footer nav svg {
      width: calc(100% - 10px);
      height: calc(100% - 10px);
      margin: 5px;
      transition: transform .25s; }
      footer nav svg:hover {
        transform: scale(1.25); }
    footer nav button {
      display: block;
      width: 100%;
      height: auto;
      font-family: "montserrat", sans-serif; }
    footer nav div.middle {
      align-self: flex-end;
      width: 100%; }
  @media (max-width: 500px) {
    footer {
      width: 5rem;
      padding: 0 .25em; }
      footer nav div.middle {
        align-self: flex-start;
        padding-top: 6rem; } }

#films_btn {
  width: 4rem;
  height: auto;
  position: fixed;
  bottom: .5rem;
  left: .5rem;
  transition: width .5s;
  z-index: 1; }
  #films_btn:hover {
    width: 5rem; }

#screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background .5s;
  background: rgba(0, 0, 0, 0.125); }

#bg_gif {
  display: none;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

video, #bg_gif {
  position: fixed;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  z-index: 0; }

.page {
  position: relative;
  z-index: 1;
  font-family: "montserrat", sans-serif;
  font-size: 1.5em;
  padding: 0 9rem 0 10vw; }
  .page a:hover {
    text-shadow: 1px 1px 5px black; }
  @media only screen and (max-width: 800px) {
    .page {
      font-size: 1em;
      padding-left: 2rem; } }
  @media (max-width: 500px) {
    .page {
      padding-right: 6rem;
      padding-left: 1rem; } }
  .page.open {
    display: block; }
  .page article img {
    max-width: 100%; }

#shows ol > li {
  margin-bottom: 1em; }
  #shows ol > li a {
    text-decoration: none; }
    #shows ol > li a:hover {
      text-decoration: underline; }

#shows ol {
  margin-top: 1em; }

#shows h2 {
  margin-top: 3em;
  font-size: 1.25em; }

.video_wrap {
  height: 0;
  padding-bottom: 66.66%;
  position: relative;
  margin-bottom: 5rem; }
  .video_wrap iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@media only screen and (max-device-width: 1024px) {
  body {
    font-size: 150%; }
  footer {
    width: 20vw; }
  #films_btn {
    display: none; }
  video {
    display: none; }
  #bg_gif {
    display: block; } }
