@charset "UTF-8";
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,700");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

/**
 * 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.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

script {
  display: none !important; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 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; }

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: none; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * 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.
 */
img {
  border: 0; }

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * 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.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal; }

/**
 * 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 Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
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; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 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 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

meta.foundation-mq-small {
  font-family: "only screen and (min-width: 768px)";
  width: 768px; }

meta.foundation-mq-medium {
  font-family: "only screen and (min-width: 1280px)";
  width: 1280px; }

meta.foundation-mq-large {
  font-family: "only screen and (min-width: 1440px)";
  width: 1440px; }

*,
*:before,
*:after {
  box-sizing: border-box; }

html,
body {
  font-size: 100%; }

body {
  background: #fff;
  color: #222;
  padding: 0;
  margin: 0;
  font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  position: relative;
  cursor: default; }

a:hover {
  cursor: pointer; }

img,
object,
embed {
  max-width: 100%;
  height: auto; }

object,
embed {
  height: 100%; }

img {
  -ms-interpolation-mode: bicubic; }

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object {
  max-width: none !important; }

.left {
  float: left !important; }

.right {
  float: right !important; }

.text-left {
  text-align: left !important; }

.text-right {
  text-align: right !important; }

.text-center {
  text-align: center !important; }

.text-justify {
  text-align: justify !important; }

.hide {
  display: none; }

.antialiased {
  -webkit-font-smoothing: antialiased; }

img {
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px; }

select {
  width: 100%; }

/* Grid HTML Classes */
.row {
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100em;
  width: 100%;
  *zoom: 1; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }
  .row.collapse .column,
  .row.collapse .columns {
    padding-left: 0;
    padding-right: 0;
    float: left; }
  .row .row {
    margin-left: -0.9375em;
    margin-right: -0.9375em;
    max-width: none;
    width: auto;
    *zoom: 1; }
    .row .row:before, .row .row:after {
      content: " ";
      display: table; }
    .row .row:after {
      clear: both; }
    .row .row.collapse {
      margin-left: 0;
      margin-right: 0;
      max-width: none;
      width: auto;
      *zoom: 1; }
      .row .row.collapse:before, .row .row.collapse:after {
        content: " ";
        display: table; }
      .row .row.collapse:after {
        clear: both; }

.column,
.columns {
  padding-left: 0.9375em;
  padding-right: 0.9375em;
  width: 100%;
  float: left;
  position: relative; }

@media only screen {
  .small-1 {
    width: 8.3333333333%; }
  .small-2 {
    width: 16.6666666667%; }
  .small-3 {
    width: 25%; }
  .small-4 {
    width: 33.3333333333%; }
  .small-5 {
    width: 41.6666666667%; }
  .small-6 {
    width: 50%; }
  .small-7 {
    width: 58.3333333333%; }
  .small-8 {
    width: 66.6666666667%; }
  .small-9 {
    width: 75%; }
  .small-10 {
    width: 83.3333333333%; }
  .small-11 {
    width: 91.6666666667%; }
  .small-12 {
    width: 100%; }
  .small-offset-0 {
    margin-left: 0%; }
  .small-offset-1 {
    margin-left: 8.3333333333%; }
  .small-offset-2 {
    margin-left: 16.6666666667%; }
  .small-offset-3 {
    margin-left: 25%; }
  .small-offset-4 {
    margin-left: 33.3333333333%; }
  .small-offset-5 {
    margin-left: 41.6666666667%; }
  .small-offset-6 {
    margin-left: 50%; }
  .small-offset-7 {
    margin-left: 58.3333333333%; }
  .small-offset-8 {
    margin-left: 66.6666666667%; }
  .small-offset-9 {
    margin-left: 75%; }
  .small-offset-10 {
    margin-left: 83.3333333333%; }
  [class*="column"] + [class*="column"]:last-child {
    float: right; }
  [class*="column"] + .end[class*="column"] {
    float: left; }
  .column.small-centered,
  .columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none !important; } }

@media only screen and (min-width: 768px) {
  .medium-1 {
    width: 8.3333333333%; }
  .medium-2 {
    width: 16.6666666667%; }
  .medium-3 {
    width: 25%; }
  .medium-4 {
    width: 33.3333333333%; }
  .medium-5 {
    width: 41.6666666667%; }
  .medium-6 {
    width: 50%; }
  .medium-7 {
    width: 58.3333333333%; }
  .medium-8 {
    width: 66.6666666667%; }
  .medium-9 {
    width: 75%; }
  .medium-10 {
    width: 83.3333333333%; }
  .medium-11 {
    width: 91.6666666667%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-offset-1 {
    margin-left: 8.3333333333%; }
  .medium-offset-2 {
    margin-left: 16.6666666667%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-offset-4 {
    margin-left: 33.3333333333%; }
  .medium-offset-5 {
    margin-left: 41.6666666667%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-offset-7 {
    margin-left: 58.3333333333%; }
  .medium-offset-8 {
    margin-left: 66.6666666667%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-offset-10 {
    margin-left: 83.3333333333%; }
  .medium-offset-11 {
    margin-left: 91.6666666667%; }
  .medium-push-1 {
    left: 8.3333333333%;
    right: auto; }
  .medium-pull-1 {
    right: 8.3333333333%;
    left: auto; }
  .medium-push-2 {
    left: 16.6666666667%;
    right: auto; }
  .medium-pull-2 {
    right: 16.6666666667%;
    left: auto; }
  .medium-push-3 {
    left: 25%;
    right: auto; }
  .medium-pull-3 {
    right: 25%;
    left: auto; }
  .medium-push-4 {
    left: 33.3333333333%;
    right: auto; }
  .medium-pull-4 {
    right: 33.3333333333%;
    left: auto; }
  .medium-push-5 {
    left: 41.6666666667%;
    right: auto; }
  .medium-pull-5 {
    right: 41.6666666667%;
    left: auto; }
  .medium-push-6 {
    left: 50%;
    right: auto; }
  .medium-pull-6 {
    right: 50%;
    left: auto; }
  .medium-push-7 {
    left: 58.3333333333%;
    right: auto; }
  .medium-pull-7 {
    right: 58.3333333333%;
    left: auto; }
  .medium-push-8 {
    left: 66.6666666667%;
    right: auto; }
  .medium-pull-8 {
    right: 66.6666666667%;
    left: auto; }
  .medium-push-9 {
    left: 75%;
    right: auto; }
  .medium-pull-9 {
    right: 75%;
    left: auto; }
  .medium-push-10 {
    left: 83.3333333333%;
    right: auto; }
  .medium-pull-10 {
    right: 83.3333333333%;
    left: auto; }
  .medium-push-11 {
    left: 91.6666666667%;
    right: auto; }
  .medium-pull-11 {
    right: 91.6666666667%;
    left: auto; }
  .column.medium-centered,
  .columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none !important; }
  .column.medium-uncentered,
  .columns.medium-uncentered {
    margin-left: 0;
    margin-right: 0;
    float: left !important; } }

@media only screen and (min-width: 1280px) {
  .large-1 {
    width: 8.3333333333%; }
  .large-2 {
    width: 16.6666666667%; }
  .large-3 {
    width: 25%; }
  .large-4 {
    width: 33.3333333333%; }
  .large-5 {
    width: 41.6666666667%; }
  .large-6 {
    width: 50%; }
  .large-7 {
    width: 58.3333333333%; }
  .large-8 {
    width: 66.6666666667%; }
  .large-9 {
    width: 75%; }
  .large-10 {
    width: 83.3333333333%; }
  .large-11 {
    width: 91.6666666667%; }
  .large-12 {
    width: 100%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-offset-1 {
    margin-left: 8.3333333333%; }
  .large-offset-2 {
    margin-left: 16.6666666667%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-offset-4 {
    margin-left: 33.3333333333%; }
  .large-offset-5 {
    margin-left: 41.6666666667%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-offset-7 {
    margin-left: 58.3333333333%; }
  .large-offset-8 {
    margin-left: 66.6666666667%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-offset-10 {
    margin-left: 83.3333333333%; }
  .large-offset-11 {
    margin-left: 91.6666666667%; }
  .large-push-1 {
    left: 8.3333333333%;
    right: auto; }
  .large-pull-1 {
    right: 8.3333333333%;
    left: auto; }
  .large-push-2 {
    left: 16.6666666667%;
    right: auto; }
  .large-pull-2 {
    right: 16.6666666667%;
    left: auto; }
  .large-push-3 {
    left: 25%;
    right: auto; }
  .large-pull-3 {
    right: 25%;
    left: auto; }
  .large-push-4 {
    left: 33.3333333333%;
    right: auto; }
  .large-pull-4 {
    right: 33.3333333333%;
    left: auto; }
  .large-push-5 {
    left: 41.6666666667%;
    right: auto; }
  .large-pull-5 {
    right: 41.6666666667%;
    left: auto; }
  .large-push-6 {
    left: 50%;
    right: auto; }
  .large-pull-6 {
    right: 50%;
    left: auto; }
  .large-push-7 {
    left: 58.3333333333%;
    right: auto; }
  .large-pull-7 {
    right: 58.3333333333%;
    left: auto; }
  .large-push-8 {
    left: 66.6666666667%;
    right: auto; }
  .large-pull-8 {
    right: 66.6666666667%;
    left: auto; }
  .large-push-9 {
    left: 75%;
    right: auto; }
  .large-pull-9 {
    right: 75%;
    left: auto; }
  .large-push-10 {
    left: 83.3333333333%;
    right: auto; }
  .large-pull-10 {
    right: 83.3333333333%;
    left: auto; }
  .large-push-11 {
    left: 91.6666666667%;
    right: auto; }
  .large-pull-11 {
    right: 91.6666666667%;
    left: auto; }
  .column.large-centered,
  .columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none !important; }
  .column.large-uncentered,
  .columns.large-uncentered {
    margin-left: 0;
    margin-right: 0;
    float: left !important; } }

/* Foundation Visibility HTML Classes */
.show-for-small,
.show-for-medium-down,
.show-for-large-down {
  display: inherit !important; }

.show-for-medium,
.show-for-medium-up,
.show-for-large,
.show-for-large-up,
.show-for-xlarge {
  display: none !important; }

.hide-for-medium,
.hide-for-medium-up,
.hide-for-large,
.hide-for-large-up,
.hide-for-xlarge {
  display: inherit !important; }

.hide-for-small,
.hide-for-medium-down,
.hide-for-large-down {
  display: none !important; }

/* Specific visilbity for tables */
table.show-for-small, table.show-for-medium-down, table.show-for-large-down, table.hide-for-medium, table.hide-for-medium-up, table.hide-for-large, table.hide-for-large-up, table.hide-for-xlarge {
  display: table; }

thead.show-for-small, thead.show-for-medium-down, thead.show-for-large-down, thead.hide-for-medium, thead.hide-for-medium-up, thead.hide-for-large, thead.hide-for-large-up, thead.hide-for-xlarge {
  display: table-header-group !important; }

tbody.show-for-small, tbody.show-for-medium-down, tbody.show-for-large-down, tbody.hide-for-medium, tbody.hide-for-medium-up, tbody.hide-for-large, tbody.hide-for-large-up, tbody.hide-for-xlarge {
  display: table-row-group !important; }

tr.show-for-small, tr.show-for-medium-down, tr.show-for-large-down, tr.hide-for-medium, tr.hide-for-medium-up, tr.hide-for-large, tr.hide-for-large-up, tr.hide-for-xlarge {
  display: table-row !important; }

td.show-for-small, td.show-for-medium-down, td.show-for-large-down, td.hide-for-medium, td.hide-for-medium-up, td.hide-for-large, td.hide-for-large-up, td.hide-for-xlarge,
th.show-for-small,
th.show-for-medium-down,
th.show-for-large-down,
th.hide-for-medium,
th.hide-for-medium-up,
th.hide-for-large,
th.hide-for-large-up,
th.hide-for-xlarge {
  display: table-cell !important; }

/* Medium Displays: 768px - 1279px */
@media only screen and (min-width: 768px) {
  .show-for-medium,
  .show-for-medium-up {
    display: inherit !important; }
  .show-for-small {
    display: none !important; }
  .hide-for-small {
    display: inherit !important; }
  .hide-for-medium,
  .hide-for-medium-up {
    display: none !important; }
  /* Specific visilbity for tables */
  table.show-for-medium, table.show-for-medium-up, table.hide-for-small {
    display: table; }
  thead.show-for-medium, thead.show-for-medium-up, thead.hide-for-small {
    display: table-header-group !important; }
  tbody.show-for-medium, tbody.show-for-medium-up, tbody.hide-for-small {
    display: table-row-group !important; }
  tr.show-for-medium, tr.show-for-medium-up, tr.hide-for-small {
    display: table-row !important; }
  td.show-for-medium, td.show-for-medium-up, td.hide-for-small,
  th.show-for-medium,
  th.show-for-medium-up,
  th.hide-for-small {
    display: table-cell !important; } }

/* Large Displays: 1280px - 1440px */
@media only screen and (min-width: 1280px) {
  .show-for-large,
  .show-for-large-up {
    display: inherit !important; }
  .show-for-medium,
  .show-for-medium-down {
    display: none !important; }
  .hide-for-medium,
  .hide-for-medium-down {
    display: inherit !important; }
  .hide-for-large,
  .hide-for-large-up {
    display: none !important; }
  /* Specific visilbity for tables */
  table.show-for-large, table.show-for-large-up, table.hide-for-medium, table.hide-for-medium-down {
    display: table; }
  thead.show-for-large, thead.show-for-large-up, thead.hide-for-medium, thead.hide-for-medium-down {
    display: table-header-group !important; }
  tbody.show-for-large, tbody.show-for-large-up, tbody.hide-for-medium, tbody.hide-for-medium-down {
    display: table-row-group !important; }
  tr.show-for-large, tr.show-for-large-up, tr.hide-for-medium, tr.hide-for-medium-down {
    display: table-row !important; }
  td.show-for-large, td.show-for-large-up, td.hide-for-medium, td.hide-for-medium-down,
  th.show-for-large,
  th.show-for-large-up,
  th.hide-for-medium,
  th.hide-for-medium-down {
    display: table-cell !important; } }

/* X-Large Displays: 1400px and up */
@media only screen and (min-width: 1440px) {
  .show-for-xlarge {
    display: inherit !important; }
  .show-for-large,
  .show-for-large-down {
    display: none !important; }
  .hide-for-large,
  .hide-for-large-down {
    display: inherit !important; }
  .hide-for-xlarge {
    display: none !important; }
  /* Specific visilbity for tables */
  table.show-for-xlarge, table.hide-for-large, table.hide-for-large-down {
    display: table; }
  thead.show-for-xlarge, thead.hide-for-large, thead.hide-for-large-down {
    display: table-header-group !important; }
  tbody.show-for-xlarge, tbody.hide-for-large, tbody.hide-for-large-down {
    display: table-row-group !important; }
  tr.show-for-xlarge, tr.hide-for-large, tr.hide-for-large-down {
    display: table-row !important; }
  td.show-for-xlarge, td.hide-for-large, td.hide-for-large-down,
  th.show-for-xlarge,
  th.hide-for-large,
  th.hide-for-large-down {
    display: table-cell !important; } }

/* Orientation targeting */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important; }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }

/* Specific visilbity for tables */
table.hide-for-landscape, table.show-for-portrait {
  display: table; }

thead.hide-for-landscape, thead.show-for-portrait {
  display: table-header-group !important; }

tbody.hide-for-landscape, tbody.show-for-portrait {
  display: table-row-group !important; }

tr.hide-for-landscape, tr.show-for-portrait {
  display: table-row !important; }

td.hide-for-landscape, td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important; }

@media only screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: inherit !important; }
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important; }
  /* Specific visilbity for tables */
  table.show-for-landscape, table.hide-for-portrait {
    display: table; }
  thead.show-for-landscape, thead.hide-for-portrait {
    display: table-header-group !important; }
  tbody.show-for-landscape, tbody.hide-for-portrait {
    display: table-row-group !important; }
  tr.show-for-landscape, tr.hide-for-portrait {
    display: table-row !important; }
  td.show-for-landscape, td.hide-for-portrait,
  th.show-for-landscape,
  th.hide-for-portrait {
    display: table-cell !important; } }

