/*
Theme Name: SFS Custom Theme
Author: Dylan Stark
Author URI:
Description: A custom theme for the SF Sketchfest website.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom
*/
/* ======================= RESET ===================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

html {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box; }

*, *:before, *:after {
  -webkit-box-sizing: inherit;
     -moz-box-sizing: inherit;
          box-sizing: inherit; }

.clearfix:after,
.clearfix:before {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0; }

/* ======================= GENERAL ===================== */
html, body {
  font-size: 9px; }
  @media only screen and (min-width: 800px) {
    html, body {
      font-size: 10px; } }

h1, h2, h3, h4, h5, h6, p, a, li {
  color: #272727;
  line-height: 1.25; }

h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.5px; }

h1 {
  font-size: 4.6em;
  margin-bottom: 15px;
  line-height: 1.4; }

h2 {
  font-size: 3.4em;
  margin-bottom: 15px; }

h3 {
  font-size: 2.4em;
  margin-bottom: 15px; }

h4 {
  font-size: 19px;
  margin-bottom: 15px; }

h5 {
  font-size: 1.7em; }

h6 {
  font-size: 14px; }

p {
  font-size: 1.7em; }

li {
  padding-left: 10px;
  margin-bottom: 5px;
  font-size: 1.7em; }
  li li {
    font-size: 1em; }

a {
  text-decoration: none;
  font-size: inherit; }

p, ul, ol {
  margin-bottom: 20px; }

ul, ol {
  padding-left: 20px; }
  @media only screen and (min-width: 800px) {
    ul, ol {
      padding-left: 30px; } }

img {
  max-width: 100%; }

/* ======================= STRUCTURE ===================== */
main {
  position: relative;
  z-index: 10;
  overflow: hidden;
  padding-bottom: 20px;
  width: 100%; }
  @media only screen and (min-width: 800px) {
    main {
      padding-bottom: 80px; } }

.home main {
  padding-bottom: 20px; }
  @media only screen and (min-width: 800px) {
    .home main {
      padding-bottom: 105px; } }

.main-footer-wrapper {
  position: relative; }

.image-wrapper img {
  max-width: 100%;
  width: 100%; }

.anchor {
  background-color: transparent;
  color: transparent;
  height: 1px;
  width: 100%; }

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.flex-item {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.light-shadow {
  -webkit-box-shadow: -3px 3px 15px 2px rgba(0, 0, 0, 0.08);
          box-shadow: -3px 3px 15px 2px rgba(0, 0, 0, 0.08); }

.bg-image-darken {
  position: relative; }
  .bg-image-darken:before {
    background-color: rgba(0, 0, 0, 0.4);
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 0; }

@media only screen and (min-width: 800px) {
  .align-center {
    text-align: center; } }

/* ======================= BUTTONS ===================== */
.button {
  padding: 12px 20px;
  -webkit-box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.06);
          box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.06);
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
  font-weight: 700 !important;
  letter-spacing: 0px;
  -webkit-appearance: none; }
  .button:hover {
    color: #fff;
    -webkit-box-shadow: 0px 0px 10px 1px rgba(255, 255, 255, 0.1);
            box-shadow: 0px 0px 10px 1px rgba(255, 255, 255, 0.1);
    cursor: pointer; }

.button-secondary {
  height: 38px;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
  color: #fff;
  border: none;
  font-size: 1.8em;
  padding: 8px 20px;
  letter-spacing: 0px;
  -webkit-appearance: none; }
  .button-secondary:hover {
    cursor: pointer; }

