@charset "UTF-8";

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

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

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

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

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

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

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*! HTML5 Boilerplate v5.0.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

iframe {
  max-width: 100%;
}

figure {
  margin: 0;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

button,
[type=button],
[type=reset],
[type=submit],
.button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #288dc2;
  border: 0;
  border-radius: 0px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: "Oswald", Arial, sans-serif;
  font-size: 2.6rem;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  line-height: 1.4;
  padding: 0.25em 1em;
  text-decoration: none;
  text-shadow: none;
  transition: background-color 150ms ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  vertical-align: middle;
  transition: all 0.4s;
  background-color: #000;
  text-transform: uppercase;
}

button:hover,
button:focus,
[type=button]:hover,
[type=button]:focus,
[type=reset]:hover,
[type=reset]:focus,
[type=submit]:hover,
[type=submit]:focus,
.button:hover,
.button:focus {
  background-color: shade(#288dc2, 20%);
  color: #fff;
  outline: none;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
.button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

button:disabled:hover,
[type=button]:disabled:hover,
[type=reset]:disabled:hover,
[type=submit]:disabled:hover,
.button:disabled:hover {
  background-color: #288dc2;
}

button.striped,
[type=button].striped,
[type=reset].striped,
[type=submit].striped,
.button.striped {
  border-radius: 0;
  background-color: #464646;
  border-top: 9px solid #8aea2d;
  text-transform: uppercase;
  text-align: center;
}

button.striped:hover,
button.striped:focus,
[type=button].striped:hover,
[type=button].striped:focus,
[type=reset].striped:hover,
[type=reset].striped:focus,
[type=submit].striped:hover,
[type=submit].striped:focus,
.button.striped:hover,
.button.striped:focus {
  border-top-color: #71cf15;
  color: #8aea2d;
}

button.outline,
[type=button].outline,
[type=reset].outline,
[type=submit].outline,
.button.outline {
  border-radius: 0;
  border: 2px solid #fff;
  text-transform: uppercase;
}

button.outline:hover,
button.outline:focus,
[type=button].outline:hover,
[type=button].outline:focus,
[type=reset].outline:hover,
[type=reset].outline:focus,
[type=submit].outline:hover,
[type=submit].outline:focus,
.button.outline:hover,
.button.outline:focus {
  color: #d9d9d9;
  border-color: #e9e9e9;
}

button.outline.clear,
[type=button].outline.clear,
[type=reset].outline.clear,
[type=submit].outline.clear,
.button.outline.clear {
  background-color: transparent;
}

button.outline.clear:hover,
button.outline.clear:focus,
button.outline.clear .active,
[type=button].outline.clear:hover,
[type=button].outline.clear:focus,
[type=button].outline.clear .active,
[type=reset].outline.clear:hover,
[type=reset].outline.clear:focus,
[type=reset].outline.clear .active,
[type=submit].outline.clear:hover,
[type=submit].outline.clear:focus,
[type=submit].outline.clear .active,
.button.outline.clear:hover,
.button.outline.clear:focus,
.button.outline.clear .active {
  background-color: #288dc2;
}

button.outline.pink,
[type=button].outline.pink,
[type=reset].outline.pink,
[type=submit].outline.pink,
.button.outline.pink {
  background-color: #fd22f0;
}

button.outline.green,
[type=button].outline.green,
[type=reset].outline.green,
[type=submit].outline.green,
.button.outline.green {
  background-color: #8aea2d;
}

button.outline.blue,
[type=button].outline.blue,
[type=reset].outline.blue,
[type=submit].outline.blue,
.button.outline.blue {
  background-color: #288dc2;
}

button.outline.yellow,
[type=button].outline.yellow,
[type=reset].outline.yellow,
[type=submit].outline.yellow,
.button.outline.yellow {
  background-color: #ffff00;
  color: #000;
}

button.outline.red,
[type=button].outline.red,
[type=reset].outline.red,
[type=submit].outline.red,
.button.outline.red {
  background-color: #ff0000;
}

button.outline.purple,
[type=button].outline.purple,
[type=reset].outline.purple,
[type=submit].outline.purple,
.button.outline.purple {
  background-color: #9d4bc0;
}

form {
  font-size: 2rem;
}

fieldset {
  background-color: tint(#000, 75%);
  border: 1px solid #000;
  margin: 0 0 0.75em;
  padding: 1.5em;
}

input,
label,
select {
  display: block;
  font-family: "Lato", Arial, sans-serif;
  font-size: 2rem;
}

label {
  font-weight: 600;
  margin-bottom: 0.375em;
  text-transform: uppercase;
  text-align: center;
}

label.required::after {
  content: "*";
}

label abbr {
  display: none;
}

[type=color],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
input:not([type]),
textarea,
select[multiple=multiple] {
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 0px;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  font-size: 1rem;
  margin-bottom: 0.75em;
  padding: 1em;
  transition: border-color 150ms ease;
  width: 100%;
}

[type=color]:hover,
[type=date]:hover,
[type=datetime]:hover,
[type=datetime-local]:hover,
[type=email]:hover,
[type=month]:hover,
[type=number]:hover,
[type=password]:hover,
[type=search]:hover,
[type=tel]:hover,
[type=text]:hover,
[type=time]:hover,
[type=url]:hover,
[type=week]:hover,
input:not([type]):hover,
textarea:hover,
select[multiple=multiple]:hover {
  border-color: shade(#000, 20%);
}

[type=color]:focus,
[type=date]:focus,
[type=datetime]:focus,
[type=datetime-local]:focus,
[type=email]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
input:not([type]):focus,
textarea:focus,
select[multiple=multiple]:focus {
  border-color: #288dc2;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(36, 126, 173, 0.7);
  outline: none;
}

[type=color]:disabled,
[type=date]:disabled,
[type=datetime]:disabled,
[type=datetime-local]:disabled,
[type=email]:disabled,
[type=month]:disabled,
[type=number]:disabled,
[type=password]:disabled,
[type=search]:disabled,
[type=tel]:disabled,
[type=text]:disabled,
[type=time]:disabled,
[type=url]:disabled,
[type=week]:disabled,
input:not([type]):disabled,
textarea:disabled,
select[multiple=multiple]:disabled {
  background-color: shade(#fff, 5%);
  cursor: not-allowed;
}

[type=color]:disabled:hover,
[type=date]:disabled:hover,
[type=datetime]:disabled:hover,
[type=datetime-local]:disabled:hover,
[type=email]:disabled:hover,
[type=month]:disabled:hover,
[type=number]:disabled:hover,
[type=password]:disabled:hover,
[type=search]:disabled:hover,
[type=tel]:disabled:hover,
[type=text]:disabled:hover,
[type=time]:disabled:hover,
[type=url]:disabled:hover,
[type=week]:disabled:hover,
input:not([type]):disabled:hover,
textarea:disabled:hover,
select[multiple=multiple]:disabled:hover {
  border: 1px solid #000;
}

select {
  color: #000;
}

textarea {
  resize: vertical;
}

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

input[type=checkbox],
input[type=radio] {
  display: inline;
  margin-right: 0.375em;
}

input[type=checkbox] + label,
input[type=radio] + label {
  display: inline-block;
}

input[type=file] {
  margin-bottom: 0.75em;
  width: 100%;
}

select {
  margin-bottom: 1.5em;
  max-width: 100%;
  width: auto;
}

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

dl {
  margin-bottom: 0.75em;
}

dl dt {
  font-weight: bold;
  margin-top: 0.75em;
}

dl dd {
  margin: 0;
}

table {
  border-collapse: collapse;
  font-feature-settings: "kern", "liga", "tnum";
  margin: 0.75em 0;
  table-layout: fixed;
  width: 100%;
}

th {
  border-bottom: 1px solid shade(#000, 25%);
  font-weight: 600;
  padding: 0.75em 0;
  text-align: left;
}

td {
  border-bottom: 1px solid #000;
  padding: 0.75em 0;
}

tr,
td,
th {
  vertical-align: middle;
}

html {
  font-size: 12px;
}

@media screen and (min-width: 1024px) {
  html {
    font-size: 16px;
  }
}

body {
  color: #333;
  font-family: "Lato", Arial, sans-serif;
  font-feature-settings: "kern", "liga", "pnum";
  line-height: 1.5;
  font-weight: 300;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Oswald", Arial, sans-serif;
  font-size: 12px;
  line-height: 1.2;
  margin: 0 0 0.75em;
}

p {
  margin: 0 0 0.75em;
}

a {
  color: #288dc2;
  text-decoration: none;
  transition: color 150ms ease;
}

a:active,
a:focus,
a:hover {
  color: shade(#288dc2, 25%);
}

a[href^="tel:"] {
  color: #333;
}

hr {
  border-bottom: 1px solid #000;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  margin: 1.5em 0;
}

img,
picture {
  margin: 0;
  max-width: 100%;
}

ul,
ol {
  font-size: 1.5rem;
}

@media screen and (min-width: 1024px) {
  ul,
  ol {
    font-size: 2rem;
  }
}

svg {
  color: #000;
}

.icon {
  fill: currentColor;
}

body {
  color: #222;
}

body.nav-active {
  width: 100%;
}

body.nav-active .nav-drop {
  z-index: 50;
  opacity: 1;
  visibility: visible;
}

body.search-active .form-holder {
  overflow: visible;
  width: 320px;
}

body.search-active .search-opener {
  overflow: hidden;
  position: absolute;
  z-index: -1;
  right: 20px;
}

#wrapper {
  position: relative;
  overflow: hidden;
}

.wrapper main {
  transition: opacity 0.4s;
}

.container {
  width: 90%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 1rem;
}

button.arrow {
  background-color: transparent;
  position: absolute;
  top: calc(50% - 26px);
  z-index: 10;
  padding: 4px;
  border-radius: 0;
}

button.arrow:focus {
  box-shadow: none;
}

button.arrow.slick-prev {
  left: 0;
}

button.arrow.slick-next {
  right: 0;
}

button.arrow .icon {
  color: #fff;
  display: inline-block;
  height: 34px;
  width: 34px;
}

.dropdown {
  line-height: 1.5em;
  margin: 1rem 0;
}

.dropdown .dropdown-container {
  display: inline-block;
  position: relative;
  text-align: center;
  width: 85%;
}

.dropdown .dropdown-description {
  background: #fff;
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-left: none;
  border-top-left-radius: 0;
  border-top: none;
  color: white;
  float: left;
  font-size: 1em;
  line-height: 40px;
  margin: 0;
  padding: 0 0.5em 0 1em;
}

@media screen and (min-width: 1024px) {
  .dropdown .dropdown-description {
    font-size: 1em;
  }
}

.dropdown .dropdown-button {
  display: inline-block;
  font-family: "Oswald", Arial, sans-serif;
  background: #fff;
  border-bottom: none;
  border-bottom-right-radius: 0;
  border-right: none;
  border-top: none;
  border-top-right-radius: 0;
  cursor: pointer;
  text-align: center;
  font-size: 2rem;
  line-height: 40px;
  margin: 0;
  padding: 0;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .dropdown .dropdown-button {
    padding: 1rem;
  }
}

.dropdown .dropdown-button:before,
.dropdown .dropdown-button:after {
  color: #000;
  content: "\25BE";
  font-size: 2rem;
  padding-left: 2rem;
  display: inline-block;
  right: 1em;
}

.dropdown .dropdown-button:before {
  transform: rotate(180deg);
  position: absolute;
  top: -0.4rem;
  right: -1rem;
}

@media screen and (min-width: 1024px) {
  .dropdown .dropdown-button:before {
    top: 0.8rem;
  }
}

.dropdown .dropdown-button:after {
  top: 0.5rem;
  right: 1rem;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .dropdown .dropdown-button:after {
    top: 0.8rem;
    right: 0;
  }
}

.dropdown .dropdown-menu {
  background: #fff;
  border-top: 2px solid #000;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: none;
  margin: 0;
  overflow: visible;
  padding: 0;
  position: absolute;
  right: 0;
  top: 43.3333333333px;
  transition: all 0.2s ease-in-out;
  width: 100%;
  z-index: 99999;
}

@media screen and (min-width: 1024px) {
  .dropdown .dropdown-menu {
    top: 78px;
  }
}

.dropdown .dropdown-menu::before {
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  left: 0;
  color: #fff;
  font-size: 1.4em;
  pointer-events: none;
  text-shadow: 0 -2px 2px rgba(0, 0, 0, 0.3);
  top: -0.7em;
}

.dropdown .dropdown-menu li {
  font-family: "Oswald", Arial, sans-serif;
  border-bottom: 1px solid #fff;
  color: #000;
  list-style: none;
  padding: 0.6666666667em;
  font-size: 2rem;
}

.dropdown .dropdown-menu li a {
  color: #000;
}

.dropdown .dropdown-menu li:hover {
  background: #f7f7f7;
}

.dropdown .dropdown-menu li:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.dropdown .dropdown-menu li:last-child {
  border: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.dropdown .show-menu {
  display: block;
}

.flex {
  display: flex;
}

.flex.flex-center {
  justify-content: center;
  align-items: center;
}

.flex.justify-between {
  justify-content: space-between;
}

.flex.items-center {
  align-items: center;
}

.flex.justify-center {
  justify-content: center;
}

.flex.flex-wrap {
  flex-wrap: wrap;
}

.flex.flex-column {
  flex-direction: column;
}

.v-cloak {
  visibility: hidden;
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: 0;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-list,
.slick-slider .slick-track {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:after,
.slick-track:before {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.fancybox-enabled {
  overflow: hidden;
}

.fancybox-enabled body {
  overflow: visible;
  height: 100%;
}

.fancybox-is-hidden {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden;
}

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99993;
  -webkit-tap-highlight-color: transparent;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.fancybox-container ~ .fancybox-container {
  z-index: 99992;
}

.fancybox-bg,
.fancybox-inner,
.fancybox-outer,
.fancybox-stage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.fancybox-outer {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
  opacity: 0.87;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-caption-wrap,
.fancybox-infobar,
.fancybox-toolbar {
  position: absolute;
  direction: ltr;
  z-index: 99997;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, visibility 0s linear 0.25s;
  box-sizing: border-box;
}

.fancybox-show-caption .fancybox-caption-wrap,
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.25s, visibility 0s;
}

.fancybox-infobar {
  top: 0;
  left: 50%;
  margin-left: -79px;
}

.fancybox-infobar__body {
  display: inline-block;
  width: 70px;
  line-height: 44px;
  font-size: 13px;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  text-align: center;
  color: #ddd;
  background-color: rgba(30, 30, 30, 0.7);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased;
}

.fancybox-toolbar {
  top: 0;
  right: 0;
}

.fancybox-stage {
  overflow: hidden;
  direction: ltr;
  z-index: 99994;
  -webkit-transform: translateZ(0);
}

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch;
  display: none;
  backface-visibility: hidden;
  transition-property: transform, opacity;
  transform-style: preserve-3d;
}

.fancybox-slide:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--current,
.fancybox-slide--next,
.fancybox-slide--previous {
  display: block;
}

.fancybox-slide--image {
  overflow: visible;
}

.fancybox-slide--image:before {
  display: none;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video iframe {
  background: #000;
}

.fancybox-slide--map .fancybox-content,
.fancybox-slide--map iframe {
  background: #e5e3df;
}

.fancybox-slide--next {
  z-index: 99995;
}

.fancybox-slide > div {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  box-sizing: border-box;
}

.fancybox-slide .fancybox-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  transform-origin: top left;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  backface-visibility: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.fancybox-can-zoomOut .fancybox-image-wrap {
  cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-image-wrap {
  cursor: zoom-in;
}

.fancybox-can-drag .fancybox-image-wrap {
  cursor: grab;
}

.fancybox-is-dragging .fancybox-image-wrap {
  cursor: grabbing;
}

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.fancybox-spaceball {
  z-index: 1;
}

.fancybox-slide--iframe .fancybox-content {
  padding: 0;
  width: 80%;
  height: 80%;
  max-width: calc(100% - 100px);
  max-height: calc(100% - 88px);
  overflow: visible;
  background: #fff;
}

.fancybox-iframe {
  display: block;
  padding: 0;
  border: 0;
  height: 100%;
}

.fancybox-error,
.fancybox-iframe {
  margin: 0;
  width: 100%;
  background: #fff;
}

.fancybox-error {
  padding: 40px;
  max-width: 380px;
  cursor: default;
}

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font: 16px/20px Helvetica Neue, Helvetica, Arial, sans-serif;
}

.fancybox-close-small {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  z-index: 10;
  cursor: pointer;
}

.fancybox-close-small:after {
  content: "\D7";
  position: absolute;
  top: 5px;
  right: 5px;
  width: 30px;
  height: 30px;
  font: 20px/30px Arial, Helvetica Neue, Helvetica, sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  border-radius: 50%;
  border-width: 0;
  background: #fff;
  transition: background 0.25s;
  box-sizing: border-box;
  z-index: 2;
}

.fancybox-close-small:focus:after {
  outline: 1px dotted #888;
}

.fancybox-close-small:hover:after {
  color: #555;
  background: #eee;
}

.fancybox-slide--iframe .fancybox-close-small {
  top: 0;
  right: -44px;
}

.fancybox-slide--iframe .fancybox-close-small:after {
  background: transparent;
  font-size: 35px;
  color: #aaa;
}

.fancybox-slide--iframe .fancybox-close-small:hover:after {
  color: #fff;
}

.fancybox-caption-wrap {
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 30px 0;
  background: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8));
  pointer-events: none;
}

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none;
}

.fancybox-caption a,
.fancybox-caption button,
.fancybox-caption select {
  pointer-events: all;
}

.fancybox-caption a {
  color: #fff;
  text-decoration: underline;
}

.fancybox-button {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  width: 44px;
  height: 44px;
  line-height: 44px;
  text-align: center;
  background: transparent;
  color: #ddd;
  border-radius: 0;
  cursor: pointer;
  vertical-align: top;
  outline: none;
}

.fancybox-button[disabled] {
  cursor: default;
  pointer-events: none;
}

.fancybox-button,
.fancybox-infobar__body {
  background: rgba(30, 30, 30, 0.6);
}

.fancybox-button:hover:not([disabled]) {
  color: #fff;
  background: rgba(0, 0, 0, 0.8);
}

.fancybox-button:after,
.fancybox-button:before {
  content: "";
  pointer-events: none;
  position: absolute;
  background-color: currentColor;
  color: currentColor;
  opacity: 0.9;
  box-sizing: border-box;
  display: inline-block;
}

.fancybox-button[disabled]:after,
.fancybox-button[disabled]:before {
  opacity: 0.3;
}

.fancybox-button--left:after,
.fancybox-button--right:after {
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.fancybox-button--left:after {
  left: 20px;
  transform: rotate(-135deg);
}

.fancybox-button--right:after {
  right: 20px;
  transform: rotate(45deg);
}

.fancybox-button--left {
  border-bottom-left-radius: 5px;
}

.fancybox-button--right {
  border-bottom-right-radius: 5px;
}

.fancybox-button--close:after,
.fancybox-button--close:before {
  content: "";
  display: inline-block;
  position: absolute;
  height: 2px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px);
}

.fancybox-button--close:before {
  transform: rotate(45deg);
}

.fancybox-button--close:after {
  transform: rotate(-45deg);
}

.fancybox-arrow {
  position: absolute;
  top: 50%;
  margin: -50px 0 0;
  height: 100px;
  width: 54px;
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  cursor: pointer;
  z-index: 99995;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: opacity 0.25s;
}

.fancybox-arrow:after {
  content: "";
  position: absolute;
  top: 28px;
  width: 44px;
  height: 44px;
  background-color: rgba(30, 30, 30, 0.8);
  background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 24px 24px;
}

.fancybox-arrow--right {
  right: 0;
}

.fancybox-arrow--left {
  left: 0;
  transform: scaleX(-1);
}

.fancybox-arrow--left:after,
.fancybox-arrow--right:after {
  left: 0;
}

.fancybox-show-nav .fancybox-arrow {
  opacity: 0.6;
}

.fancybox-show-nav .fancybox-arrow[disabled] {
  opacity: 0.3;
}

.fancybox-slide > .fancybox-loading {
  border: 6px solid rgba(99, 99, 99, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  border-radius: 100%;
  height: 50px;
  width: 50px;
  animation: a 0.8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  z-index: 99999;
}

@keyframes a {
  0% {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(359deg);
  }
}

.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

.fancybox-fx-slide.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0);
  opacity: 0;
}

.fancybox-fx-slide.fancybox-slide--next {
  transform: translate3d(100%, 0, 0);
  opacity: 0;
}

.fancybox-fx-slide.fancybox-slide--current {
  transform: translateZ(0);
  opacity: 1;
}

.fancybox-fx-fade.fancybox-slide--next,
.fancybox-fx-fade.fancybox-slide--previous {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  transform: scale3d(1.5, 1.5, 1.5);
  opacity: 0;
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0;
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  transform: scaleX(1);
  opacity: 1;
}

.fancybox-fx-rotate.fancybox-slide--previous {
  transform: rotate(-1turn);
  opacity: 0;
}

.fancybox-fx-rotate.fancybox-slide--next {
  transform: rotate(1turn);
  opacity: 0;
}

.fancybox-fx-rotate.fancybox-slide--current {
  transform: rotate(0deg);
  opacity: 1;
}

.fancybox-fx-circular.fancybox-slide--previous {
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  opacity: 0;
}

.fancybox-fx-circular.fancybox-slide--next {
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  opacity: 0;
}

.fancybox-fx-circular.fancybox-slide--current {
  transform: scaleX(1) translateZ(0);
  opacity: 1;
}

.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
  transform: translateZ(0) scale(1);
}

@media (max-width: 800px) {
  .fancybox-infobar {
    left: 0;
    margin-left: 0;
  }

  .fancybox-button--left,
  .fancybox-button--right {
    display: none !important;
  }

  .fancybox-caption {
    padding: 20px 0;
    margin: 0;
  }
}

.fancybox-button--fullscreen:before {
  width: 15px;
  height: 11px;
  left: calc(50% - 7px);
  top: calc(50% - 6px);
  border: 2px solid;
  background: none;
}

.fancybox-button--pause:before,
.fancybox-button--play:before {
  top: calc(50% - 6px);
  left: calc(50% - 4px);
  background: transparent;
}

.fancybox-button--play:before {
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  border-radius: 1px;
}

.fancybox-button--pause:before {
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px;
}

.fancybox-button--thumbs,
.fancybox-thumbs {
  display: none;
}

@media (min-width: 800px) {
  .fancybox-button--thumbs {
    display: inline-block;
  }

  .fancybox-button--thumbs span {
    font-size: 23px;
  }

  .fancybox-button--thumbs:before {
    width: 3px;
    height: 3px;
    top: calc(50% - 2px);
    left: calc(50% - 2px);
    box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, inset 0 0 0 32px, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0;
  }

  .fancybox-thumbs {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 220px;
    margin: 0;
    padding: 5px 5px 0 0;
    background: #fff;
    word-break: normal;
    -webkit-tap-highlight-color: transparent;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    box-sizing: border-box;
    z-index: 99995;
  }

  .fancybox-show-thumbs .fancybox-thumbs {
    display: block;
  }

  .fancybox-show-thumbs .fancybox-inner {
    right: 220px;
  }

  .fancybox-thumbs > ul {
    list-style: none;
    position: absolute;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 0;
  }

  .fancybox-thumbs > ul > li {
    float: left;
    overflow: hidden;
    max-width: 50%;
    padding: 0;
    margin: 0;
    width: 105px;
    height: 75px;
    position: relative;
    cursor: pointer;
    outline: none;
    border: 5px solid transparent;
    border-top-width: 0;
    border-right-width: 0;
    -webkit-tap-highlight-color: transparent;
    backface-visibility: hidden;
    box-sizing: border-box;
  }

  li.fancybox-thumbs-loading {
    background: rgba(0, 0, 0, 0.1);
  }

  .fancybox-thumbs > ul > li > img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    max-height: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }

  .fancybox-thumbs > ul > li:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 2px;
    border: 4px solid #4ea7f9;
    z-index: 99991;
    opacity: 0;
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
    opacity: 1;
  }
}

header {
  position: relative;
  background: #000;
  padding: 2rem 0 0;
}

header .header-upper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

header .header-upper .logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-left: 8px;
  margin-bottom: 1rem;
}

header .header-upper .logo a {
  text-align: center;
  border-bottom: 2px solid #fff;
  padding-bottom: 1rem;
}

header .header-upper .logo img {
  height: 80px;
}

@media (min-width: 1024px) {
  header .header-upper .logo img {
    height: 100px;
  }
}

header .header-upper .logo h2 {
  font-size: 2rem;
  font-weight: 200;
  text-transform: uppercase;
  margin-top: 1rem;
  color: #fff;
}

header .header-upper .flex-item:not(last-child) {
  margin-right: 8px;
}

header .header-upper .nav-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 10px;
  color: #fff;
  font-size: 2rem;
  font-family: "Oswald", Arial, sans-serif;
}

header .header-upper .nav-toggle .icon {
  display: inline-block;
  height: 24px;
  width: 33px;
  margin-left: 1rem;
  color: #fff;
}

header .main-menu {
  max-height: 0;
  overflow: hidden;
  color: #fff;
  transition: max-height 0.5s;
  position: absolute;
  width: 100%;
  z-index: 99;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  background: rgba(0, 0, 0, 0.75);
  top: 100%;
  right: 0;
  left: 0;
}

header .main-menu.menu-open {
  max-height: 150vh;
  overflow: scroll;
}

@media (min-width: 1024px) {
  header .main-menu {
    flex-direction: row;
  }
}

header .main-menu .col {
  font-family: "Oswald", Arial, sans-serif;
  padding: 1rem 2rem;
}

@media screen and (min-width: 1024px) {
  header .main-menu .col {
    padding: 4rem 2rem 6rem;
  }
}

header .main-menu .col h2 {
  font-size: 3rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

@media screen and (min-width: 1024px) {
  header .main-menu .col h2 {
    font-size: 4rem;
  }
}

header .main-menu .col li {
  margin-bottom: 0.5rem;
}

header .main-menu .col li a {
  font-size: 1.3rem;
  font-family: "Oswald", Arial, sans-serif;
  text-transform: uppercase;
  color: #fff;
}

header .main-menu .col li a:hover,
header .main-menu .col li a:focus {
  color: #ddd;
}

.gtown header .header-upper .logo img {
  height: 120px;
}

@media (min-width: 1024px) {
  .gtown header .header-upper .logo img {
    height: 200px;
  }
}

footer {
  color: #fff;
  background-color: #000;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Oswald", Arial, sans-serif;
  font-size: 1.5rem;
  padding: 2rem;
}

footer a {
  color: #fff;
}

footer .logo {
  max-width: 60%;
}

footer .about-footer {
  max-width: 1000px;
}

footer .about-footer nav {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  padding: 1.5rem 1rem 1rem;
}

footer .about-footer nav a {
  text-transform: uppercase;
  color: #333;
  padding: 0 24px;
}

footer .about-footer nav a:hover,
footer .about-footer nav a:focus {
  color: #288dc2;
}

footer .other-theatres {
  text-align: center;
  padding: 1rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

footer .other-theatres a {
  flex-basis: 100%;
  text-align: center;
  padding: 0 0.5rem;
  text-transform: uppercase;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  footer .other-theatres a {
    flex-basis: 33%;
  }
}

footer .social-icons {
  margin-bottom: 1rem;
}

footer .social-icons a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  text-align: center;
  background-color: #000;
  padding: 10px;
  height: 40px;
  width: 40px;
  margin: 0 1rem;
}

footer .social-icons a img {
  display: inline-block;
  position: relative;
  height: 20px;
}

footer .social-icons a.fb {
  background-color: #fff;
}

footer .social-icons a.fb img {
  top: -1px;
  filter: invert(1);
}

footer .social-icons a.tw {
  background-color: #fff;
}

footer .social-icons a.tw img {
  filter: invert(1);
}

footer .social-icons a.ig {
  background-color: #fff;
}

footer .social-icons a.ig img {
  top: -1px;
  filter: invert(1);
}

footer .footer-nav {
  border-top: 2px solid #fff;
  width: 800px;
  max-width: 100%;
  padding: 1.8rem 1rem 1rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

footer .footer-nav .col {
  text-align: left;
}

footer .footer-nav .col:first-child {
  text-align: right;
  margin-right: 2rem;
}

footer .footer-nav a {
  color: #fff;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.8rem;
  line-height: 1.2em;
  font-weight: 400;
}

footer .copyright {
  background-color: #000;
  text-align: center;
  padding: 1rem;
  color: #fff;
  font-family: "Oswald", Arial, sans-serif;
  font-size: 1.5rem;
}

footer .copyright a {
  color: #fff;
  padding: 1rem;
}

.hero {
  color: #fff;
  width: 100%;
}

.hero .slider,
.hero .content {
  width: 100%;
}

.hero .slider .slide,
.hero .content .slide {
  min-height: calc(70vh - 94px);
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media (min-width: 768px) {
  .hero .slider .slide,
  .hero .content .slide {
    min-height: 100vh;
  }
}

.hero .slider .slide .slide-wrap,
.hero .content .slide .slide-wrap {
  padding: 2rem 0;
  top: 0;
  left: 0;
  min-height: calc(70vh - 94px);
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.33);
}

@media (min-width: 768px) {
  .hero .slider .slide .slide-wrap,
  .hero .content .slide .slide-wrap {
    min-height: 100vh;
    justify-content: center;
  }
}

.hero .slider .slide.short,
.hero .content .slide.short {
  min-height: 40vh;
}

.hero .slider .slide.short .slide-wrap,
.hero .content .slide.short .slide-wrap {
  position: relative;
  min-height: 40vh;
}

.hero .slider .slide.short .img-wrap,
.hero .content .slide.short .img-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero .slider .slide.short .img-wrap img,
.hero .content .slide.short .img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.hero .slider .slide .slide-content,
.hero .content .slide .slide-content {
  width: 80vw;
  text-align: center;
}

.hero .slider .slide h3,
.hero .content .slide h3 {
  font-size: 4rem;
  text-transform: uppercase;
  margin: 0;
}

@media (min-width: 768px) {
  .hero .slider .slide h3,
  .hero .content .slide h3 {
    font-size: 6rem;
  }
}

@media (min-width: 1400px) {
  .hero .slider .slide h3,
  .hero .content .slide h3 {
    font-size: 8rem;
  }
}

.hero .slider .slide h4,
.hero .content .slide h4 {
  font-size: 2rem;
  text-transform: uppercase;
  margin: 0;
}

@media (min-width: 768px) {
  .hero .slider .slide h4,
  .hero .content .slide h4 {
    font-size: 3rem;
  }
}

@media (min-width: 1024px) {
  .hero .slider .slide h4,
  .hero .content .slide h4 {
    font-size: 4rem;
  }
}

.hero .slider .slide p,
.hero .content .slide p {
  font-size: 15px;
  margin: 4px 0 4px;
}

@media (min-width: 768px) {
  .hero .slider .slide p,
  .hero .content .slide p {
    font-size: 1.2rem;
  }
}

@media (min-width: 1024px) {
  .hero .slider .slide p,
  .hero .content .slide p {
    font-size: 1.5rem;
  }
}

.hero .slider .slide .button,
.hero .content .slide .button {
  margin-top: 1rem;
}

.hero .slider-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 100%;
  bottom: -46px;
}

.hero .slider-nav li button {
  font-size: 1px;
  background: transparent;
  border: 2px solid #000;
  height: 2rem;
  width: 2rem;
  border-radius: 100%;
  margin: 0 0.5rem;
}

.hero .slider-nav li.slick-active button {
  background: #000;
}

.hero .slider-nav li:only-child {
  visibility: hidden;
}

.content-sections .content-row.promoSlider:not(:last-child) {
  margin-bottom: 5rem;
}

.content-sections .content-row.promoSlider,
.content-sections .content-row.fullwidthBannerSection {
  padding: 0;
}

.content-sections .content-row.dark {
  background: #000;
  color: #fff;
}

.content-sections .content-row .section-title {
  width: 100%;
  font-size: 2.2rem;
  margin: 1rem 0;
  text-align: center;
  text-transform: uppercase;
}

.content-sections .content-row h3 {
  font-size: 4rem;
  text-transform: uppercase;
}

.content-sections .content-row h4 {
  font-size: 3rem;
  text-transform: uppercase;
}

.content-sections .content-row .section:not(:last-child) {
  margin: 4rem auto;
}

.content-sections .content-row .section p {
  font-size: 1.5rem;
  margin-bottom: 3rem;
}

@media screen and (min-width: 1024px) {
  .content-sections .content-row .section p {
    font-size: 2rem;
  }
}

.content-sections .content-row .section ul {
  margin-left: 1rem;
  padding-left: 2rem;
  list-style: disc;
  font-size: 1.5rem;
}

@media screen and (min-width: 1024px) {
  .content-sections .content-row .section ul {
    font-size: 2rem;
  }
}

.content-sections .content-row .section ul li {
  padding-left: 0.5rem;
  margin-bottom: 0.5rem;
}

.content-sections .content-row .section.center-text {
  text-align: center;
  padding: 3rem 2rem;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #fff;
  color: #000;
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.center-text {
    padding: 3rem 6rem;
  }
}

.content-sections .content-row .section.center-text .content {
  max-width: 1360px;
  margin: 0 auto;
}

.content-sections .content-row .section.center-text .content ul,
.content-sections .content-row .section.center-text .content ol {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.content-sections .content-row .section.left-text {
  width: 100%;
  text-align: left;
  padding: 3rem 2rem;
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.left-text {
    padding: 3rem 6rem;
  }
}

.content-sections .content-row .section.light {
  background: #fff;
  color: #333;
}

.content-sections .content-row .section.dark {
  background: #000;
  color: #fff;
}

.content-sections .content-row .section.text-and-image {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  background: #fff;
  color: #333;
  flex-grow: 1;
  max-width: 1040px;
  margin: 6rem auto;
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.text-and-image {
    flex-direction: row;
  }
}

.content-sections .content-row .section.text-and-image .image {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  min-height: 50vh;
  position: relative;
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.text-and-image .image {
    width: 50%;
    min-height: 30vh;
  }
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.text-and-image .image.right {
    order: 2;
  }
}

.content-sections .content-row .section.text-and-image .image .play-button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.content-sections .content-row .section.text-and-image .image .play-button img {
  max-height: 100px;
}

.content-sections .content-row .section.text-and-image .text {
  padding: 2rem 1rem;
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.text-and-image .text {
    padding: 6rem 3rem;
    width: 50%;
  }
}

.content-sections .content-row .section.text-and-image.movie-poster {
  background-color: #000;
  color: #fff;
  flex-direction: column;
  border-bottom: 10px solid #288dc2;
  margin-bottom: 3rem;
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.text-and-image.movie-poster {
    flex-direction: row;
  }
}

.content-sections .content-row .section.text-and-image.movie-poster .image {
  width: 100%;
  background-size: contain;
  background-color: #000;
  min-height: 40vh;
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.text-and-image.movie-poster .image {
    width: 30%;
    min-height: 30vh;
    background-position: right center;
  }
}

.content-sections .content-row .section.text-and-image.movie-poster .text {
  width: 100%;
  background-color: #000;
  color: #fff;
  text-align: center;
}

@media (min-width: 1024px) {
  .content-sections .content-row .section.text-and-image.movie-poster .text {
    width: 70%;
    text-align: left;
  }
}

.content-sections .content-row .section.pricing-table-section {
  text-align: center;
}

.content-sections .content-row .section.pricing-table-section .disclaimer-text p {
  font-size: 1.6rem;
}

.content-sections .content-row .section .cta-wrap {
  padding-top: 1rem;
}

.content-sections .content-row .section .section-content {
  width: 90%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 1rem;
}

.content-sections .content-row .section .faq .question {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0;
  display: flex;
  justify-content: flex-start;
}

.content-sections .content-row .section .faq .question span {
  width: 80%;
  padding-left: 2rem;
}

.content-sections .content-row .section .faq .question a {
  text-align: right;
  color: #000;
  font-size: 2rem;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  background-color: #eee;
}

.content-sections .content-row .section .faq .question a.expand {
  display: flex;
}

.content-sections .content-row .section .faq .question a.close {
  display: none;
}

.content-sections .content-row .section .faq .answer {
  font-size: 1.5rem;
  padding: 0 0 0 5rem;
  max-height: 0;
  transition: all 0.5s;
  overflow: hidden;
  margin-bottom: 2rem;
}

.content-sections .content-row .section .faq .answer p {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.content-sections .content-row .section .faq.open .question a.expand {
  display: none;
}

.content-sections .content-row .section .faq.open .question a.close {
  display: flex;
}

.content-sections .content-row .section .faq.open .answer {
  max-height: 800px;
}

.services {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 1rem;
}

.services .service {
  color: #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  border-top: 8px solid #fff;
  padding: 6px 6px 6px 14px;
  margin-bottom: 6px;
  transition: all 0.4s;
}

.services .service:hover,
.services .service:focus {
  background-position: 120% 200%;
  background-color: #606060;
}

@media (min-width: 768px) {
  .services .service {
    padding: 20px 10px 20px 45px;
  }
}

.services .service a {
  color: #fff;
}

.services .service h3 {
  margin: 0;
  text-transform: uppercase;
  font-size: 14px;
}

@media (min-width: 768px) {
  .services .service h3 {
    font-size: 1.3rem;
  }
}

@media (min-width: 1024px) {
  .services .service h3 {
    font-size: 1.8rem;
  }
}

.services .service svg {
  width: 26px;
  height: 24px;
}

@media (min-width: 768px) {
  .services .service svg {
    width: 52px;
    height: 48px;
  }
}

.services .service.one-third {
  width: calc(50% - 3px);
}

@media (min-width: 768px) {
  .services .service.one-third {
    width: calc(33% - 3px);
  }
}

.services .service.one-half {
  width: calc(50% - 3px);
}

.services .service.full {
  width: 100%;
}

.services .service.green {
  border-color: #8aea2d;
}

.services .service.green svg path:not(.nochange) {
  fill: #8aea2d;
}

.services .service.blue {
  border-color: #288dc2;
}

.services .service.blue svg path:not(.nochange) {
  fill: #288dc2;
}

.services .service.purple {
  border-color: #9d4bc0;
}

.services .service.purple svg path:not(.nochange) {
  fill: #9d4bc0;
}

.services .service.red {
  border-color: #ff0000;
}

.services .service.red svg path:not(.nochange) {
  fill: #ff0000;
}

.services .service.yellow {
  border-color: #ffff00;
}

.services .service.yellow svg path:not(.nochange) {
  fill: #ffff00;
}

.services .service.pink {
  border-color: #fd22f0;
}

.services .service.pink svg path:not(.nochange) {
  fill: #fd22f0;
}

@media (min-width: 768px) {
  .services .service.tall {
    padding: 30px 15px 30px 45px;
  }
}

.carousel-wrap {
  width: 90%;
  margin-top: 0;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .carousel-wrap {
    margin-top: -4px;
  }
}

.movie-carousel {
  padding: 36px 1rem;
}

@media (min-width: 768px) {
  .movie-carousel {
    padding: 64px 1.5rem 96px;
  }
}

.movie-carousel h3 {
  font-size: 4rem;
  text-align: center;
  margin: 0 0 1em;
  text-transform: uppercase;
}

.movie-carousel .carousel .carousel-item {
  display: flex;
  justify-content: center;
}

.movie-carousel .carousel .carousel-item a {
  display: block;
  position: relative;
  max-width: 300px;
}

.movie-carousel .carousel .carousel-item .st-imm {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-weight: 600;
  font-size: 1.1rem;
  padding: 6px;
  text-align: center;
  border-left: 1rem solid #fff;
  border-right: 1rem solid #fff;
}

.movie-carousel .carousel .carousel-item img {
  max-height: 60vh;
  margin: 0 auto;
  border-left: 1rem solid #fff;
  border-right: 1rem solid #fff;
}

.movie-carousel .carousel .carousel-item .item-info {
  text-align: center;
}

.movie-carousel .carousel .carousel-item .item-info h4 {
  font-size: 1rem;
  font-weight: 600;
  margin: 12px 0;
}

.movie-carousel .carousel .carousel-item .item-info h5 {
  font-size: 1rem;
  font-weight: 300;
}

.movie-carousel .carousel button.arrow {
  background: transparent;
  padding: 0;
  top: calc(50% - 78px);
  width: 50px;
}

.movie-carousel .carousel button.arrow .icon {
  height: 266px;
  width: 82px;
}

.movie-carousel .carousel button.arrow.slick-prev {
  left: -20px;
}

.movie-carousel .carousel button.arrow.slick-next {
  right: -20px;
}

@media screen and (min-width: 768px) {
  .movie-carousel .carousel button.arrow.slick-prev {
    left: -50px;
  }

  .movie-carousel .carousel button.arrow.slick-next {
    right: -50px;
  }
}

@media screen and (min-width: 1024px) {
  .movie-carousel .carousel button.arrow {
    width: 70px;
    top: calc(50% - 109px);
  }

  .movie-carousel .carousel button.arrow.slick-prev {
    left: -70px;
  }

  .movie-carousel .carousel button.arrow.slick-next {
    right: -70px;
  }
}

@media screen and (min-width: 1400px) {
  .movie-carousel .carousel button.arrow.slick-prev {
    left: -90px;
  }

  .movie-carousel .carousel button.arrow.slick-next {
    right: -90px;
  }
}

.movie-carousel.dark .carousel .carousel-item img {
  border-color: #000;
}

.movie-carousel.dark .carousel .carousel-item .st-imm {
  border-color: #000;
}

.movie-carousel.dark button.arrow img {
  filter: invert(1);
}

.tabbed-content {
  /* Style the tab */
  position: relative;
  /* Style the buttons that are used to open the tab content */
  /* Create an active/current tablink class */
  /* Style the tab content */
}

.tabbed-content .tabs {
  overflow: hidden;
  text-align: center;
}

.tabbed-content .tabs button {
  background-color: transparent;
  color: #000;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 10px;
  transition: 0.3s;
  font-size: 1rem;
  font-weight: 600;
  opacity: 0.5;
  text-transform: uppercase;
}

@media (min-width: 1024px) {
  .tabbed-content .tabs button {
    font-size: 1.3rem;
  }
}

.tabbed-content .tabs button:hover,
.tabbed-content .tabs button:focus {
  opacity: 0.8;
}

.tabbed-content .tabs button.active {
  opacity: 1;
}

.tabbed-content .tabcontent {
  display: none;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0;
  position: relative;
}

.movies-list {
  width: 90%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 1rem;
  padding: 36px 0;
}

@media (min-width: 1024px) {
  .movies-list {
    padding: 36px 0;
  }
}

.movies-list h3 {
  text-align: center;
}

.movies-list .showtimes-container {
  max-width: 900px;
  text-align: center;
  margin: 0 auto;
}

.movies-list .showtimes-container .date-select .dropdown {
  min-height: 40px;
}

.movie {
  display: flex;
  flex-direction: row;
  margin: 2rem 24px;
  width: 100%;
}

@media (min-width: 768px) {
  .movie {
    width: calc(50% - 48px);
  }
}

@media (min-width: 1400px) {
  .movie {
    width: calc(33.33% - 48px);
  }
}

.movie .img-wrap {
  width: 350%;
  flex-basis: 35%;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .movie .img-wrap {
    width: 50%;
  }
}

.movie .img-wrap .st-imm {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 4px;
  font-size: 1rem;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

.movie .movie-info {
  flex: 1;
  padding: 0 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.movie .movie-info h3 {
  font-size: 1.4rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
  padding: 0 0.5rem;
}

.movie .movie-info h4 {
  font-size: 0.9rem;
  font-weight: 300;
  padding: 0.5rem;
  margin-bottom: 0;
  text-align: center;
}

.movie .movie-info .showtimes {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  min-height: 50%;
}

.movie .movie-info .showtimes h5 {
  width: 100%;
  margin-bottom: 4px;
  margin-left: 4px;
}

.movie .movie-info .showtimes .showtime {
  width: 11rem;
  margin-bottom: 6px;
}

@media screen and (min-width: 1024px) {
  .movie .movie-info .showtimes .showtime {
    width: 12rem;
  }
}

.movie .movie-info .showtimes .showtime span,
.movie .movie-info .showtimes .showtime a {
  color: #000;
  font-weight: 200;
  padding: 2px 6px;
  text-align: center;
  display: block;
  position: relative;
  border: 1px solid #000;
  margin-bottom: 2px;
  font-size: 1.2rem;
  height: 100%;
}

.movie .movie-info .showtimes .showtime a:hover,
.movie .movie-info .showtimes .showtime a:focus {
  border-color: #000;
}

.movie .movie-info .showtimes .showtime.disabled a,
.movie .movie-info .showtimes .showtime.disabled span {
  color: #aaa;
  border-color: #aaa;
}

.movie .movie-info .showtimes .showtime i {
  position: absolute;
  top: -2px;
  left: -2px;
  width: 18%;
  background: #ff0000;
  color: #fff;
  font-size: 0.5rem;
  font-style: normal;
  padding: 2px;
  font-weight: 400;
}

.movie .movie-info .showtimes .showtime.disabled i {
  background: #000;
}

.movie .movie-info .showtimes .showtime i.reserved {
  align-items: center;
  background-color: maroon;
  font-size: 0.9em;
  height: 100%;
  display: flex;
  justify-content: center;
  top: 0;
  left: auto;
  right: 0;
  width: 18%;
}

.movie .movie-info .showtimes .showtime i.ordering {
  background: maroon;
  width: 18%;
  padding: 2px;
  height: 100%;
  font-size: 1rem;
  top: 0;
  left: -1px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.movie .movie-info .showtimes .showtime img {
  height: 1.5rem;
  position: absolute;
  top: 4.5px;
  left: 3px;
}

.movie .movie-info .button {
  display: block;
  margin: 0 auto;
  font-size: 1.2rem;
  text-align: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

@media screen and (min-width: 1024px) {
  .movie .movie-info .button {
    font-size: 1.4rem;
  }
}

h1.movie-title {
  font-size: 4rem;
  text-transform: uppercase;
  width: 90%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 1rem;
  margin: 2rem 0 2rem;
  padding: 0;
}

@media screen and (min-width: 1024px) {
  h1.movie-title {
    font-size: 7.5rem;
    margin-top: 7rem;
  }
}

.movie-detail {
  width: 90%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  flex-direction: column;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

@media screen and (min-width: 1024px) {
  .movie-detail {
    flex-direction: row;
    justify-content: space-between;
  }
}

.movie-detail .movie-poster {
  flex: 0 0 33%;
  text-align: center;
}

.movie-detail .movie-info {
  padding-top: 4rem;
  font-size: 1.5rem;
  flex: 0 0 60%;
}

@media screen and (min-width: 1024px) {
  .movie-detail .movie-info {
    padding-top: 0;
    font-size: 2rem;
  }
}

.movie-detail .movie-info p {
  margin-bottom: 0;
}

.movie-detail .movie-buttons {
  margin: 3rem 0;
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 1024px) {
  .movie-detail .movie-buttons {
    flex-direction: row;
    justify-content: space-between;
  }
}

.movie-detail .movie-buttons a.button {
  width: 100%;
  margin-bottom: 1rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
}

@media screen and (min-width: 1024px) {
  .movie-detail .movie-buttons a.button {
    width: 48%;
  }
}

.movie-detail .movie-details .hero-container {
  min-height: 50vh;
  background-size: 100%;
  background-position: center center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (min-width: 1024px) {
  .movie-detail .movie-details .hero-container {
    width: 90%;
    max-width: 1700px;
    margin: 0 auto;
    padding: 0 1rem;
  }
}

.movie-detail .movie-details .hero-container .hero-overlay {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+97&0+14,1+100 */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 14%, rgba(0, 0, 0, 0.97) 97%, black 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#00000000", endColorstr="#000000",GradientType=0 );
  /* IE6-9 */
  position: absolute;
  width: 100%;
  height: 100%;
}

.movie-detail .movie-details .movie-description {
  min-height: 50vh;
  max-width: 900px;
  margin-top: 0;
  background: rgba(0, 0, 0, 0.7);
  padding: 4rem 1rem;
  color: #fff;
  font-size: 1.1rem;
  position: relative;
}

@media (min-width: 1024px) {
  .movie-detail .movie-details .movie-description {
    padding: 4rem;
    margin-bottom: 2rem;
    min-height: 0;
  }
}

.movie-detail .policies {
  display: flex;
  flex-direction: column;
  padding: 2rem;
  background: #fff;
  color: #000;
}

@media (min-width: 1024px) {
  .movie-detail .policies {
    flex-direction: row;
    justify-content: space-between;
  }

  .movie-detail .policies .policy.age-policy {
    width: 60%;
    font-size: 1rem;
    font-weight: 400;
  }

  .movie-detail .policies .policy.prices {
    width: 25%;
  }
}

.movie-detail .policies .policy {
  margin-bottom: 1.5rem;
}

.movie-detail .policies .policy.prices table tr:nth-child(2n) {
  background: #f9f9f9;
}

.movie-detail .policies .policy.prices table td {
  padding: 0.5rem;
}

.movie-detail .policies .policy.prices table td.ticket-price {
  width: 30%;
  text-align: right;
}

.showtimes-row {
  text-align: center;
  padding-top: 4rem;
  padding-bottom: 8rem;
  position: relative;
  background: #000;
  color: #fff;
}

.showtimes-row h2 {
  font-size: 3rem;
  text-transform: uppercase;
}

.showtimes-row h3 {
  font-size: 2rem;
  text-transform: uppercase;
  margin-bottom: 4rem;
}

.showtimes-row a img {
  height: 100px;
  filter: invert(1);
}

@media screen and (min-width: 1024px) {
  .showtimes-row a img {
    height: auto;
  }
}

.showtimes-row p {
  font-size: 2rem;
  text-transform: uppercase;
  font-family: "Oswald", Arial, sans-serif;
  margin-bottom: 12px;
}

.showtimes-row p a {
  color: #fff;
  position: relative;
}

.showtimes-row p a i.reserved {
  font-size: 1.5rem;
}

.showtimes-row .showtimes-date {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
}

.showtimes-row .showtimes-date .prev,
.showtimes-row .showtimes-date .next {
  position: absolute;
  top: calc(50% - 50px);
}

@media screen and (min-width: 1024px) {
  .showtimes-row .showtimes-date .prev,
  .showtimes-row .showtimes-date .next {
    top: 0;
  }
}

.showtimes-row .showtimes-date .prev {
  left: 0px;
}

.showtimes-row .showtimes-date .next {
  right: 0px;
}

.showtimes-row .showtimes-date p a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.showtimes-row .showtimes-date p a img {
  height: 1.5rem;
  filter: none;
  margin-left: 1rem;
}

.icon-legend {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  padding: 1rem 0;
  font-size: 1.5rem;
  color: #fff;
}

.icon-legend img {
  height: 1.5rem;
}

.icon-legend.bg-white {
  color: #000;
  background: transparent;
  padding: 0;
}

.showtime-confirm {
  color: #333;
}

[data-responsive-bg] img {
  display: none;
}

.promoBlocksSection .container {
  justify-content: space-between;
  margin: 4rem auto;
}

.promo-section-title {
  padding-top: 0.5rem;
}

.section.promo-section {
  min-height: 40vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 12px !important;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  flex-basis: 100%;
  flex-grow: 1;
  color: #fff;
  transition: filter 0.3s;
}

.section.promo-section:hover,
.section.promo-section:focus {
  filter: brightness(1.1);
}

@media (min-width: 768px) {
  .section.promo-section {
    flex-basis: calc(50% - 24px);
  }
}

@media (min-width: 1400px) {
  .section.promo-section {
    flex-basis: calc(33.3% - 24px);
  }
}

.section.promo-section .promo-text {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.64+49,0.8+75 */
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.64+29,0.8+60 */
  background: rgba(0, 0, 0, 0.33);
}

.section.promo-section .promo-text h3 {
  text-align: center;
  font-weight: 400;
  font-size: 4.5rem;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.section.promo-section .promo-text p {
  margin-bottom: 0;
  white-space: wrap;
  text-align: center;
}

.section.promo-section .promo-text .cta-wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.section.promo-section span.icon {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  padding: 18px;
  background-size: cover;
}

.section.promo-section span.icon svg {
  height: 50px;
  width: 50px;
}

.section.promo-section.opaque .promo-text {
  background: rgba(0, 0, 0, 0.8);
}

.section.promo-section.opaque span.icon {
  position: relative;
  top: 0;
  right: 0;
  padding: 0;
  background: none;
}

.section.promo-section.pink {
  border-color: #fd22f0;
}

.section.promo-section.pink span.icon svg path:not(.nochange) {
  fill: #fd22f0;
}

.section.promo-section.green {
  border-color: #8aea2d;
}

.section.promo-section.green span.icon svg path:not(.nochange) {
  fill: #8aea2d;
}

.section.promo-section.purple {
  border-color: #9d4bc0;
}

.section.promo-section.purple span.icon svg path:not(.nochange) {
  fill: #9d4bc0;
}

.section.promo-section.red {
  border-color: #ff0000;
}

.section.promo-section.red span.icon svg path:not(.nochange) {
  fill: #ff0000;
}

.section.promo-section.blue {
  border-color: #288dc2;
}

.section.promo-section.blue span.icon svg path:not(.nochange) {
  fill: #288dc2;
}

.section.promo-section.yellow {
  border-color: #ffff00;
}

.section.promo-section.yellow span.icon svg path:not(.nochange) {
  fill: #ffff00;
}

.bowling-cta {
  max-width: 800px;
  margin: 0 auto;
}

.bowling-cta .content-wrap {
  margin: 0rem 1rem 2rem;
  position: relative;
  padding: 1rem;
  text-align: center;
}

.bowling-cta .content-wrap:before {
  content: "";
  position: absolute;
  top: 3rem;
  left: 0;
  width: 100%;
  height: 75%;
  border: 2px solid #fff;
  z-index: 9;
}

.bowling-cta .content-wrap h2 {
  display: inline-block;
  padding: 1rem;
  background: #000;
  margin: 0 auto;
  width: 95%;
  text-align: center;
  font-size: 1.6rem;
  position: relative;
  z-index: 10;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .bowling-cta .content-wrap h2 {
    width: 80%;
  }
}

@media (min-width: 1024px) {
  .bowling-cta .content-wrap h2 {
    font-size: 2rem;
    width: 60%;
  }
}

.bowling-cta .content-wrap h3 {
  font-size: 1.1rem;
  text-transform: uppercase;
}

.bowling-cta .content-wrap .button {
  width: 100%;
}

.rtsBalanceCheckerSection:not(:last-child),
.balanceCheckerSection:not(:last-child) {
  padding-bottom: 2rem;
}

.rtsBalanceCheckerSection:not(:last-child):after,
.balanceCheckerSection:not(:last-child):after {
  content: "";
  width: 60%;
  margin: 0 auto;
  display: block;
  border-bottom: 1px solid #000;
}

.balance-checker {
  text-align: center;
  padding: 2rem 0;
  width: 100%;
  font-size: 2rem;
}

.balance-checker h3 {
  font-size: 2rem;
  text-align: center;
  margin: 0 0 2rem;
  text-transform: uppercase;
}

.balance-checker form {
  text-align: left;
  width: 80%;
  max-width: 400px;
  margin: 0 auto 2rem;
  display: flex;
  flex-direction: column;
}

.balance-checker form input {
  height: 49px;
  margin-bottom: 0;
}

.balance-checker .balance-result h4 {
  font-size: 1.3rem;
  font-weight: 300;
}

.balance-checker .balance-result p {
  font-size: 1.6rem;
  font-weight: 600;
}

.bowling-reservation {
  text-align: center;
  padding: 2rem 0;
  width: 100%;
}

.bowling-reservation h3 {
  font-size: 2rem;
  text-align: center;
  margin: 0 0 2rem;
  text-transform: uppercase;
}

.bowling-reservation iframe {
  height: 100vh;
  border: none;
  background: #fff;
  padding: 1rem;
}

.menu-nav {
  margin: 2rem auto 4rem;
  padding: 0 1rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  flex-wrap: wrap;
}

@media (min-width: 1024px) {
  .menu-nav {
    padding: 0;
  }
}

.menu-nav a {
  color: #000;
  flex: 0 0 auto;
  font-size: 1.8rem;
  font-weight: 600;
  font-family: "Oswald", Arial, sans-serif;
  text-align: center;
  padding: 0 2rem;
  margin: 4px;
  text-transform: uppercase;
}

@media (min-width: 1024px) {
  .menu-nav a {
    font-size: 3rem;
  }
}

.menu-nav a.active {
  border-bottom: 5px solid #800020;
  background: #fff;
}

.menu-sections {
  width: 100%;
  position: relative;
}

.menu-sections:not(:last-child) {
  margin-bottom: 4rem;
}

.menu-section {
  width: 100%;
  flex-direction: column;
  z-index: 1;
}

@media (min-width: 1024px) {
  .menu-section {
    flex-direction: row;
    height: 100%;
  }
}

.menu-section.active {
  opacity: 1;
  z-index: 10;
}

.menu-section.image-slider {
  width: 100%;
}

.menu-section .section-slider-wrap .img {
  background-position: center center;
  background-size: cover;
  padding: 0 16px;
}

.menu-section .menu-content {
  padding: 4rem 2rem;
  background: #fff;
  color: #000;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (min-width: 1024px) {
  .menu-section .menu-content {
    height: 100%;
  }
}

.menu-section .menu-content .menu-item {
  margin-bottom: 4rem;
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .menu-section .menu-content .menu-item {
    width: 48%;
  }
}

.menu-section .menu-content .menu-item h4 {
  font-family: "Lato", Arial, sans-serif;
  font-size: 2rem;
  line-height: 2rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.menu-section .menu-content .menu-item p {
  margin-bottom: 0;
  text-align: left;
}

.menu-section .menu-content .menu-item .item-price {
  font-size: 1.5rem;
  font-weight: 400;
}

.menu-section .menu-content .scroll-content {
  padding: 1rem 0;
  height: 60vh;
  overflow: scroll;
}

@media (min-width: 1024px) {
  .menu-section .menu-content .scroll-content {
    height: 100%;
  }
}

.menu-section.parties {
  font-weight: bold;
}

.menu-section.parties .menu-content .menu-item {
  width: 100%;
  text-align: center;
}

.menu-section.parties .menu-content .menu-item:not(:last-child) {
  padding-bottom: 4rem;
  border-bottom: 1px solid #000;
}

.menu-section.parties .menu-content .menu-item .item-description {
  text-align: left;
  font-size: 2rem;
}

@media (min-width: 1024px) {
  .menu-section.parties .menu-content .menu-item .item-description {
    text-align: center;
  }
}

.menu-section.parties .menu-content .menu-item .item-description ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-weight: 200;
  font-size: inherit;
}

.menu-section.parties .menu-content .menu-item .item-description p {
  text-align: left;
  width: 100%;
}

@media (min-width: 1024px) {
  .menu-section.parties .menu-content .menu-item .item-description ul {
    align-items: center;
  }

  .menu-section.parties .menu-content .menu-item .item-description p,
  .menu-section.parties .menu-content .menu-item .item-description .item-price {
    text-align: center;
  }
}

.menu-section.parties .menu-content .menu-item .item-price {
  text-align: center;
  font-size: 2rem;
}

.menu-section.parties .menu-content .menu-item .item-cta {
  margin-top: 1rem;
}

/* Container used for styling the custom select, the buttom class below adds the
 * bg gradient, corners, etc. */

.custom-select {
  position: relative;
  display: block;
}

/* This is the native select, we're making everything but the text invisible so
 * we can see the button styles in the wrapper */

.custom-select select {
  width: 100%;
  margin: 0;
  outline: none;
  padding: 0.6em 0.8em 0.5em 0.8em;
  /* Prefixed box-sizing rules necessary for older browsers */
  box-sizing: border-box;
  /* Font size must be 16px to prevent iOS page zoom on focus */
  font-size: 16px;
}

/* Custom arrow sits on top of the select - could be an image, SVG, icon font,
 * etc. or the arrow could just baked into the bg image on the select. */

.custom-select::after {
  content: " ";
  position: absolute;
  top: 60%;
  right: 1em;
  z-index: 2;
  /* These hacks make the select behind the arrow clickable in some browsers */
  pointer-events: none;
  display: none;
}

/* Firefox <= 34 has a false positive on @supports( -moz-appearance: none )
 * @supports ( mask-type: alpha ) is Firefox 35+
 */

@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) or ((-moz-appearance: none) and (mask-type: alpha)) {
  /* Show custom arrow */

  .custom-select::after {
    display: block;
  }

  /* Remove select styling */

  .custom-select select {
    padding-right: 2em;
    /* Match-01 */
    /* inside @supports so that iOS <= 8 display the native arrow */
    background: none;
    /* Match-04 */
    /* inside @supports so that Android <= 4.3 display the native arrow */
    border: 1px solid #000;
    /* Match-05 */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  .custom-select select:focus {
    border-color: #aaa;
    /* Match-03 */
  }
}

/* Adds Firefox < 35 support */

/* FIREFOX won't let us hide the native select arrow, so we have to make it wider than needed and clip it via overflow on the parent container. The percentage width is a fallback since FF 4+ supports calc() so we can just add a fixed amount of extra width to push the native arrow out of view. We're applying this hack across all FF versions because all the previous hacks were too fragile and complex. You might want to consider not using this hack and using the native select arrow in FF. Note this makes the menus wider than the select button because they display at the specified width and aren't clipped. Targeting hack via http://browserhacks.com/#hack-758bff81c5c32351b02e10480b5ed48e */

/* Show only the native arrow */

@-moz-document url-prefix()  {
  /* Warning: this kills the focus outline style */

  .custom-select {
    overflow: hidden;
  }

  .custom-select::after {
    display: block;
  }

  /* Make the native select extra wide so the arrow is clipped. 1.5em seems to be enough to safely clip it */

  .custom-select select {
    overflow: -moz-hidden-unscrollable;
    padding-right: 0.4em;
    background: none;
    /* Match-04 */
    border: 1px solid transparent;
    /* Match-05 */
    /* Firefox < 4 */
    min-width: 6em;
    width: 130%;
    /* Firefox 4-15 */
    min-width: -moz-calc(0em);
    width: -moz-calc(100% + 2.4em);
    /* Firefox 16+ */
    min-width: calc(0em);
    width: calc(100% + 2.4em);
  }

  /* Firefox 35+ that supports hiding the native select can have a proper 100% width, no need for the overflow clip trick */

@supports (mask-type: alpha) {
    .custom-select {
      overflow: visible;
    }

    .custom-select select {
      -moz-appearance: none;
      width: 100%;
      padding-right: 2em;
      /* Match-01 padding-right */
    }
}
}

/* Firefox focus has odd artifacts around the text, this kills that. See https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-focusring */

.custom-select select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

/* IE 10/11+ - This hides native dropdown button arrow so it will have the custom appearance. Targeting media query hack via http://browserhacks.com/#hack-28f493d247a12ab654f6c3637f6978d5 - looking for better ways to achieve this targeting */

/* The second rule removes the odd blue bg color behind the text in the select button in IE 10/11 and sets the text color to match the focus style's - fix via http://stackoverflow.com/questions/17553300/change-ie-background-color-on-unopened-focused-select-box */

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .custom-select select::-ms-expand {
    display: none;
  }

  .custom-select select:focus {
    border-color: #aaa;
    /* Match-03 */
  }

  .custom-select select:focus::-ms-value {
    background: transparent;
    color: #222;
    /* Match-02*/
  }

  .custom-select select {
    padding-right: 2em;
    /* Match-01 */
    background: none;
    /* Match-04 */
    border: 1px solid transparent;
    /* Match-05 */
  }

  .custom-select::after {
    display: block;
  }
}

.custom-select::after {
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 14px solid #000;
  margin-top: 0.75rem;
}

/* These are the "theme" styles for our button applied via separate button class, style as you like */

/* Set the background fallback to solid #fff so Firefox renders the <option> list readably. */

.custom-select {
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0.75rem;
}

.custom-select select {
  /* General select styles: change as needed */
  font-weight: 300;
  color: #000;
  line-height: 1.3;
  border-radius: 0.2em;
  background: #fff;
  border-radius: 0;
  font-size: 1.5rem;
  padding: 1rem;
}

/* Hover style */

.custom-select:hover {
  border-color: none;
}

/* Focus style */

.custom-select select:focus {
  /* It'd be nice to use -webkit-focus-ring-color here but it doesn't work on box-shadow */
  box-shadow: none;
  box-shadow: none;
  color: #000;
  /* Match-02 */
}

@supports (box-shadow: none) {
  .custom-select select:focus {
    outline: none;
  }
}

/* Set options to normal weight */

.custom-select option {
  font-weight: normal;
}

#loading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: -1;
  transition: opacity 0.3s;
}

#loading.active {
  display: flex;
  opacity: 1;
  z-index: 99;
  transition: opacity 0.3s;
}

.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  animation-fill-mode: both;
  animation: load7 1.8s infinite ease-in-out;
}

.loader {
  color: #000;
  font-size: 10px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  transform: translateZ(0);
  animation-delay: -0.16s;
}

.loader:before,
.loader:after {
  content: "";
  position: absolute;
  top: 0;
}

.loader:before {
  left: -3.5em;
  animation-delay: -0.32s;
}

.loader:after {
  left: 3.5em;
}

@keyframes load7 {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }

  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

.funCardPurchaseSection {
  padding-bottom: 2rem;
  /*Outer-box*/
  /*Checkmark*/
  /*Hide the checkmark by default*/
  /*Unhide the checkmark on the checked state*/
  /*Adding focus styles on the outer-box of the fake checkbox*/
}

.funCardPurchaseSection:after {
  content: "";
  width: 60%;
  margin: 0 auto;
  display: block;
  border-bottom: 1px solid #000;
}

.funCardPurchaseSection .purchase {
  width: 100%;
  max-width: 800px;
  margin: 3rem auto;
  padding: 0 1rem;
  text-align: center;
}

.funCardPurchaseSection .success,
.funCardPurchaseSection .error {
  padding: 2rem;
  margin-bottom: 1rem;
  color: #fff;
  font-weight: 600;
}

.funCardPurchaseSection .error {
  background-color: #ff0000;
}

.funCardPurchaseSection .success {
  background-color: #288dc2;
}

.funCardPurchaseSection #otherAmount {
  max-height: 0;
  transition: all 0.4s;
  overflow: hidden;
}

.funCardPurchaseSection #otherAmount.show {
  max-height: 200px;
}

.funCardPurchaseSection #recipientInfo {
  max-height: 0;
  transition: all 0.4s;
  overflow: hidden;
}

.funCardPurchaseSection #recipientInfo.show {
  max-height: 1000px;
}

.funCardPurchaseSection .g-recaptcha {
  margin: 1rem auto;
  text-align: center;
  display: flex;
  justify-content: center;
}

.funCardPurchaseSection .spacerrow {
  padding-top: 3rem;
}

.funCardPurchaseSection .inputrow {
  display: flex;
  flex-direction: column;
  text-align: center;
  padding-top: 1rem;
}

@media (min-width: 1024px) {
  .funCardPurchaseSection .inputrow {
    flex-direction: row;
  }
}

.funCardPurchaseSection .inputrow .inputfield {
  width: 100%;
}

.funCardPurchaseSection .inputrow .inputfield:not(:last-child) {
  padding-right: 1rem;
}

@media (min-width: 1024px) {
  .funCardPurchaseSection .inputrow .inputfield.width-20 {
    width: 20%;
  }

  .funCardPurchaseSection .inputrow .inputfield.width-25 {
    width: 25%;
  }

  .funCardPurchaseSection .inputrow .inputfield.width-30 {
    width: 30%;
  }

  .funCardPurchaseSection .inputrow .inputfield.width-40 {
    width: 40%;
  }

  .funCardPurchaseSection .inputrow .inputfield.width-50 {
    width: 50%;
  }

  .funCardPurchaseSection .inputrow .inputfield.width-60 {
    width: 60%;
  }

  .funCardPurchaseSection .inputrow .inputfield.width-70 {
    width: 70%;
  }

  .funCardPurchaseSection .inputrow .inputfield.width-80 {
    width: 80%;
  }
}

.funCardPurchaseSection .switch-field {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 3rem;
}

.funCardPurchaseSection .switch-field input {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}

.funCardPurchaseSection .switch-field label {
  display: inline-block;
  background-color: #fff;
  color: #000;
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
  text-shadow: none;
  padding: 6px 14px;
  border: 3px solid #800020;
  transition: all 0.1s ease-in-out;
}

.funCardPurchaseSection .switch-field label:not(:last-child) {
  margin-right: 1rem;
}

.funCardPurchaseSection .switch-field label:hover {
  cursor: pointer;
}

.funCardPurchaseSection .switch-field input:checked + label {
  background-color: #288dc2;
  box-shadow: none;
}

.funCardPurchaseSection input[type=checkbox] {
  opacity: 0;
}

.funCardPurchaseSection .checkbox label::before {
  content: "";
  display: inline-block;
  height: 16px;
  width: 16px;
  border: 1px solid;
}

.funCardPurchaseSection .checkbox label::after {
  content: "";
  display: inline-block;
  height: 6px;
  width: 9px;
  border-left: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(-45deg);
}

.funCardPurchaseSection .checkbox label {
  position: relative;
  margin-bottom: 1rem;
}

.funCardPurchaseSection .checkbox label::before,
.funCardPurchaseSection .checkbox label::after {
  position: absolute;
}

.funCardPurchaseSection .checkbox label::before {
  top: 3px;
  left: -22px;
}

.funCardPurchaseSection .checkbox label::after {
  left: -18px;
  top: 6px;
}

.funCardPurchaseSection .checkbox input[type=checkbox] + label::after {
  content: none;
}

.funCardPurchaseSection .checkbox input[type=checkbox]:checked + label::after {
  content: "";
}

.funCardPurchaseSection .checkbox input[type=checkbox]:focus + label::before {
  outline: #3b99fc auto 5px;
}

.v-select {
  position: relative;
  font-family: inherit;
}

.v-select,
.v-select * {
  box-sizing: border-box;
}

/* KeyFrames */

@keyframes vSelectSpinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Dropdown Default Transition */

.vs__fade-enter-active,
.vs__fade-leave-active {
  pointer-events: none;
  transition: opacity 0.15s cubic-bezier(1, 0.5, 0.8, 1);
}

.vs__fade-enter,
.vs__fade-leave-to {
  opacity: 0;
}

/** Component States */

/*
 * Disabled
 *
 * When the component is disabled, all interaction
 * should be prevented. Here we modify the bg color,
 * and change the cursor displayed on the interactive
 * components.
 */

.vs--disabled .vs__dropdown-toggle,
.vs--disabled .vs__clear,
.vs--disabled .vs__search,
.vs--disabled .vs__selected,
.vs--disabled .vs__open-indicator {
  cursor: not-allowed;
  background-color: #f8f8f8;
}

/*
 *  RTL - Right to Left Support
 *
 *  Because we're using a flexbox layout, the `dir="rtl"`
 *  HTML attribute does most of the work for us by
 *  rearranging the child elements visually.
 */

.v-select[dir=rtl] .vs__actions {
  padding: 0 3px 0 6px;
}

.v-select[dir=rtl] .vs__clear {
  margin-left: 6px;
  margin-right: 0;
}

.v-select[dir=rtl] .vs__deselect {
  margin-left: 0;
  margin-right: 2px;
}

.v-select[dir=rtl] .vs__dropdown-menu {
  text-align: right;
}

/**
    Dropdown Toggle

    The dropdown toggle is the primary wrapper of the component. It
    has two direct descendants: .vs__selected-options, and .vs__actions.

    .vs__selected-options holds the .vs__selected's as well as the
    main search input.

    .vs__actions holds the clear button and dropdown toggle.
 */

.vs__dropdown-toggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  padding: 0 0 4px 0;
  background: none;
  border: 1px solid rgba(60, 60, 60, 0.26);
  border-radius: 4px;
  white-space: normal;
}

.vs__selected-options {
  display: flex;
  flex-basis: 100%;
  flex-grow: 1;
  flex-wrap: wrap;
  padding: 0 2px;
  position: relative;
}

.vs__actions {
  display: flex;
  align-items: center;
  padding: 4px 6px 0 3px;
}

/* Dropdown Toggle States */

.vs--searchable .vs__dropdown-toggle {
  cursor: text;
}

.vs--unsearchable .vs__dropdown-toggle {
  cursor: pointer;
}

.vs--open .vs__dropdown-toggle {
  border-bottom-color: transparent;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.vs__open-indicator {
  fill: rgba(60, 60, 60, 0.5);
  transform: scale(1);
  transition: transform 150ms cubic-bezier(1, -0.115, 0.975, 0.855);
  transition-timing-function: cubic-bezier(1, -0.115, 0.975, 0.855);
}

.vs--open .vs__open-indicator {
  transform: rotate(180deg) scale(1);
}

.vs--loading .vs__open-indicator {
  opacity: 0;
}

/* Clear Button */

.vs__clear {
  fill: rgba(60, 60, 60, 0.5);
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  margin-right: 8px;
}

/* Dropdown Menu */

.vs__dropdown-menu {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  z-index: 1000;
  padding: 5px 0;
  margin: 0;
  width: 100%;
  max-height: 350px;
  min-width: 160px;
  overflow-y: auto;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(60, 60, 60, 0.26);
  border-top-style: none;
  border-radius: 0 0 4px 4px;
  text-align: left;
  list-style: none;
  background: #fff;
}

.vs__no-options {
  text-align: center;
}

/* List Items */

.vs__dropdown-option {
  line-height: 1.42857143;
  /* Normalize line height */
  display: block;
  padding: 3px 20px;
  clear: both;
  color: #333;
  /* Overrides most CSS frameworks */
  white-space: nowrap;
}

.vs__dropdown-option:hover {
  cursor: pointer;
}

.vs__dropdown-option--highlight {
  background: #5897fb;
  color: #fff;
}

.vs__dropdown-option--disabled {
  background: inherit;
  color: rgba(60, 60, 60, 0.5);
}

.vs__dropdown-option--disabled:hover {
  cursor: inherit;
}

/* Selected Tags */

.vs__selected {
  display: flex;
  align-items: center;
  background-color: #f0f0f0;
  border: 1px solid rgba(60, 60, 60, 0.26);
  border-radius: 4px;
  color: #333;
  line-height: 1.4;
  margin: 4px 2px 0px 2px;
  padding: 0 0.25em;
  z-index: 0;
}

.vs__deselect {
  display: inline-flex;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin-left: 4px;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: none;
  fill: rgba(60, 60, 60, 0.5);
  text-shadow: 0 1px 0 #fff;
}

/* States */

.vs--single .vs__selected {
  background-color: transparent;
  border-color: transparent;
}

.vs--single.vs--open .vs__selected {
  position: absolute;
  opacity: 0.4;
}

.vs--single.vs--searching .vs__selected {
  display: none;
}

/* Search Input */

/**
 * Super weird bug... If this declaration is grouped
 * below, the cancel button will still appear in chrome.
 * If it's up here on it's own, it'll hide it.
 */

.vs__search::-webkit-search-cancel-button {
  display: none;
}

.vs__search::-webkit-search-decoration,
.vs__search::-webkit-search-results-button,
.vs__search::-webkit-search-results-decoration,
.vs__search::-ms-clear {
  display: none;
}

.vs__search,
.vs__search:focus {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  line-height: 1.4;
  font-size: 1em;
  border: 1px solid transparent;
  border-left: none;
  outline: none;
  margin: 4px 0 0 0;
  padding: 0 7px;
  background: none;
  box-shadow: none;
  width: 0;
  max-width: 100%;
  flex-grow: 1;
  z-index: 1;
}

.vs__search::-moz-placeholder {
  color: inherit;
}

.vs__search::placeholder {
  color: inherit;
}

/**
    States
 */

.vs--unsearchable .vs__search {
  opacity: 1;
}

.vs--unsearchable:not(.vs--disabled) .vs__search:hover {
  cursor: pointer;
}

.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search {
  opacity: 0.2;
}

/* Loading Spinner */

.vs__spinner {
  align-self: center;
  opacity: 0;
  font-size: 5px;
  text-indent: -9999em;
  overflow: hidden;
  border-top: 0.9em solid rgba(100, 100, 100, 0.1);
  border-right: 0.9em solid rgba(100, 100, 100, 0.1);
  border-bottom: 0.9em solid rgba(100, 100, 100, 0.1);
  border-left: 0.9em solid rgba(60, 60, 60, 0.45);
  transform: translateZ(0);
  animation: vSelectSpinner 1.1s infinite linear;
  transition: opacity 0.1s;
}

.vs__spinner,
.vs__spinner:after {
  border-radius: 50%;
  width: 5em;
  height: 5em;
}

/* Loading Spinner States */

.vs--loading .vs__spinner {
  opacity: 1;
}

.content-sections .content-row.eventsListSection {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.events {
  max-width: 100%;
  width: 1540px;
  margin: 0 auto;
}

.events .date-filter {
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .events .date-filter {
    width: 30%;
  }
}

.events .date-filter .v-select {
  font-size: 3rem;
  font-family: "Oswald", Arial, sans-serif;
  text-transform: uppercase;
  margin-bottom: 4rem;
}

.events .date-filter .v-select .vs__dropdown-toggle {
  border: none;
}

.events .no-events h4 {
  font-size: 3rem;
  text-align: center;
}

.events .event {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 3rem;
  background: #fff;
  color: #000;
}

@media (min-width: 1024px) {
  .events .event {
    flex-direction: row;
  }
}

.events .event .event-image {
  width: 30%;
}

.events .event .event-image p {
  font-size: 1.5rem;
  font-family: "Oswald", Arial, sans-serif;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .events .event .event-image p {
    font-size: 2.5rem;
  }
}

.events .event .event-info {
  width: 60%;
}

@media screen and (min-width: 1024px) {
  .events .event .event-info {
    width: 50%;
  }
}

.events .event .event-info h4 {
  font-size: 2rem;
  text-transform: uppercase;
}

@media screen and (min-width: 1024px) {
  .events .event .event-info h4 {
    font-size: 3rem;
  }
}

.events .event .event-info p {
  font-size: 1.5rem;
  margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
  .events .event .event-info p {
    font-size: 2rem;
  }
}

.events .event .event-info ul {
  list-style-type: disc;
  padding-left: 2rem;
  font-size: 1.2rem;
  margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
  .events .event .event-info ul {
    font-size: 1.5rem;
  }
}

.events .event .event-info a.button {
  margin-top: 1rem;
}

.events .event .event-date {
  width: 100%;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
}

@media (min-width: 1024px) {
  .events .event .event-date {
    width: 25%;
    margin-bottom: 0;
  }
}

.events .event .event-date .date {
  background: rgba(255, 255, 255, 0.7);
  color: #000;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  padding: 1rem 1.5rem;
}

.events .event .event-date .date .month {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
}

.events .event .event-date .date .day {
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 600;
}

.events .event .event-date .date .time {
  font-size: 0.7rem;
}

.events .event .event-details {
  flex: 1;
  padding: 1.5rem 3rem;
}

.content-row.imageGallery {
  margin: 3rem auto;
}

.image-gallery .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  row-gap: 2rem;
}

@media screen and (min-width: 1024px) {
  .image-gallery .content {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

table.pricing-table {
  font-size: 1rem;
}

@media screen and (min-width: 1024px) {
  table.pricing-table {
    font-size: 2rem;
  }
}

table.pricing-table tr th {
  font-family: "Oswald", Arial, sans-serif;
  text-transform: uppercase;
  text-align: center;
  font-size: 1rem;
  border-bottom: 1px solid #000;
  padding: 0;
}

@media screen and (min-width: 1024px) {
  table.pricing-table tr th {
    font-size: 3rem;
  }
}

table.pricing-table tr th:not(:last-child) {
  border-right: 1px solid #000;
}

table.pricing-table tr th:first-child {
  width: 20%;
}

@media screen and (min-width: 1024px) {
  table.pricing-table tr th:first-child {
    width: 18%;
  }
}

table.pricing-table tr td {
  text-align: center;
  border-bottom: 1px solid #000;
  padding: 0;
}

table.pricing-table tr td:not(:last-child) {
  border-right: 1px solid #000;
}

table.pricing-table tr td:first-child {
  font-family: "Oswald", Arial, sans-serif;
  text-transform: uppercase;
  font-size: 1rem;
}

@media screen and (min-width: 1024px) {
  table.pricing-table tr td:first-child {
    font-size: 3rem;
  }
}

table.pricing-table tr:last-child td {
  border-bottom: none;
}

.divider {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto 4rem;
  padding-top: 4rem;
  border-bottom: 1px solid #000;
}

.video-section .video {
  min-height: 50vh;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
  background-position: center center;
}

.video-section .video .play-button {
  height: 4rem;
  width: 4rem;
}


/*# sourceMappingURL=main.css.map*/