@charset "UTF-8";

/**
 * Foundation for Sites by ZURB
 * Version 6.4.2
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */

/* Document
       ========================================================================== */

/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */

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

/* Sections
       ========================================================================== */

/**
     * Remove the margin in all browsers (opinionated).
     */

body {
  margin: 0;
}

/**
     * Add the correct display in IE 9-.
     */

article, aside, footer, header, nav, section {
  display: block;
}

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */

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

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

/**
     * Add the correct display in IE 9-.
     */

figcaption, figure {
  display: block;
}

/**
     * Add the correct margin in IE 8.
     */

figure {
  margin: 1em 40px;
}

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
     * Add the correct display in IE.
     */

main {
  display: block;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

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

/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */

a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */

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

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

/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */

b, strong {
  font-weight: inherit;
}

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */

b, strong {
  font-weight: bolder;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */

code, kbd, samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
     * Add the correct font style in Android 4.3-.
     */

dfn {
  font-style: italic;
}

/**
     * Add the correct background and color in IE 9-.
     */

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

/**
     * Add the correct font size in all browsers.
     */

small {
  font-size: 80%;
}

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

/**
     * Add the correct display in IE 9-.
     */

audio, video {
  display: inline-block;
}

/**
     * Add the correct display in iOS 4-7.
     */

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

/**
     * Remove the border on images inside links in IE 10-.
     */

img {
  border-style: none;
}

/**
     * Hide the overflow in IE.
     */

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

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

/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
     * Show the overflow in IE.
     */

button {
  overflow: visible;
}

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */

button, select {
  /* 1 */
  text-transform: none;
}

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

button, [type="button"], [type="reset"], [type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
     * Show the overflow in Edge.
     */

input {
  overflow: visible;
}

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */

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

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */
}

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

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */

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

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */

legend {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */
}

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */

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

/**
     * Remove the default vertical scrollbar in IE.
     */

textarea {
  overflow: auto;
}

/* Interactive
       ========================================================================== */

/*
     * Add the correct display in Edge, IE, and Firefox.
     */

details {
  display: block;
}

/*
     * Add the correct display in all browsers.
     */

summary {
  display: list-item;
}

/*
     * Add the correct display in IE 9-.
     */

menu {
  display: block;
}

/* Scripting
       ========================================================================== */

/**
     * Add the correct display in IE 9-.
     */

canvas {
  display: inline-block;
}

/**
     * Add the correct display in IE.
     */

template {
  display: none;
}

/* Hidden
       ========================================================================== */

/**
     * Add the correct display in IE 10-.
     */

[hidden] {
  display: none;
}

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em";
}

html {
  box-sizing: border-box;
  font-size: 100%;
}

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #3c3f40;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0;
}

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0;
}

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

button {
  padding: 0;
  -moz-appearance: none;
       appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto;
}

[data-whatinput='mouse'] button {
  outline: 0;
}

pre {
  overflow: auto;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
}

.is-visible {
  display: block !important;
}

.is-hidden {
  display: none !important;
}

.grid-container {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 90rem;
  margin: 0 auto;
}

@media print, screen and (min-width: 40em) {
  .grid-container {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}

.grid-container.fluid {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 100%;
  margin: 0 auto;
}

@media print, screen and (min-width: 40em) {
  .grid-container.fluid {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}

.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin: 0 auto;
}

.grid-x {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
}

.cell {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
}

.cell.auto {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
}

.cell.shrink {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
}

.grid-x > .auto {
  width: auto;
}

.grid-x > .shrink {
  width: auto;
}

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.grid-x > .small-1 {
  width: 8.33333%;
}

.grid-x > .small-2 {
  width: 16.66667%;
}

.grid-x > .small-3 {
  width: 25%;
}

.grid-x > .small-4 {
  width: 33.33333%;
}

.grid-x > .small-5 {
  width: 41.66667%;
}

.grid-x > .small-6 {
  width: 50%;
}

.grid-x > .small-7 {
  width: 58.33333%;
}

.grid-x > .small-8 {
  width: 66.66667%;
}

.grid-x > .small-9 {
  width: 75%;
}

.grid-x > .small-10 {
  width: 83.33333%;
}

.grid-x > .small-11 {
  width: 91.66667%;
}

.grid-x > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    width: auto;
  }

  .grid-x > .medium-shrink {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
  }

  .grid-x > .medium-1 {
    width: 8.33333%;
  }

  .grid-x > .medium-2 {
    width: 16.66667%;
  }

  .grid-x > .medium-3 {
    width: 25%;
  }

  .grid-x > .medium-4 {
    width: 33.33333%;
  }

  .grid-x > .medium-5 {
    width: 41.66667%;
  }

  .grid-x > .medium-6 {
    width: 50%;
  }

  .grid-x > .medium-7 {
    width: 58.33333%;
  }

  .grid-x > .medium-8 {
    width: 66.66667%;
  }

  .grid-x > .medium-9 {
    width: 75%;
  }

  .grid-x > .medium-10 {
    width: 83.33333%;
  }

  .grid-x > .medium-11 {
    width: 91.66667%;
  }

  .grid-x > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    width: auto;
  }

  .grid-x > .large-shrink {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
  }

  .grid-x > .large-1 {
    width: 8.33333%;
  }

  .grid-x > .large-2 {
    width: 16.66667%;
  }

  .grid-x > .large-3 {
    width: 25%;
  }

  .grid-x > .large-4 {
    width: 33.33333%;
  }

  .grid-x > .large-5 {
    width: 41.66667%;
  }

  .grid-x > .large-6 {
    width: 50%;
  }

  .grid-x > .large-7 {
    width: 58.33333%;
  }

  .grid-x > .large-8 {
    width: 66.66667%;
  }

  .grid-x > .large-9 {
    width: 75%;
  }

  .grid-x > .large-10 {
    width: 83.33333%;
  }

  .grid-x > .large-11 {
    width: 91.66667%;
  }

  .grid-x > .large-12 {
    width: 100%;
  }
}

.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

.grid-margin-y:not(.grid-y) > .cell {
  height: auto;
}

.grid-margin-x {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-margin-x {
    margin-left: -1.875rem;
    margin-right: -1.875rem;
  }
}

.grid-margin-x > .cell {
  width: calc(100% - 2.5rem);
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-margin-x > .cell {
    width: calc(100% - 3.75rem);
    margin-left: 1.875rem;
    margin-right: 1.875rem;
  }
}

.grid-margin-x > .auto {
  width: auto;
}

.grid-margin-x > .shrink {
  width: auto;
}

.grid-margin-x > .small-1 {
  width: calc(8.33333% - 2.5rem);
}

.grid-margin-x > .small-2 {
  width: calc(16.66667% - 2.5rem);
}

.grid-margin-x > .small-3 {
  width: calc(25% - 2.5rem);
}

.grid-margin-x > .small-4 {
  width: calc(33.33333% - 2.5rem);
}

.grid-margin-x > .small-5 {
  width: calc(41.66667% - 2.5rem);
}

.grid-margin-x > .small-6 {
  width: calc(50% - 2.5rem);
}

.grid-margin-x > .small-7 {
  width: calc(58.33333% - 2.5rem);
}

.grid-margin-x > .small-8 {
  width: calc(66.66667% - 2.5rem);
}

.grid-margin-x > .small-9 {
  width: calc(75% - 2.5rem);
}

.grid-margin-x > .small-10 {
  width: calc(83.33333% - 2.5rem);
}

.grid-margin-x > .small-11 {
  width: calc(91.66667% - 2.5rem);
}

.grid-margin-x > .small-12 {
  width: calc(100% - 2.5rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-x > .auto {
    width: auto;
  }

  .grid-margin-x > .shrink {
    width: auto;
  }

  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 3.75rem);
  }

  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 3.75rem);
  }

  .grid-margin-x > .small-3 {
    width: calc(25% - 3.75rem);
  }

  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 3.75rem);
  }

  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 3.75rem);
  }

  .grid-margin-x > .small-6 {
    width: calc(50% - 3.75rem);
  }

  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 3.75rem);
  }

  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 3.75rem);
  }

  .grid-margin-x > .small-9 {
    width: calc(75% - 3.75rem);
  }

  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 3.75rem);
  }

  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 3.75rem);
  }

  .grid-margin-x > .small-12 {
    width: calc(100% - 3.75rem);
  }

  .grid-margin-x > .medium-auto {
    width: auto;
  }

  .grid-margin-x > .medium-shrink {
    width: auto;
  }

  .grid-margin-x > .medium-1 {
    width: calc(8.33333% - 3.75rem);
  }

  .grid-margin-x > .medium-2 {
    width: calc(16.66667% - 3.75rem);
  }

  .grid-margin-x > .medium-3 {
    width: calc(25% - 3.75rem);
  }

  .grid-margin-x > .medium-4 {
    width: calc(33.33333% - 3.75rem);
  }

  .grid-margin-x > .medium-5 {
    width: calc(41.66667% - 3.75rem);
  }

  .grid-margin-x > .medium-6 {
    width: calc(50% - 3.75rem);
  }

  .grid-margin-x > .medium-7 {
    width: calc(58.33333% - 3.75rem);
  }

  .grid-margin-x > .medium-8 {
    width: calc(66.66667% - 3.75rem);
  }

  .grid-margin-x > .medium-9 {
    width: calc(75% - 3.75rem);
  }

  .grid-margin-x > .medium-10 {
    width: calc(83.33333% - 3.75rem);
  }

  .grid-margin-x > .medium-11 {
    width: calc(91.66667% - 3.75rem);
  }

  .grid-margin-x > .medium-12 {
    width: calc(100% - 3.75rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-x > .large-auto {
    width: auto;
  }

  .grid-margin-x > .large-shrink {
    width: auto;
  }

  .grid-margin-x > .large-1 {
    width: calc(8.33333% - 3.75rem);
  }

  .grid-margin-x > .large-2 {
    width: calc(16.66667% - 3.75rem);
  }

  .grid-margin-x > .large-3 {
    width: calc(25% - 3.75rem);
  }

  .grid-margin-x > .large-4 {
    width: calc(33.33333% - 3.75rem);
  }

  .grid-margin-x > .large-5 {
    width: calc(41.66667% - 3.75rem);
  }

  .grid-margin-x > .large-6 {
    width: calc(50% - 3.75rem);
  }

  .grid-margin-x > .large-7 {
    width: calc(58.33333% - 3.75rem);
  }

  .grid-margin-x > .large-8 {
    width: calc(66.66667% - 3.75rem);
  }

  .grid-margin-x > .large-9 {
    width: calc(75% - 3.75rem);
  }

  .grid-margin-x > .large-10 {
    width: calc(83.33333% - 3.75rem);
  }

  .grid-margin-x > .large-11 {
    width: calc(91.66667% - 3.75rem);
  }

  .grid-margin-x > .large-12 {
    width: calc(100% - 3.75rem);
  }
}

.grid-padding-x .grid-padding-x {
  margin-right: -1.25rem;
  margin-left: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-padding-x .grid-padding-x {
    margin-right: -1.875rem;
    margin-left: -1.875rem;
  }
}

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -1.25rem;
  margin-left: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: -1.875rem;
    margin-left: -1.875rem;
  }
}

.grid-padding-x > .cell {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-padding-x > .cell {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}

.small-up-1 > .cell {
  width: 100%;
}

.small-up-2 > .cell {
  width: 50%;
}

.small-up-3 > .cell {
  width: 33.33333%;
}

.small-up-4 > .cell {
  width: 25%;
}

.small-up-5 > .cell {
  width: 20%;
}

.small-up-6 > .cell {
  width: 16.66667%;
}

.small-up-7 > .cell {
  width: 14.28571%;
}

.small-up-8 > .cell {
  width: 12.5%;
}

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%;
  }

  .medium-up-2 > .cell {
    width: 50%;
  }

  .medium-up-3 > .cell {
    width: 33.33333%;
  }

  .medium-up-4 > .cell {
    width: 25%;
  }

  .medium-up-5 > .cell {
    width: 20%;
  }

  .medium-up-6 > .cell {
    width: 16.66667%;
  }

  .medium-up-7 > .cell {
    width: 14.28571%;
  }

  .medium-up-8 > .cell {
    width: 12.5%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%;
  }

  .large-up-2 > .cell {
    width: 50%;
  }

  .large-up-3 > .cell {
    width: 33.33333%;
  }

  .large-up-4 > .cell {
    width: 25%;
  }

  .large-up-5 > .cell {
    width: 20%;
  }

  .large-up-6 > .cell {
    width: 16.66667%;
  }

  .large-up-7 > .cell {
    width: 14.28571%;
  }

  .large-up-8 > .cell {
    width: 12.5%;
  }
}

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 2.5rem);
}

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 2.5rem);
}

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 2.5rem);
}

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 2.5rem);
}

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 2.5rem);
}

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 2.5rem);
}

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 2.5rem);
}

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 2.5rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 2.5rem);
  }

  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 2.5rem);
  }

  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 2.5rem);
  }

  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 2.5rem);
  }

  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 2.5rem);
  }

  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 2.5rem);
  }

  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 2.5rem);
  }

  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 2.5rem);
  }

  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 3.75rem);
  }

  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 3.75rem);
  }

  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 3.75rem);
  }

  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 3.75rem);
  }

  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 3.75rem);
  }

  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 3.75rem);
  }

  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 3.75rem);
  }

  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 3.75rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 3.75rem);
  }

  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 3.75rem);
  }

  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 3.75rem);
  }

  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 3.75rem);
  }

  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 3.75rem);
  }

  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 3.75rem);
  }

  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 3.75rem);
  }

  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 3.75rem);
  }
}

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0;
}

.small-margin-collapse > .cell {
  margin-right: 0;
  margin-left: 0;
}

.small-margin-collapse > .small-1 {
  width: 8.33333%;
}

.small-margin-collapse > .small-2 {
  width: 16.66667%;
}

.small-margin-collapse > .small-3 {
  width: 25%;
}

.small-margin-collapse > .small-4 {
  width: 33.33333%;
}

.small-margin-collapse > .small-5 {
  width: 41.66667%;
}

.small-margin-collapse > .small-6 {
  width: 50%;
}

.small-margin-collapse > .small-7 {
  width: 58.33333%;
}

.small-margin-collapse > .small-8 {
  width: 66.66667%;
}

.small-margin-collapse > .small-9 {
  width: 75%;
}

.small-margin-collapse > .small-10 {
  width: 83.33333%;
}

.small-margin-collapse > .small-11 {
  width: 91.66667%;
}

.small-margin-collapse > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .small-margin-collapse > .medium-1 {
    width: 8.33333%;
  }

  .small-margin-collapse > .medium-2 {
    width: 16.66667%;
  }

  .small-margin-collapse > .medium-3 {
    width: 25%;
  }

  .small-margin-collapse > .medium-4 {
    width: 33.33333%;
  }

  .small-margin-collapse > .medium-5 {
    width: 41.66667%;
  }

  .small-margin-collapse > .medium-6 {
    width: 50%;
  }

  .small-margin-collapse > .medium-7 {
    width: 58.33333%;
  }

  .small-margin-collapse > .medium-8 {
    width: 66.66667%;
  }

  .small-margin-collapse > .medium-9 {
    width: 75%;
  }

  .small-margin-collapse > .medium-10 {
    width: 83.33333%;
  }

  .small-margin-collapse > .medium-11 {
    width: 91.66667%;
  }

  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.33333%;
  }

  .small-margin-collapse > .large-2 {
    width: 16.66667%;
  }

  .small-margin-collapse > .large-3 {
    width: 25%;
  }

  .small-margin-collapse > .large-4 {
    width: 33.33333%;
  }

  .small-margin-collapse > .large-5 {
    width: 41.66667%;
  }

  .small-margin-collapse > .large-6 {
    width: 50%;
  }

  .small-margin-collapse > .large-7 {
    width: 58.33333%;
  }

  .small-margin-collapse > .large-8 {
    width: 66.66667%;
  }

  .small-margin-collapse > .large-9 {
    width: 75%;
  }

  .small-margin-collapse > .large-10 {
    width: 83.33333%;
  }

  .small-margin-collapse > .large-11 {
    width: 91.66667%;
  }

  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0;
}

.small-padding-collapse > .cell {
  padding-right: 0;
  padding-left: 0;
}

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%;
  }

  .medium-margin-collapse > .small-2 {
    width: 16.66667%;
  }

  .medium-margin-collapse > .small-3 {
    width: 25%;
  }

  .medium-margin-collapse > .small-4 {
    width: 33.33333%;
  }

  .medium-margin-collapse > .small-5 {
    width: 41.66667%;
  }

  .medium-margin-collapse > .small-6 {
    width: 50%;
  }

  .medium-margin-collapse > .small-7 {
    width: 58.33333%;
  }

  .medium-margin-collapse > .small-8 {
    width: 66.66667%;
  }

  .medium-margin-collapse > .small-9 {
    width: 75%;
  }

  .medium-margin-collapse > .small-10 {
    width: 83.33333%;
  }

  .medium-margin-collapse > .small-11 {
    width: 91.66667%;
  }

  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%;
  }

  .medium-margin-collapse > .medium-2 {
    width: 16.66667%;
  }

  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }

  .medium-margin-collapse > .medium-4 {
    width: 33.33333%;
  }

  .medium-margin-collapse > .medium-5 {
    width: 41.66667%;
  }

  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }

  .medium-margin-collapse > .medium-7 {
    width: 58.33333%;
  }

  .medium-margin-collapse > .medium-8 {
    width: 66.66667%;
  }

  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }

  .medium-margin-collapse > .medium-10 {
    width: 83.33333%;
  }

  .medium-margin-collapse > .medium-11 {
    width: 91.66667%;
  }

  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%;
  }

  .medium-margin-collapse > .large-2 {
    width: 16.66667%;
  }

  .medium-margin-collapse > .large-3 {
    width: 25%;
  }

  .medium-margin-collapse > .large-4 {
    width: 33.33333%;
  }

  .medium-margin-collapse > .large-5 {
    width: 41.66667%;
  }

  .medium-margin-collapse > .large-6 {
    width: 50%;
  }

  .medium-margin-collapse > .large-7 {
    width: 58.33333%;
  }

  .medium-margin-collapse > .large-8 {
    width: 66.66667%;
  }

  .medium-margin-collapse > .large-9 {
    width: 75%;
  }

  .medium-margin-collapse > .large-10 {
    width: 83.33333%;
  }

  .medium-margin-collapse > .large-11 {
    width: 91.66667%;
  }

  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%;
  }

  .large-margin-collapse > .small-2 {
    width: 16.66667%;
  }

  .large-margin-collapse > .small-3 {
    width: 25%;
  }

  .large-margin-collapse > .small-4 {
    width: 33.33333%;
  }

  .large-margin-collapse > .small-5 {
    width: 41.66667%;
  }

  .large-margin-collapse > .small-6 {
    width: 50%;
  }

  .large-margin-collapse > .small-7 {
    width: 58.33333%;
  }

  .large-margin-collapse > .small-8 {
    width: 66.66667%;
  }

  .large-margin-collapse > .small-9 {
    width: 75%;
  }

  .large-margin-collapse > .small-10 {
    width: 83.33333%;
  }

  .large-margin-collapse > .small-11 {
    width: 91.66667%;
  }

  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%;
  }

  .large-margin-collapse > .medium-2 {
    width: 16.66667%;
  }

  .large-margin-collapse > .medium-3 {
    width: 25%;
  }

  .large-margin-collapse > .medium-4 {
    width: 33.33333%;
  }

  .large-margin-collapse > .medium-5 {
    width: 41.66667%;
  }

  .large-margin-collapse > .medium-6 {
    width: 50%;
  }

  .large-margin-collapse > .medium-7 {
    width: 58.33333%;
  }

  .large-margin-collapse > .medium-8 {
    width: 66.66667%;
  }

  .large-margin-collapse > .medium-9 {
    width: 75%;
  }

  .large-margin-collapse > .medium-10 {
    width: 83.33333%;
  }

  .large-margin-collapse > .medium-11 {
    width: 91.66667%;
  }

  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%;
  }

  .large-margin-collapse > .large-2 {
    width: 16.66667%;
  }

  .large-margin-collapse > .large-3 {
    width: 25%;
  }

  .large-margin-collapse > .large-4 {
    width: 33.33333%;
  }

  .large-margin-collapse > .large-5 {
    width: 41.66667%;
  }

  .large-margin-collapse > .large-6 {
    width: 50%;
  }

  .large-margin-collapse > .large-7 {
    width: 58.33333%;
  }

  .large-margin-collapse > .large-8 {
    width: 66.66667%;
  }

  .large-margin-collapse > .large-9 {
    width: 75%;
  }

  .large-margin-collapse > .large-10 {
    width: 83.33333%;
  }

  .large-margin-collapse > .large-11 {
    width: 91.66667%;
  }

  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

.small-offset-0 {
  margin-left: 0%;
}

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 1.25rem);
}

.small-offset-1 {
  margin-left: 8.33333%;
}

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 1.25rem);
}

.small-offset-2 {
  margin-left: 16.66667%;
}

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 1.25rem);
}

.small-offset-3 {
  margin-left: 25%;
}

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 1.25rem);
}

.small-offset-4 {
  margin-left: 33.33333%;
}

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 1.25rem);
}

.small-offset-5 {
  margin-left: 41.66667%;
}

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 1.25rem);
}

.small-offset-6 {
  margin-left: 50%;
}

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 1.25rem);
}

.small-offset-7 {
  margin-left: 58.33333%;
}

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 1.25rem);
}

.small-offset-8 {
  margin-left: 66.66667%;
}

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 1.25rem);
}

.small-offset-9 {
  margin-left: 75%;
}

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 1.25rem);
}

.small-offset-10 {
  margin-left: 83.33333%;
}

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 1.25rem);
}

.small-offset-11 {
  margin-left: 91.66667%;
}

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 1.25rem);
}

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%;
  }

  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.875rem);
  }

  .medium-offset-1 {
    margin-left: 8.33333%;
  }

  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 1.875rem);
  }

  .medium-offset-2 {
    margin-left: 16.66667%;
  }

  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 1.875rem);
  }

  .medium-offset-3 {
    margin-left: 25%;
  }

  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.875rem);
  }

  .medium-offset-4 {
    margin-left: 33.33333%;
  }

  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 1.875rem);
  }

  .medium-offset-5 {
    margin-left: 41.66667%;
  }

  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 1.875rem);
  }

  .medium-offset-6 {
    margin-left: 50%;
  }

  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.875rem);
  }

  .medium-offset-7 {
    margin-left: 58.33333%;
  }

  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 1.875rem);
  }

  .medium-offset-8 {
    margin-left: 66.66667%;
  }

  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 1.875rem);
  }

  .medium-offset-9 {
    margin-left: 75%;
  }

  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.875rem);
  }

  .medium-offset-10 {
    margin-left: 83.33333%;
  }

  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 1.875rem);
  }

  .medium-offset-11 {
    margin-left: 91.66667%;
  }

  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }

  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.875rem);
  }

  .large-offset-1 {
    margin-left: 8.33333%;
  }

  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 1.875rem);
  }

  .large-offset-2 {
    margin-left: 16.66667%;
  }

  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 1.875rem);
  }

  .large-offset-3 {
    margin-left: 25%;
  }

  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.875rem);
  }

  .large-offset-4 {
    margin-left: 33.33333%;
  }

  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 1.875rem);
  }

  .large-offset-5 {
    margin-left: 41.66667%;
  }

  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 1.875rem);
  }

  .large-offset-6 {
    margin-left: 50%;
  }

  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.875rem);
  }

  .large-offset-7 {
    margin-left: 58.33333%;
  }

  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 1.875rem);
  }

  .large-offset-8 {
    margin-left: 66.66667%;
  }

  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 1.875rem);
  }

  .large-offset-9 {
    margin-left: 75%;
  }

  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.875rem);
  }

  .large-offset-10 {
    margin-left: 83.33333%;
  }

  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 1.875rem);
  }

  .large-offset-11 {
    margin-left: 91.66667%;
  }

  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 1.875rem);
  }
}

.grid-y {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column nowrap;
      flex-flow: column nowrap;
}

.grid-y > .cell {
  width: auto;
}

.grid-y > .auto {
  height: auto;
}

.grid-y > .shrink {
  height: auto;
}

.grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}

@media print, screen and (min-width: 40em) {
  .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.grid-y > .small-1 {
  height: 8.33333%;
}

.grid-y > .small-2 {
  height: 16.66667%;
}

.grid-y > .small-3 {
  height: 25%;
}

.grid-y > .small-4 {
  height: 33.33333%;
}

.grid-y > .small-5 {
  height: 41.66667%;
}

.grid-y > .small-6 {
  height: 50%;
}

.grid-y > .small-7 {
  height: 58.33333%;
}

.grid-y > .small-8 {
  height: 66.66667%;
}

.grid-y > .small-9 {
  height: 75%;
}

.grid-y > .small-10 {
  height: 83.33333%;
}

.grid-y > .small-11 {
  height: 91.66667%;
}

.grid-y > .small-12 {
  height: 100%;
}

@media print, screen and (min-width: 40em) {
  .grid-y > .medium-auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    height: auto;
  }

  .grid-y > .medium-shrink {
    height: auto;
  }

  .grid-y > .medium-1 {
    height: 8.33333%;
  }

  .grid-y > .medium-2 {
    height: 16.66667%;
  }

  .grid-y > .medium-3 {
    height: 25%;
  }

  .grid-y > .medium-4 {
    height: 33.33333%;
  }

  .grid-y > .medium-5 {
    height: 41.66667%;
  }

  .grid-y > .medium-6 {
    height: 50%;
  }

  .grid-y > .medium-7 {
    height: 58.33333%;
  }

  .grid-y > .medium-8 {
    height: 66.66667%;
  }

  .grid-y > .medium-9 {
    height: 75%;
  }

  .grid-y > .medium-10 {
    height: 83.33333%;
  }

  .grid-y > .medium-11 {
    height: 91.66667%;
  }

  .grid-y > .medium-12 {
    height: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    height: auto;
  }

  .grid-y > .large-shrink {
    height: auto;
  }

  .grid-y > .large-1 {
    height: 8.33333%;
  }

  .grid-y > .large-2 {
    height: 16.66667%;
  }

  .grid-y > .large-3 {
    height: 25%;
  }

  .grid-y > .large-4 {
    height: 33.33333%;
  }

  .grid-y > .large-5 {
    height: 41.66667%;
  }

  .grid-y > .large-6 {
    height: 50%;
  }

  .grid-y > .large-7 {
    height: 58.33333%;
  }

  .grid-y > .large-8 {
    height: 66.66667%;
  }

  .grid-y > .large-9 {
    height: 75%;
  }

  .grid-y > .large-10 {
    height: 83.33333%;
  }

  .grid-y > .large-11 {
    height: 91.66667%;
  }

  .grid-y > .large-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: -1.25rem;
  margin-bottom: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -1.875rem;
    margin-bottom: -1.875rem;
  }
}

.grid-padding-y > .cell {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-padding-y > .cell {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}

.grid-margin-y {
  margin-top: -1.25rem;
  margin-bottom: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -1.875rem;
    margin-bottom: -1.875rem;
  }
}

.grid-margin-y > .cell {
  height: calc(100% - 2.5rem);
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.75rem);
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 2.5rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 2.5rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 2.5rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 2.5rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 2.5rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 2.5rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 2.5rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 2.5rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 2.5rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 2.5rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 2.5rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 2.5rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto;
  }

  .grid-margin-y > .shrink {
    height: auto;
  }

  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3.75rem);
  }

  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3.75rem);
  }

  .grid-margin-y > .small-3 {
    height: calc(25% - 3.75rem);
  }

  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3.75rem);
  }

  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3.75rem);
  }

  .grid-margin-y > .small-6 {
    height: calc(50% - 3.75rem);
  }

  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3.75rem);
  }

  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3.75rem);
  }

  .grid-margin-y > .small-9 {
    height: calc(75% - 3.75rem);
  }

  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3.75rem);
  }

  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3.75rem);
  }

  .grid-margin-y > .small-12 {
    height: calc(100% - 3.75rem);
  }

  .grid-margin-y > .medium-auto {
    height: auto;
  }

  .grid-margin-y > .medium-shrink {
    height: auto;
  }

  .grid-margin-y > .medium-1 {
    height: calc(8.33333% - 3.75rem);
  }

  .grid-margin-y > .medium-2 {
    height: calc(16.66667% - 3.75rem);
  }

  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.75rem);
  }

  .grid-margin-y > .medium-4 {
    height: calc(33.33333% - 3.75rem);
  }

  .grid-margin-y > .medium-5 {
    height: calc(41.66667% - 3.75rem);
  }

  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.75rem);
  }

  .grid-margin-y > .medium-7 {
    height: calc(58.33333% - 3.75rem);
  }

  .grid-margin-y > .medium-8 {
    height: calc(66.66667% - 3.75rem);
  }

  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.75rem);
  }

  .grid-margin-y > .medium-10 {
    height: calc(83.33333% - 3.75rem);
  }

  .grid-margin-y > .medium-11 {
    height: calc(91.66667% - 3.75rem);
  }

  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.75rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }

  .grid-margin-y > .large-shrink {
    height: auto;
  }

  .grid-margin-y > .large-1 {
    height: calc(8.33333% - 3.75rem);
  }

  .grid-margin-y > .large-2 {
    height: calc(16.66667% - 3.75rem);
  }

  .grid-margin-y > .large-3 {
    height: calc(25% - 3.75rem);
  }

  .grid-margin-y > .large-4 {
    height: calc(33.33333% - 3.75rem);
  }

  .grid-margin-y > .large-5 {
    height: calc(41.66667% - 3.75rem);
  }

  .grid-margin-y > .large-6 {
    height: calc(50% - 3.75rem);
  }

  .grid-margin-y > .large-7 {
    height: calc(58.33333% - 3.75rem);
  }

  .grid-margin-y > .large-8 {
    height: calc(66.66667% - 3.75rem);
  }

  .grid-margin-y > .large-9 {
    height: calc(75% - 3.75rem);
  }

  .grid-margin-y > .large-10 {
    height: calc(83.33333% - 3.75rem);
  }

  .grid-margin-y > .large-11 {
    height: calc(91.66667% - 3.75rem);
  }

  .grid-margin-y > .large-12 {
    height: calc(100% - 3.75rem);
  }
}

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch;
  width: 100vw;
}

.cell .grid-frame {
  width: 100%;
}

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar;
}

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar;
}

.cell-block-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  max-height: 100%;
}

.cell-block-container > .grid-x {
  max-height: 100%;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100vw;
  }

  .cell .medium-grid-frame {
    width: 100%;
  }

  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar;
  }

  .medium-cell-block-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-height: 100%;
  }

  .medium-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }

  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar;
  }
}

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100vw;
  }

  .cell .large-grid-frame {
    width: 100%;
  }

  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar;
  }

  .large-cell-block-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-height: 100%;
  }

  .large-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }

  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar;
  }
}

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch;
  height: 100vh;
}

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100vh;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100vh;
  }
}

.cell .grid-y.grid-frame {
  height: 100%;
}

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -1.25rem;
  margin-bottom: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -1.875rem;
    margin-bottom: -1.875rem;
  }
}