/* ======================= MENUS ===================== */
.menu-item a {
  color: #fff; }

/* ======================= HEADER ===================== */
header {
  z-index: 20;
  position: relative; }
  .off-season header {
    background-color: #1b2845; }
  header a {
    font-size: 16px; }
    @media only screen and (min-width: 1100px) {
      header a {
        font-size: 18px; } }
  header a, header p, header li {
    color: #fff; }
  header ul, header ol {
    margin-bottom: 0;
    padding: 0; }
  header li {
    margin: 0;
    padding-left: 0; }
  header .lockup-area {
    height: 220px;
    padding: 20px 30px;
    background-size: cover;
    background-position: center center;
    overflow: hidden;
    display: none; }
    header .lockup-area .lockup-wrapper {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: 100%;
      max-width: 775px; }
    @media only screen and (min-width: 600px) {
      header .lockup-area {
        height: 240px; } }
    @media only screen and (min-width: 800px) {
      header .lockup-area {
        height: 260px; } }
    @media only screen and (min-width: 1100px) {
      header .lockup-area {
        height: 300px; } }
    .off-season header .lockup-area {
      display: none; }
  header .header-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 10px 20px;
    max-width: 1240px;
    margin: 0 auto; }
    .off-season header .header-nav {
      background-color: #1b2845; }
    header .header-nav ul, header .header-nav ol {
      list-style: none; }
    header .header-nav .logo-menu {
      width: 100%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 10px 0; }
      header .header-nav .logo-menu a, header .header-nav .logo-menu i {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    header .header-nav .header-nav-logo {
      max-width: 140px;
      display: block;
      line-height: 0; }
    header .header-nav .menu-close,
    header .header-nav .menu-open {
      color: #fff; }
      header .header-nav .menu-close:hover,
      header .header-nav .menu-open:hover {
        cursor: pointer; }
    header .header-nav .menu-close,
    header .header-nav .header-menu-wrapper {
      display: none; }
    header .header-nav .header-menu-wrapper {
      width: 100%;
      padding: 10px 0 20px 0;
      background-color: inherit; }
    header .header-nav .sub-menu {
      padding-bottom: 10px;
      z-index: 20; }
    header .header-nav .menu-item a {
      display: block;
      padding: 10px 0;
      letter-spacing: 0.5px;
      font-weight: 400; }
    header .header-nav .sub-menu .menu-item a {
      padding: 0 0 8px 25px; }
    @media only screen and (min-width: 800px) {
      header .header-nav {
        height: 100px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 8px 25px 8px 25px; }
        .home header .header-nav {
          height: 140px;
          padding: 28px 25px; }
        header .header-nav .header-nav-logo {
          width: 250px;
          max-width: 250px; }
          .home header .header-nav .header-nav-logo {
            width: 320px;
            max-width: 320px; }
        header .header-nav .primary-menu {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          background-color: inherit; }
          header .header-nav .primary-menu > .menu-item {
            position: relative;
            background-color: inherit; }
            header .header-nav .primary-menu > .menu-item a {
              display: block;
              line-height: 1.2; }
            header .header-nav .primary-menu > .menu-item > a {
              padding: 15px;
              height: 45px; }
        header .header-nav .sub-menu {
          display: none;
          padding: 20px 10px 10px 10px;
          position: absolute;
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%);
          background-color: inherit;
          top: 45px;
          min-width: 120px; }
          header .header-nav .sub-menu .menu-item a {
            white-space: nowrap;
            padding: 5px; }
        header .header-nav .menu-item:hover .sub-menu {
          display: block; }
        header .header-nav .menu-open, header .header-nav .menu-close {
          display: none; }
        header .header-nav .logo-menu {
          -webkit-box-flex: 1;
          -webkit-flex: 1 1 auto;
              -ms-flex: 1 1 auto;
                  flex: 1 1 auto;
          width: auto;
          padding: 0; }
        header .header-nav .header-menu-wrapper {
          display: block;
          -webkit-box-flex: 0;
          -webkit-flex: 0 0 auto;
              -ms-flex: 0 0 auto;
                  flex: 0 0 auto;
          padding: 0;
          width: auto; }
          .home header .header-nav .header-menu-wrapper {
            margin-bottom: 20px; } }
    @media only screen and (min-width: 1100px) {
      header .header-nav {
        padding: 8px 45px 8px 65px; }
        header .header-nav .primary-menu > .menu-item > a {
          padding: 15px 20px 15px 20px;
          height: 45px; } }

/* ======================= FOOTER ===================== */
.footer-bg {
  position: absolute;
  bottom: 0;
  width: 100%; }
  @media only screen and (min-width: 800px) {
    .footer-bg {
      display: block; } }

footer {
  position: relative;
  padding: 0 0 45px 0; }
  footer ul, footer ol {
    margin-bottom: 0;
    padding: 0; }
  footer li {
    padding: 0;
    margin: 0;
    line-height: 1;
    font-size: 19px; }
  footer .trademark {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    opacity: 0.6; }
  footer a {
    font-size: 19px;
    text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.6); }
  footer .sub-menu a {
    font-size: 16px;
    padding-left: 0px;
    color: rgba(255, 255, 255, 0.9); }
  footer .menu-item {
    margin-bottom: 7px;
    -webkit-column-break-inside: avoid;
       page-break-inside: avoid;
            break-inside: avoid; }
  footer .primary-menu > .menu-item, footer .footer-menu > .menu-item {
    margin-bottom: 25px; }
  footer .sub-menu {
    margin: 7px 0 0 0; }
  footer .footer-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 30px 20px; }
  footer .footer-logo {
    display: block;
    width: 150px;
    margin: 0 auto 20px auto; }
  footer ul {
    list-style: none; }
  footer .socials {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    footer .socials a {
      text-align: center;
      padding: 0px 15px 20px 15px;
      display: block;
      color: #fff; }
  footer .footer-asset {
    display: none;
    position: absolute;
    top: -195px;
    left: 7%;
    min-width: 150px;
    max-width: 250px;
    width: 210px;
    z-index: 20; }
  @media only screen and (min-width: 400px) {
    footer .footer-menus-wrapper {
      -webkit-column-count: 2;
         -moz-column-count: 2;
              column-count: 2;
      -webkit-column-gap: 40px;
         -moz-column-gap: 40px;
              column-gap: 40px; } }
  @media only screen and (min-width: 800px) {
    footer .footer-asset {
      display: block; }
    footer .socials {
      -webkit-box-ordinal-group: 4;
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3;
      padding: 0 0 0 30px;
      display: block; }
      footer .socials a {
        padding: 0 5px 5px 5px; }
    footer .footer-logo {
      margin: 0 0 20px 0; }
    footer .footer-content {
      padding: 60px 30px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      footer .footer-content * {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    footer .footer-menus-wrapper {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      padding: 0 0 0 50px;
      -webkit-column-count: 1;
         -moz-column-count: 1;
              column-count: 1; }
      footer .footer-menus-wrapper .footer-menu {
        width: 33%;
        padding: 0 0 0 30px;
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
      footer .footer-menus-wrapper .primary-menu {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        padding: 0 0 0 30px;
        width: 66%;
        -webkit-column-count: 2;
           -moz-column-count: 2;
                column-count: 2;
        -webkit-column-gap: 30px;
           -moz-column-gap: 30px;
                column-gap: 30px; } }
  @media only screen and (min-width: 1100px) {
    footer .footer-content {
      padding: 60px 75px; } }

/* ======================= PAGE CONTENT MODULES ===================== */
.page-content-wrapper {
  padding: 80px 0 0 0; }
  .page-content-wrapper a, .page-content-wrapper p, .page-content-wrapper li, .page-content-wrapper h1, .page-content-wrapper h2, .page-content-wrapper h3, .page-content-wrapper h4, .page-content-wrapper h5, .page-content-wrapper h6 {
    word-wrap: break-word; }
  .page-content-wrapper h1 {
    max-width: 850px;
    margin: 0 auto 10px auto; }
  .page-content-wrapper h4 {
    margin-top: 35px;
    margin-bottom: 8px;
    font-weight: 600; }
  .page-content-wrapper h5 {
    margin-bottom: 5px;
    margin-top: 20px; }
    .page-content-wrapper h5:first-of-type {
      margin-top: 0; }
  .page-content-wrapper p {
    margin-bottom: 25px; }
    .page-content-wrapper p:last-of-type {
      margin-bottom: 10px; }

.content-module {
  background-size: cover;
  background-position: center center;
  padding: 10px 0px 40px 0px;
  position: relative; }
  .content-module a img:hover {
    opacity: .8; }
  .content-module img {
    display: block;
    height: auto;
    margin: 0 auto 0 0;
    width: auto;
    padding-bottom: 20px; }
    @media only screen and (min-width: 800px) {
      .content-module img.alignleft {
        float: left;
        padding-right: 20px;
        padding-bottom: 5px; }
      .content-module img.alignright {
        float: right;
        padding-left: 20px;
        padding-bottom: 5px; }
      .content-module img.aligncenter {
        margin: 0 auto; } }
  .content-module .content-module-inner {
    max-width: 850px;
    margin: 0 auto;
    position: relative;
    z-index: 10; }
  .content-module .content-module-box {
    padding: 10px 20px 0px 20px; }
  .content-module.header {
    padding-bottom: 0;
    padding-top: 0; }
    .content-module.header .content-module-box {
      padding-bottom: 0;
      padding-top: 0; }
    .content-module.header h2 {
      padding-top: 30px; }
    .content-module.header h3 {
      padding-top: 20px; }
  .content-module.standard.has-bg {
    margin: 0 0 50px 0;
    padding: 50px 0; }
    .content-module.standard.has-bg h1, .content-module.standard.has-bg h2, .content-module.standard.has-bg h3, .content-module.standard.has-bg h4, .content-module.standard.has-bg h5, .content-module.standard.has-bg h6, .content-module.standard.has-bg p, .content-module.standard.has-bg li, .content-module.standard.has-bg ol, .content-module.standard.has-bg ul {
      color: #fff; }
  .content-module.collapsible .content-module-inner {
    padding: 0 10px; }
  .content-module.collapsible .content-module-box {
    border-top-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 2px;
    border-right-width: 2px;
    border-style: solid;
    padding: 0; }
    .content-module.collapsible .content-module-box i {
      float: right; }
    .content-module.collapsible .content-module-box .fa-caret-up {
      display: none; }
    .content-module.collapsible .content-module-box:first-of-type {
      border-top-width: 2px; }
    .content-module.collapsible .content-module-box:last-of-type {
      border-bottom-width: 2px; }
    .content-module.collapsible .content-module-box.open .fa-caret-down {
      display: none; }
    .content-module.collapsible .content-module-box.open .fa-caret-up {
      display: inline; }
  .content-module.collapsible .collapsible-label {
    padding: 10px;
    margin: 0; }
    .content-module.collapsible .collapsible-label:hover {
      cursor: pointer; }
  .content-module.collapsible .collapsible-content {
    padding: 20px 10px 10px 10px;
    display: none; }
  @media only screen and (min-width: 800px) {
    .content-module.collapsible .content-module-inner {
      padding: 0 20px; }
    .content-module.collapsible .collapsible-label {
      padding: 13px 20px; }
    .content-module.collapsible .collapsible-content {
      padding: 20px; } }
  .content-module.horizontal-rule .content-module-inner {
    padding: 0; }
  .content-module.horizontal-rule .content-module-box {
    padding: 0; }
    .content-module.horizontal-rule .content-module-box div {
      height: 2px; }
    @media only screen and (min-width: 800px) {
      .content-module.horizontal-rule .content-module-box {
        padding: 0 20px; } }
  .content-module.grid img {
    width: 100%; }
  .content-module.grid .content-module-box {
    padding-top: 20px;
    padding-bottom: 20px; }
  @media only screen and (min-width: 600px) {
    .content-module.grid .content-module-inner {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
    .content-module.grid .content-module-box {
      -webkit-box-flex: 0;
      -webkit-flex: 0 1 auto;
          -ms-flex: 0 1 auto;
              flex: 0 1 auto;
      width: 50%;
      padding-bottom: 20px; } }
  @media only screen and (min-width: 800px) {
    .content-module.grid .content-module-inner {
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .content-module.grid.col-three .content-module-box {
      width: 33.33333%; }
    .content-module.grid.pad-medium .content-module-box {
      padding-left: 35px;
      padding-right: 35px; }
    .content-module.grid.pad-large .content-module-box {
      padding-left: 45px;
      padding-right: 45px; } }
  @media only screen and (min-width: 1100px) {
    .content-module.grid .content-module-inner {
      max-width: 1100px; }
    .content-module.grid.col-four .content-module-box {
      width: 25%; }
    .content-module.grid.col-three .content-module-inner {
      max-width: 850px; } }
  .content-module.grid-custom p:last-of-type {
    margin-bottom: 0; }
  .content-module.grid-custom .content-module-box {
    padding-top: 5px;
    padding-bottom: 5px; }
  .content-module.grid-custom .content-module-box {
    width: 100%; }
  @media only screen and (min-width: 800px) {
    .content-module.grid-custom .content-module-box {
      padding-top: 20px;
      padding-bottom: 20px; }
    .content-module.grid-custom.col-three .content-module-box {
      width: 33.33333%; }
    .content-module.grid-custom.pad-medium .content-module-box {
      padding-top: 35px;
      padding-bottom: 35px; }
    .content-module.grid-custom.pad-large .content-module-box {
      padding-top: 45px;
      padding-bottom: 45px; } }
  @media only screen and (min-width: 1100px) {
    .content-module.grid-custom.col-four .content-module-box {
      width: 25%; } }
  .content-module.grid-images .content-module-inner .wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .content-module.grid-images .content-module-box a {
    width: 100%;
    height: 100%; }
    .content-module.grid-images .content-module-box a:hover img {
      opacity: 0.8; }
  .content-module.grid-images .content-module-box img {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin: 0 auto;
    width: 60%;
    max-width: 210px; }
  .content-module.grid-images .content-module-box .subtitle {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 90%;
    text-align: center;
    color: inherit; }
  @media only screen and (min-width: 800px) {
    .content-module.grid-images .content-module-box {
      padding-top: 50px;
      padding-bottom: 25px; }
      .content-module.grid-images .content-module-box img {
        width: 75%; } }
  .content-module.two-column .content-module-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
  .content-module.two-column .content-module-box {
    width: 100%;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    .content-module.two-column .content-module-box.image-only img {
      width: 100%;
      height: auto;
      max-width: 400px; }
  @media only screen and (min-width: 800px) {
    .content-module.two-column .content-module-box.image-only img {
      max-width: auto; }
    .content-module.two-column .content-module-inner {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .content-module.two-column .left {
      padding-right: 40px; }
    .content-module.two-column.size-one .left {
      width: 20%; }
    .content-module.two-column.size-one .right {
      width: 80%; }
    .content-module.two-column.size-two .left {
      width: 33%; }
    .content-module.two-column.size-two .right {
      width: 66%; }
    .content-module.two-column.size-three .left {
      width: 40%; }
    .content-module.two-column.size-three .right {
      width: 60%; }
    .content-module.two-column.size-four .left {
      width: 50%; }
    .content-module.two-column.size-four .right {
      width: 50%; }
    .content-module.two-column.size-five .left {
      width: 60%; }
    .content-module.two-column.size-five .right {
      width: 40%; }
    .content-module.two-column.size-six .left {
      width: 66%; }
    .content-module.two-column.size-six .right {
      width: 33%; }
    .content-module.two-column.size-seven .left {
      width: 80%; }
    .content-module.two-column.size-seven .right {
      width: 20%; } }
  .content-module.full-embed .content-module-inner {
    max-width: 100%; }
  .content-module.full-embed .content-module-box {
    padding-left: 0;
    padding-right: 0; }

/* ======================= HOME PAGE ===================== */
.home p {
  margin-bottom: 10px;
  line-height: 1.4; }
.home .content-box h1, .home .content-box h2, .home .content-box h3, .home .content-box h4, .home .content-box h5, .home .content-box h6, .home .content-box li, .home .content-box .subtitle, .home .image-box h1, .home .image-box h2, .home .image-box h3, .home .image-box h4, .home .image-box h5, .home .image-box h6, .home .image-box li, .home .image-box .subtitle, .home .left-box-content h1, .home .left-box-content h2, .home .left-box-content h3, .home .left-box-content h4, .home .left-box-content h5, .home .left-box-content h6, .home .left-box-content li, .home .left-box-content .subtitle, .home .right-box-content h1, .home .right-box-content h2, .home .right-box-content h3, .home .right-box-content h4, .home .right-box-content h5, .home .right-box-content h6, .home .right-box-content li, .home .right-box-content .subtitle {
  color: #272727; }
.home .hero h1, .home .hero h2, .home .hero h3, .home .hero h4, .home .hero h5, .home .hero h6, .home .hero li, .home .hero .subtitle, .home .hero p {
  color: #fff; }
.home.off-season .hero {
  background-color: #1b2845; }
  .home.off-season .hero:after {
    display: none; }
  .home.off-season .hero .hero-content h1, .home.off-season .hero .hero-content .subtitle, .home.off-season .hero .hero-content .date {
    text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4); }
  .home.off-season .hero .hero-background {
    display: block; }
  @media only screen and (min-width: 800px) {
    .home.off-season .hero {
      padding: 120px 0px; } }
  @media only screen and (min-width: 1100px) {
    .home.off-season .hero {
      padding: 140px 0px; } }
.home .hero {
  background-size: cover;
  background-position: center center;
  position: relative;
  overflow: hidden; }
  @media only screen and (min-width: 800px) {
    .home .hero h1 {
      font-size: 6.2em; } }
  .home .hero .hero-background {
    position: absolute;
    right: 0;
    width: 48%;
    max-width: 640px;
    min-width: 250px;
    top: 20px;
    display: none;
    opacity: 0.75; }
  .home .hero .hero-content {
    position: relative;
    z-index: 10;
    margin: 0 auto;
    padding: 50px 15px;
    width: 100%;
    max-width: 1200px; }
    .home .hero .hero-content h1, .home .hero .hero-content .subtitle, .home .hero .hero-content .date {
      text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.06); }
    .home .hero .hero-content p {
      font-size: 2.2em; }
    .home .hero .hero-content .subtitle {
      margin-bottom: 55px; }
    .home .hero .hero-content .cta {
      font-size: 1.8em; }
      .home .hero .hero-content .cta a {
        font-weight: 700 !important; }
  @media only screen and (min-width: 800px) {
    .home .hero {
      padding: 120px 75px;
      min-height: 500px;
      margin-bottom: 25px; }
      .home .hero:after {
        display: none; }
      .home .hero .hero-content {
        padding: 0 40px; }
        .home .hero .hero-content h1 {
          max-width: 650px; }
        .home .hero .hero-content .subtitle, .home .hero .hero-content .date {
          max-width: 550px; }
      .home .hero.on-season {
        min-height: 450px; }
        .home .hero.on-season .hero-content h1, .home .hero.on-season .hero-content .date, .home .hero.on-season .hero-content .subtitle, .home .hero.on-season .hero-content .cta {
          text-align: center; }
        .home .hero.on-season .hero-content h1 {
          max-width: 100%; }
        .home .hero.on-season .hero-content .subtitle, .home .hero.on-season .hero-content .date {
          max-width: 100%; } }
  @media only screen and (min-width: 1100px) {
    .home .hero {
      padding: 140px 75px;
      min-height: 600px; }
      .home .hero .hero-content {
        padding: 0 75px; }
      .home .hero.on-season {
        min-height: 450px; }
        .home .hero.on-season .hero-content {
          padding: 0 100px; }
        .home .hero.on-season .subtitle {
          padding: 0 40px; } }
.home .asset-one, .home .asset-two, .home .asset-three, .home .asset-four {
  position: absolute;
  z-index: -10;
  max-width: 100%;
  min-width: 200px; }
.home .asset-one {
  display: none;
  top: -1%;
  left: 0; }
  @media only screen and (min-width: 800px) {
    .home .asset-one {
      display: block; } }
.home .asset-two {
  right: -1%;
  top: 0; }
  @media only screen and (min-width: 800px) {
    .home .asset-two {
      top: 100px; } }
.home .asset-three {
  left: 3%;
  top: 40%; }
.home .asset-four {
  right: 3%;
  top: 70%; }
.home .home-row {
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .home .home-row a, .home .home-row a:visited {
    color: #fff; }
  .home .home-row h2 {
    margin-bottom: 13px; }
  .home .home-row .arrow-down {
    width: 0;
    height: 0;
    font-size: 0px;
    line-height: 0%;
    position: absolute;
    border-right: 25px solid transparent;
    border-left: 25px solid transparent;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .home .home-row .cta {
    font-size: 18px;
    font-weight: 700; }
  .home .home-row .content-box, .home .home-row .image-box, .home .home-row .left-box-content, .home .home-row .right-box-content {
    min-height: 300px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .home .home-row .content-box, .home .home-row .image-box {
    padding: 40px 20px 30px 20px; }
  .home .home-row .content-box {
    width: 100%;
    position: relative; }
    .home .home-row .content-box .subtitle {
      line-height: 1.5;
      margin-bottom: 20px; }
    .home .home-row .content-box h3, .home .home-row .content-box h2, .home .home-row .content-box .date, .home .home-row .content-box .cta, .home .home-row .content-box .subtitle {
      text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.08);
      z-index: 10;
      position: relative;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
  .home .home-row .image-box {
    width: 100%;
    background-size: cover;
    background-position: center center; }
  .home .home-row .left-box, .home .home-row .right-box {
    width: 100%; }
    .home .home-row .left-box .subtitle, .home .home-row .right-box .subtitle {
      margin-bottom: 15px; }
    .home .home-row .left-box .cta, .home .home-row .right-box .cta {
      padding: 5px 0 0 0; }
  .home .home-row .left-box-content, .home .home-row .right-box-content {
    background-position: center center;
    background-size: cover;
    height: 100%;
    width: 100%; }
    .home .home-row .left-box-content .text-container, .home .home-row .right-box-content .text-container {
      padding: 10px 20px; }
    .home .home-row .left-box-content .date, .home .home-row .left-box-content h3, .home .home-row .left-box-content .subtitle, .home .home-row .left-box-content .cta, .home .home-row .right-box-content .date, .home .home-row .right-box-content h3, .home .home-row .right-box-content .subtitle, .home .home-row .right-box-content .cta {
      z-index: 10;
      text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.08);
      position: relative;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 4px; }
    .home .home-row .left-box-content .subtitle, .home .home-row .left-box-content .date, .home .home-row .right-box-content .subtitle, .home .home-row .right-box-content .date {
      font-size: 2.2em; }
  @media only screen and (min-width: 400px) {
    .home .home-row .content-box, .home .home-row .left-box-content, .home .home-row .right-box-content {
      min-height: 240px; }
    .home .home-row .image-box {
      min-height: 260px; } }
  @media only screen and (min-width: 600px) {
    .home .home-row .image-box {
      min-height: 340px; } }
  @media only screen and (min-width: 800px) {
    .home .home-row {
      padding: 14px 30px; }
      .home .home-row .arrow-down {
        display: none; }
      .home .home-row.full-width:nth-of-type(odd) .content-box {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      .home .home-row.full-width:nth-of-type(odd) .image-box {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
      .home .home-row .content-box {
        width: 40%; }
      .home .home-row .image-box {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 0%;
            -ms-flex: 1 1 0%;
                flex: 1 1 0%;
        width: 60%; }
      .home .home-row .left-box {
        width: 50%;
        padding-right: 14px; }
      .home .home-row .right-box {
        width: 50%;
        padding-left: 14px; }
      .home .home-row .content-box, .home .home-row .image-box, .home .home-row .left-box-content, .home .home-row .right-box-content {
        min-height: 400px; }
        .home .home-row .content-box .text-container, .home .home-row .image-box .text-container, .home .home-row .left-box-content .text-container, .home .home-row .right-box-content .text-container {
          padding: 25px; }
      .home .home-row .content-box, .home .home-row .image-box {
        padding: 30px;
        -webkit-transition: all 0.2s;
        transition: all 0.2s; }
        .home .home-row .content-box:hover, .home .home-row .image-box:hover {
          padding: 30px 30px 35px 30px; } }
  @media only screen and (min-width: 1100px) {
    .home .home-row {
      padding: 14px 75px; }
      .home .home-row .content-box {
        width: 35%; } }

/* ======================= HOME ANIMATIONS ===================== */
.home-animation, .home-animation-two, .home-animation-three {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: hidden; }
  @media only screen and (min-width: 800px) {
    .home-animation, .home-animation-two, .home-animation-three {
      display: block; } }
  .home-animation img, .home-animation-two img, .home-animation-three img {
    position: absolute; }

.home-animation img {
  -webkit-animation: moveup 32s linear 1 forwards;
          animation: moveup 32s linear 1 forwards;
  max-width: 300px;
  width: 180px; }

@-webkit-keyframes moveup {
  from {
    bottom: -200px;
    opacity: 0; }
  10% {
    opacity: 1; }
  90% {
    opacity: 1; }
  to {
    bottom: 4500px;
    opacity: 0; } }

@keyframes moveup {
  from {
    bottom: -200px;
    opacity: 0; }
  10% {
    opacity: 1; }
  90% {
    opacity: 1; }
  to {
    bottom: 4500px;
    opacity: 0; } }
.home-animation-two img {
  -webkit-animation: moveright 28s linear 1 forwards;
          animation: moveright 28s linear 1 forwards;
  max-width: 100px;
  width: 80px; }

@-webkit-keyframes moveright {
  from {
    left: -200px;
    opacity: 0; }
  10% {
    opacity: 1; }
  20% {
    -webkit-transform: translate(0, -60px);
            transform: translate(0, -60px); }
  30% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px); }
  50% {
    -webkit-transform: translate(0, -60px);
            transform: translate(0, -60px); }
  70% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px); }
  90% {
    opacity: 1; }
  to {
    left: 3000px;
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes moveright {
  from {
    left: -200px;
    opacity: 0; }
  10% {
    opacity: 1; }
  20% {
    -webkit-transform: translate(0, -60px);
            transform: translate(0, -60px); }
  30% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px); }
  50% {
    -webkit-transform: translate(0, -60px);
            transform: translate(0, -60px); }
  70% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px); }
  90% {
    opacity: 1; }
  to {
    left: 3000px;
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }
.home-animation-three img {
  -webkit-animation: moveleft 30s linear 1 forwards;
          animation: moveleft 30s linear 1 forwards;
  max-width: 100px;
  width: 80px; }

@-webkit-keyframes moveleft {
  from {
    right: -200px;
    opacity: 0; }
  10% {
    opacity: 1; }
  20% {
    -webkit-transform: translate(0, -60px);
            transform: translate(0, -60px); }
  30% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px); }
  50% {
    -webkit-transform: translate(0, -60px);
            transform: translate(0, -60px); }
  70% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px); }
  90% {
    opacity: 1; }
  to {
    right: 3000px;
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes moveleft {
  from {
    right: -200px;
    opacity: 0; }
  10% {
    opacity: 1; }
  20% {
    -webkit-transform: translate(0, -60px);
            transform: translate(0, -60px); }
  30% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px); }
  50% {
    -webkit-transform: translate(0, -60px);
            transform: translate(0, -60px); }
  70% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px); }
  90% {
    opacity: 1; }
  to {
    right: 3000px;
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }
/* ======================= YOUTUBE MODAL ===================== */
.youtube-overlay-modal {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.85);
  z-index: 200; }

.youtube-overlay-wrapper {
  height: 100%;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }

.youtube-overlay-content {
  padding: 50px 20px;
  position: relative;
  width: 100%;
  max-width: 780px; }
  @media only screen and (min-width: 800px) {
    .youtube-overlay-content {
      padding: 50px; } }

.youtube-overlay-close {
  position: absolute;
  top: 5px;
  right: 20px; }
  @media only screen and (min-width: 800px) {
    .youtube-overlay-close {
      right: 5px; } }

.youtube-embed-wrapper {
  width: 100%;
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }

.youtube-embed-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* ======================= EMAIL SUBSCRIBE ===================== */
.email-subscribe {
  text-align: center;
  padding: 40px 20px 30px 20px; }
  .email-subscribe form {
    text-align: center; }
  .email-subscribe p {
    font-size: 2.2em;
    margin-bottom: 25px; }
  .email-subscribe input {
    line-height: 1 !important; }
  .email-subscribe input#mce-EMAIL {
    border: none;
    font-size: 1.8em;
    height: 38px;
    padding: 5px 15px;
    width: 100%;
    max-width: 250px;
    margin: 0 20px 20px 20px; }
    .email-subscribe input#mce-EMAIL::-webkit-input-placeholder {
      color: inherit;
      opacity: 0.7; }
    .email-subscribe input#mce-EMAIL::-moz-placeholder {
      color: inherit;
      opacity: 0.7; }
    .email-subscribe input#mce-EMAIL:-ms-input-placeholder {
      color: inherit;
      opacity: 0.7; }
    .email-subscribe input#mce-EMAIL::placeholder {
      color: inherit;
      opacity: 0.7; }
    .email-subscribe input#mce-EMAIL:focus {
      outline: none !important; }
  @media only screen and (min-width: 800px) {
    .email-subscribe {
      padding: 45px 30px; }
      .email-subscribe input#mce-EMAIL {
        margin: 0 20px 0 0; } }

/* ======================= CATEGORIES ===================== */
@media only screen and (min-width: 800px) {
  .content-module.past-festival .content-module-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
.content-module.past-festival .content-module-box {
  padding: 25px; }
  .content-module.past-festival .content-module-box img {
    width: 100%;
    max-width: 260px; }
  @media only screen and (min-width: 800px) {
    .content-module.past-festival .content-module-box {
      padding: 45px;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: 50%;
      text-align: center; }
      .content-module.past-festival .content-module-box img {
        margin: 0 auto; } }