@media only screen and (orientation: portrait) {
  .show-for-portrait,
  .hide-for-landscape {
    display: inherit !important; }
  .hide-for-portrait,
  .show-for-landscape {
    display: none !important; }
  /* Specific visilbity for tables */
  table.show-for-portrait, table.hide-for-landscape {
    display: table; }
  thead.show-for-portrait, thead.hide-for-landscape {
    display: table-header-group !important; }
  tbody.show-for-portrait, tbody.hide-for-landscape {
    display: table-row-group !important; }
  tr.show-for-portrait, tr.hide-for-landscape {
    display: table-row !important; }
  td.show-for-portrait, td.hide-for-landscape,
  th.show-for-portrait,
  th.hide-for-landscape {
    display: table-cell !important; } }

/* Touch-enabled device targeting */
.show-for-touch {
  display: none !important; }

.hide-for-touch {
  display: inherit !important; }

.touch .show-for-touch {
  display: inherit !important; }

.touch .hide-for-touch {
  display: none !important; }

/* Specific visilbity for tables */
table.hide-for-touch {
  display: table; }

.touch table.show-for-touch {
  display: table; }

thead.hide-for-touch {
  display: table-header-group !important; }

.touch thead.show-for-touch {
  display: table-header-group !important; }

tbody.hide-for-touch {
  display: table-row-group !important; }

.touch tbody.show-for-touch {
  display: table-row-group !important; }

tr.hide-for-touch {
  display: table-row !important; }

.touch tr.show-for-touch {
  display: table-row !important; }

td.hide-for-touch {
  display: table-cell !important; }

.touch td.show-for-touch {
  display: table-cell !important; }

th.hide-for-touch {
  display: table-cell !important; }

.touch th.show-for-touch {
  display: table-cell !important; }