.grid-margin-y > .cell {
  height: calc(100% - 2.5rem);
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.75rem);
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 2.5rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 2.5rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 2.5rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 2.5rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 2.5rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 2.5rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 2.5rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 2.5rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 2.5rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 2.5rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 2.5rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 2.5rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto;
  }

  .grid-margin-y > .shrink {
    height: auto;
  }

  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3.75rem);
  }

  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3.75rem);
  }

  .grid-margin-y > .small-3 {
    height: calc(25% - 3.75rem);
  }

  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3.75rem);
  }

  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3.75rem);
  }

  .grid-margin-y > .small-6 {
    height: calc(50% - 3.75rem);
  }

  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3.75rem);
  }

  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3.75rem);
  }

  .grid-margin-y > .small-9 {
    height: calc(75% - 3.75rem);
  }

  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3.75rem);
  }

  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3.75rem);
  }

  .grid-margin-y > .small-12 {
    height: calc(100% - 3.75rem);
  }

  .grid-margin-y > .medium-auto {
    height: auto;
  }

  .grid-margin-y > .medium-shrink {
    height: auto;
  }

  .grid-margin-y > .medium-1 {
    height: calc(8.33333% - 3.75rem);
  }

  .grid-margin-y > .medium-2 {
    height: calc(16.66667% - 3.75rem);
  }

  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.75rem);
  }

  .grid-margin-y > .medium-4 {
    height: calc(33.33333% - 3.75rem);
  }

  .grid-margin-y > .medium-5 {
    height: calc(41.66667% - 3.75rem);
  }

  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.75rem);
  }

  .grid-margin-y > .medium-7 {
    height: calc(58.33333% - 3.75rem);
  }

  .grid-margin-y > .medium-8 {
    height: calc(66.66667% - 3.75rem);
  }

  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.75rem);
  }

  .grid-margin-y > .medium-10 {
    height: calc(83.33333% - 3.75rem);
  }

  .grid-margin-y > .medium-11 {
    height: calc(91.66667% - 3.75rem);
  }

  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.75rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }

  .grid-margin-y > .large-shrink {
    height: auto;
  }

  .grid-margin-y > .large-1 {
    height: calc(8.33333% - 3.75rem);
  }

  .grid-margin-y > .large-2 {
    height: calc(16.66667% - 3.75rem);
  }

  .grid-margin-y > .large-3 {
    height: calc(25% - 3.75rem);
  }

  .grid-margin-y > .large-4 {
    height: calc(33.33333% - 3.75rem);
  }

  .grid-margin-y > .large-5 {
    height: calc(41.66667% - 3.75rem);
  }

  .grid-margin-y > .large-6 {
    height: calc(50% - 3.75rem);
  }

  .grid-margin-y > .large-7 {
    height: calc(58.33333% - 3.75rem);
  }

  .grid-margin-y > .large-8 {
    height: calc(66.66667% - 3.75rem);
  }

  .grid-margin-y > .large-9 {
    height: calc(75% - 3.75rem);
  }

  .grid-margin-y > .large-10 {
    height: calc(83.33333% - 3.75rem);
  }

  .grid-margin-y > .large-11 {
    height: calc(91.66667% - 3.75rem);
  }

  .grid-margin-y > .large-12 {
    height: calc(100% - 3.75rem);
  }
}

.grid-frame.grid-margin-y {
  height: calc(100vh + 2.5rem);
}

@media print, screen and (min-width: 40em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3.75rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3.75rem);
  }
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 3.75rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 3.75rem);
  }
}

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

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

em, i {
  font-style: italic;
  line-height: inherit;
}

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

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

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
}

h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small {
  line-height: 0;
  color: #cacaca;
}

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem;
  }

  h2, .h2 {
    font-size: 2.1875rem;
  }

  h3, .h3 {
    font-size: 1.625rem;
  }

  h4, .h4 {
    font-size: 1.4375rem;
  }

  h5, .h5 {
    font-size: 1.25rem;
  }

  h6, .h6 {
    font-size: 1rem;
  }
}

a {
  line-height: inherit;
  color: #3bbdc0;
  text-decoration: none;
  cursor: pointer;
}

a:hover, a:focus {
  color: #33a3a5;
}

a img {
  border: 0;
}

hr {
  clear: both;
  max-width: 90rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0;
}

ul, ol, dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6;
}

li {
  font-size: inherit;
}

ul {
  margin-left: 1.25rem;
  list-style-type: disc;
}

ol {
  margin-left: 1.25rem;
}

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

dl {
  margin-bottom: 1rem;
}

dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold;
}

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca;
}

blockquote, blockquote p {
  line-height: 1.6;
  color: #8a8a8a;
}

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a;
}

cite:before {
  content: "\2014   ";
}

abbr, abbr[title] {
  border-bottom: 1px dotted #3c3f40;
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #f2f2f2;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #3c3f40;
}

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #f2f2f2;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #3c3f40;
}

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a;
}

.lead {
  font-size: 125%;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}

p + .stat {
  margin-top: -1rem;
}

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left;
  }

  .medium-text-right {
    text-align: right;
  }

  .medium-text-center {
    text-align: center;
  }

  .medium-text-justify {
    text-align: justify;
  }
}

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }

  .large-text-right {
    text-align: right;
  }

  .large-text-center {
    text-align: center;
  }

  .large-text-justify {
    text-align: justify;
  }
}

.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important;
  }

  .show-for-print {
    display: block !important;
  }

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

  table.show-for-print {
    display: table !important;
  }

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

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

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

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

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

  a, a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  .ir a:after, a[href^='javascript:']:after, a[href^='#']:after {
    content: '';
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  pre, blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  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;
  }

  .print-break-inside {
    page-break-inside: auto;
  }
}

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(60, 63, 64, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #3c3f40;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -moz-appearance: none;
       appearance: none;
}

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, textarea:focus {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #fefefe;
  box-shadow: 0 0 5px #cacaca;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

textarea {
  max-width: 100%;
}

textarea[rows] {
  height: auto;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #cacaca;
}

input::placeholder, textarea::placeholder {
  color: #cacaca;
}

input:disabled, input[readonly], textarea:disabled, textarea[readonly] {
  background-color: #f2f2f2;
  cursor: not-allowed;
}

[type='submit'], [type='button'] {
  -moz-appearance: none;
       appearance: none;
  border-radius: 0;
}

input[type='search'] {
  box-sizing: border-box;
}

[type='file'], [type='checkbox'], [type='radio'] {
  margin: 0 0 1rem;
}

[type='checkbox'] + label, [type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
}

[type='checkbox'] + label[for], [type='radio'] + label[for] {
  cursor: pointer;
}

label > [type='checkbox'], label > [type='radio'] {
  margin-right: 0.5rem;
}

[type='file'] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #3c3f40;
}

label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

.help-text {
  margin-top: -0.5rem;
  font-size: 0.625rem;
  font-style: italic;
  color: #3c3f40;
}

.input-group {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -ms-flex-align: stretch;
      align-items: stretch;
}

.input-group > :first-child {
  border-radius: 0 0 0 0;
}

.input-group > :last-child > * {
  border-radius: 0 0 0 0;
}

.input-group-label, .input-group-field, .input-group-button, .input-group-button a, .input-group-button input, .input-group-button button, .input-group-button label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #f2f2f2;
  color: #3c3f40;
  text-align: center;
  white-space: nowrap;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  -ms-flex-align: center;
      align-items: center;
}

.input-group-label:first-child {
  border-right: 0;
}

.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  height: auto;
  min-width: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
}

.input-group-button a, .input-group-button input, .input-group-button button, .input-group-button label {
  height: auto;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

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

legend {
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca;
}

.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -moz-appearance: none;
       appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #3c3f40;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

@media screen and (min-width: 0\0) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}

select:focus {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #fefefe;
  box-shadow: 0 0 5px #cacaca;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

select:disabled {
  background-color: #f2f2f2;
  cursor: not-allowed;
}

select::-ms-expand {
  display: none;
}

select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  border-color: firebrick;
  background-color: #f6e8e8;
}

.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: firebrick;
}

.is-invalid-input:not(:focus)::placeholder {
  color: firebrick;
}

.is-invalid-label {
  color: firebrick;
}

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: firebrick;
}

.form-error.is-visible {
  display: block;
}

.is-off-canvas-open {
  overflow: hidden;
}

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.35);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}

.js-off-canvas-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.js-off-canvas-overlay.is-closable {
  cursor: pointer;
}

.js-off-canvas-overlay.is-overlay-absolute {
  position: absolute;
}

.js-off-canvas-overlay.is-overlay-fixed {
  position: fixed;
}

.off-canvas-wrapper {
  position: relative;
  overflow: hidden;
}

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #eee;
}

[data-whatinput='mouse'] .off-canvas {
  outline: 0;
}

.off-canvas.is-transition-push {
  z-index: 12;
}

.off-canvas.is-closed {
  visibility: hidden;
}

.off-canvas.is-transition-overlap {
  z-index: 13;
}

.off-canvas.is-transition-overlap.is-open {
  box-shadow: 0 0 10px rgba(60, 63, 64, 0.7);
}

.off-canvas.is-open {
  transform: translate(0, 0);
}

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #eee;
}

[data-whatinput='mouse'] .off-canvas-absolute {
  outline: 0;
}

.off-canvas-absolute.is-transition-push {
  z-index: 12;
}

.off-canvas-absolute.is-closed {
  visibility: hidden;
}

.off-canvas-absolute.is-transition-overlap {
  z-index: 13;
}

.off-canvas-absolute.is-transition-overlap.is-open {
  box-shadow: 0 0 10px rgba(60, 63, 64, 0.7);
}

.off-canvas-absolute.is-open {
  transform: translate(0, 0);
}

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  transform: translateX(-250px);
}

@media print, screen and (min-width: 40em) {
  .position-left {
    width: 350px;
    transform: translateX(-350px);
  }
}

.off-canvas-content .off-canvas.position-left {
  transform: translateX(-250px);
}

@media print, screen and (min-width: 40em) {
  .off-canvas-content .off-canvas.position-left {
    transform: translateX(-350px);
  }
}

.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
  transform: translateX(250px);
}

@media print, screen and (min-width: 40em) {
  .off-canvas-content.is-open-left.has-transition-push {
    transform: translateX(350px);
  }
}

.position-left.is-transition-push {
  box-shadow: inset -13px 0 20px -13px rgba(60, 63, 64, 0.25);
}

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  transform: translateX(250px);
}

@media print, screen and (min-width: 40em) {
  .position-right {
    width: 350px;
    transform: translateX(350px);
  }
}

.off-canvas-content .off-canvas.position-right {
  transform: translateX(250px);
}

@media print, screen and (min-width: 40em) {
  .off-canvas-content .off-canvas.position-right {
    transform: translateX(350px);
  }
}

.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
  transform: translateX(-250px);
}

@media print, screen and (min-width: 40em) {
  .off-canvas-content.is-open-right.has-transition-push {
    transform: translateX(-350px);
  }
}

.position-right.is-transition-push {
  box-shadow: inset 13px 0 20px -13px rgba(60, 63, 64, 0.25);
}

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(-250px);
}

@media print, screen and (min-width: 40em) {
  .position-top {
    height: 350px;
    transform: translateY(-350px);
  }
}

.off-canvas-content .off-canvas.position-top {
  transform: translateY(-250px);
}

@media print, screen and (min-width: 40em) {
  .off-canvas-content .off-canvas.position-top {
    transform: translateY(-350px);
  }
}

.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
  transform: translateY(250px);
}

@media print, screen and (min-width: 40em) {
  .off-canvas-content.is-open-top.has-transition-push {
    transform: translateY(350px);
  }
}

.position-top.is-transition-push {
  box-shadow: inset 0 -13px 20px -13px rgba(60, 63, 64, 0.25);
}

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(250px);
}

@media print, screen and (min-width: 40em) {
  .position-bottom {
    height: 350px;
    transform: translateY(350px);
  }
}

.off-canvas-content .off-canvas.position-bottom {
  transform: translateY(250px);
}

@media print, screen and (min-width: 40em) {
  .off-canvas-content .off-canvas.position-bottom {
    transform: translateY(350px);
  }
}

.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
  transform: translateY(-250px);
}

@media print, screen and (min-width: 40em) {
  .off-canvas-content.is-open-bottom.has-transition-push {
    transform: translateY(-350px);
  }
}

.position-bottom.is-transition-push {
  box-shadow: inset 0 13px 20px -13px rgba(60, 63, 64, 0.25);
}

.off-canvas-content {
  transform: none;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
}

.off-canvas-content.has-transition-push {
  transform: translate(0, 0);
}

.off-canvas-content .off-canvas.is-open {
  transform: translate(0, 0);
}

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-left.reveal-for-medium .close-button {
    display: none;
  }

  .off-canvas-content .position-left.reveal-for-medium {
    transform: none;
  }

  .off-canvas-content.has-reveal-left {
    margin-left: 350px;
  }

  .position-left.reveal-for-medium ~ .off-canvas-content {
    margin-left: 350px;
  }

  .position-right.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-right.reveal-for-medium .close-button {
    display: none;
  }

  .off-canvas-content .position-right.reveal-for-medium {
    transform: none;
  }

  .off-canvas-content.has-reveal-right {
    margin-right: 350px;
  }

  .position-right.reveal-for-medium ~ .off-canvas-content {
    margin-right: 350px;
  }

  .position-top.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-top.reveal-for-medium .close-button {
    display: none;
  }

  .off-canvas-content .position-top.reveal-for-medium {
    transform: none;
  }

  .off-canvas-content.has-reveal-top {
    margin-top: 350px;
  }

  .position-top.reveal-for-medium ~ .off-canvas-content {
    margin-top: 350px;
  }

  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-bottom.reveal-for-medium .close-button {
    display: none;
  }

  .off-canvas-content .position-bottom.reveal-for-medium {
    transform: none;
  }

  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 350px;
  }

  .position-bottom.reveal-for-medium ~ .off-canvas-content {
    margin-bottom: 350px;
  }
}

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-left.reveal-for-large .close-button {
    display: none;
  }

  .off-canvas-content .position-left.reveal-for-large {
    transform: none;
  }

  .off-canvas-content.has-reveal-left {
    margin-left: 350px;
  }

  .position-left.reveal-for-large ~ .off-canvas-content {
    margin-left: 350px;
  }

  .position-right.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-right.reveal-for-large .close-button {
    display: none;
  }

  .off-canvas-content .position-right.reveal-for-large {
    transform: none;
  }

  .off-canvas-content.has-reveal-right {
    margin-right: 350px;
  }

  .position-right.reveal-for-large ~ .off-canvas-content {
    margin-right: 350px;
  }

  .position-top.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-top.reveal-for-large .close-button {
    display: none;
  }

  .off-canvas-content .position-top.reveal-for-large {
    transform: none;
  }

  .off-canvas-content.has-reveal-top {
    margin-top: 350px;
  }

  .position-top.reveal-for-large ~ .off-canvas-content {
    margin-top: 350px;
  }

  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-bottom.reveal-for-large .close-button {
    display: none;
  }

  .off-canvas-content .position-bottom.reveal-for-large {
    transform: none;
  }

  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 350px;
  }

  .position-bottom.reveal-for-large ~ .off-canvas-content {
    margin-bottom: 350px;
  }
}

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit;
  }

  .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
    box-shadow: none;
    transform: none;
  }

  .off-canvas.in-canvas-for-medium .close-button {
    display: none;
  }
}

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit;
  }

  .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
    box-shadow: none;
    transform: none;
  }

  .off-canvas.in-canvas-for-large .close-button {
    display: none;
  }
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}

thead, tbody, tfoot {
  border: 1px solid #f1f1f1;
  background-color: #fefefe;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: #f8f8f8;
  color: #3c3f40;
}

tfoot {
  background: #f1f1f1;
  color: #3c3f40;
}

thead tr, tfoot tr {
  background: transparent;
}

thead th, thead td, tfoot th, tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th, tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f1f1f1;
}

table.unstriped tbody {
  background-color: #fefefe;
}

table.unstriped tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid #f1f1f1;
  background-color: #fefefe;
}

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none;
  }

  table.stack tfoot {
    display: none;
  }

  table.stack tr, table.stack th, table.stack td {
    display: block;
  }

  table.stack td {
    border-top: 0;
  }
}

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
}

table.hover thead tr:hover {
  background-color: #f3f3f3;
}

table.hover tfoot tr:hover {
  background-color: #ececec;
}

table.hover tbody tr:hover {
  background-color: #f9f9f9;
}

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec;
}

.table-scroll {
  overflow-x: auto;
}

.table-scroll table {
  width: auto;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

@media screen and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important;
  }
}

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important;
  }
}

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important;
  }
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important;
  }
}

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important;
  }
}

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important;
  }
}

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important;
  }
}

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important;
  }
}

.show-for-sr, .u-visuallyhidden, .show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0;
}

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  clip-path: none;
}

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

@media screen and (orientation: landscape) {
  .show-for-landscape, .hide-for-portrait {
    display: block !important;
  }
}

@media screen and (orientation: portrait) {
  .show-for-landscape, .hide-for-portrait {
    display: none !important;
  }
}

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

@media screen and (orientation: landscape) {
  .hide-for-landscape, .show-for-portrait {
    display: none !important;
  }
}

@media screen and (orientation: portrait) {
  .hide-for-landscape, .show-for-portrait {
    display: block !important;
  }
}

/**
 * Mixins
 */

/*------------------------
mixin that calculates if text needs to be light or dark
depending on the background color passed.

From this W3C document: http://www.webmasterworld.com/r.cgi?f=88&d=9769&url=http://www.w3.org/TR/AERT#color-contrast

Color brightness is determined by the following formula:
((Red value X 299) + (Green value X 587) + (Blue value X 114)) / 1000
------------------------*/

/**
 * Base styles
 */

/*------------------------------------*\
    #BASE STYLES
\*------------------------------------*/

html, body {
  min-height: 100%;
  height: 100%;
}

[class^="icon-"], [class*=" icon-"] {
  display: inline-block;
}

textarea {
  min-height: 11.25rem;
}

.c-help-text {
  position: relative;
}

.max-width {
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}

/*------------------------------------*\
    #BASE
\*------------------------------------*/

body {
  background: #fefefe;
}

.off-canvas-wrapper {
  min-height: 100vh;
}

.js-off-canvas-exit.is-visible {
  z-index: 100;
}

.no-margin {
  margin: 0;
}

address {
  line-height: 1.6;
}

p a {
  text-decoration: underline;
}

/**
 * VENDOR
 */

/*
Version: @@ver@@ Timestamp: @@timestamp@@
*/

.select2-container {
  margin: 0;
  position: relative;
  display: inline-block;
  /* inline-block for ie7 */
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

.select2-container, .select2-drop, .select2-search, .select2-search input {
  /*
    Force border-box so that % widths fit the parent
    container without overlap because of margin/padding.
    More Info : http://www.quirksmode.org/css/box.html
  */
  /* webkit */
  /* firefox */
  box-sizing: border-box;
  /* css3 */
}

.select2-container .select2-choice {
  display: block;
  height: 26px;
  padding: 0 0 0 8px;
  overflow: hidden;
  position: relative;
  border: 1px solid #aaa;
  white-space: nowrap;
  line-height: 26px;
  color: #444;
  text-decoration: none;
  border-radius: 4px;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #fff;
  background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
  background-image: linear-gradient(to top, #eee 0%, #fff 50%);
}

html[dir="rtl"] .select2-container .select2-choice {
  padding: 0 8px 0 0;
}

.select2-container.select2-drop-above .select2-choice {
  border-bottom-color: #aaa;
  border-radius: 0 0 4px 4px;
  background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
  background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);
}

.select2-container.select2-allowclear .select2-choice .select2-chosen {
  margin-right: 42px;
}

.select2-container .select2-choice > .select2-chosen {
  margin-right: 26px;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  float: none;
  width: auto;
}

html[dir="rtl"] .select2-container .select2-choice > .select2-chosen {
  margin-left: 26px;
  margin-right: 0;
}

.select2-container .select2-choice abbr {
  display: none;
  width: 12px;
  height: 12px;
  position: absolute;
  right: 24px;
  top: 8px;
  font-size: 1px;
  text-decoration: none;
  border: 0;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAoCAYAAACiu5n/AAACLElEQVR42u3Zz0sUYRzH8bUISoyF1i5iXSooyYgOEXapZNYNojwU/aAfUAT9A4YhUgdxt1To0KFIBCMIvEcUEXntUtivpYuUhYFIdDBMmD69he/hObgsbSnb13ngdZjZhX3eO8/MDrMpSctKErwsg//HUSgU7uNYsB3hHla4CybqEoRPaMJGFCEMewxuxnsIk5iALPqg1yVdj9eQGUdjiuE1eAs+QOYztrsMJqwFk8EyHguW95klD+ZD08gsYvBFCBPYgHXBOT1UNpg3ncQpnAicRbrCCQ3j8SIf5QvYEWxvxnlb0mWDr0MIvcOaCiayC78gRKmlH+WDbaIjkJnDzgq/+VHIvMWqag3ehBkIAxXGdkAIDVRlsE24H9//4ty9hju4Hej710c5m83WYging32HMYjMnwSvx75UlQ+iOiDEaEMLZiA8dPc7TFQDnkGYxQ8Iz9Hs8k4riqIa4l5ApojVbm8tiduPL5CZRs5lMGFH8DNYxo+C5d3tMfgohJeow0qMQujxuqRb0RBsZ3DA2ZIuP5LgJDgJToKr4ZHOWjTOy+fzNa6DiezCFGReod1lMGF3IYzjMm5B5rirYIJyEJ4iHezfjW+YRr2n4EHE2LrAa1cg5DwFj2DWLlKljn67p+B+CIdKPAaOsddTcBOEKbTZvjp0Qvjo8Sp9DjJFfIVMjBsef4f34AHeYAxX0VfqMbDnfw97IXMTta6DLbobcxBa3Qdb9BPE2LZQ8G98530ecQi/2QAAAABJRU5ErkJggg==) right top no-repeat;
  cursor: pointer;
  outline: 0;
}

.select2-container.select2-allowclear .select2-choice abbr {
  display: inline-block;
}

.select2-container .select2-choice abbr:hover {
  background-position: right -11px;
  cursor: pointer;
}

.select2-drop-mask {
  border: 0;
  margin: 0;
  padding: 0;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 9998;
  /* styles required for IE to work */
  background-color: #fff;
  filter: alpha(opacity=0);
}

.select2-drop {
  width: 100%;
  margin-top: -1px;
  position: absolute;
  z-index: 9999;
  top: 100%;
  background: #fff;
  color: #000;
  border: 1px solid #aaa;
  border-top: 0;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}

.select2-drop.select2-drop-above {
  margin-top: 1px;
  border-top: 1px solid #aaa;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.15);
}

.select2-drop-active {
  border: 1px solid #5897fb;
  border-top: none;
}

.select2-drop.select2-drop-above.select2-drop-active {
  border-top: 1px solid #5897fb;
}

.select2-drop-auto-width {
  border-top: 1px solid #aaa;
  width: auto;
}

.select2-drop-auto-width .select2-search {
  padding-top: 4px;
}

.select2-container .select2-choice .select2-arrow {
  display: inline-block;
  width: 18px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  border-left: 1px solid #aaa;
  border-radius: 0 4px 4px 0;
  background-clip: padding-box;
  background: #ccc;
  background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
  background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
}

html[dir="rtl"] .select2-container .select2-choice .select2-arrow {
  left: 0;
  right: auto;
  border-left: none;
  border-right: 1px solid #aaa;
  border-radius: 4px 0 0 4px;
}

.select2-container .select2-choice .select2-arrow b {
  display: block;
  width: 100%;
  height: 100%;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAoCAYAAACiu5n/AAACLElEQVR42u3Zz0sUYRzH8bUISoyF1i5iXSooyYgOEXapZNYNojwU/aAfUAT9A4YhUgdxt1To0KFIBCMIvEcUEXntUtivpYuUhYFIdDBMmD69he/hObgsbSnb13ngdZjZhX3eO8/MDrMpSctKErwsg//HUSgU7uNYsB3hHla4CybqEoRPaMJGFCEMewxuxnsIk5iALPqg1yVdj9eQGUdjiuE1eAs+QOYztrsMJqwFk8EyHguW95klD+ZD08gsYvBFCBPYgHXBOT1UNpg3ncQpnAicRbrCCQ3j8SIf5QvYEWxvxnlb0mWDr0MIvcOaCiayC78gRKmlH+WDbaIjkJnDzgq/+VHIvMWqag3ehBkIAxXGdkAIDVRlsE24H9//4ty9hju4Hej710c5m83WYging32HMYjMnwSvx75UlQ+iOiDEaEMLZiA8dPc7TFQDnkGYxQ8Iz9Hs8k4riqIa4l5ApojVbm8tiduPL5CZRs5lMGFH8DNYxo+C5d3tMfgohJeow0qMQujxuqRb0RBsZ3DA2ZIuP5LgJDgJToKr4ZHOWjTOy+fzNa6DiezCFGReod1lMGF3IYzjMm5B5rirYIJyEJ4iHezfjW+YRr2n4EHE2LrAa1cg5DwFj2DWLlKljn67p+B+CIdKPAaOsddTcBOEKbTZvjp0Qvjo8Sp9DjJFfIVMjBsef4f34AHeYAxX0VfqMbDnfw97IXMTta6DLbobcxBa3Qdb9BPE2LZQ8G98530ecQi/2QAAAABJRU5ErkJggg==) no-repeat 0 1px;
}

html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {
  background-position: 2px 1px;
}

.select2-search {
  display: inline-block;
  width: 100%;
  min-height: 26px;
  margin: 0;
  padding-left: 4px;
  padding-right: 4px;
  position: relative;
  z-index: 10000;
  white-space: nowrap;
}

.select2-search input {
  width: 100%;
  height: auto !important;
  min-height: 26px;
  padding: 4px 20px 4px 5px;
  margin: 0;
  outline: 0;
  font-family: sans-serif;
  font-size: 1em;
  border: 1px solid #aaa;
  border-radius: 0;
  box-shadow: none;
  background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAoCAYAAACiu5n/AAACLElEQVR42u3Zz0sUYRzH8bUISoyF1i5iXSooyYgOEXapZNYNojwU/aAfUAT9A4YhUgdxt1To0KFIBCMIvEcUEXntUtivpYuUhYFIdDBMmD69he/hObgsbSnb13ngdZjZhX3eO8/MDrMpSctKErwsg//HUSgU7uNYsB3hHla4CybqEoRPaMJGFCEMewxuxnsIk5iALPqg1yVdj9eQGUdjiuE1eAs+QOYztrsMJqwFk8EyHguW95klD+ZD08gsYvBFCBPYgHXBOT1UNpg3ncQpnAicRbrCCQ3j8SIf5QvYEWxvxnlb0mWDr0MIvcOaCiayC78gRKmlH+WDbaIjkJnDzgq/+VHIvMWqag3ehBkIAxXGdkAIDVRlsE24H9//4ty9hju4Hej710c5m83WYging32HMYjMnwSvx75UlQ+iOiDEaEMLZiA8dPc7TFQDnkGYxQ8Iz9Hs8k4riqIa4l5ApojVbm8tiduPL5CZRs5lMGFH8DNYxo+C5d3tMfgohJeow0qMQujxuqRb0RBsZ3DA2ZIuP5LgJDgJToKr4ZHOWjTOy+fzNa6DiezCFGReod1lMGF3IYzjMm5B5rirYIJyEJ4iHezfjW+YRr2n4EHE2LrAa1cg5DwFj2DWLlKljn67p+B+CIdKPAaOsddTcBOEKbTZvjp0Qvjo8Sp9DjJFfIVMjBsef4f34AHeYAxX0VfqMbDnfw97IXMTta6DLbobcxBa3Qdb9BPE2LZQ8G98530ecQi/2QAAAABJRU5ErkJggg==) no-repeat 100% -22px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAoCAYAAACiu5n/AAACLElEQVR42u3Zz0sUYRzH8bUISoyF1i5iXSooyYgOEXapZNYNojwU/aAfUAT9A4YhUgdxt1To0KFIBCMIvEcUEXntUtivpYuUhYFIdDBMmD69he/hObgsbSnb13ngdZjZhX3eO8/MDrMpSctKErwsg//HUSgU7uNYsB3hHla4CybqEoRPaMJGFCEMewxuxnsIk5iALPqg1yVdj9eQGUdjiuE1eAs+QOYztrsMJqwFk8EyHguW95klD+ZD08gsYvBFCBPYgHXBOT1UNpg3ncQpnAicRbrCCQ3j8SIf5QvYEWxvxnlb0mWDr0MIvcOaCiayC78gRKmlH+WDbaIjkJnDzgq/+VHIvMWqag3ehBkIAxXGdkAIDVRlsE24H9//4ty9hju4Hej710c5m83WYging32HMYjMnwSvx75UlQ+iOiDEaEMLZiA8dPc7TFQDnkGYxQ8Iz9Hs8k4riqIa4l5ApojVbm8tiduPL5CZRs5lMGFH8DNYxo+C5d3tMfgohJeow0qMQujxuqRb0RBsZ3DA2ZIuP5LgJDgJToKr4ZHOWjTOy+fzNa6DiezCFGReod1lMGF3IYzjMm5B5rirYIJyEJ4iHezfjW+YRr2n4EHE2LrAa1cg5DwFj2DWLlKljn67p+B+CIdKPAaOsddTcBOEKbTZvjp0Qvjo8Sp9DjJFfIVMjBsef4f34AHeYAxX0VfqMbDnfw97IXMTta6DLbobcxBa3Qdb9BPE2LZQ8G98530ecQi/2QAAAABJRU5ErkJggg==) no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
}

html[dir="rtl"] .select2-search input {
  padding: 4px 5px 4px 20px;
  background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAoCAYAAACiu5n/AAACLElEQVR42u3Zz0sUYRzH8bUISoyF1i5iXSooyYgOEXapZNYNojwU/aAfUAT9A4YhUgdxt1To0KFIBCMIvEcUEXntUtivpYuUhYFIdDBMmD69he/hObgsbSnb13ngdZjZhX3eO8/MDrMpSctKErwsg//HUSgU7uNYsB3hHla4CybqEoRPaMJGFCEMewxuxnsIk5iALPqg1yVdj9eQGUdjiuE1eAs+QOYztrsMJqwFk8EyHguW95klD+ZD08gsYvBFCBPYgHXBOT1UNpg3ncQpnAicRbrCCQ3j8SIf5QvYEWxvxnlb0mWDr0MIvcOaCiayC78gRKmlH+WDbaIjkJnDzgq/+VHIvMWqag3ehBkIAxXGdkAIDVRlsE24H9//4ty9hju4Hej710c5m83WYging32HMYjMnwSvx75UlQ+iOiDEaEMLZiA8dPc7TFQDnkGYxQ8Iz9Hs8k4riqIa4l5ApojVbm8tiduPL5CZRs5lMGFH8DNYxo+C5d3tMfgohJeow0qMQujxuqRb0RBsZ3DA2ZIuP5LgJDgJToKr4ZHOWjTOy+fzNa6DiezCFGReod1lMGF3IYzjMm5B5rirYIJyEJ4iHezfjW+YRr2n4EHE2LrAa1cg5DwFj2DWLlKljn67p+B+CIdKPAaOsddTcBOEKbTZvjp0Qvjo8Sp9DjJFfIVMjBsef4f34AHeYAxX0VfqMbDnfw97IXMTta6DLbobcxBa3Qdb9BPE2LZQ8G98530ecQi/2QAAAABJRU5ErkJggg==) no-repeat -37px -22px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAoCAYAAACiu5n/AAACLElEQVR42u3Zz0sUYRzH8bUISoyF1i5iXSooyYgOEXapZNYNojwU/aAfUAT9A4YhUgdxt1To0KFIBCMIvEcUEXntUtivpYuUhYFIdDBMmD69he/hObgsbSnb13ngdZjZhX3eO8/MDrMpSctKErwsg//HUSgU7uNYsB3hHla4CybqEoRPaMJGFCEMewxuxnsIk5iALPqg1yVdj9eQGUdjiuE1eAs+QOYztrsMJqwFk8EyHguW95klD+ZD08gsYvBFCBPYgHXBOT1UNpg3ncQpnAicRbrCCQ3j8SIf5QvYEWxvxnlb0mWDr0MIvcOaCiayC78gRKmlH+WDbaIjkJnDzgq/+VHIvMWqag3ehBkIAxXGdkAIDVRlsE24H9//4ty9hju4Hej710c5m83WYging32HMYjMnwSvx75UlQ+iOiDEaEMLZiA8dPc7TFQDnkGYxQ8Iz9Hs8k4riqIa4l5ApojVbm8tiduPL5CZRs5lMGFH8DNYxo+C5d3tMfgohJeow0qMQujxuqRb0RBsZ3DA2ZIuP5LgJDgJToKr4ZHOWjTOy+fzNa6DiezCFGReod1lMGF3IYzjMm5B5rirYIJyEJ4iHezfjW+YRr2n4EHE2LrAa1cg5DwFj2DWLlKljn67p+B+CIdKPAaOsddTcBOEKbTZvjp0Qvjo8Sp9DjJFfIVMjBsef4f34AHeYAxX0VfqMbDnfw97IXMTta6DLbobcxBa3Qdb9BPE2LZQ8G98530ecQi/2QAAAABJRU5ErkJggg==) no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
}

.select2-drop.select2-drop-above .select2-search input {
  margin-top: 4px;
}

.select2-search input.select2-active {
  background: #fff url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAkKAAAALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQJCgAAACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQJCgAAACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkECQoAAAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkECQoAAAAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAkKAAAALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAkKAAAALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQJCgAAACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQJCgAAACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==) no-repeat 100%;
  background: url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAkKAAAALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQJCgAAACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQJCgAAACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkECQoAAAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkECQoAAAAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAkKAAAALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAkKAAAALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQJCgAAACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQJCgAAACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==) no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
}

