/* -----------------------------------------------------------------------------*/
/* This file contains CSS variables for all, colours, breakpoints, etc*/
/* -----------------------------------------------------------------------------s*/
/* The map is a bit of overkill when it comes to the breakpoints*/
/* but if I wanted to do it this would be how*/
/* $breakpoints: (*/
/*  small: 768px,*/
/*  medium: 980px,*/
/*  large: 1200px,*/
/* );*/
.white {
  color: #FFFFFF;
}

.white-bg {
  background-color: #FFFFFF;
}

.grey {
  color: #FAF8F8;
}

.grey-bg {
  background-color: #FAF8F8;
}

.black {
  color: #000000;
}

.black-bg {
  background-color: #000000;
}

/**
 * Basic typography style for copy text
 */
/* $base-font-size: 16px;*/
/* $base-line-height: 24px;*/
@font-face {
  font-family: "optima";
  src: url("/static/fonts/OptimaBold.bd3b22036b7a.eot?#iefix");
  src: url("/static/fonts/OptimaBold.bd3b22036b7a.eot?#iefix") format("eot"), url("/static/fonts/OptimaBold.5fa99281c141.woff2") format("woff2"), url("/static/fonts/OptimaBold.fc483e749326.woff") format("woff"), url("/static/fonts/OptimaBold.10bba0dc76f6.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
}
/**
 * Set up a decent box model on the root element
 */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/**
 * Make all elements from the DOM inherit from the parent box-sizing
 * Since `*` has a specificity of 0, it does not override the `html` value
 * making all elements inheriting from the root box-sizing value
 * See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
*, *::before, *::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

/**
 * Clear inner floats
 */
.clearfix::after {
  clear: both;
  content: "";
  display: table;
}

header + .holder {
  margin-top: 56px;
}
@media (min-width: 768px) {
  header + .holder {
    margin-top: 71px;
  }
}

html, body {
  margin: 0;
}

body {
  font-family: "Jost", sans-serif;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
  font-family: optima;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child {
  margin-top: 0;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child {
  margin-bottom: 0;
}

.link {
  font-family: "Jost", sans-serif;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  cursor: pointer;
}

h1 {
  font-size: 30px;
  line-height: 35px;
}
@media (min-width: 768px) {
  h1 {
    font-size: 60px;
    line-height: 70px;
  }
}

h2 {
  font-size: 24px;
  line-height: 30px;
}
@media (min-width: 768px) {
  h2 {
    font-size: 50px;
    line-height: 57px;
  }
}

h3 {
  font-size: 24px;
  line-height: 30px;
}
@media (min-width: 768px) {
  h3 {
    font-size: 40px;
    line-height: 45px;
  }
}

h4 {
  font-size: 20px;
  line-height: 23px;
}
@media (min-width: 768px) {
  h4 {
    font-size: 23px;
    line-height: 28px;
  }
}

h5 {
  font-size: 20px;
  line-height: 25px;
}
@media (min-width: 768px) {
  h5 {
    font-size: 18px;
    line-height: 21px;
  }
}

p {
  font-size: 13px;
  line-height: 22px;
}
@media (min-width: 768px) {
  p {
    font-size: 16px;
    line-height: 23px;
  }
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  line-height: 0;
}

label, input, textarea {
  font-family: "Jost", sans-serif;
  font-size: 13px;
  line-height: 21px;
}
@media (min-width: 768px) {
  label, input, textarea {
    font-size: 14px;
    line-height: 23px;
  }
}

input:focus, textarea:focus {
  /* outline: 5px auto $white;*/
}

textarea {
  max-width: 100%;
  resize: none;
}

.sml {
  font-size: 12px;
  line-height: 17px;
}

.med {
  font-size: 15px;
  line-height: 21px;
}
@media (min-width: 768px) {
  .med {
    font-size: 16px;
    line-height: 24px;
  }
}

.lrg {
  font-size: 15px;
  line-height: 21px;
}
@media (min-width: 768px) {
  .lrg {
    font-size: 18px;
    line-height: 31px;
  }
}

.link {
  font-size: 15px;
  line-height: 20px;
}

.book {
  font-weight: 400;
}

.medium {
  font-weight: 500;
}

.demi {
  font-weight: 600;
}

.bold {
  font-weight: 700;
}

.link {
  display: inline-block;
  position: relative;
  overflow: hidden;
}
.link .link-wrapper {
  position: relative;
}
.link .link-wrapper .arrow {
  display: inline-block;
  position: relative;
  width: 35px;
  height: 12px;
  margin-right: 17px;
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.link .link-wrapper .arrow:before {
  content: "";
  width: 7px;
  height: 12px;
  position: absolute;
  right: -1px;
  top: 0;
  background-image: url("/static/img/caret-right.0fa6b222d667.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.link .link-wrapper .arrow:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000000;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.link .link-wrapper .arrow.-white:before {
  content: "";
  width: 7px;
  height: 12px;
  position: absolute;
  right: -1px;
  top: 0;
  background-image: url("/static/img/caret-right-white.01c4559cbb1f.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.link .link-wrapper .arrow.-white:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #FFFFFF;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.link .link-wrapper .arrow-left {
  display: inline-block;
  position: relative;
  width: 35px;
  height: 12px;
  margin-right: 16px;
  margin-left: 1px;
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.link .link-wrapper .arrow-left:before {
  content: "";
  width: 7px;
  height: 12px;
  position: absolute;
  left: -1px;
  top: 0;
  background-image: url("/static/img/caret-left.db600b856a12.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.link .link-wrapper .arrow-left:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000000;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (pointer: fine) and (hover: hover) {
  .link .link-wrapper {
    /* left: 15px;*/
  }
  .link .link-wrapper .arrow {
    width: 20px;
  }
  .link .link-wrapper .arrow-left {
    width: 20px;
  }
  .link:hover .link-wrapper {
    /* left: 0;*/
  }
  .link:hover .link-wrapper .arrow {
    width: 35px;
  }
  .link:hover .link-wrapper .arrow-left {
    width: 35px;
  }
}

@media (pointer: fine) and (hover: hover) {
  .image:hover .responsive-icon .-play {
    opacity: 1;
  }
}
.holder {
  position: relative;
}
.holder .inner {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.holder .inner.-no-padding-mobile {
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 768px) {
  .holder .inner.-no-padding-mobile {
    padding-left: 56px;
    padding-right: 56px;
  }
}
@media (min-width: 768px) {
  .holder .inner {
    padding-left: 56px;
    padding-right: 56px;
  }
}

header {
  z-index: 99;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 56px;
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 768px) {
  header {
    height: 71px;
    padding-left: 56px;
    padding-right: 56px;
  }
}
header .header-item {
  position: absolute;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
header .header-links {
  display: none;
  left: 20px;
}
@media (min-width: 1300px) {
  header .header-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    left: 112px;
  }
}
header .header-links .link:not(:last-child) {
  margin-right: 30px;
}
header .header-links .link.-search {
  margin-right: 20px;
}
header .header-burger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  left: 20px;
}
@media (min-width: 768px) {
  header .header-burger {
    left: 56px;
  }
}
header .logo-wrapper {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
header .social-media-links {
  display: none;
}
@media (min-width: 768px) {
  header .social-media-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    right: 56px;
  }
}
header .social-media-links .link:not(:last-child) {
  margin-right: 20px;
}

.embeuhgah {
  position: relative;
  width: 26px;
  height: 18px;
}
.embeuhgah > * {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #000000;
  left: 0;
}
.embeuhgah .top {
  top: 0;
}
.embeuhgah .mid {
  top: 8px;
}
.embeuhgah .bot {
  top: 16px;
}

footer {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 35px;
  padding-bottom: 35px;
}
@media (min-width: 768px) {
  footer {
    padding-left: 56px;
    padding-right: 56px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
footer .footer-item {
  text-align: center;
}
footer .sponsors {
  margin-bottom: 10px;
}
footer .sponsors .logo {
  display: inline-block;
}
footer .as-seen-on {
  margin-bottom: 25px;
}
footer .social-media-links {
  margin-bottom: 15px;
}
footer .social-media-links .link:not(:last-child) {
  margin-right: 9px;
}
nav.sidebar {
  z-index: 101;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  overflow-y: scroll;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
nav.sidebar.-open {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}
@media (min-width: 768px) {
  nav.sidebar {
    padding-top: 45px;
    padding-bottom: 45px;
    padding-left: 75px;
    padding-right: 75px;
    width: 445px;
  }
}
nav.sidebar > *:not(:last-child) {
  margin-bottom: 65px;
}
nav.sidebar .sidebar-top.-desktop {
  display: none;
}
@media (min-width: 768px) {
  nav.sidebar .sidebar-top.-desktop {
    display: block;
  }
}
nav.sidebar .sidebar-top.-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 56px;
}
@media (min-width: 768px) {
  nav.sidebar .sidebar-top.-mobile {
    display: none;
  }
}
nav.sidebar .sidebar-top.-mobile .close {
  margin-left: -15px;
  padding: 15px;
}
nav.sidebar .sidebar-top.-mobile .logo-wrapper {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
nav.sidebar .search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid white;
}
nav.sidebar .search .line-spacer {
  height: 20px;
  width: 1px;
  margin-left: 14px;
  margin-right: 12px;
}
nav.sidebar .search .search-input {
  width: 100%;
  padding-left: 12px;
  padding-top: 4px;
  margin-left: 14px;
  border-left: 1px solid #FFFFFF;
  -webkit-transition: border-left 0s;
  transition: border-left 0s;
}
@-webkit-keyframes blinking {
  0% {
    border-left: 1px solid transparent;
  }
  100% {
    border-left: 1px solid #FFFFFF;
  }
}
@keyframes blinking {
  0% {
    border-left: 1px solid transparent;
  }
  50% {
    border-left: 1px solid #FFFFFF;
  }
  100% {
    border-left: 1px solid transparent;
  }
}
nav.sidebar .search .search-input:not(:focus) {
  -webkit-animation-name: blinking;
  animation-name: blinking;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: steps(1);
  animation-timing-function: steps(1);
}
nav.sidebar .search .search-input:focus {
  border-left: 1px solid transparent !important;
}
nav.sidebar .series-list {
  margin-bottom: 25px;
}
nav.sidebar .series-list .link {
  display: block;
  margin-bottom: 25px;
}
nav.sidebar .about-contact {
  display: block;
}
nav.sidebar .about-contact .link {
  display: block;
  margin-bottom: 25px;
}
nav.sidebar .social-media-links {
  display: block;
}
@media (min-width: 768px) {
  nav.sidebar .social-media-links {
    display: none;
  }
}
nav.sidebar .social-media-links .link:not(:last-child) {
  margin-right: 25px;
}

.body-overlay {
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #000000;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  /* display: none;*/
  opacity: 0;
}
.body-overlay.-active {
  z-index: 100;
  /* display: block;*/
  opacity: 0.5;
}

.search-input {
  background-color: inherit;
  border: none;
  font-family: "Jost", sans-serif;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 20px;
}
.search-input::-webkit-input-placeholder {
  color: #FFFFFF;
}
.search-input:-ms-input-placeholder {
  color: #FFFFFF;
}
.search-input::-ms-input-placeholder {
  color: #FFFFFF;
}
.search-input::-moz-placeholder {
  color: #FFFFFF;
}
.search-input::placeholder {
  color: #FFFFFF;
}

.icon {
  background-size: contain;
  background-repeat: no-repeat;
}
.icon.-search {
  background-image: url("/static/img/icon_search.e42d5d1a6eeb.svg");
  width: 15px;
  height: 15px;
}
.icon.-search.-white {
  background-image: url("/static/img/icon_search_white.931ae9bdc423.svg");
  width: 16.5px;
  height: 16.5px;
}
.icon.-facebook {
  background-image: url("/static/img/icon_facebook.1f15eb573f1e.svg");
  width: 25px;
  height: 25px;
}
.icon.-facebook.-white {
  background-image: url("/static/img/icon_facebook_white.9f1e3bdecdb6.svg");
  width: 25px;
  height: 25px;
}
.icon.-facebook.-sidebar {
  width: 24.48px;
  height: 24.48px;
}
.icon.-instagram {
  background-image: url("/static/img/icon_instagram.c094cbb5e9a2.svg");
  width: 25px;
  height: 25px;
}
.icon.-instagram.-white {
  background-image: url("/static/img/icon_instagram_white.bf1dce074c89.svg");
  width: 25px;
  height: 25px;
}
.icon.-instagram.-sidebar {
  width: 25.25px;
  height: 25.25px;
}
.icon.-youtube {
  background-image: url("/static/img/icon_youtube.d590d555066f.svg");
  width: 25px;
  height: 25px;
}
.icon.-youtube.-white {
  background-image: url("/static/img/icon_youtube_white.458240b0aba4.svg");
  width: 25px;
  height: 25px;
}
.icon.-youtube.-sidebar {
  width: 25.43px;
  height: 29.35px;
}
.icon.-tiktok {
  background-image: url("/static/img/icon_tiktok.34799ead9f23.svg");
  width: 25px;
  height: 25px;
}
.icon.-tiktok.-white {
  background-image: url("/static/img/icon_tiktok_white.9765611f29e8.svg");
  width: 25px;
  height: 25px;
}
.icon.-tiktok.-sidebar {
  width: 25.43px;
  height: 29.35px;
}

.responsive-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 30%;
}
@media (min-width: 768px) {
  .responsive-icon {
    width: 15%;
  }
}
.responsive-icon > * {
  background-size: contain;
  background-repeat: no-repeat;
}
.responsive-icon .-play {
  background-image: url("/static/img/icon_play.88d6d12a585d.svg");
  opacity: 0.7;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  padding-top: 100%;
}

.logo {
  background-size: contain;
  background-repeat: no-repeat;
}
.logo.-frank {
  background-image: url("/static/img/logo_frank.89078ab3f7fd.svg");
  width: 81px;
  height: 24px;
}
@media (min-width: 768px) {
  .logo.-frank {
    width: 99px;
    height: 30px;
  }
}
.logo.-frank.-white {
  background-image: url("/static/img/logo_frank_white.4e1168fecfc1.svg");
  width: 81px;
  height: 24px;
}

.page-heading {
  width: 100%;
  padding-top: 60px;
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  .page-heading {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}
.page-heading .heading {
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .page-heading .heading {
    width: 80%;
    margin: auto;
  }
}
.page-heading .intro {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  text-align: center;
  margin-top: 20px;
}
@media (min-width: 768px) {
  .page-heading .intro {
    margin-top: 28px;
  }
}
.page-heading .intro .text:not(:last-child) {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .page-heading .intro .text:not(:last-child) {
    margin-bottom: 28px;
  }
}

@media (min-width: 1200px) {
  .feature-film {
    display: grid;
    grid-template-columns: 2fr 1fr;
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    column-gap: 3%;
  }
}
.feature-film .image-wrapper {
  position: relative;
  padding-top: 20px;
}
@media (min-width: 768px) {
  .feature-film .image-wrapper {
    padding-top: 56px;
  }
}
@media (min-width: 1200px) {
  .feature-film .image-wrapper {
    padding-top: 3%;
    padding-bottom: 3%;
  }
}
.feature-film .image-wrapper .image {
  z-index: 3;
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9*/
}
.feature-film .image-wrapper .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.feature-film .image-wrapper .image .icon.-play {
  z-index: 5;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.feature-film .details {
  padding-top: 20px;
  padding-bottom: 30px;
}
@media (min-width: 1200px) {
  .feature-film .details {
    padding-top: 30px;
    padding-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.feature-film .details .text-wrapper .title {
  display: block;
  margin-bottom: 10px;
}
@media (min-width: 1200px) {
  .feature-film .details .text-wrapper .title {
    margin-bottom: 15px;
  }
}
.feature-film .details .text-wrapper .tagline {
  margin-top: 0;
  margin-bottom: 20px;
}
@media (min-width: 1200px) {
  .feature-film .details .text-wrapper .tagline {
    margin-bottom: 75px;
  }
}

.film-gallery-heading {
  text-align: center;
  padding-bottom: 40px;
  margin-top: 0;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .film-gallery-heading {
    padding-bottom: 55px;
    margin-top: 0;
    margin-bottom: 0;
  }
}
.film-gallery-heading:first-child {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .film-gallery-heading:first-child {
    padding-top: 55px;
  }
}

.film-gallery {
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .film-gallery {
    display: grid;
    grid-template-columns: 1fr;
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    column-gap: 3%;
  }
}
@media (min-width: 980px) {
  .film-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .film-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}
.film-gallery:first-child {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .film-gallery:first-child {
    padding-top: 55px;
  }
}
.film-gallery .film {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.film-gallery .film:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .film-gallery .film {
    margin-bottom: 60px;
  }
  .film-gallery .film:last-child {
    margin-bottom: 60px;
  }
}
.film-gallery .film .image-wrapper {
  width: 100%;
  position: relative;
}
.film-gallery .film .film-wrapper {
  /* z-index: 0;*/
}
.film-gallery .film .poster img {
  width: 100%;
}
.film-gallery .film .image {
  z-index: 2;
  padding-top: 56.25%;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #000000;
}
@media (min-width: 768px) {
  .film-gallery .film .image {
    padding-top: 56.25%;
  }
}
.film-gallery .film .image img {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  width: 100%;
}
.film-gallery .film .image img.desktop {
  display: none;
}
@media (min-width: 768px) {
  .film-gallery .film .image img.desktop {
    display: block;
  }
}
.film-gallery .film .image img.mobile {
  display: block;
}
@media (min-width: 768px) {
  .film-gallery .film .image img.mobile {
    display: none;
  }
}
.film-gallery .film .image.-poster {
  padding-top: 148%;
}
.film-gallery .film .image .icon.-play {
  z-index: 5;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.film-gallery .film .image:hover .icon.-play {
  opacity: 1;
}
.film-gallery .film .-desktop {
  display: block;
}
.film-gallery .film .title {
  margin-top: 13px;
  margin-bottom: 20px;
  width: 100%;
}
@media (min-width: 768px) {
  .film-gallery .film .title {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}
.film-gallery .film .tagline {
  display: none;
  margin-top: 0;
  margin-bottom: 30px;
  width: 100%;
}
@media (min-width: 768px) {
  .film-gallery .film .tagline {
    display: block;
    line-height: 24px;
  }
}
.film-gallery .film .links {
  position: static;
}
@media (min-width: 768px) {
  .film-gallery .film .links {
    margin-top: auto;
  }
}
.film-gallery .film .details.-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .film-gallery .film .details.-mobile {
    display: none;
  }
}
.film-gallery .film .details.-mobile .title {
  margin-top: 0;
  margin-bottom: 0;
}
.film-gallery .film .details.-mobile .link {
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.hero-wrapper {
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .hero-wrapper {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}
.hero-wrapper .image {
  position: relative;
  padding-top: 56.25%;
}
.hero-wrapper .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.film-wrapper {
  z-index: 3;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 56.25%;
  background-color: #000000;
}
.film-wrapper iframe {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.film-details {
  padding-bottom: 50px;
  display: grid;
  grid-template-areas: "title" "desc" "info" "nav";
}
@media (min-width: 768px) {
  .film-details {
    padding-bottom: 80px;
    position: relative;
    grid-template-areas: "title desc" "info desc" ". desc" "nav nav";
    grid-template-rows: auto auto auto auto;
    -webkit-column-gap: 15%;
    -moz-column-gap: 15%;
    column-gap: 15%;
  }
}
@media (min-width: 1200px) {
  .film-details {
    grid-template-columns: 3fr 5fr;
  }
}
.film-details .film-title {
  grid-area: title;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .film-details .film-title {
    margin-bottom: 4rem;
  }
}
.film-details .film-info {
  grid-area: info;
}
.film-details .film-info > *:not(:last-child) {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .film-details .film-info > *:not(:last-child) {
    margin-bottom: 4rem;
  }
}
.film-details .film-info .film-links-to-watch .film-links-to-watch-heading {
  margin-bottom: 0.5em;
}
.film-details .film-info .film-links-to-watch .film-link-to-watch .link {
  font-size: 20px;
}
.film-details .film-info .film-quote .quote {
  font-size: 24px;
}
.film-details .film-info .film-credits .film-credits-heading {
  margin-bottom: 0.5rem;
}
.film-details .film-description {
  grid-area: desc;
}
.film-details .film-description .gallery {
  margin-bottom: 2em;
}
.film-details .film-description .date-runtime {
  margin-bottom: 27px;
}
@media (min-width: 768px) {
  .film-details .film-description .date-runtime {
    margin-bottom: 45px;
  }
}
.film-details .film-description .date-runtime .date {
  margin-top: 0;
  margin-bottom: 3px;
}
@media (min-width: 768px) {
  .film-details .film-description .date-runtime .date {
    margin-bottom: 10px;
  }
}
.film-details .film-description .date-runtime .runtime {
  margin-top: 0;
  margin-bottom: 0;
}
.film-details .film-description .tagline {
  margin-bottom: 21px;
}
@media (min-width: 768px) {
  .film-details .film-description .tagline {
    margin-bottom: 31px;
  }
}
.film-details .film-description .description {
  margin-top: 0;
  margin-bottom: 35px;
}
@media (min-width: 768px) {
  .film-details .film-description .description {
    margin-bottom: 0;
  }
}
.film-details .details.-left {
  margin-bottom: 2rem;
}
.film-details .details.-left > *:not(:last-child) {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .film-details .details.-left > *:not(:last-child) {
    margin-bottom: 4rem;
  }
}
@media (min-width: 768px) {
  .film-details .details.-left {
    max-width: 400px;
  }
}
@media (min-width: 1200px) {
  .film-details .details.-left {
    max-width: none;
  }
}
.film-details .details.-left .title {
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .film-details .details.-left .title {
    margin-top: -8px;
    margin-bottom: 80px;
  }
}
.film-details .details.-left .film-quote .quote {
  font-size: 24px;
}
.film-details .details.-left .film-credits .film-credits-heading {
  margin-bottom: 0.5rem;
}
.film-details .details.-right .date-runtime {
  margin-bottom: 27px;
}
@media (min-width: 768px) {
  .film-details .details.-right .date-runtime {
    margin-bottom: 45px;
  }
}
.film-details .details.-right .date-runtime .date {
  margin-top: 0;
  margin-bottom: 3px;
}
@media (min-width: 768px) {
  .film-details .details.-right .date-runtime .date {
    margin-bottom: 10px;
  }
}
.film-details .details.-right .date-runtime .runtime {
  margin-top: 0;
  margin-bottom: 0;
}
.film-details .details.-right .tagline {
  margin-bottom: 21px;
}
@media (min-width: 768px) {
  .film-details .details.-right .tagline {
    margin-bottom: 31px;
  }
}
.film-details .details.-right .description {
  margin-top: 0;
  margin-bottom: 35px;
}
@media (min-width: 768px) {
  .film-details .details.-right .description {
    margin-bottom: 0;
  }
}
.film-details .video-navigation {
  position: static;
  grid-area: nav;
}
.film-details .video-navigation .prev-video, .film-details .video-navigation .next-video {
  display: block;
}
.film-details .video-navigation .prev-video:first-child, .film-details .video-navigation .next-video:first-child {
  margin-bottom: 20px;
}
.film-details .video-navigation .prev-video:last-child, .film-details .video-navigation .next-video:last-child {
  margin-bottom: 0;
}

.about {
  position: relative;
  padding-bottom: 50px;
}
@media (min-width: 768px) {
  .about {
    display: grid;
    grid-template-columns: 1fr 2fr;
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    column-gap: 3%;
    padding-bottom: 80px;
  }
}
.about .heading {
  padding-top: 5px;
  margin-bottom: 25px;
}
@media (min-width: 768px) {
  .about .heading {
    padding-top: 0;
    margin-bottom: 0;
  }
}
.about .text-container .text-heading .rich-text p, .about .text-container .text-left .rich-text p, .about .text-container .text-right .rich-text p {
  font-size: inherit;
  line-height: inherit;
}
.about .text-container .text-heading .rich-text p:not(:last-child), .about .text-container .text-left .rich-text p:not(:last-child), .about .text-container .text-right .rich-text p:not(:last-child) {
  margin-bottom: 21px;
}
@media (min-width: 768px) {
  .about .text-container .text-heading .rich-text p:not(:last-child), .about .text-container .text-left .rich-text p:not(:last-child), .about .text-container .text-right .rich-text p:not(:last-child) {
    margin-bottom: 31px;
  }
}
.about .text-container .text-heading {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .about .text-container .text-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    column-gap: 3%;
  }
}
.about .text-container .text-body .text-left {
  margin-bottom: 21px;
}
@media (min-width: 768px) {
  .about .text-container .text-body .text-left {
    margin-bottom: 0;
  }
}
.about .text-container .text-body .text-right {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .about .text-container .text-body .text-right {
    margin-bottom: 0;
  }
}
.about .contact-link {
  position: static;
}
@media (min-width: 768px) {
  .about .contact-link {
    position: absolute;
    left: 0;
    bottom: 80px;
  }
}

.contact {
  position: relative;
  padding-bottom: 50px;
}
@media (min-width: 768px) {
  .contact {
    display: grid;
    grid-template-columns: 1fr 2fr;
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    column-gap: 3%;
    padding-bottom: 75px;
  }
}
.contact .required-message {
  display: none;
  margin: 0;
}
@media (min-width: 768px) {
  .contact .required-message {
    display: block;
    position: absolute;
    left: 0;
    bottom: 80px;
    margin-bottom: -7px;
  }
}
.contact .form-container .form-intro {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .contact .form-container .form-intro {
    margin-bottom: 35px;
  }
}

.contact-form .form-row:not(:last-child) {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .contact-form .form-row {
    display: grid;
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    column-gap: 3%;
  }
  .contact-form .form-row.-double {
    grid-template-columns: 1fr 1fr;
  }
  .contact-form .form-row:not(:last-child) {
    margin-bottom: 30px;
  }
}
.contact-form .form-row .input-wrapper.-half {
  width: 100%;
}
.contact-form .form-row .input-wrapper.-half:first-child {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .contact-form .form-row .input-wrapper.-half:first-child {
    margin-bottom: 0;
  }
}
.contact-form .form-row .input-wrapper.-full {
  width: 100%;
}
.contact-form .form-row .input-wrapper .label {
  display: block;
  margin-bottom: 6px;
}
.contact-form .form-row .input-wrapper input, .contact-form .form-row .input-wrapper textarea {
  padding: 5px 10px;
  display: block;
  width: 100%;
  border: 1px solid #000000;
}
.contact-form .form-row .input-wrapper button {
  background: none;
  border: none;
  padding: 0;
}

.lds-facebook {
  z-index: 1;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
}

.lds-facebook div {
  display: inline-block;
  position: absolute;
  left: 6px;
  width: 13px;
  background: #fff;
  -webkit-animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
  animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}

.lds-facebook div:nth-child(1) {
  left: 6px;
  -webkit-animation-delay: -0.24s;
  animation-delay: -0.24s;
}

.lds-facebook div:nth-child(2) {
  left: 26px;
  -webkit-animation-delay: -0.12s;
  animation-delay: -0.12s;
}

.lds-facebook div:nth-child(3) {
  left: 45px;
  -webkit-animation-delay: 0;
  animation-delay: 0;
}

@-webkit-keyframes lds-facebook {
  0% {
    top: 6px;
    height: 51px;
  }
  50%, 100% {
    top: 19px;
    height: 26px;
  }
}
@keyframes lds-facebook {
  0% {
    top: 6px;
    height: 51px;
  }
  50%, 100% {
    top: 19px;
    height: 26px;
  }
}
.gallery {
  display: none;
  position: relative;
}
@media (min-width: 980px) {
  .gallery {
    display: block;
    width: 100%;
    float: left;
    padding-bottom: 56.25%;
  }
}
.gallery .swipe {
  overflow: hidden;
  visibility: hidden;
  position: absolute;
  height: 100%;
  width: 100%;
}
.gallery .swipe-wrap {
  overflow: hidden;
  position: relative;
  height: 100%;
}
.gallery .swipe-wrap > div {
  float: left;
  width: 100%;
  position: relative;
  height: 100%;
}
.gallery .controls {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.gallery .controls .prev {
  border-right: 25px solid #FAF8F8;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -18px;
  cursor: pointer;
}
.gallery .controls .next {
  border-left: 25px solid #FD7245;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -18px;
  cursor: pointer;
}
.gallery .dot-holder {
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 100%;
  text-align: center;
}
.gallery .dot-holder .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
  border: 1px solid #fff;
  display: inline-block;
  margin: 0px 3px;
  cursor: pointer;
}
.gallery .dot-holder .dot.selected {
  background: #fff;
}

.template-about-gerard .about-gerard-grid {
  padding-top: 56px;
  padding-bottom: 56px;
}
.template-about-gerard .filmography-grid {
  padding-bottom: 56px;
}

.about-gerard-grid {
  display: grid;
  grid-template-areas: "title" "image" "text1" "quote" "text2";
  gap: 2em;
}
@media (min-width: 768px) {
  .about-gerard-grid {
    grid-template-areas: "title image" "text1 image" "text2 image" ". image";
  }
}
.about-gerard-grid .title {
  grid-area: title;
}
.about-gerard-grid .image {
  grid-area: image;
}
.about-gerard-grid .image .quote-desktop {
  display: none;
}
@media (min-width: 768px) {
  .about-gerard-grid .image .quote-desktop {
    margin-top: 2em;
    display: block;
  }
}
.about-gerard-grid .text-1 {
  grid-area: text1;
}
.about-gerard-grid .text-2 {
  grid-area: text2;
}
.about-gerard-grid .quote-mobile {
  grid-area: quote;
  display: block;
}
@media (min-width: 768px) {
  .about-gerard-grid .quote-mobile {
    display: none;
  }
}
.about-gerard-grid .quote {
  font-size: 30px;
  line-height: 1.1em;
  margin-bottom: 0.5em;
}
@media (min-width: 768px) {
  .about-gerard-grid .quote {
    font-size: 40px;
  }
}

.filmography-grid {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .filmography-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 980px) {
  .filmography-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.filmography-grid > * {
  border-top: 2px solid #c9c9c9;
  padding: 1em 0px;
  padding-top: calc(1em + 3px);
  word-break: break-word;
}
@media (min-width: 768px) {
  .filmography-grid > * {
    padding: 2em 1em;
    padding-top: calc(2em + 3px);
  }
  .filmography-grid > *:nth-child(4n+1) {
    border-color: #000000;
    border-top-width: 5px;
    padding-top: 2em;
  }
  .filmography-grid > *:nth-child(4n+4) {
    border-color: #000000;
    border-top-width: 5px;
    padding-top: 2em;
  }
}
@media (min-width: 980px) {
  .filmography-grid > *:nth-child(even) {
    border-top: 2px solid #c9c9c9;
    padding: 2em 1em;
    padding-top: calc(2em + 3px);
  }
  .filmography-grid > *:nth-child(odd) {
    border-color: #000000;
    border-top-width: 5px;
    padding-top: 2em;
  }
}
.filmography-grid .title, .filmography-grid .text * {
  font-size: 16px;
  line-height: 22px;
}

.home-featured-series:first-child {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .home-featured-series:first-child {
    padding-top: 55px;
  }
}
.home-featured-series:last-child {
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .home-featured-series:last-child {
    padding-bottom: 55px;
  }
}
@media (min-width: 768px) {
  .home-featured-series:not(:last-child) .film-gallery {
    padding-bottom: 0;
  }
}
.home-featured-series .home-featured-series-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 20px;
}
.home-featured-series .home-featured-series-header .heading {
  margin-right: 10px;
}
.home-featured-series .home-featured-series-header .see-all {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.home-heading .image {
  margin-bottom: 28px;
}
.home-heading .image img {
  width: 100%;
}

@media (min-width: 980px) {
  .gerard-about {
    display: grid;
    grid-template-areas: "text image image";
    grid-template-columns: 1fr 1fr 1fr;
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    column-gap: 3%;
    row-gap: 50px;
  }
}
.gerard-about .image {
  grid-area: image;
}
@media (min-width: 980px) {
  .gerard-about .image {
    margin-bottom: 0;
  }
}
.gerard-about .text-content {
  grid-area: text;
}
@media (min-width: 980px) {
  .gerard-about .text-content {
    -ms-flex-item-align: center;
    align-self: center;
  }
}
@media (min-width: 980px) {
  .gerard-about .heading {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (min-width: 980px) {
  .gerard-about .intro {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}