/* Foundation Block Grids for below small breakpoint */
@media only screen {
  [class*="block-grid-"] {
    display: block;
    padding: 0;
    margin: 0 -0.625em;
    *zoom: 1; }
    [class*="block-grid-"]:before, [class*="block-grid-"]:after {
      content: " ";
      display: table; }
    [class*="block-grid-"]:after {
      clear: both; }
    [class*="block-grid-"] > li {
      display: inline;
      height: auto;
      float: left;
      padding: 0 0.625em 1.25em; }
  .small-block-grid-1 > li {
    width: 100%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-1 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .small-block-grid-2 > li {
    width: 50%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-2 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .small-block-grid-3 > li {
    width: 33.3333333333%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-3 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .small-block-grid-4 > li {
    width: 25%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-4 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .small-block-grid-5 > li {
    width: 20%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-5 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .small-block-grid-6 > li {
    width: 16.6666666667%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-6 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .small-block-grid-7 > li {
    width: 14.2857142857%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-7 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .small-block-grid-8 > li {
    width: 12.5%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-8 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .small-block-grid-9 > li {
    width: 11.1111111111%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-9 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .small-block-grid-10 > li {
    width: 10%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-10 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .small-block-grid-11 > li {
    width: 9.0909090909%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-11 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .small-block-grid-12 > li {
    width: 8.3333333333%;
    padding: 0 0.625em 1.25em; }
    .small-block-grid-12 > li:nth-of-type(n) {
      clear: none; }
    .small-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

/* Foundation Block Grids for above small breakpoint */
@media only screen and (min-width: 768px) {
  /* Remove small grid clearing */
  .small-block-grid-1 > li:nth-of-type(1n+1) {
    clear: none; }
  .small-block-grid-2 > li:nth-of-type(2n+1) {
    clear: none; }
  .small-block-grid-3 > li:nth-of-type(3n+1) {
    clear: none; }
  .small-block-grid-4 > li:nth-of-type(4n+1) {
    clear: none; }
  .small-block-grid-5 > li:nth-of-type(5n+1) {
    clear: none; }
  .small-block-grid-6 > li:nth-of-type(6n+1) {
    clear: none; }
  .small-block-grid-7 > li:nth-of-type(7n+1) {
    clear: none; }
  .small-block-grid-8 > li:nth-of-type(8n+1) {
    clear: none; }
  .small-block-grid-9 > li:nth-of-type(9n+1) {
    clear: none; }
  .small-block-grid-10 > li:nth-of-type(10n+1) {
    clear: none; }
  .small-block-grid-11 > li:nth-of-type(11n+1) {
    clear: none; }
  .small-block-grid-12 > li:nth-of-type(12n+1) {
    clear: none; }
  .large-block-grid-1 > li {
    width: 100%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-1 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .large-block-grid-2 > li {
    width: 50%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-2 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .large-block-grid-3 > li {
    width: 33.3333333333%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-3 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .large-block-grid-4 > li {
    width: 25%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-4 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .large-block-grid-5 > li {
    width: 20%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-5 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .large-block-grid-6 > li {
    width: 16.6666666667%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-6 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .large-block-grid-7 > li {
    width: 14.2857142857%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-7 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .large-block-grid-8 > li {
    width: 12.5%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-8 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .large-block-grid-9 > li {
    width: 11.1111111111%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-9 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .large-block-grid-10 > li {
    width: 10%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-10 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .large-block-grid-11 > li {
    width: 9.0909090909%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-11 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .large-block-grid-12 > li {
    width: 8.3333333333%;
    padding: 0 0.625em 1.25em; }
    .large-block-grid-12 > li:nth-of-type(n) {
      clear: none; }
    .large-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

p.lead {
  font-size: 1.21875em;
  line-height: 1.6; }

.subheader {
  line-height: 1.4;
  color: #6f6f6f;
  font-weight: 300;
  margin-top: 0.2em;
  margin-bottom: 0.5em; }

/* Typography resets */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
  direction: ltr; }

/* Default Link Styles */
a {
  color: #2ba6cb;
  text-decoration: none;
  line-height: inherit; }
  a:hover, a:focus {
    color: #2795b6; }
  a img {
    border: none; }

/* Default paragraph styles */
p {
  font-family: inherit;
  font-weight: normal;
  font-size: 1em;
  line-height: 1.6;
  margin-bottom: 1.25em;
  text-rendering: optimizeLegibility; }
  p aside {
    font-size: 0.875em;
    line-height: 1.35;
    font-style: italic; }

/* Default header styles */
h1, h2, h3, h4, h5, h6 {
  font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
  font-weight: bold;
  font-style: normal;
  color: #222;
  text-rendering: optimizeLegibility;
  margin-top: 0.2em;
  margin-bottom: 0.5em;
  line-height: 1.2125em; }
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    font-size: 60%;
    color: #6f6f6f;
    line-height: 0; }

h1 {
  font-size: 2.125em; }

h2 {
  font-size: 1.6875em; }

h3 {
  font-size: 1.375em; }

h4 {
  font-size: 1.125em; }

h5 {
  font-size: 1.125em; }

h6 {
  font-size: 1em; }

hr {
  border: solid #ddd;
  border-width: 1px 0 0;
  clear: both;
  margin: 1.25em 0 1.1875em;
  height: 0; }

/* Helpful Typography Defaults */
em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 60%;
  line-height: inherit; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: bold;
  color: #7f0a0c; }

/* Lists */
ul,
ol,
dl {
  font-size: 1em;
  line-height: 1.6;
  margin-bottom: 1.25em;
  list-style-position: outside;
  font-family: inherit; }

ul, ol {
  margin-left: 0; }
  ul.no-bullet, ol.no-bullet {
    margin-left: 0; }

/* Unordered Lists */
ul li ul,
ul li ol {
  margin-left: 1.25em;
  margin-bottom: 0;
  font-size: 1em;
  /* Override nested font-size change */ }

ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit; }

ul.square {
  list-style-type: square; }

ul.circle {
  list-style-type: circle; }

ul.disc {
  list-style-type: disc; }

ul.no-bullet {
  list-style: none; }

/* Ordered Lists */
ol li ul,
ol li ol {
  margin-left: 1.25em;
  margin-bottom: 0; }

/* Definition Lists */
dl dt {
  margin-bottom: 0.3em;
  font-weight: bold; }

dl dd {
  margin-bottom: 0.75em; }

/* Abbreviations */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #222;
  border-bottom: 1px dotted #ddd;
  cursor: help; }

abbr {
  text-transform: none; }

/* Blockquotes */
blockquote {
  margin: 0 0 1.25em;
  padding: 0.5625em 1.25em 0 1.1875em;
  border-left: 1px solid #ddd; }
  blockquote cite {
    display: block;
    font-size: 0.8125em;
    color: #555555; }
    blockquote cite:before {
      content: "\2014 \0020"; }
    blockquote cite a,
    blockquote cite a:visited {
      color: #555555; }

blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f; }

/* Microformats */
.vcard {
  display: inline-block;
  margin: 0 0 1.25em 0;
  border: 1px solid #ddd;
  padding: 0.625em 0.75em; }
  .vcard li {
    margin: 0;
    display: block; }
  .vcard .fn {
    font-weight: bold;
    font-size: 0.9375em; }

.vevent .summary {
  font-weight: bold; }

.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625em; }

@media only screen and (min-width: 768px) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4; }
  h1 {
    font-size: 2.75em; }
  h2 {
    font-size: 2.3125em; }
  h3 {
    font-size: 1.6875em; }
  h4 {
    font-size: 1.4375em; } }

/*
     * Print styles.
     *
     * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
     * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
    */
.print-only {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group;
    /* h5bp.com/t */ }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .hide-on-print {
    display: none !important; }
  .print-only {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  .show-for-print {
    display: inherit !important; } }

@font-face {
  font-family: 'HK Grotesk';
  font-weight: 400;
  src: url("fonts/hkgrotesk-medium.eot");
  /* IE9 Compat Modes */
  src: url("fonts/hkgrotesk-medium.eot?#iefix") format("embedded-opentype"), url("fonts/hkgrotesk-medium.woff2") format("woff2"), url("fonts/hkgrotesk-medium.woff") format("woff"), url("fonts/hkgrotesk-medium.ttf") format("truetype"), url("fonts/hkgrotesk-medium.svg#svgFontName") format("svg");
  /* Legacy iOS */ }

@font-face {
  font-family: 'HK Grotesk Light';
  font-weight: 200;
  src: url("fonts/hkgrotesk-lightm.eot");
  /* IE9 Compat Modes */
  src: url("fonts/hkgrotesk-light.eot?#iefix") format("embedded-opentype"), url("fonts/hkgrotesk-light.woff2") format("woff2"), url("fonts/hkgrotesk-light.woff") format("woff"), url("fonts/hkgrotesk-light.ttf") format("truetype"), url("fonts/hkgrotesk-light.svg#svgFontName") format("svg");
  /* Legacy iOS */ }

body {
  font-family: 'Open Sans', sans-serif;
  position: static; }

iframe {
  border: none; }

h1, h2, h3, h4, h5 {
  font-family: 'HK Grotesk', sans-serif;
  margin: 0 0 1rem;
  text-transform: lowercase; }
  h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child {
    margin-bottom: 0; }

h1 {
  color: #FFFFFF; }
  @media only screen and (min-width: 1280px) {
    h1 {
      color: #ec008c; } }
h2, h3 {
  color: #ec008c; }

h4, h5 {
  color: #000000; }

h1 {
  font-size: 3.75em; }
  @media only screen and (min-width: 1280px) {
    h1 {
      font-size: 5.625em; } }
h2 {
  font-size: 1.875em; }
  @media only screen and (min-width: 1280px) {
    h2 {
      font-size: 2.5em; } }
h3 {
  font-size: 1.5625em; }
  @media only screen and (min-width: 1280px) {
    h3 {
      font-size: 2.1875em; } }
h4 {
  font-size: 1.5625em; }

h5 {
  font-size: 1.25em; }

p {
  margin-bottom: 1em; }
  p:last-child {
    margin-bottom: 0; }

main {
  background: #FFFFFF; }
  @media only screen and (min-width: 1280px) {
    main {
      padding: 2.8125em 0; } }
  main section {
    padding: 0.875em 0; }
    @media only screen and (min-width: 1280px) {
      main section {
        padding: 1.8125em 0; } }
  main ul:not([class*=block-grid]) li {
    margin-left: 1em; }

pre {
  min-height: 2em;
  min-width: 2em;
  background: rgba(0, 0, 0, 0.1); }

body.pink h1 {
  color: #FFFFFF; }
  @media only screen and (min-width: 1280px) {
    body.pink h1 {
      color: #ec008c; } }
body.pink h2 {
  color: #ec008c; }

body.pink .box-text-outside-colored .text,
body.pink .box-text-inside-large a.button,
body.pink .feed .post > *,
body.pink .difficulty {
  background-color: #ec008c !important; }

body.light-blue h1 {
  color: #FFFFFF; }
  @media only screen and (min-width: 1280px) {
    body.light-blue h1 {
      color: #21bfdc; } }
body.light-blue h2 {
  color: #21bfdc; }

body.light-blue .box-text-outside-colored .text,
body.light-blue .box-text-inside-large a.button,
body.light-blue .feed .post > *,
body.light-blue .difficulty {
  background-color: #21bfdc !important; }

body.green h1 {
  color: #FFFFFF; }
  @media only screen and (min-width: 1280px) {
    body.green h1 {
      color: #009a62; } }
body.green h2 {
  color: #009a62; }

body.green .box-text-outside-colored .text,
body.green .box-text-inside-large a.button,
body.green .feed .post > *,
body.green .difficulty {
  background-color: #009a62 !important; }

body.orange h1 {
  color: #FFFFFF; }
  @media only screen and (min-width: 1280px) {
    body.orange h1 {
      color: #f37021; } }
body.orange h2 {
  color: #f37021; }

body.orange .box-text-outside-colored .text,
body.orange .box-text-inside-large a.button,
body.orange .feed .post > *,
body.orange .difficulty {
  background-color: #f37021 !important; }

body.navy h1 {
  color: #FFFFFF; }
  @media only screen and (min-width: 1280px) {
    body.navy h1 {
      color: #1b2f49; } }
body.navy h2 {
  color: #1b2f49; }

body.navy .box-text-outside-colored .text,
body.navy .box-text-inside-large a.button,
body.navy .feed .post > *,
body.navy .difficulty {
  background-color: #1b2f49 !important; }

body.black h1 {
  color: #FFFFFF; }
  @media only screen and (min-width: 1280px) {
    body.black h1 {
      color: #000000; } }
body.black h2 {
  color: #000000; }

body.black .box-text-outside-colored .text,
body.black .box-text-inside-large a.button,
body.black .feed .post > *,
body.black .difficulty {
  background-color: #000000 !important; }

#intro .text p:first-child {
  font-size: larger;
  font-weight: bold; }

a.button,
button,
input[type=submit],
input[type=button],
input[type=text],
input[type=email],
input[type=number],
input[type=password],
.select {
  display: inline-block;
  height: 3em;
  line-height: 3em;
  position: relative;
  -webkit-appearance: none;
  border-radius: 0;
  box-shadow: none; }

a.button,
button,
input[type=submit],
input[type=button] {
  padding: 0 3em;
  border: 0;
  background: #000000;
  color: #FFFFFF;
  text-transform: lowercase;
  font-weight: bold; }
  a.button.pink,
  button.pink,
  input.pink[type=submit],
  input.pink[type=button] {
    background: #ec008c; }
    a.button.pink:hover,
    button.pink:hover,
    input.pink[type=submit]:hover,
    input.pink[type=button]:hover {
      background: #b8006d; }
  a.button.light-blue,
  button.light-blue,
  input.light-blue[type=submit],
  input.light-blue[type=button] {
    background: #21bfdc; }
    a.button.light-blue:hover,
    button.light-blue:hover,
    input.light-blue[type=submit]:hover,
    input.light-blue[type=button]:hover {
      background: #009dba; }
  a.button.green,
  button.green,
  input.green[type=submit],
  input.green[type=button] {
    background: #009a62; }
    a.button.green:hover,
    button.green:hover,
    input.green[type=submit]:hover,
    input.green[type=button]:hover {
      background: #006842; }
  a.button.orange,
  button.orange,
  input.orange[type=submit],
  input.orange[type=button] {
    background: #f37021; }
    a.button.orange:hover,
    button.orange:hover,
    input.orange[type=submit]:hover,
    input.orange[type=button]:hover {
      background: #c14900; }
  a.button.navy,
  button.navy,
  input.navy[type=submit],
  input.navy[type=button] {
    background: #1b2f49; }
    a.button.navy:hover,
    button.navy:hover,
    input.navy[type=submit]:hover,
    input.navy[type=button]:hover {
      background: #07182f; }

input[type=text],
input[type=email],
input[type=number],
input[type=password],
textarea {
  border: 0.05em solid #000000;
  padding-left: 1em; }

textarea {
  padding-top: 1em;
  padding-right: 1em;
  line-height: 1.6;
  border-radius: 0;
  box-shadow: none; }

.checkbox input[type=checkbox]:checked + label:after {
  content: '\2714';
  color: #000000; }

.checkbox input[type=checkbox] {
  position: absolute;
  left: -99999px; }

.checkbox label {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 2em;
  padding-left: 3em;
  line-height: 1.6; }
  .checkbox label:before, .checkbox label:after {
    height: 2em;
    width: 2em;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center; }
  .checkbox label:before {
    background: #FFFFFF;
    content: ''; }

.checkbox.dark label:before {
  background: rgba(0, 0, 0, 0.25); }

.select {
  border: 0.05em solid #000000;
  position: relative;
  overflow: hidden;
  background: #FFFFFF; }
  .select:after {
    font-size: 1.5em;
    content: '\e90a';
    font-family: 'icomoon';
    position: absolute;
    right: 0.666em;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none; }
  .select select {
    background: transparent;
    -webkit-appearance: none;
    border: none;
    border-radius: 0;
    display: block;
    height: 100%;
    width: calc(100% + 2em);
    margin-left: 1em;
    outline: none; }

.fields {
  display: flex;
  flex-flow: row wrap;
  margin: -0.75rem; }
  .fields > * {
    padding: 0.75rem;
    width: 100%;
    position: relative; }
    .fields > *.half {
      width: 50%; }
    .fields > *.quarter {
      width: 25%; }
    .fields > * i {
      font-size: 1.5em;
      position: absolute;
      right: 1em;
      top: 50%;
      transform: translateY(-50%);
      color: #ec008c;
      pointer-events: none; }
  .fields .field input[type=text],
  .fields .field input[type=number],
  .fields .field input[type=password],
  .fields .field input[type=email],
  .fields .field textarea {
    width: 100%; }
    .fields .field input[type=text]::-webkit-input-placeholder, .fields .field input[type=number]::-webkit-input-placeholder, .fields .field input[type=password]::-webkit-input-placeholder, .fields .field input[type=email]::-webkit-input-placeholder, .fields .field textarea::-webkit-input-placeholder {
      text-transform: lowercase; }
    .fields .field input[type=text]::-moz-placeholder, .fields .field input[type=number]::-moz-placeholder, .fields .field input[type=password]::-moz-placeholder, .fields .field input[type=email]::-moz-placeholder, .fields .field textarea::-moz-placeholder {
      text-transform: lowercase; }
    .fields .field input[type=text]:-ms-input-placeholder, .fields .field input[type=number]:-ms-input-placeholder, .fields .field input[type=password]:-ms-input-placeholder, .fields .field input[type=email]:-ms-input-placeholder, .fields .field textarea:-ms-input-placeholder {
      text-transform: lowercase; }
    .fields .field input[type=text]::-ms-input-placeholder, .fields .field input[type=number]::-ms-input-placeholder, .fields .field input[type=password]::-ms-input-placeholder, .fields .field input[type=email]::-ms-input-placeholder, .fields .field textarea::-ms-input-placeholder {
      text-transform: lowercase; }
    .fields .field input[type=text]::placeholder,
    .fields .field input[type=number]::placeholder,
    .fields .field input[type=password]::placeholder,
    .fields .field input[type=email]::placeholder,
    .fields .field textarea::placeholder {
      text-transform: lowercase; }

input.focused:invalid,
select.focused:invalid,
textarea.focused:invalid {
  border-color: #ec008c; }
  input.focused:invalid::-webkit-input-placeholder, select.focused:invalid::-webkit-input-placeholder, textarea.focused:invalid::-webkit-input-placeholder {
    color: #ec008c; }
  input.focused:invalid::-moz-placeholder, select.focused:invalid::-moz-placeholder, textarea.focused:invalid::-moz-placeholder {
    color: #ec008c; }
  input.focused:invalid:-ms-input-placeholder, select.focused:invalid:-ms-input-placeholder, textarea.focused:invalid:-ms-input-placeholder {
    color: #ec008c; }
  input.focused:invalid::-ms-input-placeholder, select.focused:invalid::-ms-input-placeholder, textarea.focused:invalid::-ms-input-placeholder {
    color: #ec008c; }
  input.focused:invalid::placeholder,
  select.focused:invalid::placeholder,
  textarea.focused:invalid::placeholder {
    color: #ec008c; }

.hero {
  background: rgba(0, 0, 0, 0.95);
  height: 100vh;
  position: relative;
  color: #FFFFFF;
  overflow: hidden; }
  .hero.half_page {
    height: 62vh; }
  .hero .tl {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 1em;
    padding-left: 1em; }
    @media only screen and (min-width: 1280px) {
      .hero .tl {
        padding-top: 4em;
        padding-left: 4em; } }
    .hero .tl .logo {
      display: block;
      width: 160px; }
      @media only screen and (min-width: 1280px) {
        .hero .tl .logo {
          width: 200px; } }
      .hero .tl .logo svg {
        width: 100%; }
  .hero .tr {
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 1em;
    padding-right: 1em;
    transition: all 250ms ease; }
    @media only screen and (min-width: 1280px) {
      .hero .tr {
        padding-top: 4em;
        padding-right: 4em; } }
    .hero .tr .nav {
      display: flex;
      align-items: center;
      line-height: 1.6; }
      .hero .tr .nav a {
        transition: all 250ms ease;
        color: #FFFFFF;
        visibility: visible;
        opacity: 1;
        margin-left: 2rem;
        display: flex;
        align-items: center; }
        .hero .tr .nav a * {
          margin-left: 0.5em; }
        .hero .tr .nav a.hide {
          visibility: hidden;
          opacity: 0; }
        .hero .tr .nav a.big {
          font-size: 1.875em;
          text-transform: lowercase;
          font-family: 'HK Grotesk', sans-serif;
          font-weight: bold; }
      .hero .tr .nav #burger {
        z-index: 101;
        text-transform: lowercase; }
        .hero .tr .nav #burger:before {
          content: attr(data-small-default); }
          @media only screen and (min-width: 1280px) {
            .hero .tr .nav #burger:before {
              content: attr(data-big-default); } }
        .hero .tr .nav #burger span {
          height: 11px;
          width: 1.666em;
          position: relative;
          margin-top: 3px; }
          .hero .tr .nav #burger span:before, .hero .tr .nav #burger span:after {
            transition: all 250ms ease;
            content: '';
            position: absolute;
            left: 0;
            height: 3px;
            width: 100%;
            background: #FFFFFF;
            border-radius: 0.1em; }
          .hero .tr .nav #burger span:before {
            top: 0;
            transform-origin: top left; }
          .hero .tr .nav #burger span:after {
            bottom: 0;
            transform-origin: bottom left; }
    @media only screen and (min-width: 1280px) {
      .hero .tr.side-menu-active {
        padding-right: 2em; } }
    .hero .tr.side-menu-active #burger:before {
      content: attr(data-active); }
    .hero .tr.side-menu-active #burger span:before {
      transform: rotate(17.5deg); }
    .hero .tr.side-menu-active #burger span:after {
      transform: rotate(-17.5deg); }
  .hero .bl {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0 1em calc(2em + 44px) 1em; }
    @media only screen and (min-width: 1280px) {
      .hero .bl {
        padding: 0 0 4em 4em;
        width: 33.333%; } }
    .hero .bl.bang h1 {
      line-height: 1;
      margin-bottom: 0; }
    .hero .bl.bang div {
      padding: 0.625em 0 1rem;
      color: #FFFFFF;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      border-bottom: 0.05em solid rgba(255, 255, 255, 0.5); }
      .hero .bl.bang div p {
        margin: 0; }
      .hero .bl.bang div a {
        color: inherit;
        margin-left: 1rem;
        font-size: 2em; }
  .hero .br {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 0 1em 2em 0; }
    @media only screen and (min-width: 1280px) {
      .hero .br {
        padding: 0 4em 4em 0;
        width: 33.333%; } }
    .hero .br.feature {
      display: none; }
      @media only screen and (min-width: 1280px) {
        .hero .br.feature {
          display: block; } }
      .hero .br.feature div {
        padding-top: 1rem;
        border-top: 0.05em solid rgba(255, 255, 255, 0.5); }
        .hero .br.feature div h5 {
          margin-bottom: 0; }
  .hero .cc {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .hero .block__language-switch {
    display: none; }
    @media only screen and (min-width: 1280px) {
      .hero .block__language-switch {
        margin-left: 2rem;
        display: block; }
        .hero .block__language-switch select {
          background-color: transparent;
          text-transform: uppercase;
          color: #FFFFFF;
          border: none; } }
  .hero #side-menu {
    transition: all 250ms ease;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    background: #000000;
    transform: translateX(100%);
    z-index: 100;
    text-transform: lowercase;
    width: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-top: 3em; }
    @media only screen and (min-width: 1280px) {
      .hero #side-menu {
        width: auto;
        padding-top: 10em; } }
    .hero #side-menu.open {
      transform: translateX(0);
      box-shadow: 0 0 1em rgba(0, 0, 0, 0.75); }
    .hero #side-menu .head .group {
      border-top: 0.05em solid rgba(255, 255, 255, 0.5);
      padding: 1em 2em; }
      .hero #side-menu .head .group:first-child {
        border-top: none; }
      .hero #side-menu .head .group a {
        color: #ec008c;
        display: block; }
      .hero #side-menu .head .group .title {
        font-size: 1.875em;
        font-family: 'HK Grotesk', sans-serif;
        font-weight: bold; }
        .hero #side-menu .head .group .title i {
          float: right; }
      .hero #side-menu .head .group .pages {
        padding-top: 0.5em; }
        .hero #side-menu .head .group .pages a {
          padding: 0.5em 0; }
      .hero #side-menu .head .group.promoters {
        background: #ec008c;
        border-top: none; }
        .hero #side-menu .head .group.promoters a {
          color: #FFFFFF; }
        .hero #side-menu .head .group.promoters i {
          display: none; }
      .hero #side-menu .head .group.side_nav_donate {
        font-size: 1.875em;
        font-family: 'HK Grotesk', sans-serif;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2em 0 2em 0; }
        .hero #side-menu .head .group.side_nav_donate a {
          color: #ec008c;
          border: 1px solid #ec008c;
          padding: 0 2.2em 0 2.2em; }
      .hero #side-menu .head .group.search {
        border-top: 0; }
        .hero #side-menu .head .group.search a {
          color: #FFFFFF; }
    .hero #side-menu .foot {
      padding: 2em; }
      .hero #side-menu .foot .contacts a {
        display: block;
        color: #FFFFFF;
        margin-bottom: 1em; }
      .hero #side-menu .foot .socials {
        padding-top: 0.5em; }
        .hero #side-menu .foot .socials a {
          color: #FFFFFF;
          display: inline-block;
          font-size: 2.5em;
          border-radius: 100%;
          text-align: center;
          margin-right: 0.75rem; }
  .hero .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
    .hero .bg-image:after {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      content: ' ';
      background: rgba(0, 0, 0, 0.333); }
  .hero .bg-video {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 101%;
    height: 101%;
    pointer-events: none;
    background: #000000; }
    @media (min-aspect-ratio: 16/9) {
      .hero .bg-video {
        height: 300%;
        top: -100%; } }
    @media (max-aspect-ratio: 16/9) {
      .hero .bg-video {
        width: 300%;
        left: -100%; } }
    .hero .bg-video iframe {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 100%; }
  .hero .search-toggle svg {
    fill: currentColor;
    height: 26px; }
  .hero body.iphone .bang {
    padding-bottom: calc(2em + 44px); }
  .hero .search-modal {
    position: fixed;
    height: 100vh;
    width: 100vw;
    display: flex;
    top: 0;
    left: 0;
    background: rgba(20, 44, 72, 0.8);
    visibility: hidden;
    opacity: 0;
    transition: all 0.2s ease-in-out;
    z-index: 9999999;
    align-items: center;
    justify-content: center; }
    .hero .search-modal.active {
      visibility: visible;
      opacity: 1; }
    .hero .search-modal .search-close {
      position: absolute;
      top: 75px;
      right: 75px;
      font-size: 18px; }
      .hero .search-modal .search-close span {
        margin-left: 5px;
        height: 15px;
        width: 30px;
        display: inline-block;
        transform: scale(0.9); }
        .hero .search-modal .search-close span:after, .hero .search-modal .search-close span:before {
          position: absolute;
          top: 0;
          left: 0;
          height: 2px;
          width: 30px;
          transform: rotate(40deg);
          background: white;
          content: '';
          transform-origin: 0 0; }
        .hero .search-modal .search-close span:after {
          transform-origin: 26px 11px;
          transform: rotate(-40deg); }
    .hero .search-modal .search-form {
      display: flex;
      align-items: center;
      width: auto;
      max-width: unset; }
      .hero .search-modal .search-form input[type="text"] {
        color: white;
        border: 0;
        border-bottom: 2px solid white;
        width: 80vw;
        max-width: 400px;
        padding: 10px 0;
        font-size: 21px;
        line-height: 21px;
        background: transparent;
        height: auto; }
        .hero .search-modal .search-form input[type="text"]:active, .hero .search-modal .search-form input[type="text"]:hover, .hero .search-modal .search-form input[type="text"]:focus {
          outline: 0;
          box-shadow: 0 0 0; }
      .hero .search-modal .search-form button {
        background: 0;
        height: auto;
        line-height: inherit;
        padding: 0 15px; }
        .hero .search-modal .search-form button svg {
          height: 30px;
          fill: white; }
      .hero .search-modal .search-form p {
        margin-bottom: 0;
        font-size: 30px;
        line-height: 25px;
        margin-right: 15px;
        font-family: 'HK Grotesk', sans-serif;
        font-weight: bold; }

body.search-page .hero {
  height: 170px; }

body.search-page .hero .bl.bang {
  display: none; }

/*

header { 

    // top
    nav.top {
        display: flex;
        justify-content: space-between;
        align-items: center;

        * { 
            display: flex;
            align-items: center;
        }

        div { padding: 0 1em; }
        div:first-child { padding-left: 0; }
        div:last-child { padding-right: 0; }

        a { padding: 0 0.5em; color: inherit; }
        a:first-child { padding-left: 0; }
        a:last-child { padding-right: 0; }
        a:hover { color: inherit; }
        i { margin-left: 0.5em; }

        .links {
            align-items: baseline;

            .big {
                font-size: em-calc(30);
                text-transform: lowercase;
                font-family: 'HK Grotesk', sans-serif;
                font-weight: bold;
                line-height: 1;
            }

            .menu {
                text-transform: lowercase;
            }
        }
    }

    // side
    nav.side {
        @include animate();
        background: #000000;
        position: fixed;
        top: 0; right: 0; bottom: 0; left: 0;
        text-transform: lowercase;
        transform: translateX(100%);
        overflow: auto;
        z-index: 100;

        @media only screen and (min-width: 1280px) {
            left: auto;
        }

        &.open {
            box-shadow: 0 0 1em rgba(0,0,0,0.75);
            transform: translateX(0%);
        }

        .head {
            padding: 1em;

            a {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                padding: 1em;
                color: #FFFFFF; 

                i {
                    margin-left: $small-space;
                }
            }
        }

        .body {
            .group {
                border-top: 0.05em solid rgba(255, 255, 255, 0.333);
                padding: 1em 2em;

                &:first-child {
                    border-top: none;
                }

                a {
                    color: $pink;
                    display: block;
                }

                .title {
                    font-size: em-calc(30);
                    font-family: 'HK Grotesk', sans-serif;
                    font-weight: bold;

                    i {
                        float: right;
                    }
                }

                .pages {
                    overflow: hidden;

                    a {
                        padding-top: 1em;
                    }
                }

                &.promoters {
                    background: $pink;
                    border-top: none;

                    a { 
                        color: #FFFFFF; 
                    }
                }
            }
        }

        .foot {
            padding: $large-space;

            .contacts {
                a {
                    display: block;
                    color: $white;
                    margin-bottom: $medium-space;
                }
            }

            .socials {
                padding-top: $small-space;

                a {
                    color: $white;
                    display: inline-block;
                    font-size: 2.5em;
                    border-radius: 100%;
                    text-align: center;
                    margin-right: 1rem;
                }
            }
        }
    }
}

*/
footer.small {
  background: #000000;
  padding: 1em; }
  footer.small .socials {
    text-align: center; }
    @media only screen and (min-width: 1280px) {
      footer.small .socials {
        text-align: left; } }
    footer.small .socials a {
      color: #FFFFFF;
      font-size: 2.5em;
      margin-right: 0.25em;
      display: inline-block; }
      @media only screen and (min-width: 1280px) {
        footer.small .socials a {
          font-size: 2em; } }
      footer.small .socials a:last-child {
        margin-right: 0; }
  footer.small .logos {
    text-align: center; }
    @media only screen and (min-width: 1280px) {
      footer.small .logos {
        text-align: right; } }
    footer.small .logos a {
      display: block;
      height: 4em;
      margin-bottom: 1em; }
      @media only screen and (min-width: 1280px) {
        footer.small .logos a {
          display: inline-block;
          height: 3em;
          margin-bottom: 0;
          margin-right: 1em; } }
      footer.small .logos a:last-child {
        margin-bottom: 0; }
        @media only screen and (min-width: 1280px) {
          footer.small .logos a:last-child {
            margin-right: 0; } }
      footer.small .logos a img {
        height: 100%; }

footer.large {
  background: #000000;
  color: #FFFFFF;
  padding: 1em 0 2em; }
  footer.large a {
    color: inherit; }
  footer.large .column > * {
    font-size: 0.875em; }
  footer.large .about {
    display: flex;
    flex-flow: column;
    justify-content: flex-end; }
    footer.large .about .socials a {
      display: inline-block;
      font-size: 2em;
      margin-right: 0.25em; }
      footer.large .about .socials a:last-child {
        margin-right: 0; }
    footer.large .about .address strong {
      display: block; }
    footer.large .about .address span:after {
      content: ', '; }
    footer.large .about .address span:last-child:after {
      display: none; }
    @media only screen and (min-width: 1280px) {
      footer.large .about .address span {
        display: block; }
        footer.large .about .address span:after {
          display: none; } }
    footer.large .about .contacts a {
      display: block; }
  footer.large .pages {
    display: flex;
    flex-flow: column;
    justify-content: flex-end; }
    footer.large .pages a {
      display: block;
      text-transform: lowercase; }
  footer.large .info {
    display: flex;
    flex-flow: column;
    justify-content: space-between; }
    @media only screen and (min-width: 768px) {
      footer.large .info {
        text-align: right; } }
    footer.large .info .logos a {
      display: inline-block;
      height: 4em;
      margin-bottom: 1em; }
      @media only screen and (min-width: 768px) {
        footer.large .info .logos a {
          height: 2.5em;
          margin-bottom: 0;
          margin-right: 1em; } }
      @media only screen and (min-width: 1280px) {
        footer.large .info .logos a {
          height: 4em; } }
      footer.large .info .logos a:last-child {
        margin: 0; }
      footer.large .info .logos a img {
        display: block;
        height: 100%; }
    footer.large .info .notices {
      padding-top: 2em; }
      footer.large .info .notices span {
        margin-right: 1em;
        display: inline-block; }
        footer.large .info .notices span:last-child {
          margin-right: 0; }
        @media only screen and (min-width: 768px) {
          footer.large .info .notices span {
            margin-left: 1em;
            margin-right: 0; } }
.footer_newsletter {
  color: white; }
  .footer_newsletter p:first-of-type {
    margin-bottom: 0; }
  .footer_newsletter.form {
    padding: 0;
    display: inline-flex;
    align-self: stretch; }
    .footer_newsletter.form form {
      display: flex;
      width: 100%;
      color: white;
      align-items: center; }
    .footer_newsletter.form input[type="email"] {
      background: 0 none;
      border: 0 none;
      border-bottom: 1px solid white;
      color: white !important;
      font-size: 16px;
      font-weight: bold;
      padding-left: 0;
      flex-grow: 1;
      margin-right: 30px;
      height: 35px;
      line-height: 35px;
      max-width: 250px;
      background: transparent !important; }
      .footer_newsletter.form input[type="email"]::-webkit-input-placeholder {
        color: white !important; }
      .footer_newsletter.form input[type="email"]::-moz-placeholder {
        color: white !important; }
      .footer_newsletter.form input[type="email"]:-ms-input-placeholder {
        color: white !important; }
      .footer_newsletter.form input[type="email"]::-ms-input-placeholder {
        color: white !important; }
      .footer_newsletter.form input[type="email"]::placeholder {
        color: white !important; }
      .footer_newsletter.form input[type="email"]:active, .footer_newsletter.form input[type="email"]:focus {
        outline: 0;
        box-shadow: 0; }
    .footer_newsletter.form button {
      flex-grow: 0;
      background: 0 none;
      border: 0;
      font-size: 22px;
      line-height: 32px;
      padding: 0 15px;
      color: white; }

.features + .bar .row {
  display: flex;
  align-items: stretch; }
  @media screen and (max-width: 769px) {
    .features + .bar .row {
      flex-flow: column; }
      .features + .bar .row form {
        padding-left: 15px; } }
.column {
  padding-top: 1em;
  padding-bottom: 1em; }

.stretch {
  width: 100%;
  min-width: 100%;
  max-width: 100%; }

.disable,
.disabled,
[disabled] {
  opacity: 0.5;
  pointer-events: none; }

.video {
  position: relative;
  padding-top: 56.25%; }
  .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }

.closed[data-reveal] [data-toggle] *[class^=icon] {
  transform: rotate(360deg); }

.closed[data-reveal] [data-content] {
  height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  opacity: 0; }

[data-reveal] [data-toggle],
[data-reveal] [data-toggle] * {
  transition: all 250ms ease;
  cursor: pointer; }

[data-reveal] [data-toggle] *[class^=icon] {
  transform: rotate(180deg); }

[data-reveal] [data-content] {
  transition: all 250ms ease;
  overflow: hidden;
  opacity: 1; }

@media only screen {
  .small-collapse .column {
    padding-left: 0;
    padding-right: 0; } }

@media only screen and (min-width: 1280px) {
  .small-collapse .column {
    padding-left: 0.9375em;
    padding-right: 0.9375em; } }

@media only screen and (min-width: 1280px) {
  .large-collapse .column {
    padding-left: 0;
    padding-right: 0; } }

body.editing .gallery .cell {
  height: 10em !important; }

.gallery {
  position: relative; }
  @media only screen and (min-width: 1280px) {
    .gallery {
      padding-bottom: 0; }
      .gallery .cell {
        margin: 0 calc(1.875em / 2); } }
  .gallery .gallery-image {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    width: 100%;
    color: #FFFFFF;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    padding: 1em; }
    .gallery .gallery-image h5 {
      color: inherit; }
    .gallery .gallery-image h5, .gallery .gallery-image p {
      display: none; }
  @media only screen and (min-width: 1280px) {
    .gallery .flickity-viewport {
      overflow: visible; } }
  .gallery .buttons {
    padding-top: 1em;
    text-align: center; }
    @media only screen and (min-width: 1280px) {
      .gallery .buttons {
        padding-top: 0;
        position: absolute;
        top: 50%;
        left: 1em;
        transform: translateY(-50%); } }
    .gallery .buttons button {
      background: none;
      position: relative;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;
      width: auto;
      height: auto;
      line-height: 1;
      transform: none;
      border-radius: 0;
      display: inline-block;
      padding: 0;
      font-weight: normal; }
      @media only screen and (min-width: 1280px) {
        .gallery .buttons button {
          display: block;
          margin-bottom: 1em; }
          .gallery .buttons button:last-child {
            margin-bottom: 0; } }
      .gallery .buttons button:after {
        font-family: icomoon; }
        @media only screen and (min-width: 1280px) {
          .gallery .buttons button:after {
            color: #FFFFFF;
            font-size: 3.5em; } }
      .gallery .buttons button.previous:after {
        content: '\e904'; }
        @media only screen and (min-width: 1280px) {
          .gallery .buttons button.previous:after {
            content: '\e901'; } }
      .gallery .buttons button.next:after {
        content: '\e902'; }
        @media only screen and (min-width: 1280px) {
          .gallery .buttons button.next:after {
            content: '\e906'; } }
      .gallery .buttons button svg {
        display: none; }
      .gallery .buttons button:active {
        opacity: 1; }
    .gallery .buttons .progress {
      display: inline-block;
      margin: 0 1em; }
      @media only screen and (min-width: 1280px) {
        .gallery .buttons .progress {
          display: none; } }
body.editing .gallery .controls {
  display: none; }

.feed {
  overflow: auto;
  font-size: 1.25em; }
  .feed .post {
    float: left;
    width: 100%;
    margin-bottom: 1em;
    display: block; }
    .feed .post:last-child {
      margin-bottom: 0; }
    @media only screen and (min-width: 768px) {
      .feed .post {
        width: 50%;
        margin-bottom: 0; } }
    @media only screen and (min-width: 1280px) {
      .feed .post {
        width: 20%; } }
    .feed .post .twitter i {
      color: #FFFFFF;
      opacity: 1; }
    .feed .post > * {
      background: #ec008c;
      padding-top: 100%;
      position: relative; }
      .feed .post > * .thumb {
        background-color: rgba(0, 0, 0, 0.25);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0; }
        .feed .post > * .thumb:after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          right: 0;
          background: rgba(0, 0, 0, 0.333); }
      .feed .post > * .text {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #FFFFFF;
        padding: 2em;
        line-height: 1.6;
        overflow: hidden;
        text-overflow: clip; }
        .feed .post > * .text a {
          color: inherit; }
      .feed .post > * i {
        position: absolute;
        top: 1rem;
        left: 1rem;
        font-size: 2em;
        border-radius: 100%;
        text-align: center;
        color: #ec008c;
        opacity: 0.5; }

.box-text-outside-colored {
  display: flex;
  flex-flow: column;
  background: #ec008c; }
  .box-text-outside-colored .image {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 56.25%; }
  .box-text-outside-colored .text {
    padding: 1em;
    flex: 1;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    color: #FFFFFF; }
    .box-text-outside-colored .text h4 {
      color: inherit;
      margin-bottom: 0; }
    .box-text-outside-colored .text i {
      font-size: 2em;
      margin-top: 0.333em; }

.box-text-inside {
  background-color: rgba(0, 0, 0, 0.25);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #ec008c;
  display: block;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  color: #FFFFFF;
  padding: 1em; }
  @media only screen and (min-width: 1280px) {
    .box-text-inside {
      padding: 2em; } }
  .box-text-inside:hover {
    color: #FFFFFF; }
  .box-text-inside i {
    font-size: 2.5em; }
  .box-text-inside .text {
    border-top: 0.05em solid rgba(255, 255, 255, 0.5);
    padding-top: 1em;
    margin-top: 1em; }
    @media only screen and (min-width: 1280px) {
      .box-text-inside .text {
        margin-top: 4em; } }
    .box-text-inside .text h3 {
      color: inherit;
      margin-bottom: 0; }
  .box-text-inside .list h3 {
    color: inherit; }
  .box-text-inside .list a {
    color: inherit;
    display: block;
    padding-top: 1em;
    text-decoration: underline; }

.box-text-outside {
  display: block;
  color: initial; }
  .box-text-outside:hover {
    color: initial; }
  .box-text-outside .image {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 75%; }
  .box-text-outside .text {
    padding-top: 1em; }
    .box-text-outside .text span {
      color: #ec008c;
      text-transform: lowercase; }
    .box-text-outside .text h4, .box-text-outside .text h5 {
      padding-top: calc(0.25em);
      margin-bottom: 0; }

.box-text-inside-large {
  background-color: rgba(0, 0, 0, 0.25);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #FFFFFF;
  display: block;
  position: relative;
  padding: 2em 1em; }
  @media only screen and (min-width: 1280px) {
    .box-text-inside-large {
      padding: 3em; } }
  .box-text-inside-large .contrast {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.333); }
  .box-text-inside-large .text {
    padding-bottom: 1em;
    margin-top: 12em;
    margin-bottom: 2em;
    border-bottom: 0.05em solid rgba(255, 255, 255, 0.5);
    position: relative;
    width: 100%; }
    @media only screen and (min-width: 1280px) {
      .box-text-inside-large .text {
        margin-top: 0;
        margin-bottom: 6em;
        width: 33.333%; } }
    .box-text-inside-large .text h2 {
      color: #FFFFFF;
      font-size: 2.5em;
      margin-bottom: 0; }

.box-text-inside-stretched {
  background-color: rgba(0, 0, 0, 0.25);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative; }
  .box-text-inside-stretched:before {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.333); }
  .box-text-inside-stretched .content {
    padding: 6em 0;
    color: #FFFFFF; }
    .box-text-inside-stretched .content h3 {
      color: #FFFFFF;
      border-top: 0.025em solid rgba(255, 255, 255, 0.5);
      display: inline-block;
      padding-top: 0.333rem;
      margin-bottom: 0; }

@media only screen and (min-width: 1280px) {
  .text-image {
    display: flex; } }

@media only screen and (min-width: 1280px) {
  .text-image.image-right {
    flex-flow: row-reverse; } }

.text-image.image-right .image {
  padding-left: 0.9375em;
  padding-right: 0; }

.text-image.image-right .heading {
  padding-right: 0.9375em;
  padding-left: 0; }

@media only screen and (min-width: 1280px) {
  .text-image > * {
    width: 50%; }
    .text-image > *:first-child {
      padding-right: 0.9375em; }
    .text-image > *:last-child {
      padding-left: 0.9375em; } }

.text-image .image {
  margin-bottom: 2em; }
  @media only screen and (min-width: 1280px) {
    .text-image .image {
      margin-bottom: 0; } }
  .text-image .image div {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 56.25%; }

@media only screen and (min-width: 1280px) {
  .text-image .heading {
    padding: 0 2em;
    display: flex;
    align-items: center; } }

.text-image .heading .button {
  background: #ec008c; }

.company {
  display: block;
  color: initial; }
  .company:hover {
    color: initial; }
  .company .image {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 56.25%;
    margin-bottom: 0.5em; }

.faq {
  padding-bottom: 2em; }
  .faq.closed {
    padding-bottom: 0; }
  .faq .question {
    color: #ec008c;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    border-bottom: 0.05em solid rgba(0, 0, 0, 0.25);
    padding-bottom: 1em;
    margin-bottom: 1em; }
    .faq .question i {
      font-size: 1.5em;
      font-weight: bold; }

.text-link {
  background: #ec008c;
  color: #FFFFFF;
  padding: 0.5rem;
  display: flex; }
  @media only screen and (min-width: 1280px) {
    .text-link {
      padding: 1rem;
      flex-flow: row;
      justify-content: space-between;
      align-items: center; } }
  .text-link > * {
    padding: 0.5rem; }
    @media only screen and (min-width: 1280px) {
      .text-link > * {
        padding: 1rem; } }
  .text-link h4 {
    color: #FFFFFF;
    margin-bottom: 0; }
  .text-link.arrow {
    flex-flow: column-reverse; }
    @media only screen and (min-width: 1280px) {
      .text-link.arrow {
        flex-flow: row; } }
    .text-link.arrow .text {
      border-top: 0.05em solid rgba(255, 255, 255, 0.5);
      padding-top: 1rem;
      margin-top: 0.5rem; }
      @media only screen and (min-width: 1280px) {
        .text-link.arrow .text {
          border-top: 0;
          margin-top: 0; } }
    .text-link.arrow i {
      font-size: 2.5em; }
  .text-link.image {
    flex-flow: column; }
    @media only screen and (min-width: 1280px) {
      .text-link.image {
        flex-flow: row; } }
    .text-link.image .image {
      flex-shrink: 0; }
      .text-link.image .image img {
        width: 66.666%; }
        @media only screen and (min-width: 1280px) {
          .text-link.image .image img {
            width: 100px; } }
  .text-link:hover {
    color: #FFFFFF; }

#news {
  background: white !important; }

body.modal-open {
  overflow: hidden; }

.modals * {
  transition: all 250ms ease; }

.overlay {
  z-index: 1000;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #000000;
  opacity: 0;
  visibility: hidden; }
  .overlay.open {
    opacity: 0.9;
    visibility: visible; }

.modal {
  z-index: 1001;
  background: #FFFFFF;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  max-height: 100vh;
  overflow: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  width: 100vw; }
  @media only screen and (min-width: 1280px) {
    .modal {
      width: auto;
      max-height: 95vh; } }
  .modal.open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1); }
  .modal a[data-modal-close] {
    position: absolute;
    top: 1em;
    right: 1em;
    display: flex;
    align-items: center;
    color: inherit;
    text-transform: lowercase; }
    .modal a[data-modal-close] i {
      font-size: 1.5em; }
  .modal .head {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 2em 1em;
    position: relative; }
    @media only screen and (min-width: 1280px) {
      .modal .head {
        padding: 4em; } }
    .modal .head:after {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      content: '';
      opacity: 0.9; }
    .modal .head > * {
      z-index: 1; }
  .modal .body {
    padding: 2em 1em; }
    @media only screen and (min-width: 1280px) {
      .modal .body {
        padding: 4em 12em 4em 4em; } }
#modal-subscribe {
  background: #ec008c;
  color: #FFFFFF;
  padding: 2em; }
  @media only screen and (min-width: 1280px) {
    #modal-subscribe {
      max-width: 700px; } }
  #modal-subscribe [data-modal-close] {
    z-index: 1; }
  #modal-subscribe .fields {
    padding-bottom: 1em; }
    #modal-subscribe .fields:last-child {
      padding-bottom: 0; }
      #modal-subscribe .fields:last-child .field {
        display: flex;
        justify-content: space-between;
        align-items: center; }
  #modal-subscribe h1, #modal-subscribe h2, #modal-subscribe h3, #modal-subscribe h4, #modal-subscribe h5 {
    line-height: 1;
    color: inherit;
    margin: 0; }
  #modal-subscribe input[type=text],
  #modal-subscribe input[type=email] {
    width: 100%;
    border-color: transparent; }
  #modal-subscribe input[type=submit] {
    background: transparent;
    border: 0.05em solid #FFFFFF; }

@media only screen and (min-width: 1280px) {
  [id^='modal-company'] {
    width: 66.666vw; } }

[id^='modal-company'] .head:after {
  background-color: #1b2f49; }

[id^='modal-company'] .head a {
  color: #FFFFFF; }

[id^='modal-company'] .body img {
  max-width: 400px;
  display: block; }

[id^='modal-company'] .body > * {
  margin-bottom: 2rem; }
  [id^='modal-company'] .body > *:last-child {
    margin-bottom: 0; }

@media only screen and (min-width: 1280px) {
  #modal-people {
    width: 66.666vw; } }

#modal-people .head:after {
  background-color: #ec008c; }

#modal-people .head a {
  color: #FFFFFF; }

#modal-people .body .image {
  background-color: rgba(0, 0, 0, 0.25);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 56.25%; }

#modal-people .body .text {
  padding-top: 1em; }
  #modal-people .body .text strong {
    display: block; }

@media only screen and (min-width: 1280px) {
  [id^='modal-review'] {
    width: 66.666vw; } }

[id^='modal-review'] .head:after {
  background-color: #ec008c; }

[id^='modal-review'] .head a {
  color: #FFFFFF; }

[id^='modal-review'] .body p:first-child {
  font-weight: bold; }

#modal-pass .body,
#modal-fail .body {
  font-size: larger;
  text-align: center;
  padding: 2em 3em; }
  #modal-pass .body span,
  #modal-fail .body span {
    display: block;
    font-size: 3em; }
  #modal-pass .body strong,
  #modal-fail .body strong {
    display: block; }

#modal-pass span {
  color: #2ecc71; }

#modal-fail span {
  color: #e74c3c; }

[id^='modal-donation'] {
  padding: 2em 1em 1em;
  background: #ec008c;
  color: #FFFFFF; }
  [id^='modal-donation'] h4 {
    color: inherit; }
  [id^='modal-donation'] .block {
    padding: 0.5em; }
    @media only screen and (min-width: 1280px) {
      [id^='modal-donation'] .block {
        padding: 1em; } }
  [id^='modal-donation'] .buttons .button {
    background: transparent;
    border: 0.05em solid rgba(255, 255, 255, 0.5);
    margin: 0.5em; }
    @media only screen and (min-width: 1280px) {
      [id^='modal-donation'] .buttons .button {
        margin: 1em; } }
.shortcuts {
  transition: all 250ms ease;
  width: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  transform-origin: right top;
  transform: rotate(90deg) translate(100%, -100%);
  text-align: center;
  display: none;
  z-index: 3; }
  @media only screen and (min-width: 1280px) {
    .shortcuts {
      display: block; } }
  .shortcuts.open {
    transform: rotate(90deg) translate(100%, 100%); }
  .shortcuts a {
    display: inline-block;
    margin: 0 calc(1em * 0.125);
    background: rgba(0, 0, 0, 0.75);
    color: #FFFFFF;
    padding: 1em 2em;
    position: relative;
    text-transform: lowercase; }
    .shortcuts a:first-child {
      margin-left: 0; }
    .shortcuts a:last-child {
      margin-right: 0; }
    .shortcuts a:after {
      transition: all 250ms ease;
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 0;
      background: #ec008c; }
    .shortcuts a.active:after {
      height: 0.25em; }

.quote {
  background: #1b2f49;
  color: #FFFFFF;
  padding: 2em;
  position: relative; }
  .quote:before, .quote:after {
    position: absolute;
    top: 0;
    bottom: 0;
    background: #1b2f49;
    width: 99999px; }
  .quote.overflow-before:before {
    content: '';
    left: 0;
    transform: translateX(-100%); }
  .quote.overflow-after:after {
    content: '';
    right: 0;
    transform: translateX(100%); }
  .quote p:last-child {
    padding-bottom: 1em;
    border-bottom: 0.05em solid rgba(255, 255, 255, 0.5); }

.heading h2, .heading h3, .heading h4, .heading h5, .heading h6 {
  display: inline-block;
  padding-top: 1rem;
  border-top: 0.05em solid rgba(0, 0, 0, 0.25); }
  .heading h2:first-child, .heading h3:first-child, .heading h4:first-child, .heading h5:first-child, .heading h6:first-child {
    margin-bottom: 0; }
  .heading h2 + p, .heading h3 + p, .heading h4 + p, .heading h5 + p, .heading h6 + p {
    font-weight: bold; }

.heading li {
  margin-left: 1em; }

.heading p:last-child {
  font-weight: normal; }

.heading.large p:first-child {
  font-size: larger;
  font-weight: bold; }

@media only screen and (min-width: 1280px) {
  .table {
    display: table; }
    .table .thead {
      display: table-header-group; }
    .table .tbody {
      display: table-row-group; }
    .table .tr {
      display: table-row; }
    .table .td, .table .th {
      display: table-cell; } }

.date-group {
  padding: 1em 0;
  border-bottom: 0.05em solid rgba(0, 0, 0, 0.25); }
  .date-group:first-child {
    padding-top: 0; }
  .date-group:last-child {
    padding-bottom: 0;
    border-bottom: 0; }
  .date-group .summary {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .date-group .summary h5 {
      text-transform: initial;
      margin: 0; }
      .date-group .summary h5 span {
        font-weight: normal;
        color: #ec008c;
        display: block; }
        @media only screen and (min-width: 1280px) {
          .date-group .summary h5 span {
            display: inline; }
            .date-group .summary h5 span:before {
              content: ' | ';
              color: rgba(0, 0, 0, 0.333); } }
    .date-group .summary i {
      display: block;
      height: 1.5em;
      width: 1.5em;
      line-height: 1.5em;
      border: 0.05em solid #ec008c;
      text-align: center;
      color: #ec008c;
      font-size: 1.5em;
      flex-shrink: 0;
      margin-left: 1em; }
  .date-group .days {
    padding-top: 1em; }
    .date-group .days .day {
      padding-top: 1em;
      border-top: 0.05em solid rgba(0, 0, 0, 0.25); }
      @media only screen and (min-width: 1280px) {
        .date-group .days .day {
          border-top: none; } }
      .date-group .days .day strong {
        color: #ec008c; }
        @media only screen and (min-width: 1280px) {
          .date-group .days .day strong {
            display: block;
            padding-bottom: 0.666em;
            margin-bottom: 0.666em;
            border-bottom: 0.05em solid rgba(0, 0, 0, 0.25); } }
      .date-group .days .day span {
        padding-left: 0.5em; }
        @media only screen and (min-width: 1280px) {
          .date-group .days .day span {
            display: block;
            padding-left: 0;
            padding-right: 0.5em; } }
      .date-group .days .day a {
        text-transform: lowercase;
        color: #000000;
        font-weight: bold;
        display: flex;
        align-items: center; }
      .date-group .days .day i {
        margin-left: 0.5em; }

/** show attributes such as preview show last few tickets etc */
span.attributes {
  font-size: 10px;
  text-transform: uppercase;
  min-height: 10px;
  color: #FF008E; }

@media only screen and (min-width: 768px) {
  header {
    position: relative;
    z-index: 2; } }

@media only screen and (min-width: 768px) {
  footer {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1; } }

header .bar {
  background: #ec008c;
  text-transform: lowercase; }
  header .bar a {
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    header .bar a p {
      margin: 0; }
      header .bar a p strong, header .bar a p b {
        display: block; }
        @media only screen and (min-width: 1280px) {
          header .bar a p strong, header .bar a p b {
            display: inline; }
            header .bar a p strong:after, header .bar a p b:after {
              content: '\2014';
              margin: 0 0.5em; } }
    header .bar a i {
      font-size: 2em; }

.reviews {
  display: flex;
  flex-flow: row wrap; }
  .reviews .review {
    width: 50%;
    line-height: 1.6;
    text-align: center;
    margin-top: 1em; }
    @media only screen and (min-width: 768px) {
      .reviews .review {
        width: 25%;
        border-right: 0.05em solid rgba(0, 0, 0, 0.25); }
        .reviews .review:last-child {
          border-right: 0; } }
    .reviews .review .rating {
      color: #ec008c; }

.filters {
  display: flex; }
  .filters a {
    text-transform: lowercase;
    color: #000000;
    font-weight: bold;
    padding-right: 0.5em;
    margin-right: 0.5em;
    border-right: 0.1em solid #000000; }
    .filters a:last-child {
      padding-right: 0;
      margin-right: 0;
      border-right: 0; }
    .filters a.selected {
      color: #ec008c;
      text-decoration: underline; }

#ccm-page-controls-wrapper {
  display: none; }
  @media only screen and (min-width: 1280px) {
    #ccm-page-controls-wrapper {
      display: block; } }
.map-container {
  background-color: rgba(0, 0, 0, 0.5);
  position: relative;
  margin: 50px 0; }
  .map-container:after {
    content: '';
    display: block;
    padding-top: 40%; }

.mapboxgl-ctrl-group > button {
  color: #000000 !important; }

div.upcoming_show {
  border: 0;
  padding-top: 12px;
  border-bottom: 1px solid #CCC;
  font-size: 20px;
  max-width: 800px !important; }
  div.upcoming_show h2 {
    min-width: 100%;
    text-transform: capitalize;
    color: #000;
    font-size: 20px; }
    div.upcoming_show h2 span {
      color: #ec008c;
      font-weight: 200; }
    div.upcoming_show h2 span.grey {
      color: #737373; }
  div.upcoming_show a.button {
    float: left;
    clear: none;
    font-size: 16px;
    background-color: #ec008c;
    float: right;
    height: 42px;
    line-height: 42px;
    padding: 0 30px 24px 30px;
    margin: -40px -15px 0 0; }
    @media (max-width: 750px) {
      div.upcoming_show a.button {
        float: left;
        font-size: 16px;
        clear: both;
        margin: 20px 0 0 0; } }
#news {
  background: white !important;
  margin-bottom: 0 !important;
  padding-bottom: 50px !important; }

/* SLIDES */
.slide-right,
.slide-left,
.slide-up {
  opacity: 0;
  transition: all 750ms ease; }
  .slide-right.animate,
  .slide-left.animate,
  .slide-up.animate {
    opacity: 1; }

.slide-right {
  transform: translateX(-20%); }
  .slide-right.animate {
    transform: translateX(0); }

.slide-left {
  transform: translateX(20%); }
  .slide-left.animate {
    transform: translateX(0); }

.slide-up {
  transform: translateY(20%); }
  .slide-up.animate {
    transform: translateY(0); }

/* REVEALS */
.reveal-right,
.reveal-down {
  opacity: 0;
  transition: all 750ms ease; }
  .reveal-right.animate,
  .reveal-down.animate {
    opacity: 1; }

.reveal-right {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%); }
  .reveal-right.animate {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }

.reveal-down {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
          clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }
  .reveal-down.animate {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }

/* FADES */
.fade-in {
  opacity: 0;
  transition: all 750ms ease; }
  .fade-in.animate {
    opacity: 1; }

/* PULSE */
.pulse {
  -webkit-animation: pulse 1500ms infinite;
          animation: pulse 1500ms infinite; }

@-webkit-keyframes pulse {
  0% {
    transform: scale(1); }
  33% {
    transform: scale(1.2); }
  66% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

@keyframes pulse {
  0% {
    transform: scale(1); }
  33% {
    transform: scale(1.2); }
  66% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

/* BOUNCE */
.bounce {
  -webkit-animation: bounce 1500ms infinite;
          animation: bounce 1500ms infinite; }

@-webkit-keyframes bounce {
  0% {
    transform: translateX(-40%); }
  100% {
    transform: translateX(0); } }

@keyframes bounce {
  0% {
    transform: translateX(-40%); }
  100% {
    transform: translateX(0); } }

.banners .banner {
  background: #ec008c;
  color: #FFFFFF;
  padding: 1em 2em;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .banners .banner .side {
    display: flex;
    align-items: center; }
    .banners .banner .side > * {
      padding: 0 2em; }
    .banners .banner .side img {
      height: 3em; }
    .banners .banner .side p {
      margin: 0;
      white-space: nowrap; }
    .banners .banner .side a {
      color: inherit; }
    .banners .banner .side .link {
      font-weight: bold; }

.mapboxgl-popup-close-button {
  color: #FF008E;
  width: 100%;
  border-bottom: 1px dotted #FF008E; }

.mapboxgl-popup-content {
  border: 1px solid #FF008E;
  font-size: 15px;
  padding: 30px; }

.mapboxgl-popup-content span {
  padding-top: 20px;
  /*color:#FF008E;*/ }

.mapboxgl-popup-content a {
  color: #FF008E;
  text-decoration: underline; }

.news-search {
  display: flex;
  align-items: center;
  margin-right: 15px; }
  .news-search input {
    border: 0;
    border-bottom: 1px solid #212121;
    color: #212121;
    padding: 0;
    font-weight: bold;
    line-height: 21px;
    font-size: 16px;
    height: 46px; }
    .news-search input::-webkit-input-placeholder {
      color: #212121;
      outline: 0;
      box-shadow: 0 0 0; }
    .news-search input::-moz-placeholder {
      color: #212121;
      outline: 0;
      box-shadow: 0 0 0; }
    .news-search input:-ms-input-placeholder {
      color: #212121;
      outline: 0;
      box-shadow: 0 0 0; }
    .news-search input::-ms-input-placeholder {
      color: #212121;
      outline: 0;
      box-shadow: 0 0 0; }
    .news-search input::placeholder, .news-search input:active, .news-search input:focus {
      color: #212121;
      outline: 0;
      box-shadow: 0 0 0; }
  .news-search button {
    padding: 0;
    height: auto;
    background: transparent;
    line-height: 20px; }
    .news-search button svg {
      height: 25px;
      fill: #212121;
      margin-left: 15px; }

body.home .hero .bl {
  display: none; }

body.home .hero .cc {
  text-align: center;
  display: flex;
  flex-flow: column; }
  @media only screen and (min-width: 1280px) {
    body.home .hero .cc {
      flex-flow: row; } }
  body.home .hero .cc a {
    font-size: 3.3em;
    text-transform: lowercase;
    font-family: 'HK Grotesk', sans-serif;
    font-weight: bold;
    color: #FFFFFF;
    display: block;
    margin-bottom: 1em; }
    @media only screen and (min-width: 1280px) {
      body.home .hero .cc a {
        font-size: 3.75em; } }
    @media only screen and (min-width: 1280px) {
      body.home .hero .cc a {
        margin-bottom: 0;
        margin-right: 2em; } }
    body.home .hero .cc a:last-child {
      margin-bottom: 0;
      margin-right: 0; }

@media only screen and (min-width: 1280px) {
  body.services h1 {
    color: #FFFFFF !important; } }

@media only screen and (min-width: 1280px) {
  body.services #boxes .row {
    display: flex;
    flex-flow: row wrap; } }

body.services #boxes .row .box-text-outside-colored {
  height: 100%; }

body.shows .hero .feature {
  text-transform: lowercase; }
  body.shows .hero .feature h5 {
    color: #FFFFFF; }
  body.shows .hero .feature a {
    color: #ec008c;
    display: flex;
    align-items: center; }
    body.shows .hero .feature a i {
      font-size: 1.5em;
      margin-left: 0.5rem;
      font-weight: bold; }

body.shows #shows .column {
  padding-top: 5px;
  padding-bottom: 0; }
  body.shows #shows .column:first-child {
    padding-top: 1em; }
  @media only screen and (min-width: 1280px) {
    body.shows #shows .column {
      padding-top: 1em;
      padding-bottom: 1em; } }
body.shows #lower .column {
  padding-bottom: 5px;
  padding-top: 0; }
  body.shows #lower .column:last-child {
    padding-bottom: 1em; }
  @media only screen and (min-width: 1280px) {
    body.shows #lower .column {
      padding-top: 1em;
      padding-bottom: 1em; } }
body.shows .hero .content .feature {
  text-transform: lowercase; }
  body.shows .hero .content .feature a {
    color: #ec008c;
    display: flex;
    align-items: center; }
    body.shows .hero .content .feature a i {
      margin-left: 0.5em;
      font-weight: bold; }

body.shows .table {
  width: 100%; }
  body.shows .table .tr {
    padding: 1em 0;
    border-bottom: 0.05em solid rgba(0, 0, 0, 0.25); }
    @media only screen and (min-width: 1280px) {
      body.shows .table .tr {
        padding: 0;
        border-bottom: 0; } }
    body.shows .table .tr:first-child {
      padding-top: 0; }
    body.shows .table .tr:last-child {
      padding-bottom: 0;
      border-bottom: 0; }
  @media only screen and (min-width: 1280px) {
    body.shows .table .td {
      padding: 2em 0;
      border-bottom: 0.05em solid rgba(0, 0, 0, 0.25); } }
  body.shows .table .td.show a, body.shows .table .td.venue {
    color: #ec008c; }
  body.shows .table .td p {
    font-weight: bold; }
    @media only screen and (min-width: 1280px) {
      body.shows .table .td p {
        padding: 0 2em;
        border-right: 0.05em solid rgba(0, 0, 0, 0.25); } }
  body.shows .table .td:first-child p {
    padding-left: 0; }
  body.shows .table .td:last-child p {
    padding-right: 0;
    border-right: 0; }
  body.shows .table .tr:first-child .td {
    padding-top: 0; }
  body.shows .table .tr:last-child .td {
    border-bottom: 0;
    padding-bottom: 0; }

body.show {
  /*

    // reviews
    .reviews {
        display: flex;
        flex-flow: row wrap;

        .review {
            width: 50%;
            text-align: center;
            line-height: $paragraph-line-height;
            padding-bottom: 1em;

            @media only screen and (min-width: 1280px) {
                width: 25%;
                border-right: 0.025em solid rgba(0, 0, 0, 0.5);

                &:last-child {
                    border-right: none;
                }
            }

            &:nth-last-of-type(-n+2) {
                padding-bottom: 0;
            }

            .stars {
                color: $primary-color;
                font-size: larger;
            }
        }
    }

    */
  overflow-x: hidden !important; }
  body.show .promoters {
    background: #1b2f49; }
  @media only screen and (min-width: 768px) {
    body.show .post:nth-child(n+7) {
      display: none; } }
  @media only screen and (min-width: 1280px) {
    body.show .post:nth-child(n+7) {
      display: block; } }
  body.show #supporters .column {
    display: flex;
    align-items: center; }
    body.show #supporters .column:last-child {
      float: left; }

/* upcoming shows */
div.day {
  font-family: 'HK Grotesk', sans-serif;
  padding-bottom: 0;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  margin-bottom: 80px; }
  div.day h4 {
    font-weight: 400;
    font-size: 20px;
    width: 100%;
    border: 0;
    border-bottom: 1px solid #CCC;
    color: #FF008E;
    margin-bottom: 6px;
    line-height: 30px; }
  div.day p {
    font-family: 'HK Grotesk Light', sans-serif;
    font-size: 18px;
    font-weight: 100;
    margin: 0;
    padding: 0; }
  div.day div.attributes {
    padding: 0;
    vertical-align: middle; }
    div.day div.attributes span {
      vertical-align: middle;
      margin: 0;
      padding: 0;
      font-size: 11px;
      text-transform: uppercase;
      color: #FF008E; }
  div.day a {
    margin: 0;
    padding: 0;
    float: left;
    clear: left;
    font-weight: 600;
    color: #000;
    text-transform: lowercase;
    font-size: 20px; }

body.news .hero .feature {
  text-transform: lowercase; }
  body.news .hero .feature h5 {
    color: #FFFFFF; }

body.news .controls {
  display: flex;
  justify-content: flex-end;
  align-items: center; }
  body.news .controls > * {
    margin-left: 1em; }
  body.news .controls .select {
    min-width: 17.5%; }

body.news .article a {
  color: inherit;
  text-transform: lowercase; }
  body.news .article a .image {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 56.25%; }
  body.news .article a .text {
    padding-top: 1em;
    line-height: 1.6; }
    body.news .article a .text span {
      color: #ec008c; }

body.news-article .hero .bl {
  display: none; }

body.news-article .hero .banner {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(236, 0, 140, 0.5);
  padding: 1em;
  /*
            padding-bottom: 0;

            .lower {
                
                padding: $large-space 0;

                h2 {
                    color: $white;
                }

                span {
                    margin: 0 $small-space;
                }
            }

            */ }
  @media only screen and (min-width: 1280px) {
    body.news-article .hero .banner {
      padding: 4em; } }
  body.news-article .hero .banner h2 {
    color: #FFFFFF; }

body.news-article article div {
  line-height: 1.6; }

body.news-article article p:first-child {
  font-weight: bold; }

body.news-article article h1 {
  padding-bottom: 0.5em; }

body.news-article article h2 {
  padding-bottom: 0.5em; }

body.news-article article h3 {
  padding-bottom: 0.5em; }

body.news-article article h4 {
  padding-bottom: 0.5em; }

body.news-article article h5 {
  padding-bottom: 0.5em; }

body.news-article article h6 {
  padding-bottom: 0.5em; }

body.news-article .video {
  position: relative;
  padding-top: 56.25%; }
  body.news-article .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%; }

body.news-article #album .photos {
  margin-top: 2em;
  margin-bottom: 2em; }
  body.news-article #album .photos li:nth-last-child(-n+4) {
    padding-bottom: 0; }
  body.news-article #album .photos .photo {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 100%;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%); }

body.news-article #album .socials {
  display: flex;
  align-items: center; }
  body.news-article #album .socials a {
    font-size: 2.5em;
    color: #ec008c;
    margin-left: calc(0.5em * 0.5); }

body.about #intro .row:first-child .column {
  padding-bottom: 0; }
  @media only screen and (min-width: 1280px) {
    body.about #intro .row:first-child .column {
      padding-bottom: 1em; } }
body.about #boxes .column:nth-child(1) .box-text-inside h3 {
  color: #21bfdc; }

body.about #boxes .column:nth-child(n+2) .box-text-inside h3 {
  color: #ec008c; }

body.about .history {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ec008c;
  padding: 2em;
  color: #FFFFFF; }
  body.about .history h1, body.about .history h2, body.about .history h3, body.about .history h4, body.about .history h5, body.about .history h6 {
    color: #FFFFFF; }
  body.about .history i {
    font-size: 2.5em; }

body.about #latest .post:nth-child(n+6) {
  display: none; }
  @media only screen and (min-width: 768px) {
    body.about #latest .post:nth-child(n+6) {
      display: block; } }
@media only screen and (min-width: 768px) {
  body.about #latest .post {
    width: 33.333%; }
    body.about #latest .post:last-child {
      display: none; } }

@media only screen and (min-width: 1280px) {
  body.about #latest .post {
    width: 20%; }
    body.about #latest .post:last-child {
      display: block; } }

body.childrens-parties #intro p:first-child {
  font-size: large;
  font-weight: bold; }

body.childrens-parties #info .questions h1, body.childrens-parties #info .questions h2, body.childrens-parties #info .questions h3, body.childrens-parties #info .questions h4, body.childrens-parties #info .questions h5, body.childrens-parties #info .questions h6 {
  margin-bottom: 0.5em; }

body.childrens-parties #info form.fields .large-time {
  display: none; }
  @media only screen and (min-width: 1280px) {
    body.childrens-parties #info form.fields .large-time {
      display: block; } }
body.childrens-parties #info form.fields .small-time {
  display: block; }
  @media only screen and (min-width: 1280px) {
    body.childrens-parties #info form.fields .small-time {
      display: none; } }
body.childrens-parties #info form.fields input,
body.childrens-parties #info form.fields textarea,
body.childrens-parties #info form.fields .select {
  width: 100%;
  display: block; }

body.contact #contact {
  /*
        
        // 
        form {
            display: flex;
            flex-flow: row wrap;
            margin: -1rem;

            & > * {
                padding: 1rem;
                width: 100%;

                &.half {
                    width: 50%;
                }
            }

            input, 
            .select, 
            textarea {
                width: 100%;
            }
        }

        */ }
  body.contact #contact .fields .select {
    width: 100%; }
  body.contact #contact .enquiries {
    padding-bottom: 1em; }
    body.contact #contact .enquiries:last-child {
      padding-bottom: 0; }
    body.contact #contact .enquiries > * {
      margin-bottom: 1rem; }
    body.contact #contact .enquiries .address * {
      display: block; }
      body.contact #contact .enquiries .address *:first-child {
        font-weight: bold; }
    body.contact #contact .enquiries .socials a {
      display: inline-block;
      font-size: 2.5em;
      color: #ec008c;
      margin-right: 0.25em; }

body.faqs {
  /*

    // faqs
    #faqs {
        .faq {
            margin-bottom: $large-space;

            &:last-child {
                margin-bottom: 0;
            }

            .question {
                // line-height: $paragraph-line-height;
                display: flex;
                align-items: center;
                justify-content: space-between;
                color: $pink;
                border-bottom: $black-line;
                padding-bottom: $medium-space;
                margin-bottom: $medium-space;

                @media only screen and (min-width: 1280px) {
                    line-height: 1;   
                }

                i {
                    font-size: $medium-space * 1.5;
                    font-weight: bold;
                    margin-left: $medium-space;
                }
            }
        }
    }

    */ }
  body.faqs #map {
    position: relative; }
    body.faqs #map #google_map {
      min-height: 75vh; }
      @media only screen and (min-width: 1280px) {
        body.faqs #map #google_map {
          min-height: 50vh; } }
      body.faqs #map #google_map .gm-style-cc {
        display: none; }
    body.faqs #map i {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -100%);
      font-size: 3em;
      color: #ec008c; }

body.team {
  /*
    
    // team
    #team .column:last-child {
        float: left;
    }

    // large department filters
    .large-departments a {
        color: initial;
        text-transform: lowercase;
        font-weight: bold;

        &:after {
            content: '|';
            margin: 0 $small-space;
        }

        &:last-child {
            color: $pink;
            text-decoration: underline;

            &:after {
                display: none;
            }
        }
    }

    */ }
  body.team .small-departments .select {
    width: 100%; }
  body.team .member a {
    display: block;
    color: initial; }
    body.team .member a .image {
      background-color: rgba(0, 0, 0, 0.25);
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      padding-top: 56.25%; }
    body.team .member a .info {
      padding-top: 0.5em;
      text-transform: lowercase; }
      body.team .member a .info h4 {
        margin: 0; }
  body.team .modal .image {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 56.25%;
    position: relative; }
    @media only screen and (min-width: 1280px) {
      body.team .modal .image {
        padding-top: 40%; } }
    body.team .modal .image a {
      color: #FFFFFF;
      position: absolute;
      right: 1em;
      top: 1em;
      display: flex;
      align-items: center;
      text-transform: lowercase; }
      body.team .modal .image a i {
        font-size: 1.5em; }
  body.team .modal .cols {
    padding: 1em 0; }
    @media only screen and (min-width: 1280px) {
      body.team .modal .cols {
        padding: 2em;
        display: flex;
        justify-content: space-between; } }
    body.team .modal .cols .col {
      padding: 1em; }
      @media only screen and (min-width: 1280px) {
        body.team .modal .cols .col {
          padding: 2em; } }
      body.team .modal .cols .col.info > * {
        margin-bottom: 1rem; }
        body.team .modal .cols .col.info > *:last-child {
          margin-bottom: 0; }
      body.team .modal .cols .col.info a {
        display: block;
        color: inherit;
        white-space: nowrap; }
        body.team .modal .cols .col.info a strong {
          color: #ec008c; }
      body.team .modal .cols .col.info h2, body.team .modal .cols .col.info h5 {
        text-transform: capitalize;
        white-space: nowrap; }
      @media only screen and (min-width: 1280px) {
        body.team .modal .cols .col.description p {
          min-width: 500px; } }
body.projects .hero .feature h5 {
  color: #FFFFFF; }

body.projects #filters {
  display: flex; }
  body.projects #filters a {
    color: inherit;
    font-weight: bold;
    text-transform: lowercase;
    padding-bottom: 0.5em;
    border-bottom: 0.05em solid transparent;
    margin: 0 0.5em; }
    body.projects #filters a:first-child {
      margin-left: 0; }
    body.projects #filters a:last-child {
      margin-right: 0; }
    body.projects #filters a.selected {
      border-bottom-color: #000000; }

body.services-alternating {
  overflow-x: hidden; }
  @media only screen and (min-width: 1280px) {
    body.services-alternating h1 {
      color: #FFFFFF !important; } }
  body.services-alternating #book .fields {
    margin: -0.5rem; }
    body.services-alternating #book .fields input[type=submit] {
      padding: 0;
      width: 100%; }

@media only screen and (min-width: 1280px) {
  body.services-gallery h1 {
    color: #FFFFFF !important; } }

body.services-gallery .fields {
  margin: -0.5rem; }
  body.services-gallery .fields input[type=submit] {
    padding: 0;
    width: 100%; }

body.services-gallery .quote {
  padding-left: 0;
  margin-top: 2em; }

body.community-support {
  /*

    // banners
    #banners {

        .banner {
            background: $pink;
            color: $white;
            font-weight: bold;
            padding: $medium-space;
            display: flex;
            flex-flow: column;
            align-items: center;

            @media only screen and (min-width: 1280px) {
                flex-flow: row;   
            }

            & > * {
                padding: $medium-space;
            }
        }

        #inner-circle {
            .logo {
                width: 100%; height: auto;

                @media only screen and (min-width: 1280px) {
                    width: 7em; height: 7em;   
                }
            }

            .text {
                a {
                    color: inherit;
                    text-decoration: underline;
                }
            }
        }
    }

    */ }
  body.community-support #rows .text_image .button {
    background: #ec008c; }
  @media only screen and (min-width: 1280px) {
    body.community-support #rows .text_image:nth-child(odd) {
      display: flex;
      flex-flow: row-reverse; } }
  body.community-support .gallery-hide {
    display: none; }

body.current-supporters #companies .column:last-child {
  float: left; }

body.classes .feature h5 {
  color: #FFFFFF;
  display: flex;
  align-items: center; }
  body.classes .feature h5 * {
    margin-right: 0.5em; }

body.classes #boxes .row .column {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0.25em; }
  body.classes #boxes .row .column:last-child {
    padding-bottom: 1em; }
  @media only screen and (min-width: 768px) {
    body.classes #boxes .row .column {
      padding-left: 0.9375em;
      padding-right: 0.9375em;
      padding-bottom: 1em; } }
@media only screen and (min-width: 768px) {
  body.classes #boxes .row {
    display: flex;
    flex-flow: row wrap; } }

body.classes #boxes .row .box-text-outside-colored {
  height: 100%; }

body.class-list #filters {
  display: none; }
  body.class-list #filters .select,
  body.class-list #filters input {
    width: 100%; }
  body.class-list #filters .row:last-child {
    border-top: 0.05em solid rgba(0, 0, 0, 0.25); }

body.class-list .class {
  display: block;
  color: inherit; }
  body.class-list .class * {
    padding: 0;
    margin: 0; }
  body.class-list .class .image {
    background-color: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 56.25%; }
  body.class-list .class .text {
    padding-top: 1em; }
    body.class-list .class .text ul {
      overflow: auto;
      list-style: none; }
      body.class-list .class .text ul li {
        float: left; }
        body.class-list .class .text ul li:after {
          content: ',';
          padding-right: 0.5em; }
        body.class-list .class .text ul li:last-child:after {
          display: none; }
    body.class-list .class .text .ages {
      font-weight: bold; }

body.class {
  /*

    // clasess
    .classes {
        width: 100%;
        background: $light-grey;
        padding: $small-space;

        @media only screen and (min-width: 1280px) {
            padding: $medium-space;    
        }

        .tr {
            padding: $small-space;

            .td {
                line-height: $paragraph-line-height;
    
                @media only screen and (min-width: 1280px) {
                    padding: $medium-space;
                    border-bottom: $black-line;
                    line-height: 1;
        
                    &:last-child {
                        text-align: right;
                    }    
                }
            }
        }

        .thead {
            display: none;
            font-weight: bold;

            @media only screen and (min-width: 1280px) {
                display: table-header-group;
            }

            .button {
                visibility: hidden;
            }
        }

        .tbody {
            .td:first-child {
                font-weight: bold;

                @media only screen and (min-width: 1280px) {
                    font-weight: normal;   
                }
            }

            .button {
                width: 100%;
                margin-top: $small-space;
                text-align: center;

                @media only screen and (min-width: 1280px) {
                    width: auto;
                    margin-top: 0;   
                }
            }

            .tr {
                &:last-child .td {
                    border-bottom: 0;
                }
            }
        }
    }

    */ }
  body.class .productions .production {
    background: #e9e7e7;
    margin-bottom: 2em;
    padding: 0.5rem;
    display: flex;
    flex-flow: column; }
    @media only screen and (min-width: 1280px) {
      body.class .productions .production {
        padding: 1.5rem;
        flex-flow: row wrap;
        justify-content: space-between; } }
    body.class .productions .production > * {
      padding: 0.5rem; }
    body.class .productions .production:last-child {
      margin-bottom: 0; }
    body.class .productions .production strong {
      display: block; }
    body.class .productions .production h4 {
      margin: 0;
      width: 100%; }
    body.class .productions .production p {
      margin: 0; }
    body.class .productions .production .button {
      width: 100%;
      text-align: center; }
      @media only screen and (min-width: 1280px) {
        body.class .productions .production .button {
          width: auto;
          height: 4em;
          line-height: 4em;
          padding-left: 6em;
          padding-right: 6em; } }
  body.class .blurb > * {
    margin-bottom: 2em; }
    body.class .blurb > *:last-child {
      margin-bottom: 0; }

body.course .class {
  background: rgba(0, 0, 0, 0.1);
  margin-bottom: 2em;
  padding: 1em; }
  body.course .class:last-child {
    margin-bottom: 0; }
  body.course .class > * {
    padding: 1em; }
  body.course .class .head {
    width: 75%; }
  body.course .class .foot {
    display: flex;
    justify-content: space-between; }
    body.course .class .foot p {
      margin: 0; }
      body.course .class .foot p strong {
        display: block; }

body.course .info > * {
  margin-bottom: 2em; }
  body.course .info > *:last-child {
    margin-bottom: 2em; }

body.supervised-training #single .column > * {
  margin-bottom: 2em; }
  body.supervised-training #single .column > *:last-child {
    margin-bottom: 0; }

body.supervised-training #single .box {
  background: #e9e7e7;
  padding: 2em; }

body.supervised-training #single .select {
  width: 100%; }

body.supervised-training #single .button {
  background: #f37021; }

body.supervised-training form.email-form .submit {
  width: 100%; }
  @media only screen and (min-width: 1280px) {
    body.supervised-training form.email-form .submit {
      width: 50%; } }
  body.supervised-training form.email-form .submit input {
    width: 100%; }

body.project #dates .button {
  background: #ec008c; }

body.support #intro h1, body.support #intro h2, body.support #intro h3, body.support #intro h4, body.support #intro h5, body.support #intro h6 {
  margin-bottom: 1rem; }

body.professional-training #single .box {
  background: #e9e7e7;
  padding: 2em; }
  body.professional-training #single .box .select {
    width: 100%; }
  body.professional-training #single .box textarea {
    min-height: 10em; }