.select2-container-active .select2-choice, .select2-container-active .select2-choices {
  border: 1px solid #5897fb;
  outline: none;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.select2-dropdown-open .select2-choice {
  border-bottom-color: transparent;
  box-shadow: 0 1px 0 #fff inset;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-color: #eee;
  background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
  background-image: linear-gradient(to top, #fff 0%, #eee 50%);
}

.select2-dropdown-open.select2-drop-above .select2-choice, .select2-dropdown-open.select2-drop-above .select2-choices {
  border: 1px solid #5897fb;
  border-top-color: transparent;
  background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
  background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
}

.select2-dropdown-open .select2-choice .select2-arrow {
  background: transparent;
  border-left: none;
  filter: none;
}

html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {
  border-right: none;
}

.select2-dropdown-open .select2-choice .select2-arrow b {
  background-position: -18px 1px;
}

html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {
  background-position: -16px 1px;
}

.select2-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* results */

.select2-results {
  max-height: 200px;
  padding: 0 0 0 4px;
  margin: 4px 4px 4px 0;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html[dir="rtl"] .select2-results {
  padding: 0 4px 0 0;
  margin: 4px 0 4px 4px;
}

.select2-results ul.select2-result-sub {
  margin: 0;
  padding-left: 0;
}

.select2-results li {
  list-style: none;
  display: list-item;
  background-image: none;
}

.select2-results li.select2-result-with-children > .select2-result-label {
  font-weight: bold;
}

.select2-results .select2-result-label {
  padding: 3px 7px 4px;
  margin: 0;
  cursor: pointer;
  min-height: 1em;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.select2-results-dept-1 .select2-result-label {
  padding-left: 20px;
}

.select2-results-dept-2 .select2-result-label {
  padding-left: 40px;
}

.select2-results-dept-3 .select2-result-label {
  padding-left: 60px;
}

.select2-results-dept-4 .select2-result-label {
  padding-left: 80px;
}

.select2-results-dept-5 .select2-result-label {
  padding-left: 100px;
}

.select2-results-dept-6 .select2-result-label {
  padding-left: 110px;
}

.select2-results-dept-7 .select2-result-label {
  padding-left: 120px;
}

.select2-results .select2-highlighted {
  background: #3875d7;
  color: #fff;
}

.select2-results li em {
  background: #feffde;
  font-style: normal;
}

.select2-results .select2-highlighted em {
  background: transparent;
}

.select2-results .select2-highlighted ul {
  background: #fff;
  color: #000;
}

.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit {
  background: #f4f4f4;
  display: list-item;
  padding-left: 5px;
}

/*
disabled look for disabled choices in the results dropdown
*/

.select2-results .select2-disabled.select2-highlighted {
  color: #666;
  background: #f4f4f4;
  display: list-item;
  cursor: default;
}

.select2-results .select2-disabled {
  background: #f4f4f4;
  display: list-item;
  cursor: default;
}

.select2-results .select2-selected {
  display: none;
}

.select2-more-results.select2-active {
  background: #f4f4f4 url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAkKAAAALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQJCgAAACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQJCgAAACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkECQoAAAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkECQoAAAAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAkKAAAALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAkKAAAALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQJCgAAACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQJCgAAACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==) no-repeat 100%;
}

.select2-results .select2-ajax-error {
  background: rgba(255, 50, 50, 0.2);
}

.select2-more-results {
  background: #f4f4f4;
  display: list-item;
}

/* disabled styles */

.select2-container.select2-container-disabled .select2-choice {
  background-color: #f4f4f4;
  background-image: none;
  border: 1px solid #ddd;
  cursor: default;
}

.select2-container.select2-container-disabled .select2-choice .select2-arrow {
  background-color: #f4f4f4;
  background-image: none;
  border-left: 0;
}

.select2-container.select2-container-disabled .select2-choice abbr {
  display: none;
}

/* multiselect */

.select2-container-multi .select2-choices {
  height: auto !important;
  height: 1%;
  margin: 0;
  padding: 0 5px 0 0;
  position: relative;
  border: 1px solid #aaa;
  cursor: text;
  overflow: hidden;
  background-color: #fff;
  background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);
}

html[dir="rtl"] .select2-container-multi .select2-choices {
  padding: 0 0 0 5px;
}

.select2-locked {
  padding: 3px 5px 3px 5px !important;
}

.select2-container-multi .select2-choices {
  min-height: 26px;
}

.select2-container-multi.select2-container-active .select2-choices {
  border: 1px solid #5897fb;
  outline: none;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.select2-container-multi .select2-choices li {
  float: left;
  list-style: none;
}

html[dir="rtl"] .select2-container-multi .select2-choices li {
  float: right;
}

.select2-container-multi .select2-choices .select2-search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.select2-container-multi .select2-choices .select2-search-field input {
  padding: 5px;
  margin: 1px 0;
  font-family: sans-serif;
  font-size: 100%;
  color: #666;
  outline: 0;
  border: 0;
  box-shadow: none;
  background: transparent !important;
}

.select2-container-multi .select2-choices .select2-search-field input.select2-active {
  background: #fff url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAkKAAAALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQJCgAAACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQJCgAAACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkECQoAAAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkECQoAAAAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAkKAAAALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAkKAAAALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQJCgAAACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQJCgAAACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==) no-repeat 100% !important;
}

.select2-default {
  color: #999 !important;
}

.select2-container-multi .select2-choices .select2-search-choice {
  padding: 3px 5px 3px 18px;
  margin: 3px 0 3px 5px;
  position: relative;
  line-height: 13px;
  color: #333;
  cursor: default;
  border: 1px solid #aaaaaa;
  border-radius: 3px;
  box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #e4e4e4;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
  background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
}

html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice {
  margin: 3px 5px 3px 0;
  padding: 3px 18px 3px 5px;
}

.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
  cursor: default;
}

.select2-container-multi .select2-choices .select2-search-choice-focus {
  background: #d4d4d4;
}

.select2-search-choice-close {
  display: block;
  width: 12px;
  height: 13px;
  position: absolute;
  right: 3px;
  top: 4px;
  font-size: 1px;
  outline: none;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAoCAYAAACiu5n/AAACLElEQVR42u3Zz0sUYRzH8bUISoyF1i5iXSooyYgOEXapZNYNojwU/aAfUAT9A4YhUgdxt1To0KFIBCMIvEcUEXntUtivpYuUhYFIdDBMmD69he/hObgsbSnb13ngdZjZhX3eO8/MDrMpSctKErwsg//HUSgU7uNYsB3hHla4CybqEoRPaMJGFCEMewxuxnsIk5iALPqg1yVdj9eQGUdjiuE1eAs+QOYztrsMJqwFk8EyHguW95klD+ZD08gsYvBFCBPYgHXBOT1UNpg3ncQpnAicRbrCCQ3j8SIf5QvYEWxvxnlb0mWDr0MIvcOaCiayC78gRKmlH+WDbaIjkJnDzgq/+VHIvMWqag3ehBkIAxXGdkAIDVRlsE24H9//4ty9hju4Hej710c5m83WYging32HMYjMnwSvx75UlQ+iOiDEaEMLZiA8dPc7TFQDnkGYxQ8Iz9Hs8k4riqIa4l5ApojVbm8tiduPL5CZRs5lMGFH8DNYxo+C5d3tMfgohJeow0qMQujxuqRb0RBsZ3DA2ZIuP5LgJDgJToKr4ZHOWjTOy+fzNa6DiezCFGReod1lMGF3IYzjMm5B5rirYIJyEJ4iHezfjW+YRr2n4EHE2LrAa1cg5DwFj2DWLlKljn67p+B+CIdKPAaOsddTcBOEKbTZvjp0Qvjo8Sp9DjJFfIVMjBsef4f34AHeYAxX0VfqMbDnfw97IXMTta6DLbobcxBa3Qdb9BPE2LZQ8G98530ecQi/2QAAAABJRU5ErkJggg==) right top no-repeat;
}

html[dir="rtl"] .select2-search-choice-close {
  right: auto;
  left: 3px;
}

.select2-container-multi .select2-search-choice-close {
  left: 3px;
}

html[dir="rtl"] .select2-container-multi .select2-search-choice-close {
  left: auto;
  right: 2px;
}

.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
  background-position: right -11px;
}

.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
  background-position: right -11px;
}

/* disabled styles */

.select2-container-multi.select2-container-disabled .select2-choices {
  background-color: #f4f4f4;
  background-image: none;
  border: 1px solid #ddd;
  cursor: default;
}

.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
  padding: 3px 5px 3px 5px;
  border: 1px solid #ddd;
  background-image: none;
  background-color: #f4f4f4;
}

.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
  display: none;
  background: none;
}

/* end multiselect */

.select2-result-selectable .select2-match, .select2-result-unselectable .select2-match {
  text-decoration: underline;
}

.select2-offscreen, .select2-offscreen:focus {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important;
}

.select2-display-none {
  display: none;
}

.select2-measure-scrollbar {
  position: absolute;
  top: -10000px;
  left: -10000px;
  width: 100px;
  height: 100px;
  overflow: scroll;
}

/* Retina-ize icons */

@media only screen and (min-resolution: 2dppx) {
  .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice .select2-arrow b {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAABQCAYAAADSm7GJAAADFElEQVR42u2dsW4TQRBAI0ERCYpDpAUdJX/hAlxQ3SekovYXIIvKEiBRIUF1lHT+BP+Br0TCCCsFLW5cmCS3jKWNNFrdZu+EOG7sd9Irkl0p8r3s7Mzs5XLinIMD5uhvAIIBwYBgaMnNNZvNyj0nkUvPQbAdtDjnCSU3zkGwEbS4iOToHATbE6wptVwEGyUhcaW/JkTbT7JcCpIse4K7SC4pk4wRXreE5ZUMUwezgh03lT0YyKKBOhjoZHUi1oCf7mkYohd9ACVFrj50HgxzmtQifKwF15L1fxC8UD9/EQxzHtxC8KiD4FHPNWMhuIACwd33h3kLuXOZ2mc4yyLRZS1kCG6H3uc2Mbl+LO9Z8FRwEaYINnpDdWKVIEdwC/QVC4l97nk6sUqwQHA3wbGEa9Sj4CCxSlIguHtZMg8Tq/4Edy/bLNXB4/G4FKJ1sJ7zTwTrhMuTU3f+NVqc84SSG+bEJR99a3BoaHERybE5HDYYFKwptVwEGyUhcRX5PufBRoiH4Tg80WFMcBfJPJNljfC6JSzzVCUrGMHswUAWDdTBQCcLOveiCdEBnCYBb9kBBAOCAcGAYEDw0XP0NwDBgGBAMCAYEAwIHvD7QzJhIlSCE2rF0o9lav4eBBt5JWHR8EfzdYATfgkFgg2g5J4LdSD1WrjyXDeIPkfwsNErV6/Y38J34aXwWHgkvBJWwi74RSgQPGD8nrtRwrbCe+G0YX9+KHzyc2rPRsgQPFzBEyVrJ7xLvNTsjvBBuFQreYLg4Qpeqv32m3BP+YxJPhUulOAKwQMl2HsnymNK8mudeCF44IK9rCcdBD8XrhBsS/BTBBOibwTPCNEGCFqSX4X7LeSeCRdK8BLBwy6TdIPjo3A3kUF/pkyy1+ioPVsv8KxB7gPhi7BVcndCpqYheKCtSt1+vBR+CG+EZ8IL4a3wU69cRYlgC4cN4UFD/LDBNVAi2NZxYa0Ixe5ikhFs58B/2SC48mOZUMYkI/jw/61diWDzgtOSEWxdcFpyhWDTgtOSEWxccCgZwfZJ9akrJXiKYEDwMfAHMSYobVemsdsAAAAASUVORK5CYII=) !important;
    background-repeat: no-repeat !important;
    background-size: 60px 40px !important;
  }

  .select2-search input {
    background-position: 100% -21px !important;
  }
}

/*!
 * ui-select
 * http://github.com/angular-ui/ui-select
 * Version: 0.19.8 - 2017-04-18T05:43:43.881Z
 * License: MIT
 */

/* Style when highlighting a search. */

.ui-select-highlight {
  font-weight: bold;
}

.ui-select-offscreen {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important;
}

.ui-select-choices-row:hover {
  background-color: #f5f5f5;
}

/* Select2 theme */

/* Mark invalid Select2 */

.ng-dirty.ng-invalid > a.select2-choice {
  border-color: #D44950;
}

.select2-result-single {
  padding-left: 0;
}

.select2-locked > .select2-search-choice-close {
  display: none;
}

.select-locked > .ui-select-match-close {
  display: none;
}

body > .select2-container.open {
  z-index: 9999;
  /* The z-index Select2 applies to the select2-drop */
}

/* Handle up direction Select2 */

.ui-select-container[theme="select2"].direction-up .ui-select-match, .ui-select-container.select2.direction-up .ui-select-match {
  border-radius: 4px;
  /* FIXME hardcoded value :-/ */
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.ui-select-container[theme="select2"].direction-up .ui-select-dropdown, .ui-select-container.select2.direction-up .ui-select-dropdown {
  border-radius: 4px;
  /* FIXME hardcoded value :-/ */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-top-width: 1px;
  /* FIXME hardcoded value :-/ */
  border-top-style: solid;
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
  margin-top: -4px;
  /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="select2"].direction-up .ui-select-dropdown .select2-search, .ui-select-container.select2.direction-up .ui-select-dropdown .select2-search {
  margin-top: 4px;
  /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="select2"].direction-up.select2-dropdown-open .ui-select-match, .ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match {
  border-bottom-color: #5897fb;
}

.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden, .ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden input {
  opacity: 0;
  height: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

/* Selectize theme */

/* Helper class to show styles when focus */

.selectize-input.selectize-focus {
  border-color: #007FBB !important;
}

/* Fix input width for Selectize theme */

.selectize-control.single > .selectize-input > input {
  width: 100%;
}

/* Fix line break when there's at least one item selected with the Selectize theme */

.selectize-control.multi > .selectize-input > input {
  margin: 0 !important;
}

/* Fix dropdown width for Selectize theme */

.selectize-control > .selectize-dropdown {
  width: 100%;
}

/* Mark invalid Selectize */

.ng-dirty.ng-invalid > div.selectize-input {
  border-color: #D44950;
}

/* Handle up direction Selectize */

.ui-select-container[theme="selectize"].direction-up .ui-select-dropdown {
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
  margin-top: -2px;
  /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="selectize"] input.ui-select-search-hidden {
  opacity: 0;
  height: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  width: 0;
}

/* Bootstrap theme */

/* Helper class to show styles when focus */

.btn-default-focus {
  color: #333;
  background-color: #EBEBEB;
  border-color: #ADADAD;
  text-decoration: none;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.ui-select-bootstrap .ui-select-toggle {
  position: relative;
}

.ui-select-bootstrap .ui-select-toggle > .caret {
  position: absolute;
  height: 10px;
  top: 50%;
  right: 10px;
  margin-top: -2px;
}

/* Fix Bootstrap dropdown position when inside a input-group */

.input-group > .ui-select-bootstrap.dropdown {
  /* Instead of relative */
  position: static;
}

.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {
  border-radius: 4px;
  /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {
  border-radius: 4px !important;
  /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.ui-select-bootstrap .ui-select-search-hidden {
  opacity: 0;
  height: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

.ui-select-bootstrap > .ui-select-match > .btn {
  /* Instead of center because of .btn */
  text-align: left !important;
}

.ui-select-bootstrap > .ui-select-match > .caret {
  position: absolute;
  top: 45%;
  right: 15px;
}

/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */

.ui-select-bootstrap > .ui-select-choices, .ui-select-bootstrap > .ui-select-no-choice {
  width: 100%;
  height: auto;
  max-height: 200px;
  overflow-x: hidden;
  margin-top: -1px;
}

body > .ui-select-bootstrap.open {
  z-index: 1000;
  /* Standard Bootstrap dropdown z-index */
}

.ui-select-multiple.ui-select-bootstrap {
  height: auto;
  padding: 3px 3px 0 3px;
}

.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
  background-color: transparent !important;
  /* To prevent double background when disabled */
  border: none;
  outline: none;
  height: 1.666666em;
  margin-bottom: 3px;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {
  font-size: 1.6em;
  line-height: 0.75;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
  outline: 0;
  margin: 0 3px 3px 0;
}

.ui-select-multiple .ui-select-match-item {
  position: relative;
}

.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {
  pointer-events: none;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  height: 100%;
  margin-right: 2px;
  border-left: 1px solid #428bca;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  margin-left: 2px;
  border-right: 1px solid #428bca;
}

.ui-select-bootstrap .ui-select-choices-row > span {
  cursor: pointer;
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.42857143;
  color: #333;
  white-space: nowrap;
}

.ui-select-bootstrap .ui-select-choices-row > span:hover, .ui-select-bootstrap .ui-select-choices-row > span:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}

.ui-select-bootstrap .ui-select-choices-row.active > span {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #428bca;
}

.ui-select-bootstrap .ui-select-choices-row.disabled > span, .ui-select-bootstrap .ui-select-choices-row.active.disabled > span {
  color: #777;
  cursor: not-allowed;
  background-color: #fff;
}

/* fix hide/show angular animation */

.ui-select-match.ng-hide-add, .ui-select-search.ng-hide-add {
  display: none !important;
}

/* Mark invalid Bootstrap */

.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {
  border-color: #D44950;
}

/* Handle up direction Bootstrap */

.ui-select-container[theme="bootstrap"].direction-up .ui-select-dropdown {
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
}

.ui-select-bootstrap .ui-select-match-text {
  width: 100%;
  padding-right: 1em;
}

.ui-select-bootstrap .ui-select-match-text span {
  display: inline-block;
  width: 100%;
  overflow: hidden;
}

.ui-select-bootstrap .ui-select-toggle > a.btn {
  position: absolute;
  height: 10px;
  right: 10px;
  margin-top: -2px;
}

/* Spinner */

.ui-select-refreshing.glyphicon {
  position: absolute;
  right: 0;
  padding: 8px 27px;
}

@keyframes ui-select-spin {
  0% {
    transform: rotate(0deg);
  }

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

.ui-select-spin {
  animation: ui-select-spin 2s infinite linear;
}

.ui-select-refreshing.ng-animate {
  -webkit-animation: none 0s;
}

.flatpickr-calendar {
  background: transparent;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  text-align: center;
  padding: 0;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #fff;
  box-shadow: 1px 0 0 #eee, -1px 0 0 #eee, 0 1px 0 #eee, 0 -1px 0 #eee, 0 3px 13px rgba(0, 0, 0, 0.08);
}

.flatpickr-calendar.open, .flatpickr-calendar.inline {
  opacity: 1;
  visibility: visible;
  overflow: visible;
  max-height: 640px;
}

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}

.flatpickr-calendar.animate.open {
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}

.flatpickr-calendar.hasWeeks {
  width: auto;
}

.flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}

.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #eee;
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}

.flatpickr-calendar:before, .flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}

.flatpickr-calendar.rightMost:before, .flatpickr-calendar.rightMost:after {
  left: auto;
  right: 22px;
}

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #eee;
}

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}

.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
  top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
  border-top-color: #eee;
}

.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}

.flatpickr-calendar:focus {
  outline: 0;
}

.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}

.flatpickr-month {
  background: transparent;
  color: #3c3f40;
  fill: #3c3f40;
  height: 28px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
}

.flatpickr-prev-month, .flatpickr-next-month {
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0px;
  line-height: 16px;
  height: 28px;
  padding: 10px calc(3.57% - 1.5px);
  z-index: 3;
}

.flatpickr-prev-month i, .flatpickr-next-month i {
  position: relative;
}

.flatpickr-prev-month.flatpickr-prev-month, .flatpickr-next-month.flatpickr-prev-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  left: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
        /*rtl:begin:ignore*/

/*
        /*rtl:end:ignore*/

.flatpickr-prev-month.flatpickr-next-month, .flatpickr-next-month.flatpickr-next-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  right: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
        /*rtl:begin:ignore*/

/*
        /*rtl:end:ignore*/

.flatpickr-prev-month:hover, .flatpickr-next-month:hover {
  color: #f64747;
}

.flatpickr-prev-month:hover svg, .flatpickr-next-month:hover svg {
  fill: #f64747;
}

.flatpickr-prev-month svg, .flatpickr-next-month svg {
  width: 14px;
}

.flatpickr-prev-month svg path, .flatpickr-next-month svg path {
  transition: fill 0.1s;
  fill: inherit;
}

.numInputWrapper {
  position: relative;
  height: auto;
}

.numInputWrapper input, .numInputWrapper span {
  display: inline-block;
}

.numInputWrapper input {
  width: 100%;
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(64, 72, 72, 0.05);
  box-sizing: border-box;
}

.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}

.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}

.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
  top: 33%;
}

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(64, 72, 72, 0.6);
}

.numInputWrapper span.arrowDown {
  top: 50%;
}

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(64, 72, 72, 0.6);
}

.numInputWrapper span svg {
  width: inherit;
  height: auto;
}

.numInputWrapper span svg path {
  fill: rgba(60, 63, 64, 0.5);
}

.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}

.numInputWrapper:hover span {
  opacity: 1;
}

.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 6.16px 0 0 0;
  line-height: 1;
  height: 28px;
  display: inline-block;
  text-align: center;
  transform: translate3d(0px, 0px, 0px);
}

.flatpickr-current-month.slideLeft {
  transform: translate3d(-100%, 0px, 0px);
  animation: fpFadeOut 400ms ease, fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-current-month.slideLeftNew {
  transform: translate3d(100%, 0px, 0px);
  animation: fpFadeIn 400ms ease, fpSlideLeftNew 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-current-month.slideRight {
  transform: translate3d(100%, 0px, 0px);
  animation: fpFadeOut 400ms ease, fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-current-month.slideRightNew {
  transform: translate3d(0, 0, 0px);
  animation: fpFadeIn 400ms ease, fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #3c3f40;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #3c3f40;
}

.flatpickr-current-month input.cur-year {
  background: transparent;
  box-sizing: border-box;
  color: inherit;
  cursor: default;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: initial;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
}

.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}

.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(60, 63, 64, 0.5);
  background: transparent;
  pointer-events: none;
}

.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: 28px;
}

span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder;
}

.dayContainer, .flatpickr-weeks {
  padding: 1px 0 0 0;
}

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
  width: 307.875px;
}

.flatpickr-days:focus {
  outline: 0;
}

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-around;
  transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}

.flatpickr-calendar.animate .dayContainer.slideLeft {
  animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.animate .dayContainer.slideLeft, .flatpickr-calendar.animate .dayContainer.slideLeftNew {
  transform: translate3d(-100%, 0px, 0px);
}

.flatpickr-calendar.animate .dayContainer.slideLeftNew {
  animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.animate .dayContainer.slideRight {
  animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1);
  transform: translate3d(100%, 0px, 0px);
}

.flatpickr-calendar.animate .dayContainer.slideRightNew {
  animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  box-sizing: border-box;
  color: #404848;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e9e9e9;
  border-color: #e9e9e9;
}

.flatpickr-day.today {
  border-color: #f64747;
}

.flatpickr-day.today:hover, .flatpickr-day.today:focus {
  border-color: #f64747;
  background: #f64747;
  color: #fff;
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
  background: #4f99ff;
  box-shadow: none;
  color: #fff;
  border-color: #4f99ff;
}

.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange + .endRange, .flatpickr-day.startRange.startRange + .endRange, .flatpickr-day.endRange.startRange + .endRange {
  box-shadow: -10px 0 0 #4f99ff;
}

.flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}

.flatpickr-day.inRange {
  border-radius: 0;
  box-shadow: -5px 0 0 #e9e9e9, 5px 0 0 #e9e9e9;
}

.flatpickr-day.disabled, .flatpickr-day.disabled:hover {
  pointer-events: none;
}

.flatpickr-day.disabled, .flatpickr-day.disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(0, 0, 0, 0.15);
  background: transparent;
  border-color: #e9e9e9;
  cursor: default;
}

.flatpickr-day.week.selected {
  border-radius: 0;
  box-shadow: -5px 0 0 #4f99ff, 5px 0 0 #4f99ff;
}

.rangeMode .flatpickr-day {
  margin-top: 1px;
}

.flatpickr-weekwrapper {
  display: inline-block;
  float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  box-shadow: 1px 0 0 #eee;
}

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day {
  display: block;
  width: 100%;
  max-width: none;
}

.flatpickr-innerContainer {
  display: block;
  display: -ms-flexbox;
  display: flex;
  box-sizing: border-box;
  overflow: hidden;
}

.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  box-sizing: border-box;
}

.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  box-sizing: border-box;
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
}

.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}

.flatpickr-time .numInputWrapper {
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #404848;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #404848;
}

.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}

.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}

.flatpickr-time input {
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  cursor: pointer;
  color: #404848;
  font-size: 14px;
  position: relative;
  box-sizing: border-box;
}

.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}

.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
  font-weight: 400;
}

.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}

.flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
  height: inherit;
  display: inline-block;
  float: left;
  line-height: inherit;
  color: #404848;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
      align-self: center;
}

.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}

.flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time .flatpickr-am-pm:focus {
  background: #f3f3f3;
}

.flatpickr-input[readonly] {
  cursor: pointer;
}

@keyframes fpFadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fpSlideLeft {
  from {
    transform: translate3d(0px, 0px, 0px);
  }

  to {
    transform: translate3d(-100%, 0px, 0px);
  }
}

@keyframes fpSlideLeftNew {
  from {
    transform: translate3d(100%, 0px, 0px);
  }

  to {
    transform: translate3d(0px, 0px, 0px);
  }
}

@keyframes fpSlideRight {
  from {
    transform: translate3d(0, 0, 0px);
  }

  to {
    transform: translate3d(100%, 0px, 0px);
  }
}

@keyframes fpSlideRightNew {
  from {
    transform: translate3d(-100%, 0, 0px);
  }

  to {
    transform: translate3d(0, 0, 0px);
  }
}

@keyframes fpFadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fpFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.flatpickr-calendar {
  width: 307.875px;
}

.dayContainer {
  padding: 0;
  border-right: 0;
}

span.flatpickr-day, span.flatpickr-day.prevMonthDay, span.flatpickr-day.nextMonthDay {
  border-radius: 0 !important;
  border: 1px solid #e9e9e9;
  max-width: none;
  border-right-color: transparent;
}

span.flatpickr-day:nth-child(n+8), span.flatpickr-day.prevMonthDay:nth-child(n+8), span.flatpickr-day.nextMonthDay:nth-child(n+8) {
  border-top-color: transparent;
}

span.flatpickr-day:nth-child(7n-6), span.flatpickr-day.prevMonthDay:nth-child(7n-6), span.flatpickr-day.nextMonthDay:nth-child(7n-6) {
  border-left: 0;
}

span.flatpickr-day:nth-child(n+36), span.flatpickr-day.prevMonthDay:nth-child(n+36), span.flatpickr-day.nextMonthDay:nth-child(n+36) {
  border-bottom: 0;
}

span.flatpickr-day:nth-child(-n+7), span.flatpickr-day.prevMonthDay:nth-child(-n+7), span.flatpickr-day.nextMonthDay:nth-child(-n+7) {
  margin-top: 0;
}

span.flatpickr-day.today:not(.selected), span.flatpickr-day.prevMonthDay.today:not(.selected), span.flatpickr-day.nextMonthDay.today:not(.selected) {
  border-color: #e9e9e9;
  border-right-color: transparent;
  border-top-color: transparent;
  border-bottom-color: #f64747;
}

span.flatpickr-day.today:not(.selected):hover, span.flatpickr-day.prevMonthDay.today:not(.selected):hover, span.flatpickr-day.nextMonthDay.today:not(.selected):hover {
  border: 1px solid #f64747;
}

span.flatpickr-day.startRange, span.flatpickr-day.prevMonthDay.startRange, span.flatpickr-day.nextMonthDay.startRange, span.flatpickr-day.endRange, span.flatpickr-day.prevMonthDay.endRange, span.flatpickr-day.nextMonthDay.endRange {
  border-color: #4f99ff;
}