body.past-show [data-mh] > * {
  height: 100%; }

body.legal .hero {
  height: auto;
  display: flex;
  justify-content: space-between; }
  body.legal .hero .bl {
    display: none; }
  body.legal .hero .tr {
    position: relative;
    padding: 2em 1em 2em 0; }
    @media only screen and (min-width: 1280px) {
      body.legal .hero .tr {
        padding: 2em 4em 2em 0; } }
  body.legal .hero .tl {
    position: relative;
    padding: 2em 0 2em 1em; }
    @media only screen and (min-width: 1280px) {
      body.legal .hero .tl {
        padding: 2em 0 2em 4em; } }
  body.legal .hero .bg-image:after {
    background: rgba(0, 0, 0, 0.85); }

body.legal #text h1, body.legal #text h2, body.legal #text h3, body.legal #text h4, body.legal #text h5, body.legal #text h6 {
  text-transform: none;
  color: #000000; }

main ul {
  list-style: none; }
  main ul > li {
    font-size: 1.333rem; }
    main ul > li li {
      font-size: 1rem; }
  main ul li {
    margin-left: 0 !important; }
  main ul ul {
    margin-left: 2em; }

main.bigger,
#subcribe {
  height: 120%;
  min-height: 100%;
  padding-bottom: 10%; }