span.flatpickr-day.today, span.flatpickr-day.prevMonthDay.today, span.flatpickr-day.nextMonthDay.today, span.flatpickr-day.selected, span.flatpickr-day.prevMonthDay.selected, span.flatpickr-day.nextMonthDay.selected {
  z-index: 2;
}

.rangeMode .flatpickr-day {
  margin-top: -1px;
}

.flatpickr-weekwrapper .flatpickr-weeks {
  box-shadow: none;
}

.flatpickr-weekwrapper span.flatpickr-day {
  border: 0;
  margin: -1px 0 0 -1px;
}

.hasWeeks .flatpickr-days {
  border-right: 0;
}

/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

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

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

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

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-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: grab;
}

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

/* ---- flickity-button ---- */

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

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

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

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

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

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

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

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

/* right to left */

.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%;
}

/* ---- page dots ---- */

.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: 0.25;
  cursor: pointer;
}

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

/**
 * Animations
 */

/*------------------------------------*\
    #ANIMATION FADE IN
\*------------------------------------*/

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.u-fade-in {
  opacity: 0;
  animation: fadeIn 0.25s ease-in-out forwards;
}

/*------------------------------------*\
    #ANIMATION FADE OUT
\*------------------------------------*/

@keyframes fadeIn {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.u-fade-out, .c-guest__form__row.ng-animate.ng-leave {
  opacity: 1;
  animation: fadeIn 0.5s ease-in-out forwards;
}

/*------------------------------------*\
    #ANIMATION FADE IN DOWN
\*------------------------------------*/

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-15%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.u-fade-in-down {
  opacity: 0;
  animation: fadeInDown 0.25s ease-in-out forwards;
}

/*------------------------------------*\
    #ANIMATION FADE IN DOWN CENTRE
\*------------------------------------*/

@keyframes fadeInDownCentre {
  0% {
    opacity: 0;
    transform: translate(-50%, -65%);
  }

  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

.u-fade-in-down-centre {
  opacity: 0;
  animation: fadeInDownCentre 0.25s ease-in-out forwards;
}

/*------------------------------------*\
    #ANIMATION FADE OUT DOWN CENTRE
\*------------------------------------*/

@keyframes fadeOutDownCentre {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -35%);
  }
}

.u-fade-out-down-centre {
  opacity: 1;
  animation: fadeOutDownCentre 0.25s ease-in-out forwards;
}

/*------------------------------------*\
    #ANIMATION FADE IN UP
\*------------------------------------*/

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(50%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.u-fade-in-up, .c-guest__form__row.ng-animate.ng-enter {
  opacity: 0;
  animation: fadeInUp 0.25s ease-in-out forwards;
}

/*------------------------------------*\
    #ANIMATION POP IN
\*------------------------------------*/

@keyframes popIn {
  0% {
    opacity: 0;
  }

  1% {
    opacity: 1;
    transform: scale(0.2);
  }

  80% {
    opacity: 1;
    transform: scale(1.25);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.u-pop-in, .c-button--icon.c-button--success .c-icon {
  opacity: 0;
  animation: popIn 0.34s linear forwards;
}

/*------------------------------------*\
    #ANIMATION SPIN
\*------------------------------------*/

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

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

.u-spin {
  animation: spin 1.25s infinite linear;
}

/**
 * Utilties
 */

/*------------------------------------*\
    #VISUALLYHIDDEN
\*------------------------------------*/

/**
 * Storefront Components
 */

/*------------------------------------*\
    #ACCORDION
\*------------------------------------*/

.c-accordion {
  list-style: none;
  margin: 0 0 1.25rem;
}

.c-accordion__handle {
  position: relative;
  padding: 1rem 0;
  cursor: pointer;
  font-size: 1.5rem;
}

.c-accordion__content {
  max-height: 0;
  transition: max-height 500ms ease-in-out;
  contain: layout;
  overflow: hidden;
}

.c-accordion--active .c-accordion__content {
  max-height: 312.5rem;
  overflow: visible;
}

.c-accordion--active .c-accordion--no-margin {
  margin: 0;
}

/*------------------------------------*\
    #ACTION
\*------------------------------------*/

.c-action--secondary {
  position: relative;
  display: block;
  text-align: center;
  padding: 0.625rem;
  color: #8a8a8a;
  border: none;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-style: italic;
}

.c-action--secondary .c-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -20%);
  width: 1.875rem;
  height: 1.875rem;
}

/*------------------------------------*\
    #ACTIVITY
\*------------------------------------*/

.c-activity__row {
  display: block;
}

.c-activity__add .c-button, .c-activity__add .c-payment__guest-select__button {
  padding: 0.8125rem 1.25rem;
}

/*------------------------------------*\
    #ALERT
\*------------------------------------*/

.alert--info {
  background: #f2f2f2;
  color: #3c3f40;
  border: #cacaca 1px solid;
  padding: 1rem;
}

.alert--info.no-js {
  text-align: center;
  margin: 0 0.625rem 1.25rem;
}

/*------------------------------------*\
    #ANGULAR STUFF
\*------------------------------------*/

.ng-cloak {
  display: none !important;
}

/*------------------------------------*\
    #NAV BAR
\*------------------------------------*/

.c-announcement {
  position: fixed;
  z-index: 101;
  left: 0;
  right: 0;
  bottom: 0.625rem;
  transition: opacity 250ms ease;
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 40em) {
  .c-announcement {
    bottom: 1.25rem;
  }
}

.c-announcement.is-visible {
  opacity: 0;
  animation: fadeInUp 0.25s ease-in-out forwards;
  pointer-events: all;
}

.c-announcement__inner {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 90%;
  transform: translateX(-50%);
  background: white;
  padding: 1rem 1rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25);
  border-radius: 0.1875rem;
  max-width: 53.125rem;
}

@media screen and (min-width: 40em) {
  .c-announcement__inner {
    padding: 1rem 1rem 0.5625rem;
  }
}

@media screen and (min-width: 64em) {
  .c-announcement__inner {
    width: 70%;
  }
}

.c-announcement__text {
  display: inline-block;
  width: 100%;
  max-height: 3rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (min-width: 40em) {
  .c-announcement__text {
    white-space: nowrap;
  }
}

.c-announcement__buttons {
  position: relative;
  top: 0.125rem;
  text-transform: uppercase;
  font-size: 0.875rem;
  text-align: center;
}

@media screen and (min-width: 40em) {
  .c-announcement__buttons {
    text-align: right;
    margin: 0 0 0 1rem;
  }
}

.c-announcement__secondary {
  text-transform: uppercase;
  color: #666;
  margin: 0 0 0 0.625rem;
  cursor: pointer;
}

.c-announcement-minimised {
  position: fixed;
  z-index: 101;
  right: -0.0625rem;
  bottom: -0.0625rem;
  opacity: 0;
  transition: opacity 250ms ease;
  pointer-events: none;
  background: white;
  border: 1px solid #ccc;
  border-radius: 0.1875rem;
}

.c-announcement-minimised.is-visible {
  opacity: 1;
  pointer-events: all;
}

.c-announcement-minimised .c-icon {
  position: relative;
  bottom: 1px;
  margin: 0 0 0 0.625rem;
}

.c-announcement-minimised button {
  text-transform: uppercase;
  font-size: 0.6875rem;
  padding: 0.3125rem 0.625rem;
}

.has-announcement {
  height: auto;
  padding-bottom: 6.25rem;
}

@media screen and (min-width: 40em) {
  .has-announcement {
    padding-bottom: 3.75rem;
  }
}

/*------------------------------------*\
    #ASIDE
\*------------------------------------*/

.c-aside__close {
  display: block;
  width: 3.125rem;
  height: 3.125rem;
  color: #fefefe;
  font-size: 2.1875rem;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;
  transition: background 250ms ease-in-out;
  contain: layout;
}

.c-aside__close:focus {
  outline: none;
}

.c-aside__close span {
  position: relative;
  line-height: 1;
  transition: color 250ms ease-in-out;
  contain: layout;
}

.c-aside__header {
  position: relative;
  z-index: 100;
}

.c-aside__inner {
  padding: 0.625rem;
}

@media print, screen and (min-width: 40em) {
  .c-aside__inner {
    padding: 1rem;
  }
}

.c-aside__heading {
  font-size: 1.375rem;
  margin: 0 0 1rem;
}

.c-aside dd {
  margin-bottom: 1rem;
}

/*------------------------------------*\
    #AVAILABILITY-SLIDER
\*------------------------------------*/

.c-avail-slider {
  position: relative;
  margin-bottom: 1.25rem;
  width: calc(100vw - 2.5rem);
}

@media screen and (min-width: 40em) {
  .c-avail-slider {
    margin-left: 0;
    width: auto;
  }
}

.c-avail-slider__header {
  font-size: 1.375rem;
  padding: 1.25rem 0;
}

@media print, screen and (min-width: 40em) {
  .c-avail-slider__header {
    padding: 0 3.125rem 1.25rem;
  }
}

.c-avail-slider__datepicker {
  position: relative;
}

.c-avail-slider__datepicker__input {
  position: absolute;
  right: -0.3125rem;
  top: 0;
  width: 1.875rem;
  margin: 0;
  opacity: 0;
  height: 1.875rem;
}

.c-avail-slider__tooltip {
  display: block;
  position: absolute;
  right: 0;
  bottom: 2.5rem;
  background: #333;
  color: #fff;
  text-align: right;
  font-size: 0.875rem;
  white-space: nowrap;
  padding: 0.3125rem 0.625rem;
  border-radius: 0.1875rem;
  opacity: 0;
}

.c-avail-slider__tooltip:after {
  position: absolute;
  z-index: 5;
  right: 0.375rem;
  bottom: -0.3125rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #333333 transparent transparent;
  content: "";
}

.c-avail-slider__tooltip.isVisible {
  opacity: 0;
  animation: 250ms fadeInUp 1000ms ease-in-out forwards;
}

.c-avail-slider__next {
  margin-bottom: 1.25rem;
  text-align: center;
  padding: 0.625rem;
  background: #ffeecb;
  margin-left: 3.125rem;
  margin-right: 3.125rem;
}

@media print, screen and (min-width: 40em) {
  .c-avail-slider__next {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-avail-slider__next {
    margin-bottom: 3.125rem;
  }
}

.c-avail-slider__next__link {
  display: block;
  margin: auto;
  cursor: pointer;
  color: #3c3f40;
}

.c-avail-slider__next__link span {
  display: inline-block;
  transition: color 250ms ease;
  contain: layout;
}

.c-avail-slider__slider {
  margin: 0 -1.25rem;
  overflow-x: scroll;
}

@media print, screen and (min-width: 40em) {
  .c-avail-slider__slider {
    padding: 0;
    margin: 0;
  }
}

.c-avail-slider__slider > .grid-x {
  width: 43.75rem;
}

@media screen and (min-width: 40em) {
  .c-avail-slider__slider > .grid-x {
    width: auto;
  }
}

.c-avail-slider--is-editing .c-avail-slider__slider {
  padding: 0;
}

@media screen and (min-width: 40em) {
  .c-avail-slider--is-editing .c-avail-slider__slider {
    padding: 0 2.8125rem;
  }
}

.c-avail-slider .c-guest__info {
  display: none;
}

@media screen and (min-width: 40em) {
  .c-avail-slider .c-guest__info {
    display: block;
  }
}

/*------------------------------------*\
    #BACKGROUND
\*------------------------------------*/

.c-background {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: no-repeat center center;
  background-size: cover;
  backface-visibility: none;
}

.c-background--overlay:after {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: rgba(60, 63, 64, 0.25);
}

/*------------------------------------*\
    #BASKET
\*------------------------------------*/

.c-basket__empty {
  text-align: center;
  padding: 1.875rem 0 0;
  background: #fefefe;
  border: 1px solid #cacaca;
  margin: 0.625rem;
}

.c-basket__empty p {
  font-size: 1.0625rem;
  padding: 0 1rem;
  margin-bottom: 1.875rem;
}

.c-basket__empty .grid-x {
  padding: 0 0.3125rem;
}

.c-basket__empty .cell {
  padding: 0 0.625rem;
}

.c-basket__empty .c-button, .c-basket__empty .c-payment__guest-select__button {
  width: 100%;
  margin: 0 0 0.625rem;
  padding: 0.3125rem;
  border: none;
}

.c-basket__empty--margin {
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-basket__empty--margin {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-basket__empty--margin {
    margin-bottom: 3.125rem;
  }
}

.c-basket__items {
  min-height: 6.25rem;
}

.c-basket-item {
  position: relative;
}

.c-basket-item__header {
  position: relative;
  padding: 0.625rem;
}

.c-basket-popup .c-basket-item__header {
  min-height: 7.1875rem;
}

.c-basket-item__header .grid-x {
  position: relative;
  z-index: 10;
}

.c-basket-popup .c-basket-item__header .grid-x {
  min-height: 5.9375rem;
}

.c-basket-item__header .cell {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.c-basket-item__name {
  position: relative;
  z-index: 5;
  color: #fefefe;
  margin: 0 0 0.625rem;
  font-size: 1.25rem;
  line-height: 1.2;
}

.c-basket-popup .c-basket-item__name {
  font-size: 1.25rem;
}

.c-basket-item__price {
  color: #fefefe;
  margin: 0;
}

.c-basket-item__date {
  color: #fefefe;
  margin: 0;
}

.c-basket-item__month {
  text-transform: uppercase;
}

.c-basket-item__background {
  position: absolute;
}

.c-basket-item .c-event__day {
  color: #fefefe;
}

.c-basket-item .c-event__date {
  margin: 0 0.25rem;
}

.c-basket-item .c-event__month {
  color: #fefefe;
  opacity: 0.75;
}

.c-basket__guests {
  position: relative;
  min-height: 3.4375rem;
  transition: ease max-height 1000ms;
  contain: layout;
  background: #fefefe;
}

.c-basket-popup .c-basket__guests {
  max-height: calc( 100vh - 4.6875rem - 1.875rem - 1.4375rem - 7.1875rem - 9.6875rem);
  padding: 0.625rem;
}

.c-review .c-basket__guests {
  min-height: 0;
}

.c-basket .c-basket__guests {
  max-height: calc(100vh - 3.125rem - 8.25rem);
}

.c-basket-popup .c-basket__guest {
  padding: 0.125rem 0;
}

.c-basket .c-basket__guest {
  box-shadow: inset 13px 0 20px -13px rgba(60, 63, 64, 0.25);
}

.c-basket-popup .c-basket__guest__price {
  padding-top: 0.1875rem;
}

.c-basket__actions {
  margin: 0 0.3125rem;
}

.c-basket__actions .c-button, .c-basket__actions .c-payment__guest-select__button {
  margin: 0 0.3125rem;
  width: calc(100% - 0.625rem);
  text-align: center;
  padding: 1.125rem 1rem;
  font-size: 0.6875rem;
}

.c-basket__actions .c-button--solid {
  border: 1px solid transparent;
}

.c-basket__actions .c-action--secondary {
  margin: 0 0.3125rem;
  width: calc(100% - 0.625rem);
  padding: 1.125rem 0.25rem;
  font-size: 0.6875rem;
}

.c-basket__actions--secondary {
  padding: 0.625rem 0;
  text-align: center;
}

.c-basket__actions--secondary a {
  display: inline-block;
  text-transform: uppercase;
  font-size: 0.625rem;
  color: rgba(60, 63, 64, 0.75);
  transition: color 250ms ease;
  contain: layout;
  letter-spacing: 0.03125rem;
  padding: 0 0.625rem 0.625rem;
}

@media screen and (min-width: 40em) {
  .c-basket__actions--secondary a {
    padding: 0.625rem;
  }
}

.c-basket__subtotal, .c-basket__total, .c-basket__control {
  padding: 0.625rem;
}

.c-basket__subtotal .cell:last-child, .c-basket__total .cell:last-child, .c-basket__control .cell:last-child {
  text-align: right;
}

.c-basket__total {
  font-size: 1.25rem;
}

@media screen and (min-width: 40em) {
  .c-basket__total {
    font-size: 1.5rem;
  }
}

.c-basket-popup .c-basket__total {
  font-size: 1.25rem;
}

.c-basket .c-basket__total {
  border-top: 1px solid rgba(60, 63, 64, 0.1);
}

.c-basket__subtotal {
  font-size: 1rem;
  color: #666;
}

.c-basket__control {
  font-size: 1rem;
  text-transform: uppercase;
}

.c-basket__footer {
  background: #f3f3f3;
}

.c-basket .c-basket__footer {
  box-shadow: inset 13px 0 20px -13px rgba(60, 63, 64, 0.25);
}

.c-basket__icon {
  padding: 1.25rem 1.25rem 0;
  text-align: center;
}

.c-basket__icon .c-icon {
  border: 1px solid;
  padding: 0.5rem 0.3125rem 0.3125rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
}

.c-basket__overlay {
  position: absolute;
  display: -ms-flexbox;
  display: flex;
  left: 0;
  bottom: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: #f2f2f2;
  opacity: 0;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  transition: opacity 500ms ease 0s, z-index 0s ease 500ms;
  contain: layout;
  pointer-events: none;
}

.c-basket__overlay .c-spinner {
  width: 4.6875rem;
  height: 4.6875rem;
}

.c-basket__overlay.is-active {
  z-index: 110;
  opacity: 0.75;
  pointer-events: all;
  transition: opacity 500ms ease, z-index 500ms ease;
  contain: layout;
}

.c-basket__expires {
  text-align: center;
  font-size: 0.75rem;
  padding: 0.3125rem;
  color: #666;
}

.c-basket__expires span {
  font-size: 0.75rem;
  color: #3c3f40;
}

@media screen and (min-width: 40em) {
  .c-basket__expires span {
    font-size: 1rem;
  }
}

.c-basket__reservation-details {
  text-align: center;
  font-size: 0.75rem;
  padding: 0.3125rem;
  color: #666;
}

.c-basket__reservation-details hr {
  margin: 0.625rem 0 0;
}

.c-basket__reservation-items .c-guest__name, .c-basket__reservation-items .c-guest__event__name {
  color: #666;
}

.c-basket__reservation-items .c-guest__event__date {
  color: #888;
}

.c-basket__reservation__reference {
  display: block;
  color: #3c3f40;
  font-size: 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-basket__reservation__reference {
    font-size: 1rem;
  }
}

.c-basket__reservation__heading {
  text-align: center;
  padding: 0.3125rem;
  font-size: 0.75rem;
}

@media screen and (min-width: 40em) {
  .c-basket__reservation__heading {
    font-size: 0.875rem;
  }
}

.c-basket .c-event__meta {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin: 0 1rem 1rem;
  text-align: center;
}

.c-basket .c-event__total {
  font-size: 3.125rem;
}

/*------------------------------------*\
    #BASKET INDICATOR
\*------------------------------------*/

.c-basket-indicator--dot {
  position: absolute;
  background: #fefefe;
  border-radius: 100%;
  width: 1.25rem;
  height: 1.25rem;
  line-height: 1;
  top: 0.3125rem;
  right: 0.3125rem;
  opacity: 0;
  animation: 500ms fadeIn 500ms ease-in-out forwards reverse;
}

.c-basket-indicator--dot span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.75rem;
}

.c-basket-indicator--bar {
  text-transform: uppercase;
  position: absolute;
  top: 1.125rem;
  left: 50%;
  width: 60%;
  transform: translateX(-50%);
  color: #fefefe;
  font-size: 0.6875rem;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .c-basket-indicator--bar {
    top: 0.9375rem;
    font-size: 0.8125rem;
  }
}

/*------------------------------------*\
    #BASKET POPUP
\*------------------------------------*/

.c-basket-popup {
  display: inline-block;
  position: absolute;
  z-index: 50;
  right: 0.3125rem;
  top: 3.4375rem;
  width: 18.75rem;
  background: #fefefe;
  padding: 0;
  transition: transform 500ms ease, opacity 500ms ease;
  transform: translateX(0);
  opacity: 1;
  box-shadow: 0 5px 10px rgba(60, 63, 64, 0.15);
  overflow: hidden;
  border: 1px solid;
  max-height: calc(100vh - 4.0625rem);
}

.c-basket-popup.alert--fail {
  border-color: rgba(178, 34, 34, 0.5);
}

.offcanvas-open .c-basket-popup:not(.ng-hide-add) {
  transform: translateX(-15.625rem);
  opacity: 0.25;
}

@media print, screen and (min-width: 40em) {
  .offcanvas-open .c-basket-popup:not(.ng-hide-add) {
    transform: translateX(-21.875rem);
  }
}

.c-basket-popup.ng-hide {
  transform: translateX(10%);
  opacity: 0;
}

.offcanvas-open .c-basket-popup.ng-hide {
  transform: translateX(-15.625rem);
}

@media print, screen and (min-width: 40em) {
  .offcanvas-open .c-basket-popup.ng-hide {
    transform: translateX(-21.875rem);
  }
}

.c-basket-popup__status {
  display: block;
  width: 100%;
  padding: 0.125rem 0.625rem;
  text-align: center;
  min-height: 1.4375rem;
}

.c-basket-popup__status span {
  display: block;
  text-transform: uppercase;
  font-size: 0.625rem;
  padding: 0.125rem 0;
}

.alert--fail .c-basket-popup__status {
  background: firebrick;
}

.c-basket-popup__message {
  padding: 1.25rem;
  margin: 0;
}

.c-basket-popup__message em {
  font-weight: bold;
}

.c-basket-popup__guests {
  position: relative;
  padding: 0.625rem;
  min-height: 3.4375rem;
  max-height: calc( 100vh - 4.6875rem - 1.875rem - 1.4375rem - 7.1875rem - 9.6875rem);
  overflow-y: auto;
}

.c-basket-popup__guest {
  padding: 0.125rem 0;
}

.c-basket-popup__actions {
  margin: 0 0.3125rem;
}

.c-basket-popup__actions .c-button, .c-basket-popup__actions .c-payment__guest-select__button {
  margin: 0 0.3125rem;
  width: calc(100% - 0.625rem);
  text-align: center;
  padding: 0.625rem 1rem;
}

.c-basket-popup__actions .c-button--solid {
  border: 1px solid transparent;
}

.c-basket-popup__actions .c-action--secondary {
  margin: 0 0.3125rem;
  width: calc(100% - 0.625rem);
  padding: 0.71875rem 0.25rem;
}

.c-basket-popup__subtotal {
  padding: 0.625rem;
}

.c-basket-popup__subtotal .cell:last-child {
  text-align: right;
}

.c-basket-popup__icon {
  padding: 1.25rem 1.25rem 0;
  text-align: center;
}

.c-basket-popup__icon .c-icon {
  border: 1px solid;
  padding: 0.5rem 0.3125rem 0.3125rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
}

.c-basket-popup .c-basket__footer {
  padding-bottom: 1rem;
}

.c-basket-popup .c-event__meta {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin: 0 1rem 1rem;
  text-align: center;
}

.c-basket-popup .c-event__total {
  font-size: 3.125rem;
}

.c-basket-popup .close {
  color: #111111;
  position: absolute;
  top: -0.1875rem;
  right: 0.375rem;
  z-index: 20;
  font-size: 1.5rem;
  cursor: pointer;
  opacity: 0.75;
}

.c-basket-popup .close:hover {
  opacity: 1;
}

/*------------------------------------*\
    #BREAKER
\*------------------------------------*/

.c-breaker {
  position: relative;
  width: 100%;
  padding: 3.125rem 1.25rem;
  height: 100%;
  background: #ccc;
}

@media print, screen and (min-width: 40em) {
  .c-breaker {
    padding: 6.25rem 1.25rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-breaker {
    padding: 9.375rem 1.25rem;
  }
}

.c-breaker__inner {
  position: relative;
  z-index: 5;
  background: #fefefe;
  max-width: 90%;
  width: 25rem;
  box-shadow: 0 5px 30px rgba(60, 63, 64, 0.25);
  margin: auto;
  text-align: center;
  padding: 1rem;
}

.c-breaker__inner:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  box-shadow: 0 10px 40px rgba(60, 63, 64, 0.5);
  z-index: -1;
  opacity: 0;
  transition: opacity 500ms ease-in-out;
}

.c-breaker__inner:hover:after, .c-breaker__inner:focus:after, .c-breaker__inner:active:after {
  opacity: 1;
}

@media print, screen and (min-width: 40em) {
  .c-breaker__inner {
    padding: 1.875rem 2.5rem;
  }
}

.c-breaker__headings {
  position: relative;
  margin: 0 0 1.25rem;
}

.c-breaker__headings:after {
  display: block;
  width: 25%;
  height: 1px;
  margin: 1.25rem auto 0;
  background: #3c3f40;
  content: '';
}

.c-breaker__preheading {
  font-style: italic;
}

.c-breaker__text {
  text-align: left;
  color: #8a8a8a;
  margin: 0 0 1.875rem;
}

.c-breaker__anchor {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.c-breaker .c-button, .c-breaker .c-payment__guest-select__button {
  margin: 0;
}

/*------------------------------------*\
    #TEXT
\*------------------------------------*/

.c-bullet-list {
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-bullet-list {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-bullet-list {
    margin-bottom: 3.125rem;
  }
}

.c-bullet-list__inner, .c-bullet-list ol {
  padding: 0 0 1.25rem;
  font-size: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-bullet-list__inner, .c-bullet-list ol {
    padding: 0;
    font-size: 1.875rem;
  }
}

/*------------------------------------*\
    #BUTTON
\*------------------------------------*/

.c-button, .c-payment__guest-select__button {
  position: relative;
  display: inline-block;
  border: 1px solid;
  padding: 0.75rem 1rem;
  font-size: 0.8125rem;
  text-transform: uppercase;
  cursor: pointer;
  margin-bottom: 1.25rem;
  transition: all 250ms ease-in-out;
  contain: layout;
}

@media print, screen and (min-width: 40em) {
  .c-button, .c-payment__guest-select__button {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-button, .c-payment__guest-select__button {
    margin-bottom: 3.125rem;
  }
}

.c-button[disabled], .c-payment__guest-select__button[disabled] {
  opacity: 0.25;
}

.c-button:active, .c-payment__guest-select__button:active {
  top: 1px;
}

@media print, screen and (min-width: 40em) {
  .c-button, .c-payment__guest-select__button {
    padding: 0.9375rem 1.875rem;
  }
}

.c-button--hollow, .c-payment__guest-select__button {
  color: #3c3f40;
  background: #fefefe;
}

.c-button--centre {
  text-align: center;
}

.c-button--icon {
  position: relative;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}

.c-button--icon .c-button__icon {
  position: absolute;
  z-index: 1;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
}

.c-button--icon .c-button__loading, .c-button--icon .c-button__success {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.c-button--icon.c-button--loading {
  padding-right: 3.125rem;
}

.c-button--icon.c-button--success {
  padding-right: 3.125rem;
}

.c-button--icon .c-spinner {
  fill: #fefefe;
  transition: opacity 250ms ease;
}

.c-button--icon .c-icon {
  opacity: 0;
}

.c-button--icon .c-icon path {
  fill: #fefefe !important;
}

.c-button--wide {
  width: 100%;
}

.c-button--no-margin {
  margin: 0;
}

button.c-button, button.c-payment__guest-select__button {
  min-height: 3.375rem;
}

/*------------------------------------*\
    #CAROUSEL
\*------------------------------------*/

.c-carousel {
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-carousel {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-carousel {
    margin-bottom: 3.125rem;
  }
}

.c-carousel__inner {
  background: #f2f2f2;
  padding: 2.5rem 0;
}

.c-carousel__heading {
  display: inline-block;
  float: left;
  margin-left: 1rem;
  font-size: 1rem;
}

@media print, screen and (min-width: 40em) {
  .c-carousel__heading {
    margin-left: 5.625rem;
    font-size: 1.375rem;
  }
}

.c-carousel__anchor {
  position: relative;
  display: inline-block;
  float: right;
  margin-right: 1rem;
  font-size: 1rem;
  color: #3c3f40;
  z-index: 10;
}

@media print, screen and (min-width: 40em) {
  .c-carousel__anchor {
    margin-right: 5.625rem;
    font-size: 1.375rem;
  }
}

.c-carousel .flickity-viewport {
  overflow: visible;
}

.c-carousel .flickity-enabled.top-gap {
  margin-top: 1.875rem;
}

.c-carousel .flickity-enabled.top-gap .flickity-viewport {
  padding: 1.5625rem 0 0;
}

.c-carousel .carousel {
  clear: both;
  opacity: 0;
  transition: opacity 500ms ease-in-out;
  overflow: visible;
}

@media print, screen and (min-width: 40em) {
  .c-carousel .carousel {
    max-height: 25.625rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-carousel .carousel {
    max-height: 29.375rem;
  }
}

.c-carousel .carousel.flickity-enabled {
  opacity: 1;
}

.c-carousel .carousel-cell {
  display: inline-block;
}

.no-js .c-carousel .carousel {
  opacity: 1;
}

.c-carousel--no-margin {
  margin: 0;
}

/*------------------------------------*\
    #CHECKOUT
\*------------------------------------*/

.c-checkout {
  border-bottom: 1px solid;
}

.c-checkout__steps {
  position: relative;
  display: block;
  text-align: center;
  margin: auto auto 1rem;
}

.c-checkout__basket {
  margin-bottom: 1.25rem;
  position: relative;
}

@media print, screen and (min-width: 40em) {
  .c-checkout__basket {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-checkout__basket {
    margin-bottom: 3.125rem;
  }
}

.c-checkout__basket__header {
  color: #fefefe;
  padding: 1rem;
}

.c-checkout__empty {
  margin-bottom: 1.25rem;
  text-align: center;
  padding: 3.125rem;
  background: #eee;
  border: 1px solid #ddd;
}

@media print, screen and (min-width: 40em) {
  .c-checkout__empty {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-checkout__empty {
    margin-bottom: 3.125rem;
  }
}

.c-checkout__accordion-icons {
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 2px solid #3c3f40;
  border-radius: 100%;
  width: 2.4375rem;
  height: 2.4375rem;
}

.c-checkout__accordion-icons .expand i {
  margin-top: 0;
}

.c-checkout__accordion-icons .expand i svg {
  height: 2.1875rem;
  max-height: none;
}

.c-checkout__subheading {
  position: relative;
  min-height: 2.1875rem;
}

.c-checkout__inner__guest {
  display: inline-block;
  font-size: 1.5rem;
  margin-bottom: 1.875rem;
}

.c-checkout__inner__item {
  text-align: center;
  font-size: 2rem;
  width: 100%;
  max-width: 32.75rem;
}

.c-checkout__inner__choose {
  font-size: 1.75rem;
  padding-left: 1.25rem;
  margin-bottom: 1.25rem;
  position: relative;
}

.c-checkout__inner__choose .text {
  padding-left: 4.375rem;
}

.c-checkout__inner .guest-items {
  overflow: auto;
  padding-left: 2.5rem;
  transition: ease max-height 1000ms;
  contain: layout;
  max-height: 100%;
}

.c-checkout__inner .guest-items.hidden {
  overflow: hidden;
  max-height: 0;
}

.c-checkout__error {
  margin-bottom: 1.25rem;
  position: relative;
  text-align: center;
  padding: 1.25rem;
  background: firebrick;
  border: #871a1a;
  color: #fefefe;
}

@media print, screen and (min-width: 40em) {
  .c-checkout__error {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-checkout__error {
    margin-bottom: 3.125rem;
  }
}

.c-checkout__error__text {
  padding-bottom: 1.25rem;
}

.c-checkout__error p {
  opacity: 0.75;
}

.c-checkout__error ul {
  margin: 0;
}

.c-checkout__error li {
  list-style: none;
}

.c-checkout__error .c-button--solid {
  padding: 0.9375rem;
}

.c-checkout__validation {
  background: firebrick;
  color: #fefefe;
  padding: 1.25rem;
  margin: 0 0 1.25rem;
}

.c-checkout__validation ul {
  margin-bottom: 0;
}

.c-checkout__subtext {
  font-size: 0.875rem;
}

.c-checkout__total {
  margin: 0 0 1.25rem;
}

.c-checkout__total-content {
  font-size: 1.25rem;
}

@media screen and (min-width: 40em) {
  .c-checkout__total-content {
    font-size: 1.875rem;
  }
}

.c-checkout__total-content__original {
  opacity: 0.5;
}

.c-checkout__spinner {
  display: block;
  text-align: center;
  padding: 0 0 1.875rem;
}

.c-checkout__spinner .c-spinner {
  width: 4.375rem;
  height: 4.375rem;
}

.c-checkout__info {
  padding: 10px;
}

.c-checkout__legal {
  color: #999;
  padding: 0.625rem 0;
}

.c-checkout__navigation {
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .c-checkout__navigation {
    text-align: left;
  }
}

/*------------------------------------*\
    #CONFIRMATION
\*------------------------------------*/

.c-confirmation .c-text--lede {
  font-size: 1.125rem;
}

/*------------------------------------*\
    #CHECKOUT-SPADAYS
\*------------------------------------*/

.c-checkout-spadays__spinner {
  display: block;
  text-align: center;
  padding: 0 0 1.875rem;
}

.c-checkout-spadays__spinner .c-spinner {
  width: 4.375rem;
  height: 4.375rem;
}

/*------------------------------------*\
    #CHOICES
\*------------------------------------*/

.c-choices__event__heading {
  font-size: 1rem;
  color: #333;
}

@media print, screen and (min-width: 40em) {
  .c-choices__event__heading {
    font-size: 1.25rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-choices__event__heading {
    font-size: 1.5rem;
  }
}

.c-choices__guest {
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-choices__guest {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-choices__guest {
    margin-bottom: 3.125rem;
  }
}

.c-choices__buttons {
  max-width: calc(100% - 3.4375rem);
  margin: auto;
}

@media screen and (min-width: 64em) {
  .c-choices__buttons {
    max-width: 100%;
  }
}

.c-choices .c-icon {
  border: 1px solid black;
  border-radius: 50%;
  width: 1.625rem;
  height: 1.625rem;
  line-height: 0;
  padding: 0.25rem 0.1875rem;
}

.c-choices .c-button, .c-choices .c-payment__guest-select__button {
  position: relative;
  padding: 0.625rem;
  font-size: 0.8125rem;
  width: 100%;
}

@media screen and (min-width: 64em) {
  .c-choices .c-button, .c-choices .c-payment__guest-select__button {
    width: calc(100% - 0.625rem);
    margin: 0 0 0 0.625rem;
  }
}

.c-choices .c-button__overlay {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 250ms ease;
}

.c-choices .c-button__overlay span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.c-choices .c-button__saving {
  position: absolute;
  z-index: 10;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #cecece;
}

.c-choices .c-button--active {
  color: #fefefe;
}

.c-choices .c-button--active .c-button__overlay {
  opacity: 1;
}

.c-choices .c-button--active:disabled .c-button__overlay {
  background: #cacaca;
  border-color: #8a8a8a;
}

.c-choices__selector {
  position: relative;
  background: #eee;
  padding: 0.625rem 0.625rem 0;
  margin: 0 0 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-choices__selector {
    padding: 1rem 1rem 0.625rem;
  }
}

.c-choices__selector__header {
  margin: 0 0 0.625rem;
  cursor: pointer;
}

.c-choices__selector .c-icon {
  padding: 0.1875rem;
}

.c-choices__selector--visible .c-choices__events {
  max-height: 625rem;
  overflow: visible;
  transition: max-height 1000ms ease-in-out, overflow 0ms 1000ms linear;
  contain: layout;
}

.c-choices__selector--visible .c-icon {
  padding: 0.25rem 0.1875rem;
}

.c-choices__selector--error {
  border: 1px solid firebrick;
}

.c-choices__selector--options {
  z-index: 20;
}

.c-choices__selector--free {
  z-index: 10;
}

.c-choices__selector--paid {
  z-index: 5;
}

.c-choices__toggle {
  font-size: 1rem;
  color: #333;
  padding: 0.125rem 0.625rem;
}

@media screen and (min-width: 40em) {
  .c-choices__toggle {
    font-size: 1.125rem;
  }
}

.c-choices__toggle__small {
  color: #666;
  float: right;
}

.c-choices__description {
  color: #666;
  padding: 0.3125rem 0.3125rem 0 2.25rem;
}

.c-choices__events {
  max-height: 0;
  overflow: hidden;
  transition: max-height 250ms ease-in-out, overflow 0ms 1000ms linear;
  contain: layout;
}

.c-choices__category__heading {
  color: #888;
  border-bottom: 1px solid #ddd;
  font-size: 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-choices__category__heading {
    font-size: 1rem;
  }
}

.c-choices__category__heading__selections {
  float: right;
  padding-right: 0.625rem;
}

.c-choices__treatments {
  margin: 0 0 1.25rem;
}

.c-choices__treatment {
  margin: 0 0 0.625rem;
}

.c-choices__treatment__selector {
  position: relative;
  padding: 0 0 0.9375rem;
}

@media screen and (min-width: 64em) {
  .c-choices__treatment__selector {
    padding: 0.1875rem 0.625rem 0.1875rem 0.1875rem;
  }
}

.c-choices__treatment__selector .c-icon {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0 0.625rem 0 0;
  padding: 0.25rem 0.1875rem;
}

.c-choices__treatment__selector .grid-x {
  cursor: pointer;
}

.c-choices__treatment__selector--visible .c-choices__treatment__description {
  max-height: 62.5rem;
  transition: max-height 1000ms ease-in-out;
  contain: layout;
}

.c-choices__treatment__selector--visible .c-icon {
  padding: 0.125rem 0.1875rem;
}

.c-choices__treatment__description {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1000ms ease-in-out;
  contain: layout;
  padding-left: 1.875rem;
}

.c-choices__treatment__description .c-entry {
  padding: 0.625rem 0.625rem 0.625rem 0;
  color: #888;
}

.c-choices__treatment__name {
  padding: 0.125rem 0;
}

.c-choices__drop {
  position: relative;
}

.c-choices__drop > .c-button, .c-choices__drop > .c-payment__guest-select__button {
  margin-left: 0;
  height: 2.1875rem;
  width: 1.5625rem;
  border-left: none;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
  background-size: 0.75rem;
  background-position: center 0.8125rem;
}

.c-choices__drop > .c-button:hover, .c-choices__drop > .c-payment__guest-select__button:hover, .c-choices__drop > .c-button:focus, .c-choices__drop > .c-payment__guest-select__button:focus, .c-choices__drop > .c-button:active, .c-choices__drop > .c-payment__guest-select__button:active {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><polygon points='0,0 100,0 50,50'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-size: 0.75rem !important;
  background-position: center 0.8125rem !important;
}

.c-choices__dropdown {
  position: absolute;
  right: -0.0625rem;
  top: 2.1875rem;
  background: #fefefe;
  width: 15.625rem;
  padding: 1rem;
  z-index: 100;
  border: 1px solid #ddd;
  box-shadow: 0 2px 5px rgba(60, 63, 64, 0.25);
}

@media screen and (min-width: 40em) {
  .c-choices__dropdown {
    width: 18.75rem;
  }
}

.c-choices__dropdown__close {
  position: absolute;
  right: -1px;
  top: -2.25rem;
  background: #fefefe;
  padding: 0.3125rem;
  z-index: -1;
  border: 1px solid #ddd;
  border-bottom-color: #fefefe;
  cursor: pointer;
}

.c-choices__dropdown__close .c-icon {
  width: 0.9375rem;
  height: 1.375rem;
  padding: 0.3125rem 0.125rem;
  border: none;
}

.c-choices__dropdown .c-button, .c-choices__dropdown .c-payment__guest-select__button {
  width: calc(100% - 10px);
  margin: 0 0.3125rem;
}

.c-choices__image {
  position: relative;
  display: inline-block;
  width: 10.9375rem;
  height: 6.25rem;
  max-width: 100%;
  margin: 0.875rem 0.625rem 0 0;
}

.c-choices__alert {
  color: firebrick;
}

.c-choices__money {
  text-align: right;
  padding: 0.125rem 0 0.125rem 0.625rem;
}

.c-choices__muted {
  opacity: 0.5;
  font-size: 1rem;
}

.c-choices__icon__placeholder {
  display: inline-block;
  width: 1.875rem;
  height: 1.875rem;
}

.c-choices .c-jumbo-check__label {
  padding: 0.3125rem 2.5rem 0.3125rem 0.625rem;
}

.c-choices .c-choices__option {
  padding: 0.6875rem 2.1875rem 0.5625rem 0.625rem;
}

@media screen and (min-width: 40em) {
  .c-choices .c-choices__option {
    margin: 0 !important;
  }
}

.c-choices .c-choices__multi-option {
  padding: 0.625rem;
}

/*------------------------------------*\
    #CUSTOMISE
\*------------------------------------*/

/*------------------------------------*\
    #DATE PICKER
\*------------------------------------*/

.flatpickr-day {
  -ms-flex-preferred-size: 13.68% !important;
}

.flatpickr-day.nextMonthDay:not(.disabled) {
  color: #404848;
}

.flatpickr-day.disabled {
  text-decoration: line-through;
}

/*------------------------------------*\
    #DATE-SLIDER
\*------------------------------------*/

.c-date-slider__travel {
  position: relative;
  padding: 0.4375rem 0.625rem 0.25rem;
  color: white;
  fill: white;
  margin: 2.5rem 0.3125rem;
  transition: background 250ms ease, opacity 250ms ease;
  contain: layout;
}

.c-date-slider__travel[disabled] {
  background: #ccc;
  opacity: 0.5;
}

.c-date-slider__day-container {
  -ms-flex: 1 1 3.75rem;
      flex: 1 1 3.75rem;
}

.c-date-slider__day {
  position: relative;
  background: #f2f2f2;
  margin: 0 0.3125rem 0.625rem;
  min-width: 3.125rem;
  width: calc(100% - 0.625rem);
  cursor: pointer;
}

@media screen and (min-width: 40em) {
  .c-date-slider__day {
    min-width: 4.0625rem;
  }
}

.c-date-slider__day:hover, .c-date-slider__day:focus, .c-date-slider__day:active {
  outline: none;
}

.c-date-slider__day:hover:not(.c-date-slider__day--selected):not([disabled]), .c-date-slider__day:focus:not(.c-date-slider__day--selected):not([disabled]), .c-date-slider__day:active:not(.c-date-slider__day--selected):not([disabled]) {
  background: #e9e9e9;
}

.c-date-slider__day__name {
  text-transform: uppercase;
  padding: 0.3125rem;
  font-size: 0.75rem;
  text-align: left;
  color: #666;
}

@media screen and (min-width: 40em) {
  .c-date-slider__day__name {
    font-size: 0.8125rem;
  }
}

.c-date-slider__day__number {
  font-size: 1.875rem;
  text-align: center;
  line-height: 1;
  padding: 0.625rem 0.3125rem 1.5625rem;
}

@media screen and (min-width: 40em) {
  .c-date-slider__day__number {
    font-size: 2.5rem;
  }
}

.c-date-slider__day__price {
  padding: 0.3125rem;
  text-align: center;
  font-size: 0.75rem;
}

@media screen and (min-width: 40em) {
  .c-date-slider__day__price {
    font-size: 1rem;
  }
}

[disabled] .c-date-slider__day__price {
  color: #999;
}

.c-date-slider__day__price-old {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, -1.8125rem);
  color: #999;
  font-size: 0.75rem;
  opacity: 0.5;
}

@media screen and (min-width: 40em) {
  .c-date-slider__day__price-old {
    font-size: 0.875rem;
  }
}

.c-date-slider__day__loading {
  position: absolute;
  z-index: 10;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(238, 238, 238, 0.95);
}

.c-date-slider__day .c-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 3.125rem;
  height: 3.125rem;
}

.c-date-slider__day[disabled], .c-date-slider__day--disabled {
  background: #ccc;
  color: #999;
  cursor: no-drop;
}

.c-date-slider__day--selected {
  outline: none;
}

.c-date-slider__day--selected:not([disabled]) .c-date-slider__day__name, .c-date-slider__day--selected:not([disabled]) .c-date-slider__day__number {
  color: #fefefe;
}

.c-date-slider__days {
  overflow: hidden;
}

.c-date-slider__days__internal {
  transition: transform 250ms ease;
}

.c-date-slider__days__error {
  text-align: center;
}

.c-date-slider__no-edit {
  text-align: center;
  padding: 0.625rem;
  border: 2px solid firebrick;
  margin: 0.625rem 0;
}

.c-date-slider__no-edit p {
  margin: 0;
}

.c-date-slider--next .c-date-slider__days__internal {
  transform: translateX(-20px);
}

.c-date-slider--previous .c-date-slider__days__internal {
  transform: translateX(20px);
}

/*------------------------------------*\
    #EMPTY
\*------------------------------------*/

.c-empty__message {
  margin-bottom: 2.5rem;
}

.c-empty--box {
  background: #eee;
  color: #aaa;
  padding: 1.25rem;
  text-align: center;
}

.c-empty--box .c-empty__message {
  margin: 0;
}

.c-empty--box .c-icon {
  padding: 0.9375rem 0.9375rem 0.625rem;
  width: 3.125rem;
  margin: 0 0 1.25rem;
  border: 1px solid #aaa;
}

.c-empty--box .c-icon path {
  fill: #888 !important;
}

/*------------------------------------*\
    #ERROR
\*------------------------------------*/

.c-error {
  height: 100%;
  background: #f2f2f2;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}

.c-error__inner {
  text-align: center;
  max-width: 25rem;
}

/*------------------------------------*\
    #EVENT
\*------------------------------------*/

.c-event__step {
  border-bottom: 1px solid black;
  padding: 0;
  min-height: 5.625rem;
}

.c-event__step__return {
  display: inline-block;
  font-size: 0.875rem;
  color: #8a8a8a;
  font-style: italic;
  vertical-align: middle;
  margin: 0 1rem;
}

.c-event__step__return:hover {
  color: #8a8a8a;
}

.c-event__step__right {
  -ms-flex-pack: end;
      justify-content: flex-end;
}

.c-event__step .cell {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin: 0 0 1rem;
}

.c-event__step .cell:first-child {
  display: block;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .c-event__step .cell:first-child {
    display: -ms-flexbox;
    display: flex;
  }
}

.c-event__step .c-button, .c-event__step .c-payment__guest-select__button {
  margin: 0;
}

.c-event__total {
  display: inline-block;
  font-size: 2.5rem;
  line-height: 1;
  font-weight: lighter;
  vertical-align: middle;
}

@media print, screen and (min-width: 40em) {
  .c-event__total {
    font-size: 3.75rem;
  }
}

.c-event__total-pp {
  display: block;
  padding: 0.625rem 0 0;
}

@media screen and (min-width: 40em) {
  .c-event__total-pp {
    display: inline-block;
    padding: 0 0 0 1rem;
  }
}

.c-event__date {
  display: block;
  line-height: 1;
  text-align: center;
  margin: 0 1rem 0 0;
}

@media print, screen and (min-width: 40em) {
  .c-event__date {
    display: inline-block;
    vertical-align: middle;
  }
}

.c-event__day {
  display: block;
  font-size: 2.75rem;
  color: #3c3f40;
}

.c-event__month {
  display: block;
  text-transform: uppercase;
  font-size: 1.125rem;
  color: #8a8a8a;
}

.c-event__time {
  display: block;
  padding: 0.75rem 0 0;
}

.c-event__lead .c-form__field {
  display: inline-block;
  background: transparent;
}

@media print, screen and (min-width: 40em) {
  .c-event__terms {
    max-width: 75%;
  }
}

.c-event__crossell {
  display: none;
  transition: opacity 1500ms ease;
}

.c-event__crossell--active {
  display: block;
  opacity: 0;
  animation: 500ms fadeIn 500ms ease-in-out forwards reverse;
}

.c-event__crossell.ng-leave {
  opacity: 0;
  animation: 250ms fadeOut 0 ease-in-out forwards reverse;
}

@media print, screen and (min-width: 40em) {
  .c-event h1.c-text__heading {
    font-size: 2.1875rem;
  }
}

.c-event__from {
  display: block;
  margin-top: 0.625rem;
}

@media screen and (min-width: 40em) {
  .c-event__from {
    display: inline;
    margin: 0;
  }
}

/*------------------------------------*\
    #FILTERS
\*------------------------------------*/

.c-filters {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin: 0 -0.625rem;
}

@media screen and (min-width: 40em) {
  .c-filters {
    margin: 0 -1.25rem 0 -1.875rem;
  }
}

@media screen and (min-width: 64em) {
  .c-filters {
    display: block;
    margin: 0;
  }
}

.c-filters .c-form__field {
  -ms-flex: 2 2 calc(50% - 0.625rem);
      flex: 2 2 calc(50% - 0.625rem);
  margin: 0 0.3125rem;
  vertical-align: top;
}

@media screen and (min-width: 40em) {
  .c-filters .c-form__field {
    -ms-flex: 2 2 9.375rem;
        flex: 2 2 9.375rem;
  }
}

@media screen and (min-width: 64em) {
  .c-filters .c-form__field {
    margin: 0;
  }
}

.c-filters .c-form__field:first-child {
  -ms-flex: 3 3 12.5rem;
      flex: 3 3 12.5rem;
}

/*------------------------------------*\
    #FLATPICKR
\*------------------------------------*/

.flatpickr-calendar.rightMost {
  right: 0.375rem !important;
}

.flatpickr-calendar.rightMost:before, .flatpickr-calendar.rightMost:after {
  right: 4.875rem !important;
}

/*------------------------------------*\
    #FLICKITY
\*------------------------------------*/

.flickity-viewport {
  width: 100%;
}

.flickity-prev-next-button {
  height: 115%;
  border-radius: 0;
  background: rgba(242, 242, 242, 0.75);
  width: 5rem;
}

.flickity-prev-next-button svg {
  display: none;
}

.flickity-prev-next-button.previous, .flickity-prev-next-button.next {
  display: none;
}

@media print, screen and (min-width: 40em) {
  .flickity-prev-next-button.previous, .flickity-prev-next-button.next {
    display: block;
  }
}

.flickity-prev-next-button.previous:after, .flickity-prev-next-button.next:after {
  position: absolute;
  display: block;
  left: 50%;
  top: 50%;
  width: 3.125rem;
  content: '';
  transform: translate(-50%, -50%);
  fill: #fefefe;
  opacity: 0.45;
  background-repeat: no-repeat;
  background-position: center;
  height: 3.125rem;
}

.flickity-prev-next-button.previous:hover:after, .flickity-prev-next-button.previous:focus:after, .flickity-prev-next-button.previous:active:after, .flickity-prev-next-button.next:hover:after, .flickity-prev-next-button.next:focus:after, .flickity-prev-next-button.next:active:after {
  opacity: 1;
}

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

.flickity-prev-next-button.previous:after {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' fill='#fefefe' viewBox='0 0 20 20'%3E%3Cpath d='M0.646 10.146l6-6c0.195-0.195 0.512-0.195 0.707 0s0.195 0.512 0 0.707l-5.146 5.146h16.293c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-16.293l5.146 5.146c0.195 0.195 0.195 0.512 0 0.707-0.098 0.098-0.226 0.146-0.354 0.146s-0.256-0.049-0.354-0.146l-6-6c-0.195-0.195-0.195-0.512 0-0.707z'%3E%3C/path%3E%3C/svg%3E%0A");
}

.flickity-prev-next-button.next {
  right: 0;
}

.flickity-prev-next-button.next:after {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' fill='#fefefe' viewBox='0 0 20 20'%3E%3Cpath d='M19.354 10.146l-6-6c-0.195-0.195-0.512-0.195-0.707 0s-0.195 0.512 0 0.707l5.146 5.146h-16.293c-0.276 0-0.5 0.224-0.5 0.5s0.224 0.5 0.5 0.5h16.293l-5.146 5.146c-0.195 0.195-0.195 0.512 0 0.707 0.098 0.098 0.226 0.146 0.354 0.146s0.256-0.049 0.354-0.146l6-6c0.195-0.195 0.195-0.512 0-0.707z'%3E%3C/path%3E%3C/svg%3E%0A");
}

.flickity-prev-next-button:hover {
  background: rgba(242, 242, 242, 0.75);
}

.flickity-prev-next-button:disabled {
  opacity: 0.1;
}

.flickity-page-dots {
  z-index: 100;
  bottom: 2.5rem;
}

.c-image-slider .flickity-page-dots {
  bottom: 1rem;
}

@media print, screen and (min-width: 40em) {
  .c-image-slider .flickity-page-dots {
    bottom: 2.5rem;
  }
}

.flickity-page-dots .dot {
  opacity: 1;
  background: #fefefe;
  transition: background 200ms ease, border 200ms ease;
  contain: layout;
  margin: 0 0.375rem;
  box-shadow: 0 0 0.3125rem rgba(60, 63, 64, 0.25);
}

@media print, screen and (min-width: 40em) {
  .flickity-page-dots .dot {
    margin: 0 0.5rem;
  }
}

.flickity-page-dots .dot.is-selected {
  background: transparent;
  margin-bottom: -0.125rem;
  width: 0.875rem;
  height: 0.875rem;
}

/*------------------------------------*\
    #FOOTER
\*------------------------------------*/

.c-footer {
  margin: 0 0 0.625rem;
  padding: 0.625rem 0 0;
}

.c-footer__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-align: center;
      align-items: center;
}

.c-footer a {
  color: #8a8a8a;
}

/*------------------------------------*\
    #FORM
\*------------------------------------*/

.c-form__required {
  position: relative;
  z-index: 10;
  margin-top: -24px;
  float: right;
  pointer-events: none;
}

.c-form__required:before {
  content: 'Required';
  color: firebrick;
  text-transform: uppercase;
  font-size: 0.625rem;
  position: relative;
  top: 1.25rem;
  right: 0.5rem;
}

.c-form__field {
  position: relative;
  background: #fefefe;
}

.c-filters .c-form__field {
  display: inline-block;
}

.c-form__field__errors {
  position: relative;
  pointer-events: none;
}

.c-form__field__error {
  position: absolute;
  bottom: -0.25rem;
  left: 0.9375rem;
  font-size: 0.75rem;
  color: firebrick;
}

.c-form__field .c-icon {
  position: absolute;
  z-index: 50;
  right: 1rem;
  top: 60%;
  transform: translateY(-50%);
  cursor: pointer;
  width: 1.5rem;
  opacity: .75;
}

.c-form__field .c-description {
  position: absolute;
  bottom: 0;
  left: 0;
}

.c-form__field--textarea {
  height: calc(100% - 1.25rem);
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-form__field--textarea {
    height: calc(100% - 1.875rem);
    margin-bottom: 1.875rem;
  }
}

.c-form__field--textarea .c-form__label {
  top: 1.875rem;
}

.c-form__field--select {
  background: transparent;
}

.c-form__field--select .c-form__label {
  top: 0.875rem;
}

.c-register .c-form__field--select .c-form__label {
  top: 1.25rem;
}

.c-form__field--select .c-form__select {
  padding-top: 0.90625rem;
}

.c-form__field--transparent {
  background: transparent;
}

.c-form__field--money label {
  left: 3.4375rem;
}

.c-form__field--money input {
  padding-top: 1.375rem;
  padding-bottom: 0.4375rem;
}

.c-form__field--radio {
  position: relative;
  padding-left: 1rem;
}

.c-form__input {
  position: relative;
  z-index: 2;
  background: transparent;
  padding: 1.75rem 1rem 0.625rem;
  height: 3.9375rem;
}

.c-form__input.c-input--large {
  font-size: 2.5rem;
}

.c-form__input.c-input--large ~ .c-form__label {
  font-size: 2.5rem;
}

.c-form__input:focus, .c-form__input.focus, .c-form__input.ng-dirty, .c-form__input.ng-not-empty {
  background: transparent;
}

.c-form__input:focus ~ .c-form__label, .c-form__input.focus ~ .c-form__label, .c-form__input.ng-dirty ~ .c-form__label, .c-form__input.ng-not-empty ~ .c-form__label {
  top: 25%;
  font-size: 0.75rem;
}

.c-form__input.ng-invalid.ng-touched {
  border-color: firebrick;
}

.c-form__input.ng-invalid.ng-touched ~ .c-form__label {
  color: firebrick;
}

.c-form__field--icon .c-form__input {
  padding-right: 3.125rem;
}

.c-form__input:disabled {
  background: #f2f2f2;
}

.c-form__select {
  height: 3.9375rem;
  padding: 0 2rem 0 1rem;
}

.c-form__select.ng-touched.ng-invalid {
  border-color: firebrick;
}

.c-form__select--input {
  height: 3.375rem;
}

.c-form__textarea {
  position: relative;
  z-index: 2;
  background: transparent;
  padding: 1.625rem 1rem 1rem;
}

.c-form__textarea:focus, .c-form__textarea.ng-dirty, .c-form__textarea.ng-not-empty {
  background: transparent;
}

.c-form__textarea:focus ~ .c-form__label, .c-form__textarea.ng-dirty ~ .c-form__label, .c-form__textarea.ng-not-empty ~ .c-form__label {
  top: 0.9375rem;
  font-size: 0.75rem;
}

.c-form__textarea-marked {
  padding: 1.5rem 1rem 1rem;
}

.c-form__label {
  position: absolute;
  z-index: 100;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #cacaca;
  pointer-events: none;
  transition: top 250ms ease-in-out, color 250ms ease-in-out, font-size 250ms ease-in-out;
  contain: layout;
}

.c-login .c-form__label {
  top: 1rem;
  font-size: 0.75rem;
}

.c-filters .c-form__label {
  display: none;
}

.c-form__label--inline-block {
  display: inline-block;
}

.c-form__label--activated {
  top: 0.9375rem;
  font-size: 0.75rem;
}

.c-form__checkbox {
  display: inline-block;
  margin: 0 0 1rem;
  padding: 0 0 0 0.3125rem;
}

.c-form__radio {
  position: relative;
  display: inline-block;
  margin: 1.5rem 0.625rem 1rem 0;
  padding: 0.625rem 1.5625rem 0.625rem 1.25rem;
  color: #333;
}

@media screen and (min-width: 40em) {
  .c-form__radio {
    padding: 0.625rem 0.9375rem 0.625rem 1.25rem;
  }
}

@media screen and (min-width: 64em) {
  .c-form__radio {
    padding: 0.625rem 1.5625rem 0.625rem 1.25rem;
  }
}

.c-form__radio:before {
  position: absolute;
  left: 0;
  top: 50%;
  height: 10px;
  width: 10px;
  background: #cacaca;
  border-radius: 50%;
  border: 1px solid #8a8a8a;
  content: '';
  transform: translateY(-50%);
}

.c-form__radio.active {
  color: #222;
}

.c-form__radio.active:before {
  background: #3c3f40;
  border-color: #fefefe;
}

.c-form__error {
  border: 1px solid #5c1212;
  padding: 0.3125rem 0.625rem;
  background: firebrick;
  color: #fefefe;
}

.c-form--password .c-button, .c-form--password .c-payment__guest-select__button {
  width: 100%;
  padding: 1.5rem 2.5rem;
}

.input-group-label--currency, .input-group-label--percentage {
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 1px;
  z-index: 10;
  background: #eee;
  padding: 0.9375rem;
  font-size: 1.375rem;
  line-height: 1;
}

.input-group-label--currency ~ .input-group-field, .input-group-label--percentage ~ .input-group-field {
  padding-left: 3.4375rem;
}

.input-group-label--currency ~ .input-group__label, .input-group-label--percentage ~ .input-group__label {
  padding-left: 2.5rem !important;
}

.input-group-label--percentage {
  left: auto;
  right: 1px;
}

.input-group-label--percentage ~ .input-group-field {
  padding-left: 0.9375rem;
  padding-right: 3.125rem;
}

.input-group-label--percentage ~ .input-group__label {
  padding-left: 0 !important;
}

.input-group-label--percentage ~ .input-group__required {
  padding-right: 2.5rem;
}

.input-group-label--percentage ~ .c-icon {
  right: 3.125rem;
}

.input-group-field {
  padding: 0.9375rem 1rem 0.875rem;
}

money-input.ng-not-empty:not(.ng-empty), money-input.focus {
  background: transparent;
}

money-input.ng-not-empty:not(.ng-empty):disabled, money-input.focus:disabled {
  background: #e6e6e6;
}

money-input.ng-not-empty:not(.ng-empty) ~ .c-form__label, money-input.focus ~ .c-form__label {
  top: 25%;
  color: #444444;
  font-size: 0.75rem;
}

/*------------------------------------*\
    #GRID
\*------------------------------------*/

.c-grid {
  margin: 0 0 3.125rem;
}

.c-grid--vertical {
  margin: auto;
}

/*------------------------------------*\
    #GUEST
\*------------------------------------*/

.c-guest {
  position: relative;
}

.c-guest__heading {
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 40em) {
  .c-guest__heading {
    font-size: 1.875rem;
  }
}

.c-guest__text {
  color: #666;
  margin-bottom: 2.5rem;
}

@media print, screen and (min-width: 40em) {
  .c-guest__text {
    max-width: 60%;
  }
}

.c-guest__info {
  color: #8a8a8a;
  font-size: 0.875rem;
  font-style: italic;
}

.c-guest__form__help {
  display: block;
  font-style: italic;
}

.c-guest__form__label {
  font-size: 1.125rem;
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 40em) {
  .c-guest__form__label {
    font-size: 1.375rem;
  }
}

.c-guest__form__row {
  position: relative;
}

.c-guest__form__row:not(:first-child) {
  border-top: 1px solid #e5e5e5;
  padding-top: 0.625rem;
}

.c-guest__form__row--2:nth-child(2n) {
  border: none;
  padding-top: 0;
}

.c-guest__form__row--2:nth-child(2n) .c-guest__form__remove {
  top: 0;
}

.c-guest__form__remove {
  position: absolute;
  right: 0;
  top: 0.625rem;
  z-index: 10;
  color: #3c3f40;
  font-size: 1.875rem;
  line-height: 1;
  transition: color 250ms ease;
  contain: layout;
}

@media screen and (min-width: 40em) {
  .c-guest__form__remove {
    right: 0.625rem;
  }
}

.c-guest__form__existing {
  margin: 1.0625rem 0 0;
}

.c-guest__form__existing-guests {
  width: 100%;
  margin: 0 0 0.625rem;
}

@media screen and (min-width: 40em) {
  .c-guest__form__existing-guests {
    max-width: 18.75rem;
  }
}

.c-guest__form__existing-guests__add {
  margin: 0 0 0 0.625rem;
  color: #3c3f40;
  padding: 1.25rem;
}

.c-guest__form__or {
  position: relative;
  padding: 0 0.625rem;
}

.c-guest__form__or:after {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  right: 0;
  z-index: 1;
  content: '';
  border-bottom: 1px solid #ccc;
}

.c-guest__form__or span {
  position: relative;
  display: block;
  padding: 0.625rem;
  z-index: 10;
  background: #f2f2f2;
}

@media screen and (min-width: 40em) {
  .c-guest__form__or span {
    top: 50%;
    transform: translateY(-50%);
  }
}

@media print, screen and (min-width: 40em) {
  .c-guest__form .cell:not(:last-child) {
    margin-right: 1rem;
  }
}

.c-guest__form .c-button, .c-guest__form .c-payment__guest-select__button {
  position: relative;
  vertical-align: top;
  margin: 0;
  padding: 1.4375rem;
  height: 3.9375rem;
}

.c-guest__button {
  display: inline-block;
  color: #3c3f40;
  margin: 1.25rem 0 0.625rem;
  cursor: pointer;
}

.c-guest__button:hover, .c-guest__button:focus, .c-guest__button:active {
  color: #3c3f40;
}

.c-guest__button:hover .c-guest__button-icon, .c-guest__button:focus .c-guest__button-icon, .c-guest__button:active .c-guest__button-icon {
  color: #f2f2f2;
  opacity: 1;
  border: 0;
}

.c-guest__button:focus {
  outline: none;
}

.c-guest__button-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  color: #f2f2f2;
  fill: #f2f2f2;
  opacity: 0.5;
  width: 2.5rem;
  height: 2.5rem;
  line-height: 0;
  text-align: center;
  transition: opacity 250ms ease-in-out;
  contain: layout;
}

@media screen and (min-width: 40em) {
  .c-guest__button-icon {
    width: 3.4375rem;
    height: 3.4375rem;
  }
}

.c-guest__button-icon .c-icon {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 1.5625rem;
  width: 1.5625rem;
  margin: 0;
}

@media screen and (min-width: 40em) {
  .c-guest__button-icon .c-icon {
    height: 1.875rem;
    width: 1.875rem;
  }
}

.c-guest__button-icon .c-icon svg {
  max-height: none;
}

.c-guest__button-text {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.625rem;
  font-size: 1.125rem;
}

@media screen and (min-width: 40em) {
  .c-guest__button-text {
    margin-left: 1.25rem;
    font-size: 1.375rem;
  }
}

.c-guest__name {
  font-size: 1.125rem;
  padding: 0.0625rem 0.625rem 0.0625rem 0;
  color: #444;
}

@media screen and (min-width: 40em) {
  .c-guest__name {
    font-size: 1.25rem;
  }
}

.c-basket-popup .c-guest__name {
  font-size: 1rem;
}

.c-guest__inner {
  padding: 0.625rem;
}

.c-guest__inner.c-guest__totals {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
}

.c-guest__inner.c-guest__totals label {
  color: rgba(60, 63, 64, 0.75);
  line-height: 1.2;
}

.c-guest__inner.c-guest__totals span {
  display: block;
  line-height: 1.2;
}

.c-guest__inner.c-guest__totals span:not(:last-child) {
  margin: 0 0 0.3125rem;
}

.c-guest__header {
  position: relative;
  padding: 1.25rem 0.625rem;
  border-bottom: 1px solid #ddd;
}

.c-guest__header:hover .c-guest__remove, .c-guest__header:focus .c-guest__remove, .c-guest__header:active .c-guest__remove {
  opacity: 1;
}

.c-guest__total {
  font-size: 1.125rem;
}

@media screen and (min-width: 40em) {
  .c-guest__total {
    font-size: 1.375rem;
  }
}

.c-guest__control {
  background: #f3f3f3;
  border-bottom: 1px solid #666;
  border-top: 1px solid #ddd;
  padding: 0.3125rem;
  text-transform: uppercase;
  color: #999;
}

.c-basket .c-guest__control {
  box-shadow: inset 13px 8px 20px -13px rgba(60, 63, 64, 0.25);
}

.c-guest__remove {
  display: block;
  text-align: right;
  font-size: 0.75rem;
  cursor: pointer;
  transition: color 250ms ease, opacity 250ms ease;
  contain: layout;
  color: firebrick;
  padding: 0.625rem 0 0;
}

@media print, screen and (min-width: 64em) {
  .c-guest__remove {
    display: inline-block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 50;
    font-size: 0.875rem;
    padding: 0 0.9375rem;
    background: #fefefe;
    opacity: 0;
    min-width: 7.1875rem;
  }
}

.c-guest__remove__text {
  display: inline-block;
  vertical-align: middle;
}

.c-guest__remove__inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 0.625rem;
}

.c-guest__remove path {
  fill: rgba(60, 63, 64, 0.75);
  transition: fill 250ms ease;
  contain: layout;
}

.c-guest__remove:hover, .c-guest__remove:focus, .c-guest__remove:active {
  color: firebrick;
}

.c-guest__remove:hover path, .c-guest__remove:focus path, .c-guest__remove:active path {
  fill: firebrick;
}

.c-guest__events {
  max-height: 62.5rem;
  transition: ease max-height 1000ms;
  contain: layout;
  overflow: hidden;
}

.hidden .c-guest__events {
  min-height: 0;
  max-height: 0;
  margin: 0;
  padding: 0;
}

.c-guest__event {
  position: relative;
  background: #f4f4f4;
}

.c-guest__event:hover .c-guest__remove, .c-guest__event:focus .c-guest__remove, .c-guest__event:active .c-guest__remove {
  opacity: 1;
}

.c-basket .c-guest__event {
  box-shadow: inset 13px 8px 20px -13px rgba(60, 63, 64, 0.25);
}

.c-guest__event__header {
  position: relative;
  padding: 0.625rem;
  border-bottom: 1px solid #ddd;
  color: #333;
}

.c-guest__event__details {
  background: #e4e4e4;
  color: #666;
  border-top: 1px solid #bbb;
}

.c-basket .c-guest__event__details {
  box-shadow: inset 13px 8px 20px -13px rgba(60, 63, 64, 0.25);
}

.c-guest__event__date, .c-guest__event__price {
  color: #666;
}

.c-guest__event .c-guest__remove {
  margin: 0.3125rem 0 0;
  padding: 0.3125rem 0;
}

@media print, screen and (min-width: 64em) {
  .c-guest__event .c-guest__remove {
    background: #f4f4f4;
    padding: 1.375rem 0.625rem;
    margin: 0;
  }
}

.c-guest__totals {
  text-align: center;
}

.c-guest__totals label {
  text-transform: uppercase;
  color: #f2f2f2;
  font-size: 0.75rem;
}

.c-guest__error {
  color: firebrick;
}

/*------------------------------------*\
    #GUEST-COUNT
\*------------------------------------*/

.c-guest-count {
  margin: 0 0 0.625rem 1rem;
}

@media screen and (min-width: 40em) {
  .c-guest-count {
    margin: 0 0 0.625rem 0;
  }
}

/*------------------------------------*\
    #GUESTS MODAL
\*------------------------------------*/

.c-guests-modal {
  position: fixed;
  z-index: 50;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  transition: opacity 250ms ease;
  opacity: 1;
}

.c-guests-modal.ng-hide {
  opacity: 0;
}

.c-guests-modal:after {
  display: block;
  position: absolute;
  z-index: 1;
  content: '';
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #fefefe;
}

.c-guests-modal__window {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-50% - 0.3125rem));
  width: 95%;
  max-height: calc(100% - 6.25rem);
  overflow: auto;
  padding: 0 0.625rem;
}

.c-guests-modal__header {
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  height: 2.8125rem;
  box-shadow: 0 0 0.625rem 0 rgba(60, 63, 64, 0.05);
}

.c-guests-modal__close {
  color: #3c3f40;
  font-size: 2.5rem;
  padding: 0 0.9375rem;
  cursor: pointer;
}

.c-guests-modal__footer {
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.3125rem 0 0;
  box-shadow: 0 0 0.625rem 0 rgba(60, 63, 64, 0.25);
}

.c-guests-modal__name, .c-guests-modal__total {
  padding: 0.5rem 0.625rem;
  margin: 0;
}

.c-guests-modal .c-activity__add .c-button, .c-guests-modal .c-activity__add .c-payment__guest-select__button {
  margin: 0 0.3125rem;
}

.c-guests-modal .c-guest__form__row:first-child {
  margin-top: 0.625rem;
}

.c-guests-modal .c-guest__form__or span {
  background: #fefefe;
}

.offcanvas-open .c-guests-modal {
  opacity: 0;
  pointer-events: none;
}

/*------------------------------------*\
    #HEADER
\*------------------------------------*/

.c-header {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  z-index: 50;
  background: linear-gradient(to bottom, rgba(60, 63, 64, 0.35) 0%, rgba(60, 63, 64, 0) 100%);
  height: 3.75rem;
  transition: background 1000ms ease, height 500ms ease;
  contain: layout;
}

.offcanvas-open .c-header {
  pointer-events: none;
  background: transparent;
}

.c-header__nav {
  display: none;
  position: absolute;
  top: 1.5625rem;
  left: 5rem;
  width: calc(50% - 5rem - 5rem);
  transform: translateY(-50%);
  opacity: 1;
  transition: opacity 250ms ease;
}

@media print, screen and (min-width: 40em) {
  .c-header__nav {
    display: block;
  }
}

.offcanvas-open .c-header__nav, .s-checkout .c-header__nav, .s-confirmation .c-header__nav {
  opacity: 0;
  pointer-events: none;
}

.c-header__right {
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 1.6875rem;
  right: 3.75rem;
  z-index: 55;
  transform: translateY(-50%);
  opacity: 1;
  transition: opacity 250ms ease;
}

.c-header__right__inner {
  display: none;
}

@media print, screen and (min-width: 40em) {
  .c-header__right__inner {
    display: -ms-flexbox;
    display: flex;
  }
}

.offcanvas-open .c-header__right, .s-checkout .c-header__right, .s-confirmation .c-header__right {
  opacity: 0;
  pointer-events: none;
}

.c-header .c-property-select--login:after {
  position: relative;
  top: -0.75rem;
  content: '|';
  margin-left: 0.3125rem;
}

.c-header .c-offcanvas__toggle {
  opacity: 1;
  transition: opacity 250ms ease-in-out, background 250ms ease-in-out;
  contain: layout;
}

.offcanvas-open .c-header .c-offcanvas__toggle {
  opacity: 0;
  pointer-events: none;
}

.c-header .c-offcanvas__toggle--nav, .c-header .c-offcanvas__toggle--basket {
  position: absolute;
  left: 0;
  top: 0;
}

.s-confirmation .c-header .c-offcanvas__toggle--nav, .s-confirmation .c-header .c-offcanvas__toggle--basket {
  opacity: 0;
  pointer-events: none;
}

.c-header .c-offcanvas__toggle--basket {
  left: auto;
  right: 0;
}

.c-header--no-basket .c-offcanvas__toggle {
  display: none;
  opacity: 0;
  pointer-events: none;
}

.has-scrolled .c-header {
  height: 3.125rem;
  background: #E8E9EA;
}

.has-scrolled.offcanvas-open .c-header {
  background: transparent;
}

/*------------------------------------*\
    #HERO
\*------------------------------------*/

.c-hero {
  margin-bottom: 1.25rem;
  position: relative;
  background-color: #ddd;
  width: 100%;
  padding: 7.8125rem 3.125rem 3.125rem;
}

@media print, screen and (min-width: 40em) {
  .c-hero {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-hero {
    margin-bottom: 3.125rem;
  }
}

.c-hero__inner {
  position: relative;
  z-index: 5;
}

.c-hero__logo {
  opacity: 0;
  animation: 1.25s fadeIn 0.5s ease-in-out forwards reverse;
}

.c-hero__headings {
  margin-bottom: 1.875rem;
}

.c-hero__preheading {
  font-size: 1rem;
  text-align: center;
  color: #fefefe;
  opacity: 0;
  animation: 0.75s fadeInUp 0.65s ease-in-out forwards;
}

.c-hero__heading {
  text-align: center;
  color: #fefefe;
  margin: 0 0 1.875rem;
  font-size: 1.5rem;
  opacity: 0;
  animation: 0.75s fadeInUp 0.75s ease-in-out forwards;
}

@media print, screen and (min-width: 40em) {
  .c-hero__heading {
    font-size: 3rem;
  }
}

.c-hero__text {
  width: 37.5rem;
  max-width: 90%;
  margin: auto;
  opacity: 0;
  animation: 0.75s fadeInUp 0.85s ease-in-out forwards;
}

.c-hero__selects {
  margin: auto auto 0.625rem;
  text-align: center;
  opacity: 0;
  animation: 0.75s fadeInUp 0.95s ease-in-out forwards;
}

.c-hero__offer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  opacity: 0;
  text-align: center;
  background: rgba(60, 63, 64, 0.25);
  padding: 0.625rem;
  color: #fefefe;
}

.c-hero__offer.is-active {
  opacity: 1;
}

.c-hero__offer.is-active-add {
  opacity: 0;
  animation: 0.5s fadeIn 1.5s ease-in-out forwards reverse;
}

.c-hero__offer__name {
  font-size: 1rem;
  text-transform: uppercase;
}

.c-hero__button {
  margin: 0 0 1.25rem;
  min-width: 18.75rem;
}

.c-hero__buttons--3 .c-hero__button {
  min-width: none;
}

.c-hero__buttons--4 .c-hero__button {
  min-width: 50%;
}

.c-hero .c-button, .c-hero .c-payment__guest-select__button {
  margin: 0;
}

.c-hero .c-button__container {
  text-align: center;
  opacity: 0;
  animation: 0.75s fadeInUp 1.25s ease-in-out forwards;
}

.c-hero .c-button--hollow, .c-hero .c-payment__guest-select__button {
  color: #fefefe;
  border-color: #fefefe;
}

.c-hero .c-button--solid:hover, .c-hero .c-button--solid:focus, .c-hero .c-button--solid:active {
  color: #fefefe;
}

.c-hero--thin {
  padding: 6.25rem 3.125rem 3.125rem;
}

@media print, screen and (min-width: 40em) {
  .c-hero--thin {
    padding: 10.625rem 3.125rem 5rem;
  }
}

.c-hero--large {
  padding: 6.25rem 3.125rem 5rem;
}

@media print, screen and (min-width: 40em) {
  .c-hero--large {
    padding: 12.5rem 3.125rem 6.25rem;
  }
}

.c-hero .c-form__field {
  width: 100%;
  margin: auto auto 0.625rem;
  max-width: 15.625rem;
}

@media print, screen and (min-width: 40em) {
  .c-hero .c-form__field {
    display: inline-block;
    vertical-align: top;
    margin: 0 0.625rem 0.625rem;
  }
}

@media screen and (min-width: 75em) {
  .s-home .c-hero {
    margin-bottom: 3.75rem;
  }
}

.s-home .c-hero__preheading, .s-home .c-hero__heading, .s-home .c-hero__text {
  display: none;
}

.s-home .c-hero__selects {
  opacity: 0;
  animation: 1s fadeIn 2s ease-in-out forwards reverse;
}

.s-home .c-hero .c-button__container {
  opacity: 0;
  animation: 1s fadeIn 2.25s ease-in-out forwards reverse;
}

.s-home .c-hero .c-select {
  margin: 0;
  border: none;
}

.s-home .c-hero .c-select--categories {
  padding-left: 1rem;
}

.s-home .c-hero .c-button, .s-home .c-hero .c-payment__guest-select__button {
  width: 100%;
  max-width: 15.625rem;
  min-height: 3.375rem;
}

.s-home .c-hero .c-button--category {
  max-width: 18.75rem;
}

/*------------------------------------*\
    #ICON
\*------------------------------------*/

.c-icon--navigation {
  display: block;
  position: relative;
  margin: 0.625rem 0;
  width: calc(100% - 0.3125rem);
  height: 0.0625rem;
  background: #fefefe;
}

.c-icon--navigation:before, .c-icon--navigation:after {
  position: absolute;
  left: 0;
  right: 0;
  content: "";
  height: 0.0625rem;
  background: #fefefe;
}

.c-icon--navigation:before {
  top: -0.5625rem;
  width: calc(100% + 0.3125rem);
}

.c-icon--navigation:after {
  bottom: -0.5625rem;
  right: 0.3125rem;
}

.c-icon--success {
  border: 1px solid forestgreen;
  fill: forestgreen;
  padding: 0.625rem;
  border-radius: 50%;
}

/*------------------------------------*\
    #ICON
\*------------------------------------*/

i.c-icon {
  display: inline-block;
  width: 1em;
  line-height: 1.5;
  margin-top: 2px;
  vertical-align: middle;
}

i.c-icon svg {
  max-height: 1.375rem;
}

.c-page-head__actions i.c-icon svg {
  max-height: 2rem;
}

i.c-icon--help {
  background: #ccc;
  border-radius: 50%;
  text-align: center;
  font-style: normal;
}

i.c-icon--info {
  position: relative;
  border-radius: 50%;
  width: 1.375rem;
  height: 1.375rem;
  padding: 0 0 0 0.5rem;
  color: white;
  font-size: 0.875rem;
  line-height: 1.6;
  vertical-align: middle;
  margin: 0 0.375rem 0 0;
}

i.c-icon--large {
  width: 1.375rem;
}

.c-icon--squares svg {
  max-height: 3.75rem;
}

/*------------------------------------*\
    #IMAGE SLIDER
\*------------------------------------*/

.c-image-slider {
  position: relative;
  height: 37.5rem;
  max-height: 80vh;
  overflow: hidden;
}

@media print, screen and (min-width: 40em) {
  .c-image-slider {
    height: 100%;
    max-height: none;
  }
}

.c-image-slider .carousel {
  height: 100%;
}

@media print, screen and (min-width: 40em) {
  .c-image-slider .carousel {
    min-height: 37.5rem;
  }
}

.c-image-slider__item {
  width: 100%;
  height: 100%;
  background: no-repeat center;
  background-size: cover;
  opacity: 0;
  transition: opacity 250ms ease-in-out;
}

.c-image-slider__item.flickity-bg-lazyloaded, .c-image-slider__item.has-loaded {
  opacity: 1;
}

/*------------------------------------*\
    #IMGIX
\*------------------------------------*/

.imgix-fluid {
  opacity: 0;
  transition: opacity 1s ease-in;
}

.imgix-fluid.has-loaded {
  opacity: 1;
}

.imgix-fluid.thumb {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/*------------------------------------*\
    #INTERJECTION
\*------------------------------------*/

.c-interjection__body {
  text-align: center;
  padding: 1.25rem 1rem 4.375rem;
  font-size: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-interjection__body {
    font-size: 1.625rem;
  }
}

/*------------------------------------*\
    #INPUT
\*------------------------------------*/

.c-input {
  padding: 1.0625rem;
  height: 3.4375rem;
}

.c-input__counter {
  position: absolute;
  right: 0.625rem;
  top: 1.625rem;
  bottom: 0.625rem;
  z-index: 20;
  padding: 0.125rem 0.625rem;
  font-size: 0.875rem;
  background: #eee;
  text-align: center;
  border: 1px solid #ddd;
}

.c-input__counter.is-success {
  background: #58dd75;
  border-color: #23ac41;
}

/*------------------------------------*\
    #ITEM
\*------------------------------------*/

.c-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding-bottom: 0.3125rem;
  margin-bottom: 0.3125rem;
}

.c-review .c-item__name, .c-review .c-item__date {
  display: inline-block;
}

.c-review .c-item__name {
  font-size: 1.75rem;
}

/*------------------------------------*\
    #JUMBO-CHECK
\*------------------------------------*/

.c-jumbo-check {
  position: relative;
}

.c-jumbo-check__saving {
  position: absolute;
  z-index: 10;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #cecece;
}

.c-jumbo-check__saving .c-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.c-jumbo-check, .c-jumbo-check ul {
  margin: 0;
  list-style: none;
}

.c-jumbo-check li {
  position: relative;
}

.c-jumbo-check input {
  position: absolute;
  top: -1px;
  left: -1px;
  overflow: hidden;
  visibility: hidden;
  width: 1px;
  height: 1px;
}

.c-jumbo-check input:checked ~ label {
  background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='%23fff' d='M5.5 17.5c-0.128 0-0.256-0.049-0.354-0.146l-5-5c-0.195-0.195-0.195-0.512 0-0.707s0.512-0.195 0.707 0l4.646 4.646 13.646-13.646c0.195-0.195 0.512-0.195 0.707 0s0.195 0.512 0 0.707l-14 14c-0.098 0.098-0.226 0.146-0.354 0.146z'></path></svg>");
  background-repeat: no-repeat;
  background-position: 95% 50%;
  background-size: 20px;
  color: #fefefe;
}

.c-jumbo-check input:checked ~ label:after {
  display: none;
}

.c-jumbo-check__button, .c-jumbo-check__label {
  position: relative;
  display: block !important;
  border: 1px solid;
  margin: 0 0 0.625rem !important;
  padding: 0.6875rem 2.5rem 0.625rem 0.625rem;
  transition: background-color 250ms ease, color 250ms ease;
  contain: layout;
  font-size: 0.8125rem;
  color: #3c3f40;
  cursor: pointer;
  text-align: left;
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .c-jumbo-check__button, .c-jumbo-check__label {
    padding: 0.3125rem 2.5rem 0.3125rem 0.625rem;
  }
}

.c-jumbo-check__button:after, .c-jumbo-check__label:after {
  display: block;
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  content: '';
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #666;
  background: #fefefe;
}

.c-jumbo-check__button:hover, .c-jumbo-check__button:focus, .c-jumbo-check__button:active, .c-jumbo-check__label:hover, .c-jumbo-check__label:focus, .c-jumbo-check__label:active {
  background-color: #fafafa;
}

.c-jumbo-check__button {
  padding: 0.5625rem 2.5rem 0.5625rem 0.625rem;
}

.c-jumbo-check__button--selected {
  background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='%23fff' d='M5.5 17.5c-0.128 0-0.256-0.049-0.354-0.146l-5-5c-0.195-0.195-0.195-0.512 0-0.707s0.512-0.195 0.707 0l4.646 4.646 13.646-13.646c0.195-0.195 0.512-0.195 0.707 0s0.195 0.512 0 0.707l-14 14c-0.098 0.098-0.226 0.146-0.354 0.146z'></path></svg>");
  background-repeat: no-repeat;
  background-position: 95% 50%;
  background-size: 20px;
  color: #fefefe;
}

.c-jumbo-check__button--selected:after {
  display: none;
}

/*------------------------------------*\
    #LIST
\*------------------------------------*/

.c-list {
  margin: 0 0 6.25rem;
}

.c-list__heading {
  margin: 1rem 0 0.3125rem;
}

.c-list__event {
  width: 100%;
  margin: 0 0 1.875rem;
  -ms-flex-align: center;
      align-items: center;
}

@media screen and (min-width: 40em) {
  .c-list__event {
    margin: 0 0 1rem;
  }

  .c-list__event:nth-child(odd) {
    background: #f6f6f6;
  }
}

.c-list__event__name {
  display: block;
  margin: 0 0 0.625rem;
}

@media screen and (min-width: 40em) {
  .c-list__event__name {
    margin: 0;
    padding: 0.3125rem 0.625rem;
  }
}

.c-list__event__price {
  text-align: center;
  padding: 0.8125rem 0.3125rem;
  background: #f2f2f2;
  font-size: 0.75rem;
}

@media screen and (min-width: 40em) {
  .c-list__event__price {
    padding: 0.625rem;
    background: transparent;
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 40em) {
  .c-list__event--activity .c-list__event__name {
    padding: 0.3125rem 1rem;
  }
}

@media screen and (min-width: 40em) {
  .c-list__event--activity .c-list__row__data {
    padding: 0.625rem 1rem;
  }
}

.c-list__spinner {
  display: block;
  height: 3.1875rem;
  padding: 0.625rem;
}

.c-list__row__line:not(:last-child) {
  margin: 0 0 0.3125rem;
}

.c-list__row__line:nth-child(odd) {
  background: #eee;
}

.c-list__row__data {
  text-align: center;
  padding: 0.8125rem 0.3125rem;
  font-size: 0.75rem;
}

@media screen and (min-width: 40em) {
  .c-list__row__data {
    text-align: left;
    padding: 0.625rem;
    background: transparent;
    font-size: 0.875rem;
  }
}

.c-list .c-button, .c-list .c-payment__guest-select__button {
  display: block;
  width: 100%;
  margin: 0;
  text-align: center;
  font-size: 0.75rem;
}

@media screen and (min-width: 40em) {
  .c-list .c-button, .c-list .c-payment__guest-select__button {
    font-size: 0.8125rem;
  }
}

/*------------------------------------*\
    #Loginout
\*------------------------------------*/

.c-loginout {
  display: none;
}

.c-loginout__action {
  color: #fefefe;
  cursor: pointer;
  padding: 0.625rem 0;
  margin: 0 0.625rem;
  transition: color 500ms ease;
  font-size: 0.875rem;
}

@media screen and (min-width: 64em) {
  .c-loginout__action {
    font-size: 1rem;
  }
}

.has-scrolled .c-loginout__action {
  color: #9E9FA0;
}

.c-loginout--allowed {
  display: block;
}

.c-loginout--logged-in .c-login {
  display: none;
}

.c-loginout--logged-in .c-logout {
  display: block;
}

.c-logout {
  display: none;
  position: relative;
}

.c-logout:hover .c-logout__tooltip, .c-logout:hover .c-search-icon__tooltip {
  opacity: 0;
  animation: fadeInDown 0.25s ease-in-out forwards;
}

.c-logout__tooltip, .c-search-icon__tooltip {
  position: absolute;
  right: 0;
  top: 100%;
  background: #3c3f40;
  border-radius: 0.1875rem;
  color: #fefefe;
  padding: 0.4375rem 0.625rem;
  font-size: 0.75rem;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
}

.c-logout__tooltip:after, .c-search-icon__tooltip:after {
  position: absolute;
  top: -0.3125rem;
  right: 0.3125rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 0.3125rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #3c3f40;
}

/*------------------------------------*\
    #Logo
\*------------------------------------*/

.c-logo__anchor {
  display: block;
  background: transparent !important;
  height: 100%;
}

.c-logo__image {
  max-height: 100%;
}

.c-logo--header {
  z-index: 5;
  width: 8.125rem;
  height: 2.5rem;
  left: 50%;
  top: 0.3125rem;
  position: absolute;
  transform: translateX(-50%);
  text-align: center;
  opacity: 1;
  transition: opacity 250ms ease-out;
}

.c-logo--header .c-logo__image {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 2.5rem;
}

.offcanvas-open .c-logo--header {
  opacity: 0;
}

@media screen and (min-width: 64em) {
  .offcanvas-open .c-logo--header {
    opacity: 1;
  }
}

.c-logo--hero {
  text-align: center;
  margin: auto auto 2.5rem;
  max-width: 80%;
  max-height: 11.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-logo--hero {
    min-height: 9.375rem;
    max-height: 15.625rem;
    max-width: 28.125rem;
  }
}

/*------------------------------------*\
    #MAIN
\*------------------------------------*/

/*------------------------------------*\
    #BASKET
\*------------------------------------*/

.c-membership__banner {
  text-align: center;
  padding: 0.625rem 1.875rem;
  font-size: 0.875rem;
  margin: 0.3125rem 0;
}

.c-membership__banner.c-membership__header {
  display: none;
  position: fixed;
  width: 100%;
  top: 45px;
  background: transparent;
  color: #fefefe;
  opacity: 1;
  transition: opacity 250ms ease;
}

@media screen and (min-width: 40em) {
  .c-membership__banner.c-membership__header {
    display: block;
  }
}

.offcanvas-open .c-membership__banner.c-membership__header {
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 40em) {
  .c-membership__banner:not(.c-membership__header) {
    text-align: right;
  }
}

/*------------------------------------*\
    #MESSAGE
\*------------------------------------*/

.alert {
  position: fixed;
  left: 50%;
  top: 0;
  z-index: 150;
  width: 90%;
  transform: translate(-50%, 0%);
  transition: transform 500ms ease, opacity 500ms ease;
  color: #fefefe;
  text-align: center;
  box-shadow: 0 2px 10px rgba(60, 63, 64, 0.15);
}

@media print, screen and (min-width: 40em) {
  .alert {
    width: 80%;
  }
}

.alert.ng-hide {
  opacity: 0;
  transform: translate(-50%, -100%);
}

.alert.alert--success {
  background: #58dd75;
}

.alert.alert--fail {
  background: firebrick;
}

.alert__icon {
  display: inline-block;
  border: 1px solid;
  border-radius: 50%;
  width: 1.875rem;
  height: 1.875rem;
  padding: 1px 0 0 0;
}

.alert__icon path {
  fill: #fefefe;
}

.alert__message {
  display: inline-block;
  margin: 0;
  padding: 0.75rem;
}

/*------------------------------------*\
    #NAV BAR
\*------------------------------------*/

.c-nav__list-item__description {
  display: block;
  font-size: 0.75rem;
  color: #999;
}

.c-nav--header .c-nav__list {
  margin: 0;
  list-style: none;
  width: 100%;
  line-height: 1;
}

.c-nav--header .c-nav__list-item {
  display: inline-block;
}

.c-nav--header .c-nav__list-item a {
  display: block;
  color: #fefefe;
  font-size: 0.875rem;
  margin: 0 0.625rem 0 0;
  transition: color 1000ms ease;
  contain: layout;
  padding-top: 0.1875rem;
}

@media screen and (min-width: 64em) {
  .c-nav--header .c-nav__list-item a {
    font-size: 1rem;
    padding: 0;
  }
}

.has-scrolled .c-nav--header .c-nav__list-item a {
  color: #9E9FA0;
}

.c-nav--header .c-nav__list-item a:hover, .c-nav--header .c-nav__list-item a:focus, .c-nav--header .c-nav__list-item a:active {
  transition: color 100ms ease;
  contain: layout;
}

.c-nav--aside .c-nav__list {
  margin: 0 0 1rem;
  list-style: none;
}

.c-nav--aside .c-nav__list-item {
  display: block;
  border-bottom: 1px solid #cacaca;
}

.c-nav--aside .c-nav__list-item--small {
  opacity: 0.75;
}

.c-nav--aside .c-nav__list-item a {
  display: block;
  padding: 0.3125rem 0;
}

.c-nav--footer .c-nav__list {
  margin: 0;
  list-style: none;
}

.c-nav--footer .c-nav__list-item {
  display: inline-block;
}

.c-nav--footer .c-nav__list-item a {
  position: relative;
  font-size: 0.75rem;
  margin: 0 0.625rem 0 0;
}

@media print, screen and (min-width: 64em) {
  .c-nav--footer .c-nav__list-item a {
    font-size: 0.875rem;
  }
}

.c-nav--footer .c-nav__list-item a:after {
  display: inline-block;
  content: '|';
  margin-left: 0.6875rem;
  color: #3c3f40;
}

.c-nav--footer .c-nav__list-item:last-child a:after {
  display: none;
}

/*------------------------------------*\
    #OFFCANVAS
\*------------------------------------*/

.c-offcanvas {
  background: #fefefe;
  transform: translateZ(0);
}

.c-offcanvas__toggle {
  display: block;
  width: 3.125rem;
  height: 3.125rem;
  color: #fefefe;
  transition: background 250ms ease;
  contain: layout;
}

.c-offcanvas__toggle--nav {
  padding: 0.625rem 0.625rem 0.6875rem;
}

.c-offcanvas__toggle--basket {
  padding: 0.625rem 0.75rem 0.9375rem 0.75rem;
}

.c-offcanvas__toggle .c-icon--cart {
  fill: #fefefe;
  height: 1.75rem;
}

button.c-offcanvas__toggle {
  cursor: pointer;
}

button.c-offcanvas__toggle:focus {
  outline: none;
}

/*------------------------------------*\
    #TEXT
\*------------------------------------*/

.c-offer-banner {
  margin-bottom: 1.25rem;
  display: none;
}

@media print, screen and (min-width: 40em) {
  .c-offer-banner {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-offer-banner {
    margin-bottom: 3.125rem;
  }
}

.c-offer-banner.has-loaded {
  display: block;
}

.c-offer-banner__header {
  padding-bottom: 0.625rem;
}

.c-offer-banner__expand {
  margin: 0 0 1.25rem;
}

.c-offer-banner__expand__container {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1000ms ease;
  contain: layout;
}

.c-offer-banner__expand__container.is-active {
  max-height: 62.5rem;
}

.c-offer-banner__inclusions, .c-offer-banner__exclusions {
  padding: 0.625rem 0 0;
}

.c-offer-banner .c-icon:not(.c-icon--info) {
  border: 1px solid black;
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  line-height: 0;
  padding: 0.25rem 0.1875rem;
  vertical-align: baseline;
  margin: 0 0.3125rem 0 0;
}

/*------------------------------------*\
    #OPTIONS
\*------------------------------------*/

.c-options {
  overflow: auto;
  max-height: 100%;
}

.c-options__wrapper {
  height: 100%;
  padding: 1.25rem;
}

.c-options__header, .c-options .c-dynamic-options__header {
  font-size: 1.5rem;
  opacity: 0.75;
  margin-left: 1.5625rem;
}

.c-options__dynamic {
  transition: ease max-height 1000ms;
  contain: layout;
  overflow: auto;
}

.c-options.hidden {
  max-height: 0;
  overflow: hidden;
}

.c-options__empty {
  text-align: center;
  font-size: 1.5rem;
}

.c-options__helper {
  padding-left: 5.625rem;
  color: #cacaca;
}

.c-dynamic-options__options {
  margin: 0.9375rem 0 1.25rem 3.125rem;
  display: -ms-flexbox;
  display: flex;
}

.c-dynamic-options__label {
  margin-left: 0.9375rem;
  display: inline-block;
  max-width: 17.5rem;
}

.c-dynamic-options__option {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
}

.c-dynamic-options__option input[type='radio'], .c-dynamic-options__option input[type='checkbox'] {
  margin: 0;
}

.c-dynamic-options__thumb {
  display: inline-block;
  position: relative;
  width: 6.875rem;
  height: 4.375rem;
  margin-right: 0.9375rem;
}

.c-dynamic-options__inner {
  display: -ms-flexbox;
  display: flex;
}

/*------------------------------------*\
    #ORDER
\*------------------------------------*/

.c-order__guests {
  position: relative;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-order__guests {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-order__guests {
    margin-bottom: 3.125rem;
  }
}

.c-order__guests--card {
  border: 1px solid #ddd;
  background: #fefefe;
  box-shadow: 0 5px 15px rgba(60, 63, 64, 0.15);
  padding: 1.25rem;
}

.c-order__guests--card .c-order__guest, .c-order__guests--card .c-basket__guest {
  border: 1px solid #eee;
}

/*------------------------------------*\
    #ORDER-HISTORY
\*------------------------------------*/

.c-order-history__heading {
  margin: 2.5rem 0 0.5rem;
}

.c-order-history__order {
  border: 1px solid #ccc;
  background: #fefefe;
  margin: 0 0 1.25rem;
  box-shadow: 0 0 10px rgba(60, 63, 64, 0.1);
  padding: 0.625rem 0.625rem 0.3125rem;
  font-size: 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-order-history__order {
    padding: 0.625rem 1rem;
    font-size: 1rem;
  }
}

.c-order-history__order--cancelled {
  border-color: firebrick;
}

.c-order-history__item {
  padding: 0 0 1.25rem;
}

.c-order-history__item__price {
  padding: 0 0 0 1rem;
}

.c-order-history__name {
  font-size: 1rem;
}

@media screen and (min-width: 40em) {
  .c-order-history__name {
    font-size: 1.125rem;
  }
}

.c-order-history__dateTime, .c-order-history__status, .c-order-history__agreement, .c-order-history__discounts {
  color: #666;
}

.c-order-history__meta {
  color: #999;
  margin: 0 0 0.625rem;
}

.c-order-history__discounts {
  margin-bottom: 1rem;
}

.c-order-history__pagination {
  margin-bottom: 2.5rem;
}

.c-order-history__pagination ol {
  -ms-flex-pack: center;
      justify-content: center;
}

.c-order-history__book-again {
  display: inline-block;
  margin: 0 0 0 0.3125rem;
  position: relative;
}

@media screen and (min-width: 40em) {
  .c-order-history__book-again {
    margin: 0 0 0 0.625rem;
  }
}

.c-order-history__book-again:hover .c-order-history__tooltip {
  opacity: 0;
  animation: fadeInUp 0.25s ease-in-out forwards;
}

.c-order-history__tooltip {
  position: absolute;
  right: 0;
  bottom: 100%;
  background: #3c3f40;
  border-radius: 0.1875rem;
  color: #fefefe;
  padding: 0.4375rem 0.625rem;
  font-size: 0.75rem;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
}

.c-order-history__tooltip:after {
  position: absolute;
  bottom: -0.3125rem;
  right: 0.3125rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 0.3125rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #3c3f40 transparent transparent;
}

@media screen and (min-width: 40em) {
  .c-order-history .c-buttons {
    padding: 0 0 0 1rem;
  }
}

.c-order-history .c-button, .c-order-history .c-payment__guest-select__button {
  width: 100%;
  font-size: 0.75rem;
  margin-bottom: 0.625rem;
  min-width: 13.75rem;
}

@media screen and (min-width: 64em) {
  .c-order-history .c-button, .c-order-history .c-payment__guest-select__button {
    font-size: 0.875rem;
    min-width: 15.625rem;
  }
}

.c-order-history .c-empty {
  margin: 0 0 2.5rem;
}

/*------------------------------------*\
    #PAGINATION
\*------------------------------------*/

.c-pagination__item {
  border: 1px solid #ccc;
  border-left: none;
}

.c-pagination__item:first-child {
  border-left: 1px solid #ccc;
}

.c-pagination__item--link, .c-pagination__item--current {
  display: block;
  padding: 0.3125rem 0.625rem;
  width: 100%;
  height: 100%;
}

.c-pagination__item--link {
  cursor: pointer;
}

.c-pagination__item--current {
  font-weight: bold;
}

.c-pagination ol {
  list-style: none;
  margin: 0;
}

/*------------------------------------*\
    #PAYMENT
\*------------------------------------*/

.c-payment {
  position: relative;
  margin: auto auto 3.75rem;
  width: 100%;
  color: #3c3f40;
  background: #fefefe;
  border: 1px solid #ddd;
  box-shadow: 0 5px 15px rgba(60, 63, 64, 0.15);
  border-radius: 0.1875rem;
  /* IE doesn't show placeholders when empty+focused */
}

@media print, screen and (min-width: 40em) {
  .c-payment {
    max-width: 41.875rem;
  }
}

.c-payment__description {
  margin: auto;
}

@media print, screen and (min-width: 40em) {
  .c-payment__description {
    max-width: 41.875rem;
  }
}

.c-payment__loading {
  text-align: center;
}

.c-payment__loading .c-spinner {
  width: 3.125rem;
  height: 3.125rem;
}

.c-payment__info {
  margin-bottom: 1.25rem;
  background: #d1edfc;
  padding: 0 0.625rem;
  border: 1px solid #a1daf9;
  color: #096292;
  overflow: hidden;
}

@media print, screen and (min-width: 40em) {
  .c-payment__info {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-payment__info {
    margin-bottom: 3.125rem;
  }
}

@media screen and (min-width: 40em) {
  .c-payment__info {
    padding: 0 1.25rem;
  }
}

.c-payment__info h4 {
  margin: 0;
  font-size: 0.9375rem;
}

@media screen and (min-width: 40em) {
  .c-payment__info h4 {
    font-size: 1.375rem;
  }
}

.c-payment__info p {
  font-size: 0.875rem;
}

.c-payment__heading {
  text-align: center;
  padding: 1.25rem;
  border-bottom: 1px solid #ddd;
  background: #eee;
}

.c-payment__subheading {
  margin: 1rem 0 0;
}

.c-payment__footer {
  text-align: center;
  padding: 1.25rem;
  border-top: 1px solid #ddd;
  background: #f2f2f2;
}

.c-payment__footer .c-description {
  font-size: 0.6875rem;
  color: #888;
}

.c-payment__footer p {
  margin: 0;
}

.c-payment__label {
  height: 2.1875rem;
  position: relative;
  color: #8a8a8a;
  display: block;
  margin-top: 1.875rem;
  margin-bottom: 1.25rem;
}

.c-payment__label__label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-weight: 300;
  line-height: 2rem;
  color: #8a8a8a;
  border-bottom: 1px solid #666;
  transition: border-bottom-color 200ms ease-in-out;
  contain: layout;
  cursor: text;
  pointer-events: none;
}

.c-payment__label__label span {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0% 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.95) translateY(-2rem);
  cursor: default;
}

.c-payment__label .field .c-payment__label .field:hover, .c-payment__label .field:focus, .c-payment__label .field:active {
  border: none;
}

.c-payment__label .field.ng-touched.ng-invalid ~ .c-payment__label__label {
  border-bottom-color: firebrick;
}

.c-payment__label .c-payment__label--up span {
  transform: scale(0.95) translateY(-2rem);
  cursor: default;
}

.c-payment__label .c-form__required {
  margin-top: -3rem;
}

.c-payment__token-valid {
  color: #111111;
  background: #58dd75;
  border: 1px solid #2ed452;
  padding: 0.625rem;
  text-align: center;
}

.c-payment__warning {
  background: #ffeecb;
  border: 1px solid #ffdd98;
  padding: 0.625rem;
  text-align: center;
}

.c-payment__marketing {
  margin: 0 0 1rem;
}

.c-payment__marketing input {
  margin-bottom: 0;
}

.c-payment__marketing > span {
  display: inline-block;
  width: calc(100% - 1.875rem);
  vertical-align: top;
}

.c-payment__voucher {
  position: relative;
  background: #f9f9f9;
  border: 1px solid #f3f3f3;
  padding: 1.875rem 0 0.625rem;
  margin: 0 0 1rem;
}

.c-payment__voucher__remove {
  position: absolute;
  right: 0.4375rem;
  top: -0.75rem;
  font-size: 2.5rem;
}

.c-payment__voucher__add {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.c-payment__guest-select {
  padding-top: 0.625rem;
}

.c-payment__guest-select__button {
  color: #3c3f40;
  margin-bottom: 0.9375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

@media screen and (min-width: 40em) {
  .c-payment__guest-select__button {
    padding: 0.9375rem;
  }

  .c-payment__guest-select__button:not(:first-child):not(:last-child) {
    border-left: none;
  }
}

.c-payment__guest-select__button--manual {
  color: #999;
}

.c-payment__guest-select__select {
  margin-bottom: 0.9375rem;
  height: 3rem;
}

.c-payment__request {
  display: none;
}

.c-payment__request__text {
  position: relative;
  text-align: center;
  margin: 1rem 0;
}

.c-payment__request__text span {
  display: inline-block;
  position: relative;
  z-index: 5;
  padding: 0.625rem 0.3125rem;
  margin: 0 0.625rem;
  background: #fefefe;
}

@media screen and (min-width: 40em) {
  .c-payment__request__text span {
    padding: 0.625rem;
  }
}

.c-payment__request__text:after {
  display: block;
  position: absolute;
  content: '';
  width: 100%;
  z-index: 0;
  top: 50%;
  border-top: 1px solid #ccc;
}

.c-payment .c-form__field__error {
  left: 0;
}

.c-payment .c-form__field .c-input {
  padding: 1.1875rem 1rem 0.3125rem;
}

.c-payment .field {
  background: transparent;
  font-weight: 300;
  border: 0;
  color: #3c3f40;
  outline: none;
  cursor: text;
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
  line-height: 2rem;
  padding: 0 0 0.1875rem;
  transition: opacity 200ms ease-in-out;
}

.c-payment .paysafe-field {
  height: 2.5rem;
  padding-left: 0;
  border-bottom: 1px solid #666;
  margin-top: 0.625rem;
}

.c-payment .field::-webkit-input-placeholder {
  color: #cacaca;
}

.c-payment .field::-moz-placeholder {
  color: #cacaca;
}

.c-payment .field:-ms-input-placeholder {
  color: #cacaca;
}

.c-payment .field.is-empty:not(.is-focused) {
  opacity: 0;
}

@media screen and (min-width: 40em) {
  .c-payment fieldset {
    padding: 1.25rem;
  }
}

.c-payment .outcome {
  width: 100%;
  text-align: center;
  background-color: firebrick;
  color: #fefefe;
}

.c-payment .success, .c-payment .error {
  display: none;
  font-size: 0.9375rem;
}

.c-payment .success.visible, .c-payment .error.visible {
  display: inline;
}

.c-payment .error {
  color: firebrick;
}

.c-payment .success {
  color: #3c3f40;
}

.c-payment .success .token {
  font-weight: 500;
  font-size: 0.9375rem;
}

.c-payment .c-cards {
  display: block;
  margin: 0 0 0.625rem;
}

.c-payment .c-card {
  width: 4.125rem;
  margin: 0 0.3125rem;
  border: solid 1px rgba(60, 63, 64, 0.05);
  border-radius: 4px;
}

.c-payment .select2-container {
  margin-bottom: 1rem;
}

.c-payment .select2-container .select2-choice {
  min-height: 2.1875rem !important;
  border: none;
  border-bottom: 1px solid #8a8a8a;
  padding-left: 0;
}

.c-payment .select2-container .select2-choice .select2-arrow {
  display: none;
}

.c-payment .select2-container .select2-choice .select2-chosen {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 2rem;
}

.c-payment .select2-container .select2-search input {
  margin: 0.25rem 0 0;
  width: 100%;
}

.c-payment .select2-container .select2-result-single {
  margin: 0;
}

.c-payment .select2-container.select2-container-active .select2-choice {
  border: none;
}

.c-payment .select2-container.ng-touched.ng-invalid .select2-choice {
  border-bottom-color: firebrick;
}

/*------------------------------------*\
    #PAYMENT DETAILS
\*------------------------------------*/

payment-details {
  display: block;
  width: 100%;
  height: 100%;
}

.c-payment-details {
  width: 100%;
  height: 100%;
}

.c-payment-details--paysafe {
  margin-bottom: 1.875rem;
}

.c-payment-details--stripe {
  margin: 1.875rem 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #666;
}

@media screen and (min-width: 40em) {
  .c-payment-details--stripe {
    margin: 1.875rem;
  }
}

.c-payment-details--stripe div {
  width: 100%;
}

/*------------------------------------*\
    #PROMO INPUT
\*------------------------------------*/

.c-promo-input .c-spinner {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 20;
  transform: translateY(-25%);
}

.c-promo__feedback--fail {
  color: firebrick;
}

.c-promo__feedback--success {
  color: seagreen;
}

/*------------------------------------*\
    #PROMPT
\*------------------------------------*/

.c-prompt {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fefefe;
  width: 31.25rem;
  height: auto;
  z-index: 70;
  border: 1px solid #ddd;
  max-width: 90%;
  box-shadow: 0 5px 15px rgba(60, 63, 64, 0.5);
}

@media print, screen and (min-width: 40em) {
  .c-prompt {
    max-width: 60%;
  }
}

@media print, screen and (min-width: 64em) {
  .c-prompt {
    max-width: 40%;
  }
}

.c-prompt__body {
  padding: 1.25rem 1.25rem 0;
}

.c-prompt__header {
  text-align: center;
  text-transform: uppercase;
  background: #f2f2f2;
  border-bottom: 1px solid #ddd;
  padding: 0.9375rem;
  color: #666;
}

.c-prompt__list {
  text-align: center;
  list-style: none;
}

.c-prompt__list li {
  font-weight: bold;
}

.c-prompt__info, .c-prompt__message, .c-prompt__pre-button {
  color: #666;
  text-align: center;
}

.c-prompt__message {
  margin: 0.625rem 0 1.25rem;
  font-size: 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-prompt__message {
    font-size: 1rem;
  }
}

.c-prompt__info {
  background: #eee;
  border: 1px solid skyblue;
  padding: 0.3125rem;
  font-size: 0.875rem;
}

.c-prompt__buttons {
  text-align: center;
}

.c-prompt__buttons .c-spinner {
  fill: #fefefe !important;
}

@media screen and (min-width: 40em) {
  .c-prompt__buttons {
    margin: 0 0 1.25rem;
  }
}

.c-prompt__buttons a, .c-prompt__buttons button {
  min-height: 3.375rem;
  margin-left: 0.3125rem;
  margin-right: 0.3125rem;
  padding: 1rem 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-prompt__buttons a, .c-prompt__buttons button {
    margin-bottom: 1.25rem;
  }
}

.c-prompt__overlay {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(60, 63, 64, 0.75);
  z-index: 60;
}

.c-prompt__close {
  position: absolute;
  right: 0.625rem;
  top: 0.875rem;
  padding: 0.3125rem 0.625rem;
  cursor: pointer;
}

.c-prompt__success {
  background-color: #58dd75;
  border: 1px solid #2ed452;
  color: #fefefe;
  padding: 0.9375rem;
  margin: 1.25rem;
  text-align: center;
}

.c-prompt__tab {
  width: 49%;
  padding: 0.9375rem;
  color: #888;
  font-size: 0.75rem;
}

@media screen and (min-width: 40em) {
  .c-prompt__tab {
    font-size: 0.875rem;
  }
}

.c-prompt__tab.is-active {
  border: 1px solid #cacaca;
  color: #333;
  border-bottom: none;
}

.c-prompt .c-spinner {
  fill: #3c3f40;
  width: 2.5rem;
  height: 2.5rem;
}

.c-prompt .c-checkout__error {
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

.c-prompt.ng-enter {
  opacity: 0;
  animation: 0.25s fadeInDownCentre 0s ease-in-out forwards;
}

.c-prompt.ng-leave {
  opacity: 1;
  animation: 0.25s fadeOutDownCentre 0.15s ease-in-out forwards;
}

.c-prompt--static {
  position: static !important;
  transform: none;
  max-width: 100%;
  width: 100%;
  margin: 0 0 2.5rem;
}

.c-prompt--static.ng-enter, .c-prompt--static.ng-leave {
  animation: none;
}

/*------------------------------------*\
    #PROPERTY-SELECT
\*------------------------------------*/

.c-property-select {
  position: relative;
}

.c-property-select__toggle {
  color: #fefefe;
  cursor: pointer;
  padding: 0.625rem 0;
  font-size: 0.875rem;
  transition: color 1000ms ease;
  contain: layout;
}

@media screen and (min-width: 64em) {
  .c-property-select__toggle {
    font-size: 1rem;
  }
}

.c-property-select__toggle:focus {
  outline: none;
}

.has-scrolled .c-property-select__toggle {
  color: #9E9FA0;
}

.c-property-select__toggle:hover, .c-property-select__toggle:focus, .c-property-select__toggle:active {
  transition: color 100ms ease;
  contain: layout;
}

.c-property-select__dropdown {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem;
  width: 15.625rem;
  padding: 0.5rem;
  box-shadow: 0 0 20px rgba(60, 63, 64, 0.25);
  border-radius: 0.1875rem;
}

.c-property-select__dropdown.is-opening {
  display: block;
}

.c-property-select__dropdown.is-open {
  visibility: visible;
  display: block;
}

.c-property-select__dropdown:before {
  position: absolute;
  z-index: 5;
  right: 0.3125rem;
  top: -0.3125rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #fefefe;
  content: '';
}

.c-property-select__dropdown.is-open {
  opacity: 0;
  animation: 100ms fadeInDown 0ms ease-in-out forwards;
}

.c-property-select__properties {
  margin: 0;
  list-style: none;
  text-align: right;
}

.c-property-select__properties li:not(:last-child) {
  border-bottom: 1px solid rgba(60, 63, 64, 0.5);
}

.c-property-select__properties a {
  display: block;
  padding: 0.5rem;
}

.c-property-select__properties a:focus {
  outline: none;
}

/*------------------------------------*\
    #PREFERRED-TIME
\*------------------------------------*/

.c-preferred-time {
  display: block;
  position: relative;
  min-height: 7.0625rem;
}

@media print, screen and (min-width: 40em) {
  .c-preferred-time {
    padding: 0 3.125rem;
  }
}

/*------------------------------------*\
    #QUICK BOOK
\*------------------------------------*/

.c-quick__search {
  width: 100%;
}

.c-quick__search__input {
  position: relative;
}

.c-quick__search__spinner {
  position: absolute;
  z-index: 10;
  right: 0.625rem;
  top: 0.8125rem;
}

.c-quick__search .select2-container .select2-search {
  position: absolute;
  left: 0;
  right: 0;
  top: -3.375rem;
  height: 3.3125rem;
  padding: 0;
  background: #fefefe;
  box-shadow: 0 0 0.625rem rgba(60, 63, 64, 0.5);
}

.c-quick__search .select2-container .select2-search input {
  margin: 0;
  width: 100%;
  height: 3.3125rem !important;
  border: none;
  padding: 0.9375rem;
}

.c-quick__search .select2-container .select2-choice {
  border-color: #8a8a8a;
}

.c-quick__search .select2-container .select2-choice .select2-chosen {
  margin: 0.4375rem 0.5rem;
  font-size: 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-quick__search .select2-container .select2-choice .select2-chosen {
    font-size: 1rem;
  }
}

.c-quick__search .select2-results {
  font-size: 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-quick__search .select2-results {
    font-size: 1rem;
  }
}

.c-quick__search .ui-select-no-choice {
  padding: 0.9375rem;
  color: #aaa;
}

.c-quick__filter-toggle {
  padding: 0.625rem;
  margin: 0 0 0 0.625rem;
  height: 3.4375rem;
  border: 1px solid #8a8a8a;
  cursor: pointer;
}

@media screen and (min-width: 40em) {
  .c-quick__filter-toggle {
    padding: 0.9375rem;
  }
}

.c-quick__filter-toggle:hover, .c-quick__filter-toggle:focus, .c-quick__filter-toggle:active {
  background: #ddd;
}

.c-quick__filter-toggle.is-active {
  background: #999;
}

.c-quick__filter__button, .c-quick__filter__select {
  width: 100%;
  margin: 0 0 1.25rem;
}

.c-quick__filter__button {
  position: relative;
  font-size: 0.6875rem;
}

@media screen and (min-width: 40em) {
  .c-quick__filter__button {
    font-size: 0.8125rem;
  }
}

.c-quick__filter__button.c-button--hollow:focus, .c-quick__filter__button.c-payment__guest-select__button:focus {
  background: #fefefe !important;
  color: #3c3f40 !important;
}

.c-quick__filter__button__icon {
  fill: #fefefe;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-10px, -50%);
}

.c-quick__filter__select {
  font-size: 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-quick__filter__select {
    font-size: 1rem;
  }
}

.c-quick__no-events {
  position: absolute;
  left: 0.0625rem;
  right: 0.0625rem;
  top: 0.0625rem;
  background: white;
  padding: 1.125rem 1rem 1rem;
  font-size: 0.75rem;
}

@media screen and (min-width: 40em) {
  .c-quick__no-events {
    padding: 0.875rem 1rem;
    font-size: 1rem;
  }
}

.c-quick__no-events span {
  text-decoration: underline;
}

.c-quick__availability {
  padding: 0 0 1.25rem;
  margin: 0 0 1.25rem;
  border-bottom: 1px solid #eee;
}

.c-quick__add {
  position: relative;
  padding: 1.25rem;
}

.c-quick__add .c-spinner {
  position: absolute;
  right: 0.625rem;
  top: 0.625rem;
}

.c-quick__info {
  position: relative;
  top: -1.5625rem;
  font-size: 0.875rem;
  margin: 0 0 -0.625rem;
}

.c-quick__info a {
  color: #8a8a8a;
}

.c-quick__info .c-icon {
  margin: 0 0 0 0.3125rem;
}

.c-quick .c-avail-slider__header {
  padding-top: 0;
}

@media screen and (min-width: 40em) {
  .c-quick .c-avail-slider__header {
    padding: 0 0 1.25rem;
  }
}

@media screen and (min-width: 40em) {
  .c-quick .c-avail-slider__slider {
    margin: 0 -3.125rem;
  }
}

@media screen and (min-width: 40em) {
  .c-quick .c-time-picker {
    margin-bottom: 2rem;
  }
}

.c-quick .c-time-picker__container {
  max-width: 100%;
}

.c-quick .c-time-picker__spinner {
  left: 0.625rem;
}

.c-quick .c-preferred-time {
  padding: 0;
  min-height: 6.4375rem;
}

/*------------------------------------*\
    #REGISTER
\*------------------------------------*/

.c-register__success {
  text-align: center;
}

.c-register__success p {
  margin-top: 0.9375rem;
}

/*------------------------------------*\
    #PROPERTY-SELECT
\*------------------------------------*/

.c-related {
  text-align: center;
  max-width: 78.75rem;
  margin: auto;
}

.c-related__header {
  font-size: 1.75rem;
  padding: 3.75rem 1.25rem 1.25rem;
}

/*------------------------------------*\
    #RESERVATION
\*------------------------------------*/

.c-reservation-edit .c-basket__reservation {
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 0.9375rem 0 0;
  margin: 0 0 2.5rem;
}

/*------------------------------------*\
    #SUMMARY
\*------------------------------------*/

.c-review {
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-review {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-review {
    margin-bottom: 3.125rem;
  }
}

.c-review > .grid-x {
  margin-bottom: 1.25rem;
}

.c-review__heading {
  padding: 0.625rem 0.625rem 0;
}

.c-review__guests {
  padding-right: 1rem;
  margin: 0 0 1rem;
}

.c-review__guest {
  position: relative;
  background: #fefefe;
  margin: 0 0 0.3125rem;
  padding: 1rem;
}

.c-review__guest__edit {
  position: relative;
  margin: 0 0 0.625rem;
}

@media print, screen and (min-width: 40em) {
  .c-review__guest__edit .grid-x {
    margin: 0 -0.625rem;
  }

  .c-review__guest__edit .cell {
    padding: 0 0.625rem;
  }
}

.c-review__guest__edit.ng-enter {
  opacity: 0;
  animation: 500ms fadeInDown 0.25s ease-in-out forwards;
}

.c-review__guest .c-form__required {
  position: absolute;
  float: none;
  top: 0.1875rem;
  right: 0.625rem;
  margin: 0;
}

.c-review__guest .c-form__required:before {
  top: 0;
  right: 0;
}

.c-review__guest input, .c-review__guest select {
  transition: background 500ms ease, border 500ms ease;
  contain: layout;
}

.c-review__guest input:disabled, .c-review__guest input:disabled, .c-review__guest select:disabled, .c-review__guest select:disabled {
  background-color: #eee;
  border-color: transparent;
}

.c-review__guest input[type="checkbox"], .c-review__guest select[type="checkbox"] {
  margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
  .c-review__guest:hover .c-review__edit, .c-review__guest:focus .c-review__edit, .c-review__guest:active .c-review__edit {
    opacity: 0.5;
  }
}

.c-review__edit {
  position: absolute;
  z-index: 20;
  right: 1rem;
  top: 1rem;
  opacity: 0.5;
  cursor: pointer;
  font-size: 0.75rem;
  text-transform: uppercase;
  transition: opacity 250ms ease, color 250ms ease;
  contain: layout;
}

@media print, screen and (min-width: 40em) {
  .c-review__edit {
    opacity: 0.01562rem;
  }
}

.c-review__edit path {
  transition: fill 250ms ease;
  contain: layout;
}

.c-review__edit:hover, .c-review__edit:focus, .c-review__edit:active {
  opacity: 1;
}

.c-review__name .cell:first-child .c-form__required {
  width: 1.4375rem;
  overflow: hidden;
}

@media print, screen and (min-width: 40em) {
  .c-review__name .cell:first-child .c-form__required {
    width: auto;
  }
}

.c-review__basket {
  position: relative;
}

.c-review__basket__buttons {
  text-align: center;
}

.c-review__buttons {
  text-align: center;
}

.c-review .c-review__buttons {
  display: none;
}

.c-review__box {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-review__box {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-review__box {
    margin-bottom: 3.125rem;
  }
}

.c-review__box__header {
  display: block;
  padding: 1.25rem;
  text-transform: uppercase;
  color: #fefefe;
  text-align: center;
  font-size: 1.25rem;
}

.c-review__box__value {
  display: block;
  padding: 1.25rem;
  background: #f9f9f9;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .c-review__payment__customer {
    text-align: right;
  }
}

@media print, screen and (min-width: 40em) {
  .c-review__payment__address {
    text-align: left;
  }
}

@media screen and (min-width: 40em) {
  .c-review__tcs {
    text-align: right;
  }
}

.c-review__tcs-text {
  vertical-align: middle;
  text-transform: uppercase;
  font-size: 1rem;
}

.c-review__tcs-text.error {
  color: firebrick;
  text-decoration: underline;
}

.c-review__tcs-label input {
  transform: scale(1.5);
}

.c-review__tcs a {
  text-decoration: underline;
}

.c-review .c-form__checkbox input {
  margin-bottom: 0;
}

.c-review .c-form__checkbox span {
  font-size: 1rem;
  color: #3c3f40;
  text-transform: none;
}

/*------------------------------------*\
    #SEARCH MESSAGE
\*------------------------------------*/

.c-search-message {
  display: none;
  padding: 3.125rem 0.9375rem 0.625rem;
  text-align: center;
  color: #3c3f40;
  background: #f3f3f3;
  border: 1px solid #cacaca;
  margin: -3.125rem 0 3.125rem;
  opacity: 0;
  transition: opacity 250ms ease;
}

.c-search-message.is-active {
  display: block;
  opacity: 1;
}

/*------------------------------------*\
    #SEARCH ICON
\*------------------------------------*/

.c-search-icon {
  fill: #fefefe;
  transition: fill 500ms ease;
}

.c-search-icon:hover .c-search-icon__tooltip {
  opacity: 0;
  animation: fadeInDown 0.25s ease-in-out forwards;
}

.has-scrolled .c-search-icon {
  fill: #3c3f40;
}

.c-header .c-search-icon {
  position: relative;
  top: 0.1875rem;
  padding: 0.3125rem 0.3125rem 0.3125rem 0.625rem;
}

.c-search-icon .c-icon {
  cursor: pointer;
}

/*------------------------------------*\
    #SEARCH
\*------------------------------------*/

.c-search {
  position: relative;
  z-index: -100;
  opacity: 0;
  transition: z-index 0s 0s linear, opacity 250ms 0ms ease;
  pointer-events: none;
  width: 75%;
  margin: auto;
  padding: 0 0 3.75rem;
}

@media screen and (min-width: 40em) {
  .c-search {
    width: 50%;
  }
}

.is-open .c-search__inner {
  opacity: 0;
  animation: fadeInUp 0.25s ease-in-out forwards;
}

@media screen and (min-width: 40em) {
  .c-search__fields {
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 1.25rem;
  }

  .c-search__fields > * {
    margin: 0 0.625rem;
    -ms-flex: 1 1 100%;
        flex: 1 1 100%;
  }

  .c-search__fields .c-form__select, .c-search__fields .c-form__input {
    margin: 0;
  }
}

.c-search__button {
  width: 100%;
  max-width: 15.625rem;
  margin: auto;
}

.c-search__close {
  position: absolute;
  top: 0;
  right: 0.625rem;
  font-size: 2.5rem;
  color: #fefefe;
}

.c-search__results-found {
  display: block;
  position: relative;
  top: 0.25rem;
  margin: 0 0 1.25rem;
  font-style: italic;
}

.c-search .c-error {
  color: firebrick;
  font-size: 0.75rem;
}

.c-search.is-fullscreen {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #3c3f40;
  color: #fefefe;
  padding: 0;
}

.c-search.is-fullscreen .c-search__container {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 75%;
}

@media screen and (min-width: 64em) {
  .c-search.is-fullscreen .c-search__container {
    width: 50%;
  }
}

.c-search.is-fullscreen .c-error {
  background: transparent;
  color: #fefefe;
}

.c-search.is-open {
  pointer-events: all;
  z-index: 100;
  opacity: 1;
}

/*------------------------------------*\
    #SELECT
\*------------------------------------*/

.c-select {
  margin: 0 0 0.9375rem;
  height: 3.4375rem;
}

@media screen and (min-width: 40em) {
  .c-select {
    margin: 0 0 2rem;
  }
}

.c-select select, .c-select input {
  margin: 0;
}

.c-select--date {
  position: relative;
  padding: 0;
  height: auto;
  background: #fefefe;
  width: 100%;
}

.c-select--date .c-spinner {
  position: absolute;
  top: 50%;
  right: 0.375rem;
  background: white;
  z-index: 20;
  transform: translateY(-50%);
  width: 2rem;
}

.c-select--date input {
  position: relative;
  z-index: 5;
  width: 100%;
  background: transparent;
  border: 1px solid #cacaca;
  padding: 1.25rem 1rem 0.3125rem;
}

.c-filters .c-select--date input {
  height: auto;
  padding: 0.5rem 3rem 0.5rem 0.625rem;
  font-size: 0.875rem;
}

.c-select--date input[readonly], .c-select--date input:disabled, .c-select--date input:hover, .c-select--date input:focus, .c-select--date input:active {
  background: transparent;
  box-shadow: none;
}

.c-select--date input:hover, .c-select--date input:focus, .c-select--date input:active {
  border: 1px solid #8a8a8a;
  outline: none;
}

.c-select--date .c-icon {
  position: absolute;
  z-index: 1;
  width: 1.75rem;
  height: 1.75rem;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  fill: rgba(60, 63, 64, 0.65);
}

.c-filters .c-select--date .c-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.c-select--date .c-icon svg {
  width: 100%;
  height: 100%;
}

.c-filters .c-select--filter, .c-filters .c-select--date, .c-filters .c-select--categories, .c-filters .c-select--duration {
  display: inline-block;
  max-width: 100%;
}

@media print, screen and (min-width: 64em) {
  .c-filters .c-select--filter, .c-filters .c-select--date, .c-filters .c-select--categories, .c-filters .c-select--duration {
    width: 12.5rem;
    margin-right: 0.625rem;
  }
}

.c-select--small {
  height: auto;
  font-size: 0.875rem;
}

.c-select--categories {
  display: none;
}

.c-filters .c-select--categories {
  display: none;
  height: auto;
  font-size: 0.875rem;
  padding: 0.5rem 1.625rem 0.5rem 0.625rem;
}

.s-days .c-select--categories-days {
  display: block;
}

.s-treatments .c-select--categories-treatments {
  display: block;
}

.c-select--categories.is-visible {
  display: block;
}

.c-select--categories.ng-enter-active {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
}

.c-select--categories--selected {
  display: block;
}

/*------------------------------------*\
    #SELECT2
\*------------------------------------*/

.ng-invalid.ng-touched .select2-container-multi .select2-choices, .ng-invalid.ng-touched .select2-container-multi .select2-choice, .ng-invalid.ng-touched .select2-container .select2-choices, .ng-invalid.ng-touched .select2-container .select2-choice {
  border-color: firebrick;
}

.select2-container-multi, .select2-container {
  width: 100%;
  margin-bottom: 2rem;
}

.select2-container-multi.select2-container-active .select2-choices, .select2-container-multi.select2-container-active .select2-choice, .select2-container.select2-container-active .select2-choices, .select2-container.select2-container-active .select2-choice {
  box-shadow: none;
  border: 1px solid #8a8a8a;
  background: #fefefe;
}

.select2-container-multi .select2-search input, .select2-container .select2-search input {
  background-image: none !important;
}

.select2-container-multi .select2-choices, .select2-container-multi .select2-choice, .select2-container .select2-choices, .select2-container .select2-choice {
  min-height: 3.4375rem !important;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-image: none;
  line-height: 1.3125rem;
}

.select2-container-multi .select2-choices .select2-arrow, .select2-container-multi .select2-choice .select2-arrow, .select2-container .select2-choices .select2-arrow, .select2-container .select2-choice .select2-arrow {
  background: none;
  width: 3rem;
  border: none;
}

.select2-container-multi .select2-choices .select2-arrow b, .select2-container-multi .select2-choice .select2-arrow b, .select2-container .select2-choices .select2-arrow b, .select2-container .select2-choice .select2-arrow b {
  background-image: none !important;
  background-size: 20px !important;
  background-position: 13px 22px;
}

.select2-container-multi .select2-choices .select2-arrow .icon, .select2-container-multi .select2-choice .select2-arrow .icon, .select2-container .select2-choices .select2-arrow .icon, .select2-container .select2-choice .select2-arrow .icon {
  line-height: 2.4375rem;
  padding: 0 1rem;
}

.select2-container-multi .select2-choices .select2-search-choice, .select2-container-multi .select2-choice .select2-search-choice, .select2-container .select2-choices .select2-search-choice, .select2-container .select2-choice .select2-search-choice {
  background-image: none;
  color: #fefefe;
  padding: 15px 10px 15px 30px;
  margin: 9px 0 9px 10px;
  box-shadow: none;
  border: none;
}

.select2-container-multi .select2-choices .select2-search-choice:last-child, .select2-container-multi .select2-choice .select2-search-choice:last-child, .select2-container .select2-choices .select2-search-choice:last-child, .select2-container .select2-choice .select2-search-choice:last-child {
  margin-right: 5px;
}

.select2-container-multi .select2-choices .select2-search-field input, .select2-container-multi .select2-choice .select2-search-field input, .select2-container .select2-choices .select2-search-field input, .select2-container .select2-choice .select2-search-field input {
  padding-left: 15px;
}

.select2-container-multi .select2-choices .select2-chosen, .select2-container-multi .select2-choice .select2-chosen, .select2-container .select2-choices .select2-chosen, .select2-container .select2-choice .select2-chosen {
  margin: 0.5625rem 0.5rem;
  padding: 0.5625rem 0;
}

.select2-container-multi .select2-choices.select2-default .select2-chosen, .select2-container-multi .select2-choice.select2-default .select2-chosen, .select2-container .select2-choices.select2-default .select2-chosen, .select2-container .select2-choice.select2-default .select2-chosen {
  color: #cacaca;
}

.select2-container-multi .select2-result-single, .select2-container .select2-result-single {
  margin: 6px;
}

.select2-container-multi .select2-results .select2-result-label, .select2-container .select2-results .select2-result-label {
  padding-left: 10px;
  padding-right: 10px;
}

.select2-container-multi .select2-results .select2-disabled, .select2-container .select2-results .select2-disabled {
  color: #999;
}

.select2-container-multi .select2-results .select2-highlighted.select2-disabled, .select2-container .select2-results .select2-highlighted.select2-disabled {
  color: #fefefe;
}

.select2-container-multi .select2-search-choice-close, .select2-container-multi .select-search-choice-close:hover, .select2-container .select2-search-choice-close, .select2-container .select-search-choice-close:hover {
  margin-left: 8px;
  display: block;
  width: 10px;
  margin-top: 10px;
  background-size: contain !important;
  background-image: none !important;
  filter: invert();
  background-position: center !important;
}

.select2-container-multi .select2-search input, .select2-container .select2-search input {
  margin: 15px 6px 6px 6px;
  height: 1.6875rem !important;
  padding: 0.5rem;
  width: calc(100% - 12px);
}

.ui-select-container.select2.direction-up .ui-select-dropdown, .select2-drop-active {
  border-radius: 0;
  box-shadow: none;
  margin-top: 0;
  border: 1px solid #8a8a8a;
}

.select2-drop-active {
  margin-top: -1px;
}

.ui-select-container.select2.direction-up .ui-select-dropdown {
  margin-top: 1px;
}

.select2-container-disabled .select2-choice .select2-arrow {
  display: none;
}

/*------------------------------------*\
    #SHORTLIST
\*------------------------------------*/

.c-shortlist {
  background: #f2f2f2;
  height: 100%;
}

.c-shortlist__inner {
  padding: 2.5rem 1.875rem;
}

@media print, screen and (min-width: 40em) {
  .c-shortlist__inner {
    padding: 2.5rem;
  }
}

.c-shortlist__heading {
  text-align: center;
  margin-bottom: 1.875rem;
}

.c-shortlist__text {
  color: #8a8a8a;
}

@media print, screen and (min-width: 40em) {
  .c-shortlist__text {
    margin: 0 1.875rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-shortlist__text {
    max-width: 37.5rem;
    margin: auto;
  }
}

.c-shortlist__grid {
  margin: 1.875rem auto;
}

@media print, screen and (min-width: 64em) {
  .c-shortlist__grid {
    max-width: 37.5rem;
  }
}

.c-shortlist__anchor {
  text-transform: uppercase;
  text-align: center;
}

/*------------------------------------*\
    #SLAB
\*------------------------------------*/

.c-slab--gray, .c-slab--light-gray {
  background: #f2f2f2;
  padding: 1.25rem 0;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-slab--gray, .c-slab--light-gray {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-slab--gray, .c-slab--light-gray {
    margin-bottom: 3.125rem;
  }
}

@media print, screen and (min-width: 40em) {
  .c-slab--gray, .c-slab--light-gray {
    padding: 2.5rem 0;
  }
}

.c-slab--light-gray {
  background: #f9f9f9;
}

.c-slab--info {
  padding: 1rem 1rem 0.0625rem;
  background: #d1edfc;
}

/*------------------------------------*\
    #SOCIAL
\*------------------------------------*/

.c-social__icon {
  position: relative;
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #cacaca;
  fill: #fefefe;
  transition: background 250ms ease-in-out;
  contain: layout;
  vertical-align: middle;
}

.c-social__icon .c-icon {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  width: 50%;
  height: 50%;
}

.c-social__icon svg {
  width: 100%;
  height: 100%;
}

/*------------------------------------*\
    #STAFF SELECT
\*------------------------------------*/

.c-staff-select {
  position: relative;
}

.c-staff-select.select2 {
  padding: 0;
  width: 100%;
}

.c-staff-select.select2 .select2-choice {
  height: 3.9375rem;
  padding-right: 3rem;
}

.c-staff-select.select2 .select2-chosen {
  padding-top: 1.25rem;
}

.c-staff-select.select2 .select2-search {
  display: none;
}

.c-staff-select.select2 .select2-arrow:after {
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #aaa transparent transparent;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 0);
}

.c-staff-select__container {
  position: relative;
}

/*------------------------------------*\
    #STATUS BANNER
\*------------------------------------*/

.c-status-banner, .c-offer-banner {
  margin: 0 0 1.25rem;
}

.c-status-banner:before, .c-offer-banner:before {
  display: block;
  position: relative;
  height: 1px;
  width: 100%;
  margin: 0 0 1.25rem;
  border-bottom: 1px solid #cacaca;
  content: '';
}

/*------------------------------------*\
    #STEP
\*------------------------------------*/

.c-step {
  position: relative;
  display: inline-block;
  width: 1.875rem;
  height: 6.25rem;
}

@media print, screen and (min-width: 64em) {
  .c-step {
    width: 6.25rem;
    height: 6.25rem;
  }
}

.c-step:not(:first-child) {
  margin-left: 1.875rem;
}

.c-step:not(:first-child):before {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 3.75rem;
  height: 0.0625rem;
  background: #cacaca;
  transform: translate(-100%, -50%);
  z-index: -1;
  content: '';
  transition: background 250ms ease-in-out;
  contain: layout;
}

@media print, screen and (min-width: 64em) {
  .c-step:not(:first-child):before {
    width: 7.5rem;
  }
}

.c-step__indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #f2f2f2;
  color: #fefefe;
  border: 1px solid #f2f2f2;
  width: 1.5625rem;
  height: 1.5625rem;
  border-radius: 100%;
  cursor: pointer;
  transition: background 250ms ease-in-out, border-color 250ms ease-in-out;
  contain: layout;
}

.c-step__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-30%, -310%);
  color: #8a8a8a;
  font-size: 0.8125rem;
  cursor: pointer;
  width: 6.25rem;
  text-align: left;
}

@media print, screen and (min-width: 64em) {
  .c-step__text {
    width: 100%;
    transform: translate(-50%, -220%);
    font-size: 0.9375rem;
    text-align: center;
  }
}

.c-step__text span {
  display: block;
  transform: rotate(-45deg);
}

@media print, screen and (min-width: 64em) {
  .c-step__text span {
    transform: none;
  }
}

.is-current .c-step__text {
  color: #3c3f40;
}

/*------------------------------------*\
    #SPINNER
\*------------------------------------*/

.c-spinner {
  width: 1.875rem;
  height: 1.875rem;
}

/*------------------------------------*\
    #STRENGTH METER
\*------------------------------------*/

.c-strength-meter {
  position: relative;
  height: 0.1875rem;
  background: #ddd;
  margin: 0.625rem 0 1.25rem;
  border-radius: 0.1875rem;
}

.c-strength-meter:before, .c-strength-meter:after {
  content: '';
  height: inherit;
  background: transparent;
  display: block;
  border-color: #fefefe;
  border-style: solid;
  border-width: 0 5px 0 5px;
  position: absolute;
  width: calc(20% + 5px);
  z-index: 10;
}

.c-strength-meter:before {
  left: 20%;
}

.c-strength-meter:after {
  right: 20%;
}

.c-strength-meter__fill {
  background: transparent;
  height: inherit;
  position: absolute;
  width: 0;
  border-radius: inherit;
  transition: width 0.5s ease-in-out, background 0.25s;
}

.c-strength-meter__fill[data-strength='0'] {
  background: firebrick;
  width: 20%;
}

.c-strength-meter__fill[data-strength='1'] {
  background: orangered;
  width: 40%;
}

.c-strength-meter__fill[data-strength='2'] {
  background: orange;
  width: 60%;
}

.c-strength-meter__fill[data-strength='3'] {
  background: yellowgreen;
  width: 80%;
}

.c-strength-meter__fill[data-strength='4'] {
  background: #58dd75;
  width: 100%;
}

/*------------------------------------*\
    #TEXT
\*------------------------------------*/

.c-text__inner {
  text-align: center;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-text__inner {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-text__inner {
    margin-bottom: 3.125rem;
  }
}

@media screen and (min-width: 75em) {
  .c-text__inner {
    margin-bottom: 3.75rem;
  }
}

.c-text__headings {
  text-align: center;
  margin-bottom: 1rem;
}

@media print, screen and (min-width: 40em) {
  .c-text__headings {
    margin-bottom: 1.25rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-text__headings {
    margin-bottom: 1.5625rem;
  }
}

.c-text__body {
  margin: auto auto;
  max-width: 80%;
}

@media print, screen and (min-width: 40em) {
  .c-text__body {
    max-width: 60%;
    margin: auto auto;
  }
}

.c-text--left .c-text__inner, .c-text--left .c-text__headings {
  text-align: left;
}

.c-text--left .c-text__body {
  margin-left: 0;
  max-width: none;
}

@media print, screen and (min-width: 40em) {
  .c-text--left .c-text__body {
    margin-bottom: 3.125rem;
  }
}

.c-text--left .c-text__button {
  margin-left: 0;
}

/*------------------------------------*\
    #TILE
\*------------------------------------*/

.c-tile {
  display: inline-block;
  position: relative;
  z-index: 1;
  width: calc(100% - 1.625rem);
  margin: 0 0.625rem 2.5rem;
  background: #fefefe;
  box-shadow: 0 2px 25px rgba(60, 63, 64, 0.25);
  vertical-align: top;
}

.c-tile:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  box-shadow: 0 10px 40px rgba(60, 63, 64, 0.5);
  z-index: -1;
  opacity: 0;
  transition: opacity 500ms ease-in-out;
}

.c-tile:hover:after, .c-tile:focus:after, .c-tile:active:after {
  opacity: 1;
}

@media print, screen and (min-width: 40em) {
  .c-tile {
    width: calc(50% - 1.625rem);
  }
}

@media print, screen and (min-width: 64em) {
  .c-tile {
    width: calc(33.3333% - 1.625rem);
  }
}

@media screen and (min-width: 75em) {
  .c-tile {
    width: calc(25% - 1.625rem);
  }
}

.c-tile__image {
  position: relative;
  width: 100%;
  height: 9.375rem;
  background: #f2f2f2 no-repeat center center;
  background-size: cover;
  transition: opacity 250ms ease-in-out;
}

@media print, screen and (min-width: 40em) {
  .c-tile__image {
    height: 13.75rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-tile__image {
    height: 17.5rem;
  }
}

.js-grid__item--not-available .c-tile__image, .js-grid__item--disabled .c-tile__image {
  opacity: 0.5;
}

.c-tile__image.no-js {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.c-tile__price {
  position: absolute;
  right: 0;
  bottom: 0;
  color: #fefefe;
  background: rgba(60, 63, 64, 0.6);
  background-blend-mode: multiply;
  padding: 0.625rem 1rem;
  font-size: 0.8125rem;
  opacity: 1;
  transition: opacity 250ms ease;
  text-align: right;
}

@media print, screen and (min-width: 40em) {
  .c-tile__price {
    font-size: 1rem;
  }
}

.c-tile__price.ng-hide-add {
  opacity: 0;
  animation: 250ms fadeIn 0 ease-in-out forwards reverse;
}

.c-tile__price.ng-hide-remove {
  opacity: 0;
  animation: 250ms fadeOut 0 ease-in-out forwards reverse;
}

.js-grid__item--not-available .c-tile__price, .js-grid__item--disabled .c-tile__price {
  opacity: 0;
}

.c-tile__offer {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10;
  text-align: center;
  overflow: hidden;
  padding: 0.4375rem 0.3125rem;
  opacity: 0.75;
  transition: opacity 500ms ease;
}

.c-tile__offer.ng-hide {
  opacity: 0;
}

@media print, screen and (min-width: 40em) {
  .c-tile--thin .c-tile__offer {
    left: 35%;
    top: auto;
    bottom: 0;
    padding: 0.625rem 0.3125rem;
    opacity: 1;
    font-size: 1rem;
  }
}

.c-tile__headings {
  text-align: initial;
}

.c-tile__preheading {
  margin: 0.625rem 0.625rem;
  text-transform: uppercase;
  font-size: 0.875rem;
}

@media print, screen and (min-width: 40em) {
  .c-tile__preheading {
    margin: 0.625rem 1rem;
  }
}

.c-tile__heading {
  margin: 0.625rem 0.625rem 0.9375rem;
  overflow: hidden;
  font-size: 1.375rem;
}

@media print, screen and (min-width: 40em) {
  .c-tile__heading {
    margin: 0.625rem 1rem 0.9375rem;
    height: 5.9375rem;
  }
}

.c-tile__heading__offer {
  opacity: 1;
  transition: opacity 500ms ease;
}

.c-tile__heading__offer.ng-hide-remove {
  opacity: 0;
}

.c-tile__overlay {
  position: absolute;
  z-index: 25;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.75);
  color: #3c3f40;
  opacity: 0;
  transition: opacity 250ms ease-in-out;
}

.c-tile__overlay__inner {
  position: absolute;
  left: 50%;
  top: 40%;
  text-align: center;
  transform: translate(-50%, -50%);
  width: 75%;
}

@media print, screen and (min-width: 40em) {
  .c-tile__overlay__inner {
    top: 28%;
  }
}

@media print, screen and (min-width: 64em) {
  .c-tile__overlay__inner {
    top: 30%;
  }
}

.c-tile--thin .c-tile__overlay__inner {
  top: 50%;
}

.c-tile__overlay__inner .c-button, .c-tile__overlay__inner .c-payment__guest-select__button {
  margin-bottom: 0;
}

.c-tile--thin .c-tile__overlay__inner .c-button, .c-tile--thin .c-tile__overlay__inner .c-payment__guest-select__button {
  margin-bottom: 0;
}

.c-tile__overlay p {
  text-transform: uppercase;
}

.js-grid__item--not-available .c-tile__overlay, .js-grid__item--disabled .c-tile__overlay {
  opacity: 1;
}

.c-tile__overlay--show {
  opacity: 1;
}

.c-tile__overlay--lower .c-tile__overlay__inner {
  top: 82.5%;
}

.c-tile__anchor {
  position: absolute;
  z-index: 30;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.c-tile__anchor:before, .c-tile__anchor:after {
  position: absolute;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: '';
  border: 2px solid transparent;
  width: 0;
  height: 0;
  left: 0;
  top: 0;
}

.c-tile__anchor:hover:before, .c-tile__anchor:hover:after, .c-tile__anchor:focus:before, .c-tile__anchor:focus:after, .c-tile__anchor:active:before, .c-tile__anchor:active:after {
  width: 100%;
  height: 100%;
}

.c-tile__anchor:hover:before, .c-tile__anchor:focus:before, .c-tile__anchor:active:before {
  transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
  contain: layout;
}

.c-tile__anchor:hover:after, .c-tile__anchor:focus:after, .c-tile__anchor:active:after {
  transition: height 0.25s ease-out, width 0.25s ease-out 0.25s;
  contain: layout;
}

.c-tile__anchor span {
  opacity: 0;
}

.c-tile--thin {
  display: block;
  margin: 0 auto 1.5625rem;
  background: #fefefe;
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .c-tile--thin {
    height: 9.375rem;
  }
}

.c-tile--thin .c-tile__image {
  display: inline-block;
  position: relative;
  height: 9.375rem;
  background: no-repeat center center;
  background-size: cover;
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .c-tile--thin .c-tile__image {
    width: 35%;
    height: 100%;
  }
}

.c-tile--thin .c-tile__image.no-js {
  position: absolute;
  right: auto;
}

.c-tile--thin .c-tile__content {
  vertical-align: top;
}

@media print, screen and (min-width: 40em) {
  .c-tile--thin .c-tile__content {
    display: inline-block;
    width: 63%;
  }
}

.c-tile--thin .c-tile__headings {
  overflow: hidden;
}

.c-tile--thin .c-tile__preheading {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  height: auto;
}

.c-tile--thin .c-tile__heading {
  overflow: hidden;
}

@media print, screen and (min-width: 40em) {
  .c-tile--thin .c-tile__heading {
    height: 3.875rem;
  }
}

.c-tile--thin .c-tile__link-text {
  display: none;
}

@media print, screen and (min-width: 40em) {
  .c-tile--thin .c-tile__link-text {
    display: block;
    margin: 0 1rem;
  }
}

.c-tile--carousel {
  width: 16.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-tile--carousel {
    width: 18.75rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-tile--carousel {
    width: 20.625rem;
  }
}

.c-tile--carousel .c-tile__image {
  opacity: 0;
}

.c-tile--carousel .c-tile__image.flickity-bg-lazyloaded, .c-tile--carousel .c-tile__image.has-loaded {
  opacity: 1;
}

.c-tile .c-spinner {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 20;
  background: rgba(254, 254, 254, 0.2);
  width: 2.75rem;
  height: 2.75rem;
}

/*------------------------------------*\
    #TIME-PICKER
\*------------------------------------*/

.c-time-picker {
  position: relative;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-time-picker {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-time-picker {
    margin-bottom: 3.125rem;
  }
}

.c-time-picker.select2 {
  padding: 0;
  width: 100%;
}

.c-time-picker.select2 .select2-choice {
  height: 3.9375rem;
}

.c-time-picker.select2 .select2-chosen {
  padding-top: 1.25rem;
}

.c-time-picker.select2 .select2-search {
  display: none;
}

.c-time-picker.select2 .select2-arrow:after {
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #aaa transparent transparent;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 0);
}

.c-time-picker__container {
  position: relative;
  width: 100%;
  max-width: 18.75rem;
  min-height: 5.1875rem;
}

.c-time-picker__container > div {
  transition: opacity 500ms ease;
}

.c-time-picker__container > div.ng-hide {
  opacity: 0;
}

.c-time-picker__container > div.ng-show-animate {
  opacity: 0;
  animation: fadeIn 0.25s ease-in-out forwards reverse;
}

.c-time-picker__values {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  border-bottom: 1px solid #efefef;
}

.c-time-picker__values--selected {
  margin-right: 3.4375rem;
  border: none;
}

.select2-container-disabled .c-time-picker__values--selected {
  margin-right: 0.5rem;
}

.c-time-picker__spinner {
  position: absolute;
  left: 0.3125rem;
  top: 1.6875rem;
  z-index: 10;
}

.c-time-picker__time, .c-time-picker__price {
  font-size: 0.875rem;
}

@media screen and (min-width: 40em) {
  .c-time-picker__time, .c-time-picker__price {
    font-size: 1rem;
  }
}

/*------------------------------------*\
    #UPGRADE
\*------------------------------------*/

.c-upgrade__guest {
  display: inline-block;
  border-bottom: 2px solid #ccc;
  padding: 0 0.625rem;
  margin: 0.625rem;
}

.c-upgrade__container {
  position: relative;
  border: 1px solid #ddd;
  box-shadow: 0 2px 10px rgba(60, 63, 64, 0.25);
  margin: 0 0 0.625rem;
  min-height: 9.375rem;
}

.c-upgrade__container--option {
  min-height: 0;
}

.c-upgrade__container:after {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  content: '';
  width: 100%;
  height: 1px;
  background: #ddd;
  z-index: 2;
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__container:after {
    width: 1px;
    height: 100%;
  }
}

.c-upgrade__event {
  padding: 1.25rem;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__event {
    text-align: left;
    min-height: 6.875rem;
  }
}

.c-upgrade__event__parent {
  display: inline-block;
  text-transform: uppercase;
  font-size: 0.75rem;
  margin: 0 0 0.3125rem;
}

.c-upgrade__event--original {
  opacity: 0.75;
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__event--original {
    padding-right: 3.125rem;
  }
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__event--upgrade {
    text-align: right;
    padding-left: 3.125rem;
  }
}

.c-upgrade__image {
  display: block;
  position: relative;
  width: 100%;
  height: 9.375rem;
  background: no-repeat center center;
  background-size: cover;
  backface-visibility: none;
}

.c-upgrade__image--original.has-loaded {
  opacity: 0.75;
}

.c-upgrade__option-price {
  display: block;
  position: relative;
  width: 100%;
  height: 1.5625rem;
}

.c-upgrade__option-price--original {
  opacity: 0.75;
}

.c-upgrade__chevron {
  position: relative;
  z-index: 20;
  width: 100%;
  text-align: center;
  padding: 0 0 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__chevron {
    position: absolute;
    left: 50%;
    top: 50%;
    width: auto;
    transform: translate(-50%, 50%);
    padding: 0;
  }
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__chevron--short {
    position: absolute;
    left: 50%;
    top: 20% !important;
    width: auto;
    transform: translate(-50%) !important;
    padding: 0;
  }
}

.c-upgrade__chevron__text {
  position: absolute;
  left: 50%;
  top: 0.625rem;
  transform: translate(-50%, 0);
  margin: 0 0 0.625rem;
  text-transform: uppercase;
  font-size: 0.75rem;
}

@media screen and (min-width: 40em) {
  .c-upgrade__chevron__text {
    position: static;
    transform: none;
  }
}

.c-upgrade__chevron .c-icon {
  padding: 0.625rem;
  width: 2.625rem;
  height: 2.625rem;
  fill: #3c3f40;
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__chevron .c-icon {
    padding: 0.625rem 0.625rem 0.625rem 0.75rem;
  }
}

.c-upgrade__icon {
  background: #f3f3f3;
  border: 1px solid #eee;
}

.c-upgrade__right {
  display: none;
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__right {
    display: block;
  }
}

.c-upgrade__down {
  display: block;
  padding-top: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__down {
    display: none;
  }
}

.c-upgrade__success {
  color: #111111;
  margin-bottom: 1.25rem;
  text-align: center;
  padding: 0.625rem;
  background: #58dd75;
}

@media print, screen and (min-width: 40em) {
  .c-upgrade__success {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-upgrade__success {
    margin-bottom: 3.125rem;
  }
}

.c-upgrade__success .c-icon {
  fill: #111111;
  position: relative;
  top: -0.125rem;
  margin-right: 0.3125rem;
  border: 1px solid;
  border-radius: 50%;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0.375rem;
}

/*------------------------------------*\
    #UPSELL
\*------------------------------------*/

.c-upsell__upgrades, .c-upsell__events {
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .c-upsell__upgrades, .c-upsell__events {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .c-upsell__upgrades, .c-upsell__events {
    margin-bottom: 3.125rem;
  }
}

.c-upsell__upgrade {
  margin-bottom: 1.25rem;
}

@media screen and (min-width: 40em) {
  .c-upsell__upgrade {
    margin-bottom: 0;
  }
}

.c-upsell__events .c-tile {
  width: 100%;
  max-width: 40.625rem;
}

.c-upsell__events .c-tile__heading {
  height: 4.375rem;
  white-space: normal;
}

/*------------------------------------*\
    #XY-GRID
\*------------------------------------*/

@media screen and (min-width: 75em) {
  .grid-x > .xlarge-3 {
    width: calc(25% - 3.75rem);
    margin-right: 1.875rem;
    margin-left: 1.875rem;
  }
}

@media screen and (min-width: 75em) {
  .grid-x > .xlarge-6 {
    width: calc(50% - 3.75rem);
    margin-right: 1.875rem;
    margin-left: 1.875rem;
  }
}

/**
 * Scopes
 */


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