h2.subscription-heading {
  color: #ec008c; }

div.subscription-text p {
  text-align: justify;
  padding-right: 1em; }

div.subscription-form {
  display: flex;
  background-color: #FFFFFF;
  padding: 2em;
  border: 1px solid #ec008c; }
  div.subscription-form label {
    font-weight: 600;
    text-transform: lowercase;
    display: inline-block;
    min-width: 100%;
    line-height: 2em; }
  div.subscription-form input {
    width: 150%;
    margin-bottom: 1em; }

div.subscription-response div.error {
  color: #ec008c;
  padding-top: 30px; }

div.subscription-response div.ok {
  color: #5AB178;
  padding-top: 30px; }

@media only screen and (min-width: 1280px) {
  body.promoter main {
    padding-left: 50px;
    padding-right: 50px; } }

body.promoter h2 {
  color: #000000;
  padding: 0;
  border: 0; }

body.promoter .hero {
  height: auto;
  background: #ec008c;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  body.promoter .hero .tl, body.promoter .hero .tr {
    position: relative;
    padding: 1em; }
    @media only screen and (min-width: 1280px) {
      body.promoter .hero .tl, body.promoter .hero .tr {
        padding: 2em 4em; } }
  body.promoter .hero #logo .fit {
    fill: rgba(0, 0, 0, 0.75); }
  body.promoter .hero .bang,
  body.promoter .hero .bg-image,
  body.promoter .hero .bg-video {
    display: none; }

body.promoter .sub-nav {
  display: flex;
  flex-flow: row wrap; }
  @media only screen and (min-width: 1280px) {
    body.promoter .sub-nav {
      justify-content: flex-end; } }
  body.promoter .sub-nav a {
    font-weight: bold;
    color: initial;
    text-transform: lowercase;
    padding: 0 1em 1em 0; }
    @media only screen and (min-width: 1280px) {
      body.promoter .sub-nav a {
        padding: 0 0 0 1em;
        border-left: 0.05em solid rgba(0, 0, 0, 0.25);
        margin-left: 1em; } }
    @media only screen and (min-width: 1280px) {
      body.promoter .sub-nav a:first-child {
        padding-left: 0;
        border-left: 0;
        margin-left: 0; } }
    body.promoter .sub-nav a.selected {
      color: #ec008c; }

body.promoter .downloads {
  padding: 1em;
  background: #e9e7e7; }
  @media only screen and (min-width: 1280px) {
    body.promoter .downloads {
      padding: 2em; } }
  body.promoter .downloads .download {
    padding: 1em 0;
    border-bottom: 0.05em solid rgba(0, 0, 0, 0.25); }
    @media only screen and (min-width: 1280px) {
      body.promoter .downloads .download {
        display: flex;
        justify-content: space-between;
        align-items: center; } }
    body.promoter .downloads .download:first-child {
      padding-top: 0; }
    body.promoter .downloads .download:last-child {
      padding-bottom: 0;
      border-bottom: 0; }
    body.promoter .downloads .download h5 {
      margin-bottom: 0.5em; }
      @media only screen and (min-width: 1280px) {
        body.promoter .downloads .download h5 {
          margin-bottom: 0; } }
      body.promoter .downloads .download h5 span {
        display: block; }
        @media only screen and (min-width: 1280px) {
          body.promoter .downloads .download h5 span {
            display: inline-block;
            padding-left: 1em;
            border-left: 0.05em solid rgba(0, 0, 0, 0.25);
            margin-left: 1em; } }
body.promoter-login .form-wrap {
  padding: 1em;
  height: 100%; }
  @media only screen and (min-width: 1280px) {
    body.promoter-login .form-wrap {
      padding: 4em; } }
  body.promoter-login .form-wrap input[type=submit] {
    width: 100%; }
    @media only screen and (min-width: 1280px) {
      body.promoter-login .form-wrap input[type=submit] {
        width: auto; } }
body.promoter-login .login {
  border: 0.05em solid #ec008c; }

body.promoter-login .register {
  background: #e9e7e7; }

body.promoter-dashboard main .links {
  text-align: right; }
  body.promoter-dashboard main .links a {
    font-weight: bold;
    color: initial;
    padding-left: 1em;
    border-left: 0.05em solid rgba(0, 0, 0, 0.25);
    margin-left: 1em; }
    body.promoter-dashboard main .links a:first-child {
      border-left: 0; }

body.promoter-dashboard main .tour-dates .show a,
body.promoter-dashboard main .tour-dates .venue {
  color: #ec008c; }

body.promoter-dashboard main .tour-dates .tr .td {
  padding: 1em 0;
  border-bottom: 0.05em solid rgba(0, 0, 0, 0.25);
  vertical-align: middle; }
  body.promoter-dashboard main .tour-dates .tr .td p {
    font-weight: bold;
    padding: 0 2em;
    border-right: 0.05em solid rgba(0, 0, 0, 0.25); }
  body.promoter-dashboard main .tour-dates .tr .td:first-child p {
    padding-left: 0; }
  body.promoter-dashboard main .tour-dates .tr .td:last-child p {
    padding-right: 0;
    border-right: 0; }

body.promoter-dashboard main .tour-dates .tr:first-child td {
  padding-top: 0; }

body.promoter-dashboard main .tour-dates .tr:last-child td {
  padding-bottom: 0;
  border-bottom: 0; }

body.promoter-contact .fields {
  margin: -1em; }

body.promoter-shows #filters a {
  font-weight: bold;
  color: initial;
  display: inline-block;
  padding-left: 1em;
  border-left: 0.05em solid rgba(0, 0, 0, 0.25);
  margin-left: 1em;
  text-transform: lowercase; }
  body.promoter-shows #filters a:first-child {
    padding-left: 0;
    border-left: 0;
    margin-left: 0; }
  body.promoter-shows #filters a.selected {
    color: #ec008c; }

.block__past-shows--date-group {
  border-bottom: solid 0.05em rgba(0, 0, 0, 0.25);
  margin-bottom: 1.25em; }

.block__past-shows--summary {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .block__past-shows--summary strong {
    font-size: 1.25em;
    line-height: 1;
    padding-left: 0.3125em; }
  .block__past-shows--summary .icon-chevron-down {
    position: relative;
    display: block;
    width: 1.875em;
    height: 1.875em;
    border: solid 1px #ec008c;
    color: #ec008c;
    cursor: pointer;
    font-size: 1.25em;
    transform: rotate(180deg);
    transition: transform 300ms ease-in-out; }
    .block__past-shows--summary .icon-chevron-down:before {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .block__past-shows--summary .icon-chevron-down.open {
      transform: rotate(0deg); }

.block__past-shows--events {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1000ms ease-in-out;
  display: flex;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -0.9375em;
  margin-right: -0.9375em; }
  .block__past-shows--events.open {
    max-height: 156.25em; }

.block__past-shows--event {
  width: calc(100% / 5);
  margin: 1.875em 0.9375em 0 0.9375em !important; }

.block__past-shows--title {
  color: #ec008c;
  display: block;
  font-size: 0.875em;
  border-bottom: solid 1px rgba(0, 0, 0, 0.25);
  padding-bottom: 0.3125em;
  margin-bottom: 0.3125em; }

.block__past-shows--date {
  font-size: 0.75em;
  display: block; }

.block__past-shows--link {
  font-size: 0.75em;
  text-transform: lowercase;
  font-weight: 600;
  color: #000000; }
  .block__past-shows--link:hover {
    color: #000000; }

.spx__class {
  margin-bottom: 2.5em; }
  .spx__class--header h4,
  .spx__class--header h5 {
    margin: 0; }
  .spx__class--header h4 {
    line-height: 1;
    margin-bottom: 0.3125em; }
  .spx__class--header h5 span {
    color: #ec008c; }
  .spx__class--pricelist {
    background-color: #f2f2f2;
    padding: 0.375em 1.25em;
    margin-top: 0.625em;
    margin-bottom: 0.625em; }
  .spx__class--price {
    position: relative;
    display: block;
    font-weight: bold;
    margin: 0;
    padding: 0.75em 0;
    border-bottom: solid 1px #e6e6e6;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer; }
    .spx__class--price:last-child {
      border-bottom: none; }
    .spx__class--price .checkbox {
      position: absolute;
      z-index: 0;
      top: 50%;
      right: 0;
      width: 1.25em;
      height: 1.25em;
      transform: translate(0%, -50%); }
      .spx__class--price .checkbox:before {
        content: '';
        position: absolute;
        top: 50%;
        right: 50%;
        display: block;
        width: 100%;
        height: 100%;
        background-color: #FFFFFF;
        border: solid 1px #d9d9d9;
        transform: translate(50%, -50%); }
      .spx__class--price .checkbox:after {
        content: '';
        position: absolute;
        top: 50%;
        right: 50%;
        display: block;
        width: 70%;
        height: 70%;
        background-color: #ec008c;
        transform-origin: center center;
        transform: translate(50%, -50%) scale(0);
        transition: all 200ms ease-in-out; }
    .spx__class--price input {
      position: absolute;
      top: 0;
      left: 0;
      -webkit-clip-path: inset(0 100% 100% 0);
              clip-path: inset(0 100% 100% 0); }
      .spx__class--price input:checked + .checkbox:after {
        transform: translate(50%, -50%) scale(1); }
  .spx__class--quantity-wrapper {
    display: flex;
    align-items: center; }
    .spx__class--quantity-wrapper select {
      margin-left: 0.9375em;
      border: solid 1px #d9d9d9;
      padding: 0.3125em 0.625em; }
  .spx__class-section {
    margin-bottom: 3.125em; }
    .spx__class-section--header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: solid 1px #eaeaea;
      margin-bottom: 1.25em; }
      .spx__class-section--header h3 {
        color: #000000;
        margin: 0;
        cursor: pointer; }
      .spx__class-section--header label {
        cursor: pointer; }
    .spx__class-section--content {
      padding: 0.625em 1.25em;
      background-color: #F8F8F8; }
      .spx__class-section--content ul {
        margin: 0;
        padding: 0;
        list-style: none; }
    .spx__class-section--item {
      border-bottom: solid 1px #979797;
      padding: 0.625em 0;
      font-size: 1.25em;
      line-height: 1.2;
      font-weight: bold;
      text-transform: lowercase; }
      .spx__class-section--item:last-child {
        border: none; }
      .spx__class-section--item-option {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        .spx__class-section--item-option label {
          position: relative;
          background-color: #FFFFFF;
          border: solid 1px #979797;
          border-radius: 50%;
          display: block;
          width: 1.25em;
          height: 1.25em;
          cursor: pointer; }
          .spx__class-section--item-option label span {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-25%, -120%) rotate(-45deg);
            width: 1.5625em;
            height: 0.625em;
            border-bottom: solid 2px #ec008c;
            border-left: solid 2px #ec008c;
            display: none; }
          .spx__class-section--item-option label input {
            position: absolute;
            top: 0;
            left: 0;
            -webkit-clip-path: inset(0 100% 100% 0);
                    clip-path: inset(0 100% 100% 0); }
            .spx__class-section--item-option label input[type=checkbox]:checked + span {
              display: block; }
          .spx__class-section--item-option label.disabled {
            cursor: not-allowed; }
      .spx__class-section--item.unavailable .spx__class-section--item-title {
        text-decoration: line-through;
        color: #c5c5c5; }
    .spx__class-section--pricing {
      background-color: #F8F8F8;
      margin-top: 0.125em;
      padding: 0.9375em; }
      .spx__class-section--pricing--title {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        .spx__class-section--pricing--title h5 {
          margin: 0; }
      .spx__class-section--pricing--prices {
        display: none; }
        .spx__class-section--pricing--prices.active {
          display: block; }
        .spx__class-section--pricing--prices .spx_prices {
          display: block !important;
          background-color: #FFFFFF; }

.spx__error--message {
  font-weight: bold;
  color: #ec008c;
  margin-bottom: 1.25em !important; }

.spx__price-details {
  display: none; }
  .spx__price-details.visible {
    display: block; }

#class_type {
  max-width: 100%;
  padding: 0.625em 1.25em; }
  @media only screen and (min-width: 1280px) {
    #class_type {
      max-width: 12.5em;
      float: right; } }
/*! Flickity v2.1.1
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: 0; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%; }

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.flickity-button {
  position: absolute;
  background: rgba(255, 255, 255, 0.75);
  border: none;
  color: #333; }

.flickity-button:hover {
  background: #fff;
  cursor: pointer; }

.flickity-button:focus {
  outline: 0;
  box-shadow: 0 0 0 5px #19f; }

.flickity-button:active {
  opacity: .6; }

.flickity-button:disabled {
  opacity: .3;
  cursor: auto;
  pointer-events: none; }

.flickity-button-icon {
  fill: #333; }

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  transform: translateY(-50%); }

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: .25;
  cursor: pointer; }

.flickity-page-dots .dot.is-selected {
  opacity: 1; }

/*
.datepicker {
  .prev, .next {font-style:normal;}
  .prev:after {content:"«";}
  .next:after {content:"»";}
}
*/
/*!
 * Datepicker for Foundation - less stylesheet, just version customized to foundation
 *
 * Copyright 2013 Peter Beno, najlepsiwebdesigner@gmail.com, @benopeter
 * project website http://foundation-datepicker.peterbeno.com
 *
 * Original project https://github.com/eternicode/bootstrap-datepicker
 * 		Original author 2012 Stefan Petre
 * 		Improvements by Andrew Rowls
 * 		Licensed under the Apache License v2.0
 * 		http://www.apache.org/licenses/LICENSE-2.0
 */
.datepicker.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  float: left;
  display: none;
  min-width: 160px;
  list-style: none;
  background: #FFF;
  /* border: 1px solid #ccc; */
  /* border: 1px solid rgba(0,0,0,.2); */
  /* -webkit-border-radius: 5px; */
  /* -moz-border-radius: 5px; */
  /* border-radius: 5px; */
  /* -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); */
  /* -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); */
  /* box-shadow: 0 5px 10px rgba(0,0,0,.2); */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  /* *border-right-width: 2px; */
  /* *border-bottom-width: 2px; */
  /* color: #333; */
  /* font-family: "Open Sans",sans-serif; */
  font-size: 1em;
  line-height: 1.5;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.75); }

.datepicker.dropdown-menu th, .datepicker.dropdown-menu td {
  /* padding: 0.5em; */
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  text-align: center; }

.datepicker {
  display: none;
  position: absolute;
  /* padding: 0.5em; */
  margin-top: 1px;
  direction: ltr; }

.datepicker-inline {
  width: 220px; }

.datepicker-rtl {
  direction: rtl; }

.datepicker-rtl table tr td span {
  float: right; }

.datepicker-dropdown {
  top: 0;
  left: 0; }

.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -7px;
  left: 6px; }

.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  position: absolute;
  top: -6px;
  left: 7px; }

.datepicker > div {
  display: none; }

.datepicker.days div.datepicker-days {
  display: block; }

.datepicker.months div.datepicker-months {
  display: block; }

.datepicker.years div.datepicker-years {
  display: block; }

.datepicker table {
  border: 0;
  margin: 0; }

.datepicker th {
  background: #ec008c;
  color: #ffffff;
  font-weight: normal; }

.datepicker td, .datepicker th {
  /* text-align: center; */
  /* width: 20px; */
  /* height: 20px; */
  border: 0;
  font-size: 1em;
  /* padding: 4px 8px; */
  /* background: #fff; */
  cursor: pointer; }

.datepicker td.active.day, .datepicker th.active.day {
  background: #000000;
  color: #ffffff; }

.datepicker td.active.year, .datepicker th.active.year {
  background: #000000;
  color: #ffffff; }

.datepicker td span.active, .datepicker th span.active {
  background: #000000;
  color: #ffffff; }

.table-striped .datepicker table tr td, .table-striped .datepicker table tr th {
  background-color: transparent; }

.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer; }

.datepicker th.date-switch {
  width: 145px; }

.datepicker thead tr:first-child th, .datepicker tfoot tr:first-child th {
  cursor: pointer; }

.datepicker .cw {
  font-size: 1em;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle; }

.datepicker thead tr:first-child th.cw {
  cursor: default;
  background-color: transparent; }

.datepicker-dropdown::before, .datepicker-dropdown::after {
  display: none; }

.datepicker-close {
  position: absolute;
  top: -30px;
  right: 0;
  width: 15px;
  height: 30px;
  padding: 0;
  display: none; }

.datepicker td.old, .datepicker td.new {
  color: #999; }

.datepicker td.day.disabled {
  color: #eee; }

.datepicker .dow {
  background: #000000; }

.datepicker .day {
  background: #eeeeee; }

.datepicker .day:last-child {
  border-right: 0; }

.datepicker td, .datepicker th {
  border-color: #ffffff;
  border-width: 0 0.01em 0.01em 0;
  border-style: solid; }

.datepicker tr:first-child th {
  border-right: 0;
  height: 3em;
  line-height: 3em; }

.datepicker th:last-child {
  border-right: 0; }

.datepicker tr:last-child td {
  border-bottom: 0; }

main.spektrix-page {
  background-color: #F8F8F8; }

div.spektrix-iframe-container {
  width: 100%;
  margin: auto;
  margin-top: -50px;
  padding-top: 50px;
  background-color: #F8F8F8; }
  div.spektrix-iframe-container iframe {
    overflow-x: hidden; }

@media only screen and (max-width: 420px) {
  div.tl a.logo {
    margin-left: -30px; }
    div.tl a.logo svg {
      height: 20px; }
  #basket-menu {
    display: none; }
  div.tr {
    margin-left: -300px;
    padding-left: 0; }
    div.tr div.nav a {
      margin-left: 2px; } }

@media only screen and (max-width: 350px) {
  div.tr {
    margin-left: -30px; }
    div.tr div.nav a {
      display: none !important; }
      div.tr div.nav a#burger {
        display: block !important; }
  #basket-menu {
    display: block; } }

/*

body:before {
    content: 'tiny';
    display: none;
}

@media only screen and (min-width: 768px) {
    body:before {
        content: 'small';
    }
}

@media only screen and (min-width: 1280px) {
    body:before {
        content: 'medium';
    }
}

@media only screen and (min-width: 1440px) {
    body:before {
        content: 'large';
    }
}

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