/*! normalize.css v1.0.1 | MIT License | git.io/normalize */

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

/*
 * Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3.
 */

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

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

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

/*
 * Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3,
 * and Safari 4.
 * Known issue: no IE 6 support.
 */

[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/*
 * 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

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

/*
 * Addresses `font-family` inconsistency between `textarea` and other form
 * elements.
 */

html,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

/*
 * Addresses margins handled incorrectly in IE 6/7.
 */

body {
  margin: 0;
  font-size: 1em;
  line-height: 1.4;
}

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

/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
  outline: thin dotted;
}

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

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

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

/*
 * 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improves image quality when scaled in IE 7.
 */

img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
  vertical-align: middle;
}

/*
 * Corrects overflow displayed oddly in IE 9.
 */

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

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

@font-face {
  font-family: 'Open Sans';
  src: url(/assets/open-sans/opensans-light-f728969aa4cb07d424080d6ba728c3bd095f91583d7496930bf7ba2a2acaae15.eot);
  src:
    url(/assets/open-sans/opensans-light-f728969aa4cb07d424080d6ba728c3bd095f91583d7496930bf7ba2a2acaae15.eot?#iefix) format('embedded-opentype'),
    url(/assets/open-sans/opensans-light-f3d83a9719d973ac30c86bc5e0f0d3f27b530842bc01bb8991275067703ce140.woff2) format('woff2'),
    url(/assets/open-sans/opensans-light-6aebe0bc4d960da0debab87171dbc55ec8d0938eccce947ed4064f99da3714ab.woff) format('woff'),
    url(/assets/open-sans/opensans-light-0aa987f1bc97fce237d272fb117e73597ef950037b32bf9c44b5cf21dbee201b.ttf) format('truetype'),
    url(/assets/open-sans/opensans-light-33ef08a857f5747b8f1386d10233ee490900d3a497a88f0c039fec78a3666a9a.svg#light) format('svg');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans';
  src: url(/assets/open-sans/opensans-light-italic-6b33bb8f99dba33f719f8b538411fd065694f53b88d7eda3ca5fa79f2879e76f.eot);
  src:
    url(/assets/open-sans/opensans-light-italic-6b33bb8f99dba33f719f8b538411fd065694f53b88d7eda3ca5fa79f2879e76f.eot?#iefix) format('embedded-opentype'),
    url(/assets/open-sans/opensans-light-italic-c12c67206552acbbf9cd7973e0b73e96dc2cd52c6f8a827aeed9e46285879c57.woff2) format('woff2'),
    url(/assets/open-sans/opensans-light-italic-773489e2ae1ecb8d1fecf665c05a86cc59645e39b3644cf3742e312eb16d5947.woff) format('woff'),
    url(/assets/open-sans/opensans-light-italic-67684a511c6f0fd03578ec95fd6b1623f7bd33df7fec4f5d2b92aefc7727267c.ttf) format('truetype'),
    url(/assets/open-sans/opensans-light-italic-51a87c6c6040bce8dbf1bf0004925da27b1bcc7ef464fb05799613619050b307.svg#regular) format('svg');
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'Open Sans';
  src: url(/assets/open-sans/opensans-regular-b3242375facd1aa320475128af454f2dabbe53e887165c77e1da46983fd74ca5.eot);
  src:
    url(/assets/open-sans/opensans-regular-b3242375facd1aa320475128af454f2dabbe53e887165c77e1da46983fd74ca5.eot?#iefix) format('embedded-opentype'),
    url(/assets/open-sans/opensans-regular-3fbda385cb40fea29191a962cfd934ebc1243a5262495f8a37480eed4dc0953e.woff2) format('woff2'),
    url(/assets/open-sans/opensans-regular-05ace240b557f7c631cc381a491a4dba52cc978bbbe8c190034c3919a7af62dd.woff) format('woff'),
    url(/assets/open-sans/opensans-regular-5cdaf5f4b04e06592d90c459db5e9c5ade424a602d002756d1d1bec2586d39f9.ttf) format('truetype'),
    url(/assets/open-sans/opensans-regular-cf2f0f95047cbe7905be9a0ccf8b55b5bf12bcde2b61d24b43bcc501d0674466.svg#regular) format('svg');
  font-weight: normal; /* same as 400 */
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans';
  src: url(/assets/open-sans/opensans-regular-italic-8c0ccd8b4745c93cd380b46c8c8b8652c0643013630b73d05133c5f2e0e6c9b1.eot);
  src:
    url(/assets/open-sans/opensans-regular-italic-8c0ccd8b4745c93cd380b46c8c8b8652c0643013630b73d05133c5f2e0e6c9b1.eot?#iefix) format('embedded-opentype'),
    url(/assets/open-sans/opensans-regular-italic-6daa9e89ee4d0ede93188219b50407f99e3f7943377483d8f41366be17d10be7.woff2) format('woff2'),
    url(/assets/open-sans/opensans-regular-italic-c4bc2c934c89a016b38d63baf5f0bdfa8d827748d81c17f454216058ac1d696b.woff) format('woff'),
    url(/assets/open-sans/opensans-regular-italic-7a6c1a992f007c7b42b8bc19358389aba5be9e2e859f2af227fffa65e8355e74.ttf) format('truetype'),
    url(/assets/open-sans/opensans-regular-italic-aef1734a88db6657a913fbf0706c4d9362cffb7ff3972f8e9e18c5f10bffe5d3.svg#regular) format('svg');
  font-weight: normal; /* same as 400 */
  font-style: italic;
}

@font-face {
  font-family: 'Open Sans';
  src: url(/assets/open-sans/opensans-semibold-500d718680c750dc9a5cbb84985680b06e485b5646d4695eaf07a3341c7e0b72.eot);
  src:
    url(/assets/open-sans/opensans-semibold-500d718680c750dc9a5cbb84985680b06e485b5646d4695eaf07a3341c7e0b72.eot?#iefix) format('embedded-opentype'),
    url(/assets/open-sans/opensans-semibold-398e963e019b067aca78ac3dcc913e9af2bb324ad7c287adae3d7a6b334b5fc9.woff2) format('woff2'),
    url(/assets/open-sans/opensans-semibold-e20769652dd9706979bea9e3b92bcb27af3d47f05e7199fac566a43ebefb291f.woff) format('woff'),
    url(/assets/open-sans/opensans-semibold-ea9af7e30261507b76a8a2d87c825716190e6d590c3ea302a2fab97417250e9c.ttf) format('truetype'),
    url(/assets/open-sans/opensans-semibold-cb8d14b175e7cbfc335f097db9bf6bb66d2762a5c71248d371ff54729ee07d35.svg#regular) format('svg');
  font-weight: 600; /* semibold */
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans';
  src: url(/assets/open-sans/opensans-bold-d67162fd2b40c73a681a7566172ba51f5507b928c9b6ee9ece13a8887f2db6eb.eot);
  src:
    url(/assets/open-sans/opensans-bold-d67162fd2b40c73a681a7566172ba51f5507b928c9b6ee9ece13a8887f2db6eb.eot?#iefix) format('embedded-opentype'),
    url(/assets/open-sans/opensans-bold-0f03116619a86e67f8fc63869cab145bdd158ddef553dc9cb05038686761258c.woff2) format('woff2'),
    url(/assets/open-sans/opensans-bold-ab7b45543bcdc40223db2b6a84f9a5b47b91a5df6754eddeab45cd3ffdb7d19b.woff) format('woff'),
    url(/assets/open-sans/opensans-bold-a292ed5baa82537cd0fcf12da0b23776dc035913aa0e598d821f5e8a9e9b742d.ttf) format('truetype'),
    url(/assets/open-sans/opensans-bold-9a864d5b2dc52e4d22dd7804b47a9e6c1f96e3dbfe8e013fe53d7ba70c19a6fb.svg#bold) format('svg');
  font-weight: bold; /* 700 */
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans';
  src: url(/assets/open-sans/opensans-extrabold-8a6eea707a67c6df1bc905621d593141e6dc964345db22a24364e73b27746099.eot);
  src:
    url(/assets/open-sans/opensans-extrabold-8a6eea707a67c6df1bc905621d593141e6dc964345db22a24364e73b27746099.eot?#iefix) format('embedded-opentype'),
    url(/assets/open-sans/opensans-extrabold-3041e7e248010ef4990013edbd1ea5f00d4cfcc397b5cbbec24c581b3232fee1.woff2) format('woff2'),
    url(/assets/open-sans/opensans-extrabold-4d600b5514211a7c2fe50ed179ec54b106705dfdbd65fcdbb0636b54d84fa5b0.woff) format('woff'),
    url(/assets/open-sans/opensans-extrabold-61acfc411689640430c30a81cbe99d0ca72438c8a0ac73202781f77fdeb7dd4c.ttf) format('truetype'),
    url(/assets/open-sans/opensans-extrabold-5934f815ca980944190b153a1ab2dabe0e9b114aad328ff041a06a3a83d9fbf8.svg#extrabold) format('svg');
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'tickit-icons-frontend';
  src:
    url(/assets/icons/tickit-icons-frontend-a4ee6af48fcbddb4f478b718c803aa1eac9139460246ab03e56accb8e2c12626.eot?6cec4e453be269947e9236d9e7a4ccf8?#iefix)
      format('embedded-opentype'),
    url(/assets/icons/tickit-icons-frontend-ec0b33fa1b3e4134fed5ae8bb965d9e669b256fcdcbefbdcb2aa807761b7f71f.woff2?6cec4e453be269947e9236d9e7a4ccf8) format('woff2'),
    url(/assets/icons/tickit-icons-frontend-2636f5302a809df85c6e35e16c0f10bb9c7d4792d6289f104ca8c6ac4678c4b2.woff?6cec4e453be269947e9236d9e7a4ccf8) format('woff'),
    url(/assets/icons/tickit-icons-frontend-cad23050e50a9b961fffe21213f301626288377ebba6c4424777385b8854f1df.ttf?6cec4e453be269947e9236d9e7a4ccf8) format('truetype'),
    url(/assets/icons/tickit-icons-frontend-34c7c67591ee842ce9771d857e7ca72932ca44d28e84b673d9ec578c56d1c40b.svg?6cec4e453be269947e9236d9e7a4ccf8#tickit-icons-frontend)
      format('svg');
}

.ti-camera:before {
  content: '\f101';
}

.ti-checkmark-circle:before {
  content: '\f102';
}

.ti-checkmark:before {
  content: '\f103';
}

.ti-close-light:before {
  content: '\f104';
}

.ti-close:before {
  content: '\f105';
}

.ti-download-ticket:before {
  content: '\f106';
}

.ti-edit-ticket:before {
  content: '\f107';
}

.ti-email-ticket:before {
  content: '\f108';
}

.ti-en:before {
  content: '\f109';
}

.ti-exclamation:before {
  content: '\f10a';
}

.ti-facebook-isolated:before {
  content: '\f10b';
}

.ti-facebook:before {
  content: '\f10c';
}

.ti-fr-ca:before {
  content: '\f10d';
}

.ti-fr:before {
  content: '\f10e';
}

.ti-homepage:before {
  content: '\f10f';
}

.ti-instagram:before {
  content: '\f110';
}

.ti-left-light:before {
  content: '\f111';
}

.ti-lock:before {
  content: '\f112';
}

.ti-magnifier:before {
  content: '\f113';
}

.ti-profile:before {
  content: '\f114';
}

.ti-qr-code:before {
  content: '\f115';
}

.ti-right-light:before {
  content: '\f116';
}

.ti-thin-plus:before {
  content: '\f117';
}

.ti-tiktok:before {
  content: '\f118';
}

.ti-twitter-isolated:before {
  content: '\f119';
}

.ti-twitter:before {
  content: '\f11a';
}

.ti-upload:before {
  content: '\f11b';
}

.ti:before {
  font-family: tickit-icons-frontend !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ti:before {
  position: relative;
  top: 2px;
}

/* @custom-media requires the postcss-custom-media plugin */

:root {
  /* Base colors */
  --tickit-grey-darkest: #6b6b6b;
  --tickit-grey-dark: #6b6b6b;
  --tickit-grey-medium: #c9c9c9;
  --tickit-grey-light: #e3e3e3;
  --tickit-grey-lightest: #f2f2f2;
  --tickit-offwhite: #f8f8f8;
  --tickit-white: #fdfdfd;
  --tickit-lightgrey: #f7f7f7;
  --tickit-store-color: #a08f68;

  /* store color with opacity */

  --tickit-store-color-75a: rgb(from var(--tickit-store-color) r g b / 75%);
  --tickit-store-color-60a: rgb(from var(--tickit-store-color) r g b / 60%);
  --tickit-store-color-10a: rgb(from var(--tickit-store-color) r g b / 10%);
  --tickit-store-color-7a: rgb(from var(--tickit-store-color) r g b / 7%);

  /* $tickit-mix-color: mix($tickit-store-color, $tickit-grey-lightest, 5%) !default; */
  --tickit-mix-color: color-mix(
    in srgb,
    var(--tickit-store-color),
    var(--tickit-grey-lightest) 95%
  );

  /* $tickit-bg-mix-color: mix($tickit-store-color, #fff, 3%) !default; */
  --tickit-bg-mix-color: color-mix(in srgb, var(--tickit-store-color), #fff 97%);

  /* foreground color when the store color is the BG, used for nav bar highlights */
  --tickit-store-color-inverted: #fdfdfd;

  --tickit-border-color: var(--tickit-mix-color);

  /* Base typography */
  --open-sans: 'Open Sans', sans-serif;
  --base-font-size: 16px;
  --base-line-height: 24px;
  --base-font-family: var(--open-sans);
  --base-font-weight: 300;
  --base-color: var(--tickit-grey-darkest);
  --link-color: var(--tickit-store-color);
  --body-background: var(--tickit-offwhite);

  --p-small-font-size: 14px;
  --p-small-font-weight: var(--base-font-weight);
  --p-small-line-height: 20px;
  --p-small-horizontal-margin: 12px;

  --p-mid-font-size: 17px;
  --p-mid-font-weight: var(--base-font-weight);
  --p-mid-line-height: 24px;
  --p-mid-horizontal-margin: 12px;

  /* Background */
  --body-background: var(--tickit-offwhite);

  /* Status colors */
  --success-color: #8ac440;
  --success-icon-color: var(--success-color);
  --error-color: #ea1c24;
  --error-icon-color: var(--error-color);
  --tickit-highlight-background-color: color-mix(in srgb, var(--tickit-store-color), #fff 70%);

  /* Masthead defaults */
  --masthead-font-family: var(--open-sans);
  --masthead-font-weight: 300;
  --masthead-title-font-style: normal;
  --masthead-title-font-size: 54px;
  --masthead-title-letter-spacing: 8px;
  --masthead-title-line-height: 1.22222;
  --masthead-title-text-transform: uppercase;
  --masthead-mobile-title-font-size: 24px;
  --masthead-mobile-title-line-height: 1.25;

  --masthead-subhed-font-size: calc(var(--masthead-title-font-size) * 0.75);
  --masthead-subhed-line-height: 1.22;
  --masthead-mobile-subhed-font-size: calc(var(--masthead-mobile-title-font-size) * 0.75);
  --masthead-mobile-subhed-line-height: calc(var(--masthead-mobile-title-line-height) * 0.75);

  /* Sub-headings */
  --subhed-font-family: var(--open-sans);
  --subhed-font-weight: 300;
  --subhed-color: var(--tickit-grey-darkest);

  --masthead-mask-background: rgba(0, 0, 0, 0.55); /* Updated syntax for better compatibility */
  --masthead-background-color: #281f18; /* fallback */
  --masthead-background-color: color-mix(in srgb, var(--tickit-store-color) 25%, #000);

  /* Navigation */
  --navbar-color: var(--tickit-grey-dark);
  --navbar-current-background: var(--tickit-grey-lightest);
  --navbar-background: var(--tickit-white);

  --navbar-hover-color: #525252; /* darken(var(--navbar-color, 10%));  */
  --navbar-hover-background: #e8e8e8; /* darken(var(--navbar-current-background, 4%)); */

  /* Buttons */
  --button-font-family: var(--open-sans);
  --button-font-weight: normal;
  --button-color: #fff;
  --button-background-color: var(--tickit-store-color);
  --button-border-color: var(--tickit-store-color);
  --button-hover-color: #fff;
  --button-hover-background-color: #9a8660; /* fallback */
  --button-hover-background-color: color-mix(in srgb, var(--tickit-store-color) 96%, #000);
  --button-hover-border-color: #9a8660; /* fallback */
  --button-hover-border-color: color-mix(in srgb, var(--tickit-store-color) 96%, #000);
  --button-disabled-color: var(--tickit-grey-medium);
  --button-disabled-background-color: #fff;
  --button-disabled-border-color: var(--tickit-grey-medium);

  /* Event TOC */
  --event-toc-title-font-weight: var(--subhed-font-weight);
  --event-toc-title-font-family: var(--subhed-font-family);
  --event-toc-title-text-transform: none;
  --event-toc-title-color: var(--subhed-color);
  --event-toc-excerpt-font-weight: var(--base-font-weight);
  --event-toc-excerpt-font-family: var(--base-font-family);
  --event-toc-color: var(--base-color);
  --event-toc-background-color: transparent;

  --form-field-height: 60px;
  --form-field-padding-horizontal: 14px;
  --form-field-padding-vertical: 18px;
  --form-field-font-size: 20px;
  --form-field-line-height: 24px;
  --form-field-font-family: var(--open-sans);
  --form-field-font-weight: 300;
  --form-field-color: var(--tickit-grey-darkest);

  /* box-shadow: 0 0 0 2px rgba(160, 143, 104, 0.2); /* fallback */
  /* box-shadow: 0 0 0 2px color-mix(in srgb, var(--tickit-store-color) 20%, transparent); */
  --form-field-border-color: var(--tickit-grey-medium);
  --form-field-box-shadow: 0px 0px 0px 2px var(--tickit-grey-lightest) inset;
  --form-field-focus-border-color: var(--tickit-store-color);
  --form-field-focus-box-shadow-color: rgba(160, 143, 104, 0.2); /* fallback */
  --form-field-focus-box-shadow-color: color-mix(
    in srgb,
    var(--tickit-store-color) 20%,
    transparent
  );
  --form-field-focus-box-shadow: 0 0 0 2px var(--form-field-focus-box-shadow-color);
  --form-field-placeholder-color: var(--tickit-grey-medium);

  --form-field-error-color: var(--error-color);
  --form-field-error-border-color: var(--error-color);
  --form-toggle-accent-color: var(--tickit-store-color);

  --form-label-color: var(--tickit-grey-darkest);
  --form-label-font-size: 18px;
  --form-label-line-height: 24px;
  --form-label-font-weight: 300;
  --form-label-font-family: var(--open-sans);

  --pgm-border-radius: 12px;

  --seatmap-header-height: 90px;
  --seatmap-gutter: 0px;
  --seatmap-tooltip-width: 380px;
  --seatmap-tooltip-background-color: var(--tickit-bg-mix-color);
  --seatmap-border-color: #d4d4d4;
  --seatmap-accent-color: #399;
  --seatmap-bright-color: color-mix(in srgb, var(--tickit-store-color) 90%, var(--tickit-white));
  --seatmap-brighter-color: var(--tickit-store-color);

  --seatmap-available-fill-color: color-mix(in srgb, var(--tickit-store-color) 25%, #000);
  --seatmap-available-stroke-color: color-mix(in srgb, var(--tickit-store-color) 25%, #000);
  --seatmap-available-hover-fill-color: var(--seatmap-bright-color);
  --seatmap-available-hover-stroke-color: var(--seatmap-bright-color);

  --seatmap-active-fill-color: var(--seatmap-bright-color);
  --seatmap-active-stroke-color: var(--seatmap-bright-color);

  --seatmap-in-cart-fill-color: var(--seatmap-bright-color);
  --seatmap-in-cart-stroke-color: var(--seatmap-bright-color);
  --seatmap-in-cart-hover-fill-color: var(--seatmap-brighter-color);
  --seatmap-in-cart-hover-stroke-color: var(--seatmap-brighter-color);

  --footer-nav-bar-height: 96px;
  --footer-nav-bar-padding: 36px;
  --footer-nav-bar-background-color: var(--masthead-background-color);
}

/* Utility classes and mixins remain as CSS */

.clearfix::before,
.clearfix::after {
  display: table;
  content: '';
}

.clearfix::after {
  clear: both;
}

.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.inactive-link {
  cursor: default;
}

/* Media queries */

@media screen and (max-width: 900px) {
  /* tablet styles */
}

@media screen and (max-width: 680px) {
  /* mobile styles */
}

@media screen and (max-width: 474px) {
  /* mobile portrait styles */
}

@media only screen and (max-width: 450px) and (orientation: portrait) {
  /* real mobile portrait styles */
}

@media (min-resolution: 192dpi) {
  /* retina styles */
}

.uppercase {
  text-transform: uppercase;
}

.italic {
  font-style: italic;
}

.bold {
  font-weight: 700;
}

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

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

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

.float-none {
  float: none;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.display-block {
  display: block;
}

.display-inline-block {
  display: inline-block;
}

.display-inline {
  display: inline;
}

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

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

.position-fixed {
  position: fixed;
}

.position-static {
  position: static !important;
}

.clear:after,
.clear:before {
  content: '';
  display: table;
  width: 100%;
}

.clear.pad {
  margin-bottom: 10%;
}

.row {
  box-sizing: border-box;
}

.row:after,
.row:before {
  content: '';
  display: table;
  width: 100%;
}

.row .column {
  box-sizing: border-box;
}

@media (min-width: 961px) {
  .row .column.col-half {
    width: 50%;
    float: left;
  }

  .row .column.col-half:first-child {
    padding-right: 25px;
  }

  .row .column.col-half:last-child {
    padding-left: 25px;
  }
}

@media (max-width: 960px) {
  .row .column.col-half {
    width: 100%;
  }
}

.no-currency .optional-currency {
  display: none;
}

/* BASE TYPE */

p {
  margin: 0 0 24px;
  font: var(--base-font-weight) var(--base-font-size) / var(--base-line-height)
    var(--base-font-family);
}

.btn-txt {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;
}

a {
  text-decoration: none;
  color: var(--link-color);
  border-bottom: 1px solid var(--tickit-mix-color);
}

a:hover,
  a:focus {
    outline: 0;
    border-color: var(--tickit-store-color);
  }

.store-link-color {
  color: var(--link-color);
}

h2,
h3 {
  margin: 24px 0;
  font: var(--subhed-font-weight) 24px/30px var(--subhed-font-family);
}

h2,
  h3,
  h2 a,
  h3 a {
    color: var(--subhed-color);
    border: 0;
  }

h2.h2 {
  margin: 24px 0;
  font: var(--subhed-font-weight) 38px/48px var(--subhed-font-family);
}

h2.h2,
  h2.h2 a {
    color: var(--subhed-color);
    border: 0;
  }

.small p {
  margin: var(--p-small-horizontal-margin) 0;
  font-size: var(--p-small-font-size);
  font-weight: var(--p-small-font-weight);
  line-height: var(--p-small-line-height);
}

.prose-list li {
  margin: 12px 0 24px;
  font-size: 16px;
  line-height: 30px;
}

/* FORMS */

input[type='radio'] {
  border: none;
  display: inline;
  width: auto;
  box-shadow: none;
  height: 17px;
}

.superbold {
  font-weight: bold;
  border-bottom: 2px solid var(--tickit-store-color);
}

/* workaround for wysiwyg adding <br> tags at the beginning of each <li> */

li > br:first-child {
  display: none;
}

.payments-table .payment-summary {
  font-size: var(--p-small-font-size);
  font-weight: var(--p-small-font-weight);
  line-height: var(--p-small-line-height);
  margin-top: 0;
  margin-bottom: 18px;
}

::-moz-selection {
  text-shadow: none;
  background-color: var(--tickit-highlight-background-color);
}

::selection {
  text-shadow: none;
  background-color: var(--tickit-highlight-background-color);
}

/* Modern CSS version of buttons using CSS custom properties */

@keyframes rotatecircle {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.btn-store,
.btn-xxs,
.btn-xs,
.btn-sm,
.btn-md,
.btn-lg,
.btn-reversed {
  border: 1px solid var(--button-border-color);
  color: var(--button-color);
  background: var(--button-background-color);
}

.btn-store:hover,
  .btn-xxs:hover,
  .btn-xs:hover,
  .btn-sm:hover,
  .btn-md:hover,
  .btn-lg:hover,
  .btn-reversed:hover,
  .btn-store:focus,
  .btn-xxs:focus,
  .btn-xs:focus,
  .btn-sm:focus,
  .btn-md:focus,
  .btn-lg:focus,
  .btn-reversed:focus {
    color: var(--button-hover-color);
    background-color: var(--button-hover-background-color);
    border-color: var(--button-hover-border-color);
  }

.btn-store:disabled, .btn-xxs:disabled, .btn-xs:disabled, .btn-sm:disabled, .btn-md:disabled, .btn-lg:disabled, .btn-reversed:disabled {
    color: var(-button-disabled-color) !important;
    background-color: var(–-button-disabled-background-color) !important;
    border-color: var(--button-disabled-border-color) !important;
    cursor: not-allowed;
  }

/* Base button styles using CSS custom properties */

.btn,
.btn-xxs,
.btn-xs,
.btn-sm,
.btn-md,
.btn-lg {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  width: auto;
  border: 1px solid var(--tickit-grey-darkest);
  border-radius: 4px;
  font: var(--button-font-weight) 16px/30px var(--button-font-family);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 4px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition:
    color 100ms ease,
    background 100ms ease,
    border 700ms ease;
  cursor: pointer;
  background: var(--button-background-color, transparent);
  color: var(--button-color, inherit);
  border-color: var(--button-border-color, var(--tickit-grey-darkest));
}

.btn:disabled,
.btn-xxs:disabled,
.btn-xs:disabled,
.btn-sm:disabled,
.btn-md:disabled,
.btn-lg:disabled {
  cursor: default;
  background: var(--button-disabled-background-color, #fff);
  color: var(--button-disabled-color, var(--tickit-grey-medium));
  border-color: var(--button-disabled-border-color, var(--tickit-grey-medium));
}

.btn:hover:not(:disabled),
.btn:focus:not(:disabled),
.btn-xxs:hover:not(:disabled),
.btn-xxs:focus:not(:disabled),
.btn-xs:hover:not(:disabled),
.btn-xs:focus:not(:disabled),
.btn-sm:hover:not(:disabled),
.btn-sm:focus:not(:disabled),
.btn-md:hover:not(:disabled),
.btn-md:focus:not(:disabled),
.btn-lg:hover:not(:disabled),
.btn-lg:focus:not(:disabled) {
  background: var(--button-hover-background-color, var(--button-background-color));
  color: var(--button-hover-color, var(--button-color));
  border-color: var(--button-hover-border-color, var(--button-border-color));
}

/* Size variants */

.btn-xxs {
  min-height: 18px;
  font-size: 9px;
  letter-spacing: 1px;
  line-height: 12px;
  padding: 3px 8px;
}

.btn-xs {
  min-height: 24px;
  font-size: 9px;
  letter-spacing: 1px;
  line-height: 16px;
  padding: 4px 8px;
}

.btn-sm {
  min-height: 36px;
  font-size: 12px;
  letter-spacing: 3px;
  line-height: 16px;
  padding: 10px 24px;
}

.btn-md {
  min-height: 60px;
  font-size: 18px;
  line-height: 20px;
  padding: 20px 24px;
}

.btn-download-all {
  padding: 20px 48px;
}

.btn-lg {
  min-height: 72px;
  font-size: 20px;
  line-height: 24px;
  padding: 24px 48px;
}

.btn-primary {
  background: var(--button-background-color);
  border-color: var(--button-border-color);
  color: var(--button-color);
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--button-hover-background-color);
  border-color: var(--button-hover-border-color);
  color: var(--button-hover-color);
}

.btn-primary:disabled {
  background: var(--button-disabled-background-color);
  border-color: var(--button-disabled-border-color);
  color: var(--button-disabled-color);
}

/* Reversed variant */

.btn-reversed {
  color: var(--tickit-store-color);
  background-color: transparent;
  border-color: var(--tickit-store-color-75a);

  transition:
    color 100ms ease,
    background 100ms ease,
    border 700ms ease;
}

.btn-reversed:hover,
.btn-reversed:focus {
  transition:
    color 100ms ease,
    background 100ms ease,
    border 700ms ease;
}

.btn-reversed:hover,
.btn-reversed:focus,
.btn-reversed:active,
.btn-reversed-active {
  color: var(--tickit-white);
  background-color: var(--tickit-store-color);
  border-color: var(--tickit-store-color);
}

/* Image button */

.img-button {
  cursor: pointer;
  border: none;
  background: none;
}

/* Loading state */

.btn-loading {
  position: relative;
  color: transparent !important;
}

.btn-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-radius: 50%;
  border-top-color: transparent;
  animation: rotatecircle 1s linear infinite;
  transform: translate(-50%, -50%);
}

/* Transparent variant */

.btn-transparent {
  background-color: transparent !important;
  border-color: var(--tickit-grey-light);
  transition:
    background-color 0.2s ease-out,
    border-color 0.2s ease-out,
    color 0.2s ease-out;
}

.btn-transparent:hover,
.btn-transparent:focus {
  background-color: rgba(227, 227, 227, 0.3) !important; /* fallback */
  background-color: color-mix(in srgb, var(--tickit-grey-light) 30%, transparent) !important;
}

/* Legacy IE support */

.lt-ie9 .btn,
.lt-ie9 .btn-xs,
.lt-ie9 .btn-sm,
.lt-ie9 .btn-md,
.lt-ie9 .btn-lg {
  min-height: 0;
}

.img-button {
  cursor: pointer;
  border: none;
  background: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.img-button:focus {
    outline: none;
  }

.proceed-col {
  position: relative;
}

.proceed-img,
.adding-img {
  width: 25px;
  height: 25px;
  position: absolute;
  top: 40px;
  right: 0;
}

.proceed-img:hover .proceed-img-circle, .adding-img:hover .proceed-img-circle, .proceed-img:focus .proceed-img-circle, .adding-img:focus .proceed-img-circle {
      opacity: 1;
    }

.proceed-img .proceed-img-bg,
  .adding-img .proceed-img-bg,
  .proceed-img .proceed-img-arrow,
  .adding-img .proceed-img-arrow {
    transition: all 1750ms ease;
  }

.proceed-img.highlight .proceed-img-bg, .adding-img.highlight .proceed-img-bg {
      transition: all 100ms linear;
    }

.proceed-img.highlight .proceed-img-arrow, .adding-img.highlight .proceed-img-arrow {
      transition: all 100ms linear;
      fill: var(--tickit-white);
    }

.adding-img-circle {
  stroke: var(--tickit-store-color);
}

.proceed-img-group,
.proceed-img.highlight .proceed-img-bg {
  fill: var(--tickit-store-color);
}

.btn-loading-circle {
  width: 24px;
  height: 24px;
  position: absolute;
  animation: rotatecircle 1s linear infinite;
  right: 2px;
  top: 30px;
  opacity: 0;
}

.btn-loading .btn-loading-circle {
    opacity: 1;
  }

.adding-img {
  opacity: 0;
  animation: rotatecircle 1s linear infinite;
  top: 48px;
  right: -12px;
}

.adding-to-cart .adding-img {
    opacity: 1;
  }

.in-cart .adding-img {
    opacity: 0;
  }

@media screen and (max-width: 680px) {
  .proceed-img {
    top: 0; /* same as .select-tickets-col padding-top */
  }

  .adding-img {
    top: 12px;
  }
}

.use-sticky-nav .proceed-img {
    opacity: 0;
    transition: opacity 250ms ease;
  }

.use-sticky-nav .in-cart .proceed-img {
    opacity: 1;
  }

.button-disabled-shake {
  animation-name: navshake;
  animation-duration: 0.8s;
  transform-origin: 50% 50%;
  animation-timing-function: linear;
}

.checkout-with-status-btn {
  display: block;
  padding: 32px;
  -ms-flex-align: center;
      align-items: center;
}

.checkout-with-status-btn .btn-store {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1;
        flex: 1;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    border: none;
    font-size: 14px;
    letter-spacing: 4px;
    text-transform: uppercase;
    text-align: center;
    border-radius: 6px;
    font-weight: normal;
  }

.checkout-with-status-btn .cart-quantity,
  .checkout-with-status-btn .cart-countdown {
    display: inline-block;
    padding: 2px 6px 2px 8px;
    line-height: 20px;
    letter-spacing: 2px;
    text-align: center;
    border-radius: 6px;
    font-size: 13px;
    border: 1px solid transparent;
    vertical-align: middle;
  }

.checkout-with-status-btn .cart-quantity {
    margin-left: 4px;
    background: rgba(0, 0, 0, 0.15);
  }

.checkout-with-status-btn .cart-countdown {
    margin-left: 0;
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 11px;
  }

.checkout-with-status-btn .cart-countdown.danger {
      border-color: rgba(255, 255, 255, 0.75);
    }

.future-modal-body .btn-md {
  width: 100%;
}

.btn-outline {
  border-color: #ebebeb !important;
  background-color: transparent !important;
  color: #8c8c8c !important;
  transition:
    background-color 0.2s ease-out,
    border-color 0.2s ease-out,
    color 0.2s ease-out;
}

.btn-outline:hover,
  .btn-outline:focus {
    background-color: rgb(from var(--tickit-grey-light) r g b / 30%) !important;
  }

/* general table styles */

table {
  width: 100%;
}

table * {
    margin: 0;
    padding: 0;
    line-height: 20px;
  }

table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border-collapse: collapse;
  border-color: var(--tickit-border-color);
  border-style: solid;
  border-width: 0;
  font: 300 13px/20px var(--open-sans);
  text-align: left;
  vertical-align: top;
  color: var(--tickit-grey-darkest);
}

thead th,
  thead td {
    font: 400 12px/24px var(--open-sans);
    color: var(--tickit-grey-dark);
    padding: 12px 0 0;
  }

tbody tr {
    border-bottom: 1px solid var(--tickit-border-color);
  }

tbody th,
  tbody td {
    padding: 36px 0;
  }

.ordertable-ticket-price,
.ordertable-mobile-label {
  display: inline-block;
  margin: 3px 0 6px;
  font: 300 22px/24px var(--open-sans);
}

.ordertable-mobile-label {
  display: none;
}

@media screen and (max-width: 680px) {

.ordertable-mobile-label {
    font-size: 12px;
    font-weight: normal;
}
  }

.ordertable-ticket-name {
  display: block;
  margin: 0 0 6px;
  font: 300 24px/30px var(--open-sans);
}

/* used on the 'review' page (and maybe 'receipt?') */

.ordertable-event-name,
.ordertable-ticket-description,
.ordertable-ticket-description p {
  display: block;
  margin: 0 0 6px;
  font: 400 13px/18px var(--open-sans);
  color: var(--tickit-grey-dark);
}

@media screen and (max-width: 680px) {

.ordertable-event-name,
.ordertable-ticket-description,
.ordertable-ticket-description p {
    font-size: 14px;
}
  }

/* used on the 'review' page (and maybe 'receipt?') */

.ordertable-ticket-name-small {
  display: block;
  margin: 0 0 6px;
  font: 300 21px/24px var(--open-sans);
}

.ordertable-smallprint,
.ordertable-ticket-currency {
  display: inline-block;
  margin: 6px 0 0;
  font: 400 11px/12px var(--open-sans);
  color: var(--tickit-grey-dark);
}

@media screen and (max-width: 680px) {

.ordertable-smallprint,
.ordertable-ticket-currency {
    margin-top: -6px; /* connect to $price above */
}
  }

/* used on the 'review' page (and maybe 'receipt?') */

.ordertable-price-small {
  display: inline-block;
  margin: 0 0 6px;
  font: 400 14px/28px var(--open-sans);
}

.ordertable-price-prominent {
  font-weight: bold;
}

@media screen and (max-width: 680px) {
    :is(.order-table,.in-iframe .order-table) table {
      width: 100%;
      min-width: 0;
      display: block;
    }
    :is(.order-table,.in-iframe .order-table) thead {
      display: none;
    }

    :is(.order-table,.in-iframe .order-table) tbody,
    :is(.order-table,.in-iframe .order-table) tr {
      display: block;
      width: 100%;
    }
      :is(.order-table,.in-iframe .order-table) tbody tr,
      :is(.order-table,.in-iframe .order-table) tbody th,
      :is(.order-table,.in-iframe .order-table) tbody td {
        display: block;
        width: auto;
        padding: 6px 0;
        text-align: left;
      }

      :is(.order-table,.in-iframe .order-table) tbody th,
      :is(.order-table,.in-iframe .order-table) tbody td,
      :is(.order-table,.in-iframe .order-table) tbody .price-col,
      :is(.order-table,.in-iframe .order-table) tbody .select-col,
      :is(.order-table,.in-iframe .order-table) tbody .quantity-col,
      :is(.order-table,.in-iframe .order-table) tbody .subtotal-col {
        clear: both;
        width: 100%;
        border: 0;
        padding: 0;
        text-align: left;
      }

    :is(.order-table,.in-iframe .order-table) tr.item {
      display: block;
      margin-bottom: 24px;
      padding-bottom: 24px;
    }

    :is(.order-table,.in-iframe .order-table) .ordertable-mobile-label,
    :is(.order-table,.in-iframe .order-table) .ordertable-value {
      display: inline;
    }
    :is(.order-table,.in-iframe .order-table) .ordertable-mobile-label:after {
      content: ': ';
    }

    :is(.order-table,.in-iframe .order-table) .ordertable-smallprint {
      text-transform: lowercase;
    }

    :is(.order-table,.in-iframe .order-table) .btn-wrap {
      margin: 36px 0;
      text-align: center;
    }
}

/* general table styles */

table {
  width: 100%;
}

table * {
    margin: 0;
    padding: 0;
    line-height: 20px;
  }

.select-tickets-table {
  margin: 0;
  padding: 0;
  font: 300 13px/20px var(--open-sans);
  text-align: left;
  vertical-align: top;
  color: var(--tickit-grey-darkest);

  --group-toggle-size: 16px;
}

.select-tickets-table .mobile-label {
    display: none;
  }

.select-tickets-table .select-tickets-row {
    box-sizing: border-box;
  }

.select-tickets-table .select-tickets-col {
    position: relative;
    float: left;
    width: 25%;
    min-height: 1px;
    padding: 36px 0;
    box-sizing: border-box;
  }

.select-tickets-table .select-tickets-body .select-tickets-row {
      border-bottom: 1px solid var(--tickit-grey-lightest);
    }

.select-tickets-table .select-tickets-group-header {
    display: -ms-flexbox;
    display: flex;
    padding: 36px;
  }

.select-tickets-table .select-tickets-group-header,
    .select-tickets-table .select-tickets-group-header * {
      vertical-align: middle;
    }

.select-tickets-table .select-tickets-group-header:hover {
      background: var(--tickit-offwhite);
    }

.select-tickets-table .group-toggle {
    width: var(--group-toggle-size);
    padding-left: 16px;
    color: var(--tickit-grey-darkest);
  }

.select-tickets-table .group-toggle .ti {
      display: inline-block;
      width: var(--group-toggle-size);
      height: 40px;
      margin-right: 12px;
      font-size: var(--group-toggle-size);
      font-weight: bold;
      line-height: 40px;
      transition: transform 100ms ease;
      transform-origin: center center;
    }

.select-tickets-table .always-expanded .select-tickets-group-header {
      background: var(--tickit-offwhite);
    }

.select-tickets-table .always-expanded .group-toggle {
      display: none;
    }

.select-tickets-table .group-selector {
    display: none;
    width: auto;
    height: 26px;
    padding: 7px 0;
    float: right;
    text-align: right;
  }

.select-tickets-table .group-selector .btn-xs {
      min-width: 80px; /* prevent it from jumping around when the label changes */
      margin-left: 12px;
      line-height: 16px;
    }

.select-tickets-table .group-title {
    font: 600 18px/40px var(--open-sans);
    color: var(--tickit-grey-darkest);
    letter-spacing: 0;
  }

.select-tickets-table .select-tickets-group-body {
    display: block;
  }

.select-tickets-table.select-tickets-expandable .select-tickets-group-body {
    display: none;
  }

.select-tickets-table .open .group-selector {
      display: block;
    }

.select-tickets-table .open .select-tickets-group-body {
      display: block;
    }

.select-tickets-table .open .select-tickets-group-body .select-tickets-row {
        padding: 0 36px;
      }

.select-tickets-table .open .group-toggle .ti {
    transform: rotate(45deg);
  }

.select-tickets-table .item-col {
    width: 57%;
  }

.select-tickets-table .price-col {
    width: 23%;
    padding-left: 24px;
    padding-right: 24px;
  }

.select-tickets-table .select-col {
    width: 12%;
    padding-left: 24px;
    padding-right: 24px;
  }

.select-tickets-table .proceed-col {
    width: 8%;
    text-align: right;
  }

.select-tickets-table .quantity-input-prompt {
    font-size: 12px;
  }

.select-tickets-table .toggle-col {
    /* used for toggling variant collection lists
    spans price-col, select-col and proceed-col:20% + 12% + 8% */
    width: 40%;
    text-align: right;
  }

.select-tickets-table .soldout-notice {
    position: relative;
  }

.select-tickets-table .tentatively-soldout-badge {
    cursor: pointer;
    font-size: 20px;
  }

.select-tickets-table .tentatively-soldout-message {
    display: none;
    position: absolute;
    background: #fff;
    border: 1px solid var(--tickit-grey-lightest);
    border-radius: 4px;
    padding: 1.5em 2.5em;
    top: -1.5em;
    width: 18em;
    z-index: 9999;
    right: 9em;
    font: 300 13px/20px var(--open-sans);
  }

.select-tickets-table .tentatively-soldout-message.showing {
      display: block;
    }

.select-tickets-table .group-header,
  .select-tickets-table .occurrence-timeslot-selectors {
    padding: 12px 0;
  }

.select-tickets-table .group-header {
    -ms-flex: 1;
        flex: 1;
  }

.select-tickets-table .occurrence-timeslot-selectors {
    display: -ms-flexbox;
    display: flex;
  }

.select-tickets-table .occurrence-timeslot-selectors-select {
    min-width: 14rem;
  }

.select-tickets-table .occurrence-timeslot-selectors-time {
    min-width: 8rem;
    margin-left: 1rem;
  }

.select-tickets-table .select-tickets-row-hidden {
    display: none;
  }

.expandable .select-tickets-group-header {
  cursor: pointer;
}

.select-tickets-body .variant-collection {
    border-bottom: 1px solid var(--tickit-grey-lightest);
  }

.select-tickets-body .variant-collection .variant-collection-row {
      border-bottom: 0;
    }

.select-tickets-body .variant-collection-items .select-tickets-row {
    border-top: 1px solid var(--tickit-grey-lightest);
    border-bottom: 0;
  }

.select-tickets-body .variant-collection-items .select-tickets-row .ordertable-ticket-name,
    .select-tickets-body .variant-collection-items .select-tickets-row .select-tickets-seating {
      padding-left: 12px;
    }

.select-tickets-body .variant-collection-items .select-tickets-row .ordertable-ticket-name,
    .select-tickets-body .variant-collection-items .select-tickets-row .ordertable-ticket-price {
      font-size: 16px;
      margin-bottom: 0;
    }

.select-tickets-body .variant-collection-items .select-tickets-row .select-tickets-col {
      padding-top: 24px;
      padding-bottom: 24px;
    }

.select-tickets-body .variant-collection-items .select-tickets-row:first-child {
    border-top: 0;
  }

.select-tickets-body .variant-collection-items .select-tickets-row:first-child .select-tickets-col {
      padding-top: 2px;
    }

.select-tickets-body .variant-collection-items .select-tickets-row:first-child .select-tickets-col .adding-img {
        top: 15px;
      }

.select-tickets-body .variant-collection-items .select-tickets-row:first-child .select-tickets-col .proceed-img {
        top: 2px;
      }

.select-tickets-body .variant-collection-items .adding-img {
    top: 37px;
  }

.select-tickets-body .variant-collection-items .proceed-img {
    top: 24px;
  }

@media screen and (max-width: 900px) {
    .select-tickets-table .item-col {
      width: 55%;
    }
    .select-tickets-table .price-col {
      width: 20%;
    }
    .select-tickets-table .select-col {
      width: 15%;
    }
    .select-tickets-table .proceed-col {
      width: 10%;
    }
}

@media screen and (max-width: 680px) {
    .select-tickets-table .mobile-label {
      display: inline-block;
    }
    .select-tickets-table .mobile-label:after {
      content: ': ';
    }

    .select-tickets-table .select-tickets-body .select-tickets-row {
      padding: 16px 0;
    }

    .select-tickets-table .open .select-tickets-group-body .select-tickets-row {
      padding: 24px;
    }

    .select-tickets-table .select-tickets-col {
      float: none;
      width: auto;
      padding: 0;
    }

    .select-tickets-table .select-col,
    .select-tickets-table .proceed-col {
      display: block;
      float: left;
      width: 50%;
      min-height: 36px; /* keep the quantity and proceed elements aligned */
      margin-top: 12px;
      padding-right: 12px;
    }

    .select-tickets-table .toggle-col {
      text-align: left;
    }

    .select-tickets-table .select-tickets-group-header {
      padding: 24px;
      -ms-flex-direction: column;
          flex-direction: column; /* stack for occurrence selectors */
    }

    .select-tickets-table .group-header {
      padding: 0;
    }

    .select-tickets-table .select-tickets-body .select-tickets-occurrence-header {
      padding: 16px 1rem;
    }

    .select-tickets-table .soldout-notice p {
      font-size: 20px;
      font-weight: 300;
    }

    .select-tickets-table .variant-collection-items .select-tickets-row .ordertable-ticket-name {
      padding-left: 0;
    }

    .select-tickets-table .variant-collection-items .select-tickets-row .select-tickets-col {
      padding: 0;
    }

    .select-tickets-table .select-tickets-body .variant-collection-items .adding-img {
      top: 15px;
    }

    .select-tickets-table .select-tickets-body .variant-collection-items .proceed-img {
      top: 2px;
    }

    .select-tickets-table .variant-collection-items .ordertable-ticket-price {
      font-size: 12px;
    }

    .select-tickets-table .tentatively-soldout-badge {
      font-size: 14px;
    }

    .select-tickets-table .tentatively-soldout-message {
      position: relative;
      width: auto;
      right: auto;
      top: auto;
    }

    .select-tickets-table .occurrence-timeslot-selectors {
      display: block; /* remove flexbox side-by-side */
      padding: 0;
    }

    .select-tickets-table .occurrence-timeslot-selectors-select {
      margin: 0.5rem 0 0;
    }

  .select-tickets-expandable {
    margin: -36px -36px 0;
  }

    .select-tickets-expandable .select-tickets-body .select-tickets-group-header {
      padding: 16px;
    }
}

@media screen and (max-width: 474px) {
    .select-tickets-table .group-header {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
    }

      .select-tickets-table .group-header .group-title {
        -ms-flex-order: 0;
            order: 0;
      }

      .select-tickets-table .group-header .group-selector {
        float: none;
        -ms-flex-order: 1;
            order: 1;
        text-align: left;
      }

    .select-tickets-table .open .group-selector {
      display: block;
    }
}

.select-tickets-additional-description {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s;
}

.show-additional-description .select-tickets-additional-description {
    max-height: 100em;
    transition: max-height 1s;
  }

.select-tickets-info-toggle {
  margin-left: 0.5em;
  font-size: 14px;
  border: 0;
  color: var(--link-color);
}

.select-tickets-info-toggle:focus,
  .select-tickets-info-toggle:active {
    outline: 0;
    border-color: var(--tickit-store-color);
  }

.select-tickets-map {
  position: relative;
  width: 100%;
  height: auto;

  /* prevent labels from showing outside the frame before the resize handler kids in */
  overflow: hidden;

  /* prevent flickering in Safari - http://stackoverflow.com/a/13994568/559596 */
}

.select-tickets-map,
  .select-tickets-map * {
    transform-style: preserve-3d;
  }

/* setup to use the bottom-padding aspect ratio hack for IE - padding-bottom is
  set in the embedded_svg helper method by parsing the <svg viewBox> */

.select-tickets-map .map-container {
    width: 100%;
    height: 0;
    position: relative;
  }

.select-tickets-map svg {
    display: block;
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
  }

.select-tickets-map svg .map-zone {
      cursor: pointer;
      transition: fill 150ms ease;
      fill: var(--tickit-mix-color);
    }

.select-tickets-map svg .map-zone:hover,
      .select-tickets-map svg .map-zone.selected {
        fill: var(--tickit-store-color);
      }

.select-tickets-map svg .highlightable:hover .map_shape,
      .select-tickets-map svg .highlightable:hover .map_text {
        fill: #a08f68;
      }

.select-tickets-map svg .highlighted .map_shape,
      .select-tickets-map svg .highlighted .map_text {
        fill: red !important;
      }

.select-tickets-map-label {
  position: absolute;
  pointer-events: none;
  color: var(--tickit-store-color);
}

.select-tickets-map-label.hover > div, .select-tickets-map-label.selected > div {
      transform: translateY(-10px);
      border-color: var(--tickit-store-color);
    }

.select-tickets-map-label.hover > div:before, .select-tickets-map-label.selected > div:before {
        transform: translateY(10px);
      }

.select-tickets-map-label > div {
    box-shadow: 0 0 1px transparent;
    backface-visibility: hidden;
    position: relative;
    background: #fff;
    border-width: 1px;
    border-style: solid;

    border-color: var(--tickit-border-color);

    padding: 6px 8px;
    font-size: 11px;
    line-height: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition-duration: 0.3s;
    transition-property: transform;
    transform: translateY(-6px);
  }

.select-tickets-map-label > div:before {
      z-index: -1;
      content: ' ';
      position: absolute;
      width: 0;
      height: 0;
      transition-duration: 0.3s;
      transition-property: transform;
      transform: translateY(6px);
      left: calc(50% - 10px);
      top: 14px;
      border: 10px solid;
      border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    }

.no-inlinesvg .select-tickets-map, .no-queryselector .select-tickets-map, .hide-map .select-tickets-map {
    display: none;
  }

.select-occurrences-no-match {
  padding: 48px;
  text-align: center;
  color: #6b6b6b;
}

.select-occurrences-no-match p {
    margin: 0;
    font-size: 17px;
  }

@media screen and (max-width: 680px) {
  .select-tickets-group-header .map-toggle {
    display: none;
  }
  .select-tickets-map {
    display: none;
  }
}

.no-flexbox .select-tickets-group-header {
    display: table;
    width: 100%;
  }

.no-flexbox .select-tickets-group-header .group-header,
    .no-flexbox .select-tickets-group-header .group-toggle {
      display: table-cell;
    }

.select-tickets-multipack-builder {
  margin-top: 8px;
}

.proceed-col .select-tickets-multipack-builder {
    margin-top: 0;
  }

.btn-open-multipack-builder,
.btn-open-seatmap-btn {
  /* basically same as btn-sm */
  min-height: 36px;
  font-size: 14px;
  line-height: 16px;
  padding: 10px 12px;
  letter-spacing: 0;
  text-transform: none;
}

.select-tickets-multipack-descriptions {
  margin-top: 8px;
  margin-bottom: 8px;
}

.select-tickets-multipack-descriptions ul {
    margin: 0.5rem 0 0 1rem;
    padding: 0;
    list-style: none;
  }

.select-tickets-multipack-descriptions li {
    margin: 0;
    padding: 0;
  }

input:not([type='submit'], [type='hidden'], [type='checkbox'], [type='radio']),
textarea,
.stripe-card-element {
  border-color: var(--form-field-border-color);
  border-width: 1px;
  border-style: solid;
  box-shadow: var(--form-field-box-shadow);
}

input[type='radio'],
input[type='checkbox'] {
  transition: accent-color 0.25s ease-in-out;
  accent-color: var(--form-toggle-accent-color);
  transform: scale(1.4);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--form-field-focus-border-color);
  outline: none;
  box-shadow: var(--form-field-focus-box-shadow);
}

.field_with_errors,
.field_with_errors *,
.StripeElement--invalid,
.StripeElement--invalid * {
  color: var(--form-field-error-color);
  border-color: var(--form-field-error-border-color);
}

.form-wrapper.form-submitting {
    opacity: 0.5;
  }

.form-wrapper label {
    display: block;
    margin: 0 0 6px;
    font: var(--form-label-font-weight) var(--form-label-font-size) / var(--form-label-line-height)
      var(--form-label-font-family);
    color: var(--form-label-color);
    transition: color 150ms ease;
  }

.form-wrapper label .hint {
      font-size: 80%;
    }

.form-wrapper input:not([type='submit'], [type='hidden'], [type='checkbox'], [type='radio']), .form-wrapper textarea, .form-wrapper .stripe-card-element {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: var(--form-field-height);
    margin: 0;
    padding: var(--form-field-padding-horizontal) var(--form-field-padding-vertical);
    font: var(--form-field-font-weight) var(--form-field-font-size) / var(--form-field-line-height)
      var(--form-field-font-family);
    color: var(--form-field-color);
    transition: border 150ms ease;
  }

.form-wrapper input:placeholder {
    color: var(--form-field-placeholder-color);
  }

.form-wrapper .stripe-card-element {
    height: 64px;
    padding-top: 18px;
  }

.form-wrapper input[type='hidden'] {
    display: none;
  }

.form-wrapper select {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
    margin: 24px 0 0;
    padding: 0;
  }

.form-wrapper input.freeform-base-price {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: 40px;
    padding: 0 6px;
    font: var(--form-field-font-weight) var(--form-field-font-size) / var(--form-field-line-height)
      var(--form-field-font-family);
    color: var(--form-field-color);
    transition: border 150ms ease;
    text-align: center;
    cursor: pointer;
  }

:is(.form-wrapper input.freeform-base-price) + small {
      display: block;
      text-align: right;
    }

.form-wrapper .checkbox-control-group,
  .form-wrapper .radio-control-group {
    margin: 36px 0;
  }

.form-wrapper .checkbox-control-group input.checkbox,
    .form-wrapper .radio-control-group input.checkbox,
    .form-wrapper .checkbox-control-group input.radio,
    .form-wrapper .radio-control-group input.radio {
      display: block;
      float: left;
      width: auto;
      height: auto;
      padding: 0;
      box-shadow: none;
      margin-top: 6px;
    }

.form-wrapper .checkbox-control-group label, .form-wrapper .radio-control-group label {
      display: block;
      margin-left: 42px;
    }

.form-wrapper .checkbox-control-group .email_list_subscription_marketing_optin,
    .form-wrapper .radio-control-group .email_list_subscription_marketing_optin,
    .form-wrapper .checkbox-control-group .email_list_subscription_marketing_optin *,
    .form-wrapper .radio-control-group .email_list_subscription_marketing_optin *,
    :is(.form-wrapper .checkbox-control-group) .email_list_subscription_marketing_optin + label,
    :is(.form-wrapper .radio-control-group) .email_list_subscription_marketing_optin + label {
      display: inline-block;
      margin: 0;
    }

.form-wrapper .checkbox-control-group .field_with_errors, .form-wrapper .radio-control-group .field_with_errors {
      display: inline-block;
      vertical-align: middle;
    }

.form-wrapper .nested-checkbox-control-group {
    margin-left: 48px;
  }

.form-wrapper .nested-checkbox-control-group label {
      margin-left: 36px;
      font-size: 90%;
    }

.control-group {
  clear: both;
  margin: 0 0 18px;
}

form .control {
    position: relative;
  }

form .field-validation-icon {
    display: none;
    position: absolute;
    right: 0;
    top: 0;
    color: var(--tickit-grey-dark);
  }

form .card-errors {
    margin-top: 0.25rem;
    font-size: 0.9em;
  }

form .invalid input:not([type='submit'], [type='hidden'], [type='checkbox'], [type='radio']), form .invalid .stripe-card-element {
      border-color: var(--form-field-error-border-color);
    }

form .invalid label,
    form .invalid .card-errors {
      color: var(--error-color);
    }

form .valid .ti {
      color: var(--success-icon-color);
    }

form .submit-note p {
      margin: var(--p-small-horizontal-margin) 0;
      font-size: var(--p-small-font-size);
      font-weight: var(--p-small-font-weight);
      line-height: var(--p-small-line-height);
    }

form .terms-content .title {
      display: block;
      margin: 0 0 6px;
      font: 300 24px/30px var(--open-sans);
    }

form .check-email-hint {
    margin-top: 4px;
    font-size: 0.85em;
    cursor: pointer;
  }

.validation-error-notice {
  background: var(--error-color);
}

.validation-success-notice {
  background: var(--success-color);
}

.precheckout-notice {
  background: var(--error-color);
}

.validation-success-notice,
.precheckout-notice,
.validation-error-notice {
  margin: 36px 0;
  padding: 12px 36px;
  text-align: center;
}

.validation-success-notice,
  .precheckout-notice,
  .validation-error-notice,
  .validation-success-notice p,
  .precheckout-notice p,
  .validation-error-notice p,
  .validation-success-notice a,
  .precheckout-notice a,
  .validation-error-notice a {
    color: #fff;
  }

.validation-success-notice p, .precheckout-notice p, .validation-error-notice p {
    margin: 24px 0;
  }

.hint-popup {
  /* almost the same as .tentatively-soldout-message */
  position: absolute;
  background: #fff;
  border: 1px solid var(--tickit-grey-lightest);
  border-radius: 4px;
  padding: 1.5em 2.5em;
  top: -7.5em;
  left: 0;
  width: 18em;
  font: 300 13px/20px var(--open-sans);
  z-index: 9999;
}

.order-cancellation-preference-form {
  margin: 0 0 8.6022%; /* percentage(math.div(96, 1116)); */
  /* padding: percentage(math.div(48, 924)) percentage(math.div(96, 924)); */
  padding: 5.1948% 10.3896%;
  text-align: left;
  color: var(--tickit-grey-darkest);
  background: var(--tickit-grey-lightest);
  border: 1px solid var(--tickit-grey-lightest);
}

.order-cancellation-preference-form .radio-control-group label {
    margin-left: 0;
  }

.order-cancellation-preference-form input[type='radio'] {
    width: 20px;
    margin-right: 10px;
  }

.order-cancellation-preference-form .cancellation-preference-details {
    margin-top: 12px;
    margin-left: 35px;
  }

.order-cancellation-preference-form .cancellation-preference-details,
    .order-cancellation-preference-form .cancellation-preference-details label,
    .order-cancellation-preference-form .cancellation-preference-details p {
      font-size: 14px;
    }

.order-cancellation-preference-form .cancellation-preference-details input,
    .order-cancellation-preference-form .cancellation-preference-details select {
      max-width: 200px;
    }

.order-cancellation-preference-form .cancellation-preference-details input {
      height: 48px;
    }

.order-cancellation-preference-form .cancellation-preference-details select {
      margin-top: 0;
      margin-bottom: 2rem;
    }

.order-cancellation-preference-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  margin: 24px auto;
}

.order-cancellation-preference-embed iframe,
  .order-cancellation-preference-embed object,
  .order-cancellation-preference-embed embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

.select-hidden {
  display: none;
  visibility: hidden;
  padding-right: 10px;
}

.select {
  cursor: pointer;
  display: inline-block;
  position: relative;
  font-size: 16px;
  color: #646464;
  width: 100%;
  min-width: 52px;
  height: 2.5em;
}

/* hide unstyled select boxes on initial load
 should match the selector in selectBoxes.js */

select.quantity-input,
.form-wrapper select {
  visibility: hidden;
}

.form-wrapper select.no-select-style {
  visibility: visible;
}

.select-styled {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--tickit-lightgrey);
  border: 1px solid var(--tickit-grey-light);
  border-radius: 0.25em;
  padding: 0 15px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  transition: all 0.2s ease-in;
}

.select-styled:after {
    content: '';
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-color: #969696 transparent transparent transparent;
    position: absolute;
    top: 16px;
    right: 10px;
  }

.select-styled:hover {
    background-color: var(--tickit-grey-light);
  }

.select-styled:active:after,
  .select-styled.active:after {
    margin-top: -5px;
    border-color: transparent transparent var(--tickit-grey-dark) transparent;
  }

.select-styled-disabled {
  pointer-events: none;
}

.select-styled-disabled,
  .select-styled-disabled:hover,
  .select-styled-disabled:after {
    color: var(--tickit-grey-medium);
    background-color: var(--tickit-grey-lightest);
  }

.select-styled-disabled:after {
    border-color: var(--tickit-grey-medium) transparent transparent transparent;
  }

.select-styled-highlight {
  border-color: var(--tickit-store-color);
  box-shadow: 0 0 4px var(--tickit-store-color);
}

.select-options {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 999;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: var(--tickit-grey-lightest);
  max-height: 12.5em;
  overflow-y: auto;
  border: 1px solid var(--tickit-grey-light);
  margin-top: -2px;
}

.select-options li {
    margin: 0;
    padding: 6px;
    font-size: 14px;
    line-height: 20px;
    transition: all 0.15s ease-in;
  }

.select-options li:hover,
  .select-options li.selected {
    color: #646464;
    background: var(--tickit-grey-light);
  }

.select-options li[rel='hide'] {
    display: none;
  }

.styled-select-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
}

.styled-select-item .label {
    -ms-flex: 1;
        flex: 1;
  }

.styled-select-item .checked-indicator,
  .styled-select-item .soldout-indicator {
    padding-right: 0.5rem;
  }

.styled-select-item .checked-indicator {
    width: 1rem;
    text-align: right;
    font-size: 0.7rem;
  }

.styled-select-item .soldout-indicator {
    text-align: center;
    text-transform: uppercase;
    font-size: 8px;
    line-height: 1;
  }

.js .expandable-hidden {
  display: none;
}

.masthead {
  position: relative;
  z-index: 1;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
  -ms-flex-align: center;
      align-items: center;
  min-height: 512px;
  min-height: 75vh;

  /* these background styles are only used when object-fit is not supported */
  background-color: var(--masthead-background-color);
  background-image: none;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  text-align: center;
}

.masthead,
  .masthead a {
    color: #fff;
    color: rgba(255, 255, 255, 0.7);
  }

.masthead a {
    border: none;
  }

.masthead a:focus,
  .masthead a:hover {
    color: #fff;
  }

.no-backgroundsize .masthead {
  background-position: top center;
}

.masthead:before {
  background: var(--masthead-mask-background);
}

.masthead-title,
.masthead-store-title,
.masthead-event-title,
.masthead-subhed {
  font: var(--masthead-font-weight) var(--masthead-title-font-size) /
    var(--masthead-title-line-height) var(--masthead-font-family);
  font-style: var(--masthead-title-font-style);
  letter-spacing: var(--masthead-title-letter-spacing);
  text-transform: var(--masthead-title-text-transform);
}

@media screen and (max-width: 680px) {
  .masthead-title,
  .masthead-store-title,
  .masthead-event-title,
  .masthead-subhed {
    font: 300 var(--masthead-mobile-title-font-size) / var(--masthead-mobile-title-line-height)
      var(--open-sans);
    letter-spacing: 2px;
  }
}

.masthead-subhed {
  margin-top: 0.5rem;
  font-size: var(--masthead-subhed-font-size);
  line-height: var(--masthead-subhed-line-height);
}

@media screen and (max-width: 680px) {

.masthead-subhed {
    font-size: var(--masthead-mobile-subhed-font-size);
    line-height: var(--masthead-mobile-subhed-line-height);
}
  }

.masthead-mobile-prompt {
  display: none;
  margin: 0;
}

.masthead-mobile-prompt a {
    padding: 10px 18px 6px;
    font-size: 11px;
    color: #fff;
    color: rgba(255, 255, 255, 0.85);
  }

.masthead-top,
.masthead-bottom,
.masthead-mid {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
}

.home-masthead .masthead-mid {
  padding-top: 40px;
  padding-bottom: 40px;
}

.masthead-top,
.masthead-bottom {
  -ms-flex-order: 0;
      order: 0;
  -ms-flex: 0 1 auto;
      flex: 0 1 auto;
  -ms-flex-item-align: auto;
      align-self: auto;
  -ms-flex-line-pack: center;
      align-content: center;
  min-height: 10vh;
}

.masthead-bottom {
  min-height: 20vh;
}

.masthead-mid {
  -ms-flex-order: 0;
      order: 0;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-item-align: auto;
      align-self: auto;
}

.masthead-top-content,
.masthead-bottom-content {
  padding: 48px 0;
}

.masthead-top-content,
.masthead-content,
.masthead-bottom-content {
  margin: auto;
  position: relative;
  z-index: 100;
  max-width: 800px;
}

.simple-masthead {
  display: block;
  min-height: 234px;
  height: auto;
}

.simple-masthead .masthead-content {
    display: block;
    margin-top: 0;
    padding-top: 48px;
    padding-bottom: 64px;
  }

.masthead-with-image:before {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    content: '';
    z-index: 2;
    background: var(--masthead-mask-background);
  }

.masthead-link-bar a {
    padding: 0 16px;
  }

.masthead-link-bar .social-link {
    font-size: 20px;
    line-height: 1;
  }

.masthead-link-bar .locale-link {
    font: 800 18px/20px var(--open-sans);
    text-transform: uppercase;
  }

.masthead-link-bar .locale-link.current {
      display: none;
    }

.masthead-customer-nav a {
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 3px;
    padding: 0.5rem 1rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
  }

.masthead-customer-nav .profile-icon {
    display: none;
  }

@media screen and (max-width: 680px) {
    .masthead-customer-nav .profile-label {
      display: none;
    }
    .masthead-customer-nav .profile-icon {
      display: block;
    }
  }

/* iOS still doesn't support background-attachment: fixed which we need for the masthead
this seems to be the simplest way to detect iOS

NB: this won't be triggered using the iOS simulator on a computer -- it needs to be an actual
touch screen device */

@supports (-webkit-overflow-scrolling: touch) {
  .masthead {
    background-attachment: local;
  }
}

.masthead-logo-image img {
    display: block;
    max-width: 100%;
    max-height: 320px;

    width: auto;
    height: auto;
    margin: 0 auto;

    /* prevent unscalable BG from getting cut off on older browsers */
  }

.no-backgroundsize .masthead-logo-image img {
  max-height: 200px;
}

.masthead-text {
  max-width: 924px;
  margin: 0 auto;
  padding: 0;
  color: #fff;
}

.masthead-text p:last-child {
    margin-bottom: 0;
  }

.masthead-store-nameplate {
  margin: 0 auto 30px;
  font: var(--base-font-weight) 14px/20px var(--open-sans);
  text-transform: uppercase;
  letter-spacing: 3px;
}

@media screen and (max-width: 680px) {

.masthead-store-nameplate {
    font-size: 12px;
}
  }

.masthead-description {
  max-width: 732px;
  margin: 24px auto;
}

.masthead-description,
.masthead-description p {
  font: var(--base-font-weight) 18px/28px var(--open-sans);
  letter-spacing: 0px;
}

@media screen and (max-width: 680px) {

.masthead-description,
.masthead-description p {
    font-size: 14px;
    line-height: 24px;
}
  }

.masthead-choose-event-btn {
  margin-top: 36px;
}

.masthead-info-link {
  font-size: 14px;
  letter-spacing: 1px;
}

.home-masthead .masthead-store-nameplate {
    display: none;
  }

.masthead-with-logo-image .masthead-title {
    display: none;
  }

@media screen and (max-width: 680px) {
  .masthead-mobile-prompt {
    display: block;
  }

  .masthead {
    min-height: 300px;
    background-attachment: scroll;
  }

    .masthead .masthead-store-nameplate {
      margin-bottom: 12px;
    }

    .masthead .masthead-content {
      padding: 0 36px;
    }

  .masthead-choose-event-btn {
    display: none;
  }

  .home-masthead .masthead-mid {
    padding-top: 0;
    padding-bottom: 0;
  }

  .simple-masthead {
    min-height: 0;
  }
    .simple-masthead .masthead-content {
      padding-top: 36px;
      padding-bottom: 36px;
    }
    .simple-masthead .masthead-store-nameplate {
      margin: 0 auto 12px;
    }

  .masthead-with-image {
    display: block;
    height: auto;
  }

    .masthead-with-image .masthead-content {
      display: block;
    }
}

@media only screen and (max-width: 450px) and (orientation: portrait) {
  .event-masthead,
  .home-masthead {
    min-height: 100vh;
  }

    .event-masthead .masthead-top, .home-masthead .masthead-top {
      min-height: 10vh;
    }

    .event-masthead .masthead-bottom, .home-masthead .masthead-bottom {
      min-height: 35vh;
    }

    .event-masthead .masthead-mid, .home-masthead .masthead-mid {
      min-height: 40vh;
    }
}

@media only screen and (max-width: 450px) and (max-height: 500px) and (orientation: portrait) {
  .event-masthead,
  .home-masthead {
    min-height: 100vh;
  }

    .event-masthead .masthead-top, .home-masthead .masthead-top {
      min-height: 5vh;
    }

    .event-masthead .masthead-bottom, .home-masthead .masthead-bottom {
      min-height: 35vh;
    }

      .event-masthead .masthead-bottom .masthead-bottom-content, .home-masthead .masthead-bottom .masthead-bottom-content {
        margin: 0 auto;
      }
}

.no-flexbox .masthead-top,
  .no-flexbox .masthead-bottom {
    min-height: 100px;
  }

.show-customers-ui .masthead-top-content {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr);
    margin: 0 4rem;
    grid-row-gap: 1rem;

    max-width: unset;
    width: 100%;
  }

@media screen and (max-width: 900px) {

.show-customers-ui .masthead-top-content {
      margin: 0 2rem;
  }
    }

.show-customers-ui .masthead-link-bar {
    -ms-flex-order: 0;
        order: 0;
    grid-column: 1;
    text-align: left;
  }

.show-customers-ui .masthead-store-nameplate {
    -ms-flex-order: 1;
        order: 1;
    grid-column: 2;
  }

.show-customers-ui .masthead-customer-nav {
    -ms-flex-order: 2;
        order: 2;
    grid-column: 3;
  }

.show-customers-ui .masthead-customer-nav a:hover {
      background-color: var(--tickit-store-color);
      color: var(--tickit-store-color-inverted);
    }

@media screen and (max-width: 680px) {
    .show-customers-ui .masthead-top-content {
      display: grid;
      margin: 0 1rem;
      grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr);
    }

    .show-customers-ui .masthead-customer-nav {
      margin: 0;
      -ms-flex-align: start;
          align-items: flex-start;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: end;
          justify-content: flex-end;
    }

    .show-customers-ui .masthead-customer-nav a {
      border: 0;
      padding: 0 16px;
    }
  }

.no-customers-ui .masthead-customer-nav {
  display: none;
}

@keyframes navshake {
  0% {
    transform: translate(2px, 0);
  }
  10% {
    transform: translate(-1px, 0);
  }
  20% {
    transform: translate(-3px, 0);
  }
  30% {
    transform: translate(0px, 0);
  }
  40% {
    transform: translate(1px, 0);
  }
  50% {
    transform: translate(-1px, 0);
  }
  60% {
    transform: translate(-3px, 0);
  }
  70% {
    transform: translate(2px, 0);
  }
  80% {
    transform: translate(-1px, 0);
  }
  90% {
    transform: translate(2px, 0);
  }
  100% {
    transform: translate(1px, 0);
  }
}

@keyframes store-nav-item-link-highlight {
  0% {
    border-color: var(--tickit-store-color);
    color: var(--tickit-store-color-inverted);
    background: var(--tickit-store-color);
  }
  100% {
    border-color: var(--tickit-mix-color);
    color: var(--navbar-color);
    background: var(--navbar-background);
  }
}

.store-nav-bar {
  position: relative;
  z-index: 3;
}

.store-nav-items {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-line-pack: stretch;
      align-content: stretch;

  max-width: 1116px;
  width: 100%;
  margin: 0 auto;
  border: 0;
  height: 84px;
}

.store-nav-items .nav-item {
    position: relative;
    -ms-flex-order: 0;
        order: 0;
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    -ms-flex-item-align: auto;
        align-self: auto;

    /* extracted from http://ianlunn.github.io/Hover/ */
  }

.store-nav-items .nav-item:hover .nav-item-link,
    .store-nav-items .nav-item:focus .nav-item-link {
      color: var(--navbar-hover-color);
      background: var(--navbar-hover-background);
    }

.store-nav-items .nav-item-link {
    display: block;
    box-sizing: border-box;
    height: 84px;
    /* padding: ((84px - 20px) * 0.5) 12px; */
    padding: 32px 12px;
    border: 1px solid var(--tickit-grey-lightest);
    text-align: center;
    color: var(--navbar-color);
    font: 400 15px/20px var(--open-sans);
    text-transform: uppercase;
    letter-spacing: 3px;
    background: var(--navbar-current-background);
    transition:
      color 100ms ease,
      background 400ms ease,
      border 400ms ease;
    transform: translateZ(0);
    position: relative;
    z-index: 1;
  }

.lt-ie8 :is(.store-nav-items .nav-item-link) {
      height: auto;
    }

.store-nav-items .nav-item-link-text {
    display: inline-block;
  }

.store-nav-items .nav-item-current .nav-item-link {
      color: var(--navbar-color);
      background: var(--navbar-background);
      border-bottom: 0;
      top: -4px;
      height: 88px;
      /* padding: (((84px - 20px) * 0.5) + 4px) 12px ((84px - 20px) * 0.5); */
      padding: 36px 12px 32px;
    }

.lt-ie8 :is(.store-nav-items .nav-item-current .nav-item-link) {
        top: 0;
        height: auto;
        padding: ((84px - 20px) * 0.5) 12px;
      }

.store-nav-items .nav-item-current:hover .nav-item-link,
    .store-nav-items .nav-item-current:focus .nav-item-link {
      color: var(--navbar-color);
      background: var(--navbar-background);
    }

.store-nav-items .nav-item-disabled .nav-item-link {
      cursor: default;
    }

.store-nav-items .nav-item-updated .nav-item-link {
    animation: store-nav-item-link-highlight 1s;
  }

.cart-countdown {
  margin-left: 1em;
  padding: 0.25em 1em;
  text-align: center;
  border-radius: 5px;
  font-size: 0.8em;
  letter-spacing: 2px;
  border: 1px solid var(--tickit-grey-light);
}

.cart-countdown.danger {
    border-color: #c70808;
  }

.cart-countdown.empty {
    margin-left: 0;
    border: 0;
  }

.no-flexbox .store-nav-items {
    display: block;
  }

.no-flexbox .store-nav-items .nav-item {
      float: left;
      width: 33%;
    }

.no-flexbox .store-nav-items .nav-item-first {
      width: 34%;
    }

.nav-item-disabled-shake .nav-item-link-text {
    animation-name: navshake;
    animation-duration: 0.8s;
    transform-origin: 50% 50%;
    animation-timing-function: linear;
  }

.nav-item-disabled-tooltip {
  height: 0;
  padding: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  max-width: 230px;
  background: var(--tickit-white);
  border-radius: 5px;
  border: 1px solid var(--tickit-grey-light);
  left: 1em;
  box-shadow: 2px 2px 2px rgba(var(--tickit-grey-darkest), 0.5);
  top: 4em;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.25s ease;
  transition: transform 1s ease;
}

.nav-item-disabled-tooltip.visible {
    height: auto;
    padding: 1.5em;
    z-index: 500;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.75s ease;
    transition: transform 0.3s ease;
  }

.nav-item-disabled-tooltip p {
    margin: 0 0 0.5em;
    font-size: 13px;
    line-height: 1.6;
  }

.nav-item-disabled-tooltip p:last-child {
    margin-bottom: 0;
  }

.store-nav-items .nav-item-link,
  .store-nav-items .nav-item-event-link {
    border-color: var(--tickit-mix-color);
  }

@media screen and (max-width: 680px) {
  .store-nav-bar {
    display: none;
  }
}

.use-sticky-nav .store-nav-and-body {
    padding-top: 84px;
  }

.use-sticky-nav .store-nav-bar {
    position: absolute;
    top: 0;
    width: 100%;
    max-width: 1116px;
    margin: 0 auto;
  }

.use-sticky-nav.nav-is-sticky .store-nav-bar {
      position: fixed;
      border-bottom: 1px solid var(--tickit-mix-color);
    }

.use-sticky-nav.nav-is-sticky .store-nav-bar .store-nav-items .nav-item-link {
        border-bottom: 0;
      }

@media screen and (max-width: 680px) {
    .use-sticky-nav .store-nav-and-body {
      margin-top: 0;
      padding-top: 0;
    }
  }

.in-iframe.use-sticky-nav .store-nav-and-body {
    margin-top: 0;
    padding-top: 0;
  }

body {
  min-width: 320px;
  font: normal var(--base-font-weight) var(--base-font-size) / 24px var(--base-font-family);
  color: var(--base-color);
  background: #333;
}

.lt-ie9 body {
    min-width: (978px + 30px + 30px);
  }

#page {
  position: relative;
  background: var(--body-background);
}

a {
  text-decoration: none;
}

.visually-hidden,
table caption {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.store-nav-and-body {
  position: relative;
  max-width: 1116px;
  margin: -64px auto 0;
  padding: 0;
  box-sizing: border-box;
  z-index: 2;
}

.store-body {
  position: relative;
  max-width: 1116px;
  margin: 0 auto 96px;
  padding: 0;
  box-sizing: border-box;
  border: 1px solid var(--tickit-border-color);
  border-width: 0 1px 1px;
  z-index: 2;
  background: var(--tickit-white);
}

@media screen and (max-width: 680px) {

.store-body {
    margin-bottom: 0;
}
  }

.page-header,
.page-body {
  /* margin: percentage(math.div(96, 1116)) percentage(math.div(144, 1116)); */
  margin: 8.6022% 12.9032%;
  background: var(--tickit-white);
}

@media screen and (max-width: 900px) {

.page-header,
.page-body {
    margin: 8.6602%;
}
  }

@media screen and (max-width: 680px) {

.page-header,
.page-body {
    margin: 36px;
}
  }

.page-body {
  margin-bottom: 12.9032%;
}

.storefront-not-ready-to-sell-container {
  width: 100%;
  margin: 0 auto;
  background: var(--tickit-grey-darkest);
}

.storefront-not-ready-to-sell-body {
  margin: 0 12.903225806%;
  padding: 2rem 0;
  text-align: center;
}

.storefront-not-ready-to-sell-body,
  .storefront-not-ready-to-sell-body a {
    color: var(--tickit-white);
  }

/* tighter version of page-body */

.future-modal-body {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 680px) {

.future-modal-body {
    margin: 0;
    padding: 48px 36px;
}
  }

.page-header-main {
  text-align: center;
}

.page-header-main .title,
  .page-header-main .announcement {
    margin: 24px auto;
    font: var(--subhed-font-weight) 38px/48px var(--subhed-font-family);
  }

.page-header-main .title,
    .page-header-main .announcement,
    .page-header-main .title a,
    .page-header-main .announcement a {
      color: var(--subhed-color);
      border: 0;
    }

.page-header-main .flash {
    margin-top: 40px;
  }

.page-header-main .flash p {
      margin: 24px 0;
      font: var(--subhed-font-weight) 24px/30px var(--subhed-font-family);
      color: var(--link-color);
      margin-left: auto;
      margin-right: auto;
    }

.page-header-main .flash p,
      .page-header-main .flash p a {
        color: var(--subhed-color);
        border: 0;
      }

.page-header-main *:first-child {
    margin-top: 0;
  }

.page-header-main *:last-child {
    margin-bottom: 0;
  }

.page-header-main p {
    font: var(--base-font-weight) 18px/30px var(--open-sans);
    color: var(--tickit-grey-dark);
    max-width: 732px;
    margin: 12px auto;
  }

.page-header-main p.minor {
    margin: var(--p-small-horizontal-margin) 0;
    font-size: var(--p-small-font-size);
    font-weight: var(--p-small-font-weight);
    line-height: var(--p-small-line-height);
    max-width: 732px;
  }

.page-body .old-order-warning {
  max-width: 732px;
  /* margin: percentage(math.div(96, 826)) 0;
  padding: percentage(math.div(48, 928)); */
  margin: 11.6223% 0;
  padding: 5.1724%;
  border: 1px solid #a01919;
  text-align: center;
  background: #ffe7e7;
}

.page-body .old-order-warning p {
    margin: 24px 0;
    font: var(--base-font-weight) 18px/30px var(--open-sans);
    color: var(--tickit-grey-dark);
  }

/* clearfix */

.store-nav-and-body:before,
.store-body:before,
.ticket-contacts-form:before,
.review-block:before,
.control-group:before,
.select-tickets-table .select-tickets-row:before {
  display: table;
  content: '';
}

.store-nav-and-body:after,
.store-body:after,
.ticket-contacts-form:after,
.review-block:after,
.control-group:after,
.select-tickets-table .select-tickets-row:after {
  clear: both;
  display: table;
  content: '';
}

.events-toc {
  /* margin: percentage(math.div(144, 924)) 0; // percentage(48/924); */
  margin: 15.584415584% 0 5.194805195%;
}

.events-toc .no-tickets-notice {
    margin: 24px 0;
    font: var(--subhed-font-weight) 38px/48px var(--subhed-font-family);
    text-align: center;
  }

.events-toc .no-tickets-notice,
    .events-toc .no-tickets-notice a {
      color: var(--subhed-color);
      border: 0;
    }

.event-toc-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -ms-flex-align: start;
      align-items: flex-start;
  /* margin: 0 0 percentage(math.div(96, 828)); */
  margin: 0 0 11.5942028986%;

  color: var(--event-toc-color);
  background-color: var(--event-toc-background-color);
}

.event-toc-item:hover {
    cursor: pointer;
  }

.event-toc-item .select {
    margin-top: 48px;
  }

.toc-event-title {
  margin: 18px 0;
  font: var(--event-toc-title-font-weight) 42px/54px var(--event-toc-title-font-family);
  text-transform: var(--event-toc-title-text-transform);
  margin: 0 0 24px;
}

.toc-event-title,
  .toc-event-title a {
    color: var(--tickit-grey-darkest);
    letter-spacing: 1px;
  }

@media screen and (max-width: 680px) {

.toc-event-title {
    font-size: 30px;
    line-height: 36px;
}
  }

.toc-event-title a {
    border: none;
  }

.toc-event-details,
  .toc-event-details p {
    margin: 0 0 30px;
    font: var(--event-toc-excerpt-font-weight) 19px/30px var(--event-toc-excerpt-font-family);
    color: var(--tickit-grey-dark);
  }

@media screen and (max-width: 680px) {

.toc-event-details,
  .toc-event-details p {
      font-weight: 400;
      font-size: 16px;
      line-height: 22px;
  }
    }

.event-events_toc-image {
  width: 252px;
  max-width: 252px;
  min-width: 200px;
  /* margin-left: percentage(math.div(84, 828)); */
  margin-left: 10.1449275362%;
}

.event-events_toc-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
  }

.event-toc-text {
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-preferred-size: 200px;
      flex-basis: 200px;
}

/* .event-toc-item {
    @extend %clearfix;
  } */

.no-flexbox .event-toc-text {
    float: left;
    /* width: percentage(math.div(486, 848)); */
    width: 58.6956521739%;
  }

.no-flexbox .event-events_toc-image {
    float: right;
    /* width: percentage(math.div(252, 848)); */
    width: 30.4347826087%;
  }

@media screen and (max-width: 680px) {
  .events-toc {
    margin: 0;
  }
  .toc-event-title {
    margin-bottom: 12px;
  }

  .event-toc-item {
    display: block;
    margin: 0 0 54px;
  }

    .event-toc-item .select {
      margin-top: 24px;
    }
      .event-toc-item .select .btn {
        min-height: 0;
        padding: 4px 12px;
        letter-spacing: 1px;
      }
  .event-events_toc-image {
    display: none;
  }
}

.event-page .btn-wrap {
    /* margin: percentage(math.div(96, 924)) 0; */
    margin: 10.3896103896% 0;
    text-align: right;
  }

.event-page .btn-wrap .btn {
      max-width: 288px;
    }

.event-page .btn-post-text {
    display: block;
    margin-top: 20px;
    font-size: 15px;
  }

.event-page .btn-post-text,
    .event-page .btn-post-text a {
      text-align: right;
    }

.event-info {
  /* margin: percentage(math.div(96, 924)) 0; */
  margin: 1.03896103896% 0;
  max-width: 492px;
}

.event-info,
  .event-info p {
    margin: 24px 0;
    font: var(--base-font-weight) 18px/30px var(--open-sans);
    color: var(--tickit-grey-dark);
  }

.event-info p {
    margin: 12px 0;
  }

.event-description iframe {
  display: block;
  width: 600px;
  height: 338px;
  margin: 2em auto;
}

@media screen and (max-width: 680px) {
  .event-description iframe {
    width: 100%;
    height: 225px;
  }
}

.event-description-image {
  display: block; /* ensure we still scale even when the image is output in a <span> */
  max-width: 492px;
  /* margin: 0 0 percentage(math.div(96, 924)); */
  margin: 0 0 10.3896103896%;
  cursor: pointer;
}

.event-description-image,
  .event-description-image img {
    transition: all 500ms ease;
  }

.event-description-image.is-expanded {
    max-width: 1200px;
  }

.event-description-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
  }

.checkout-from-event-btn {
  min-width: 400px;
}

@media screen and (max-width: 680px) {
  .event-page .btn-wrap {
    text-align: center;
  }

  .checkout-from-event-btn {
    display: none;
    min-width: unset;
  }

  /* this should be the dynamic mobile footer but PWYC isn't auto-adding to carts */
  .order-event-cancellation-body .checkout-from-event-btn,
  .standalone-donation-page .checkout-from-event-btn {
    display: block;
  }
      .event-page .btn-post-text,
      .event-page .btn-post-text a {
        text-align: center;
      }

  .event-info,
  .event-info p {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
  }

  .event-info p {
    margin: 12px 0;
  }
}

.related-store-event-block {
  /* margin: percentage(math.div(144, 924)) 0 percentage(math.div(72, 924)); */
  margin: 15.584415584% 0 7.792207792%;
}

.related-store-event-heading {
  padding: 36px;
  border-bottom: 1px solid var(--tickit-grey-lightest);
  border-radius: 3px;
  text-align: center;
  color: #6b6b6b;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
}

.related-store-events-container {
  padding: 36px 120px;
  position: relative;
}

.related-store-events-container .arrow {
    visibility: hidden;
    position: absolute;
    top: 36px;
    width: 36px;
    height: 36px;
    text-align: center;
    line-height: 36px;
    border: 0;
    color: var(--tickit-grey-medium);
    cursor: pointer;
  }

.related-store-events-container .arrow.prev-button {
      left: 36px;
    }

.related-store-events-container .arrow.next-button {
      right: 36px;
    }

.related-store-events-container .arrow:hover {
      color: var(--tickit-grey-dark);
    }

.related-store-events-container.has-previous .prev-button {
    visibility: visible;
  }

.related-store-events-container.has-next .next-button {
    visibility: visible;
  }

.related-store-events {
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  cursor: default !important;
  display: -ms-flexbox;
  display: flex;
}

.related-store-events.show {
    opacity: 1;
    display: block;
  }

.related-store-events .event-toc-text {
    -ms-flex: 1;
        flex: 1;
  }

.related-store-event {
  overflow: hidden;
  width: 100%;
}

.related-store-events .event-events_toc-image {
  width: 192px;
  max-width: 192px;
  min-width: unset;
  /* margin-right: percentage(math.div(84, 828)); */
  margin-right: 10.1449275362%;
  margin-left: 0;
  margin-bottom: 24px;
}

.related-store-events .event-events_toc-image img {
    border-radius: 6px;
  }

@media screen and (max-width: 680px) {
  .related-store-events-container {
    padding: 36px 72px;
  }

    .related-store-events-container .arrow {
      width: 18px;
      height: 18px;
    }

      .related-store-events-container .arrow.prev-button {
        left: 18px;
      }
      .related-store-events-container .arrow.next-button {
        right: 18px;
      }

  .related-store-events .event-events_toc-image {
    display: block;
    max-width: 100%;
    width: 220px;
  }
}

.page-help-footer {
  /* margin: 0 percentage(math.div(96, 1116)) percentage(math.div(96, 1116));
  padding: percentage(math.div(96, 924)); */
  margin: 0 8.602150538% 8.602150538%;
  padding: 10.3896103896%;
  text-align: center;
  color: var(--tickit-grey-darkest);
  background: var(--tickit-grey-lightest);
  border: 1px solid var(--tickit-border-color);
}

.page-help-footer p {
    margin: var(--p-mid-horizontal-margin) 0;
    font-size: var(--p-mid-font-size);
    font-weight: var(--p-mid-font-weight);
    line-height: var(--p-mid-line-height);
    color: var(--tickit-grey-dark);
  }

@media screen and (max-width: 680px) {

.page-help-footer {
    margin: 72px 0 0;
    padding: 48px 36px;
}

    .page-help-footer p {
      font-size: 14px;
      line-height: 20px;
    }
  }

.page-help-footer-contact .title {
    margin: 0 0 24px;
    font: var(--subhed-font-weight) 22px/30px var(--subhed-font-family);
  }

.page-help-footer-contact .title,
    .page-help-footer-contact .title a {
      color: var(--subhed-color);
      border: 0;
    }

.page-help-footer .single-input-form {
  margin: 0 auto;
}

.page-help-footer .single-input-form .fields {
    margin-top: 42px;
  }

@keyframes review-item-row-highlight {
  0% {
    background: var(--tickit-store-color);
  }
  100% {
    background: var(--tickit-white);
  }
}

.review-order {
  /* margin-bottom: percentage(math.div(96, 924));
  padding: percentage(math.div(48, 924)) 0 0; */
  margin-bottom: 10.3896103896%;
  padding: 5.194805195% 0 0;

  border: 1px solid var(--tickit-mix-color);
  border-width: 1px 0;
}

.review-order tr {
    border: 0;
  }

.review-order tbody th,
    .review-order tbody td {
      padding-top: 12px;
      padding-bottom: 12px;
    }

.review-order .review-highlighted-item-row {
    animation: 2s ease-out 0.1s review-item-row-highlight;
  }

.review-order .item-col {
    padding-right: 12px;
  }

.review-order .price-col {
    width: 80px;
    padding-right: 8px;
  }

.review-order .quantity-col,
  .review-order .subtotal-col {
    width: 64px;
    padding-right: 8px;
  }

.review-order .update-col {
    width: 54px;
    padding-left: 6px;
  }

.review-order .review-block {
    /* @extend %clearfix; */
    margin-bottom: 48px;
  }

.review-order .checkout-promo-code-block,
  .review-order .checkout-promoter-block {
    text-align: right;
  }

.review-order .review-upsell {
    border-top: 1px solid var(--tickit-mix-color);
    padding: 24px 0;
    position: relative;
  }

.review-order .checkout-upsell-item-container {
    padding: 0 30px;
    position: relative;
  }

.review-order .checkout-upsell-item-container .arrow {
      position: absolute;
      top: 24px;
      border: 0;
      color: var(--tickit-grey-medium);
      cursor: pointer;
    }

.review-order .checkout-upsell-item-container .arrow.prev-button {
        left: 0;
      }

.review-order .checkout-upsell-item-container .arrow.next-button {
        right: 0;
      }

.review-order .checkout-upsell-item-container .arrow.shake {
        animation-name: navshake;
        animation-duration: 0.8s;
        transform-origin: 50% 50%;
        animation-timing-function: linear;
      }

.review-order .checkout-upsell-items {
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    cursor: default !important;
    display: -ms-flexbox;
    display: flex;
  }

.review-order .checkout-upsell-items.show {
      opacity: 1;
      display: block;
    }

.review-order .checkout-upsell-item {
    overflow: hidden;
    width: 100%;
    margin: 0.25em 0;
    line-height: 24px;
    color: var(--tickit-grey-darkest);
    float: left;
  }

.review-order .checkout-upsell-item .event-title,
    .review-order .checkout-upsell-item .ticket-title,
    .review-order .checkout-upsell-item .price-purchase {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      padding-right: 10px;
      padding-left: 10px;
      line-height: 20px;
    }

.review-order .checkout-upsell-item .event-image {
      float: left;
    }

.review-order .checkout-upsell-item .event-title {
      line-height: 22px;
    }

.review-order .checkout-upsell-item .ticket-title {
      font-size: 12px;
    }

.review-order .checkout-upsell-item .price-purchase {
      font-size: 14px;
    }

.review-order .checkout-upsell-item .btn {
      margin-left: 0.75em;
      margin-top: -2px;
      vertical-align: middle;
    }

.review-order .review-summary {
    float: right;
    width: 30%;
    text-align: right;
  }

.review-order .review-tax-total,
  .review-order .review-fees-total,
  .review-order .review-discount-total {
    display: block;
    margin: 6px 0 6px;
    font: 400 11px/12px var(--open-sans);
    color: var(--tickit-grey-dark);
  }

@media screen and (max-width: 680px) {

.review-order .review-tax-total,
  .review-order .review-fees-total,
  .review-order .review-discount-total {
      margin-top: -6px; /* connect to $price above */
  }
    }

.review-order .review-grand-total {
    display: block;
    margin-top: 18px;
    font-size: 22px;
    line-height: 22px;
  }

.review-order .select {
    height: 32px;
    line-height: 32px;
    font-size: 14px;
    width: 52px;
  }

.review-order .select .select-styled:after {
      top: 12px;
    }

.resale-order-table-wrapper .subtotal-col {
    padding-right: 0;
    text-align: right;
  }

.checkout-upsell-title {
  margin: var(--p-small-horizontal-margin) 0;
  font-size: var(--p-small-font-size);
  font-weight: var(--p-small-font-weight);
  line-height: var(--p-small-line-height);
  position: absolute;
  top: -10px;
  left: 0;
  margin: 0;
  line-height: 20px;
  background: var(--tickit-white);
  padding-right: 10px;
}

.checkout-upsell-item {
  margin: var(--p-small-horizontal-margin) 0;
  font-size: var(--p-small-font-size);
  font-weight: var(--p-small-font-weight);
  line-height: var(--p-small-line-height);
  margin: 0.25em 0;
  line-height: 24px;
  color: var(--tickit-grey-darkest);
}

.checkout-upsell-item .btn {
    margin-left: 0.75em;
    margin-top: -2px;
    vertical-align: middle;
  }

.form-wrapper input.checkout-freeform-base-price {
  height: 32px;
  padding: 0 5px;
  text-align: center;
  font:
    400 14px/32px 'Open Sans',
    sans-serif;
}

@media screen and (max-width: 680px) {
    .review-order .review-upsell,
    .review-order .review-summary {
      float: none;
      width: 100%;
    }

    .review-order .review-upsell {
      margin-bottom: 24px;
      padding-bottom: 24px;
      border-bottom: 1px solid var(--tickit-mix-color);
    }

    .review-order .checkout-promo-code-block,
    .review-order .checkout-promoter-block {
      margin-bottom: 24px;
    }

    .review-order tr {
      border-bottom: 1px solid var(--tickit-mix-lightest);
    }

    .review-order .price-col,
    .review-order .quantity-col {
      min-height: 36px;
    }

    .review-order .update-col {
      padding-left: 0;
    }

    .review-order .select {
      margin-left: 6px;
    }

    .review-order .item-col {
      padding-top: 0;
    }

    .review-order .tax-col,
    .review-order .fees-col {
      min-height: 0;
    }

    .review-order .review-tax-total,
    .review-order .review-fees-total {
      margin: 6px 0;
    }
}

.checkout-page .payment-plan-selector-title {
    margin: 24px 0;
    font: var(--subhed-font-weight) 24px/30px var(--subhed-font-family);
    text-align: center;
  }

.checkout-page .payment-plan-selector-title,
    .checkout-page .payment-plan-selector-title a {
      color: var(--subhed-color);
      border: 0;
    }

.checkout-page .payment-plan-preview {
    margin: 24px auto;
  }

.checkout-page .payment-plan-preview th,
    .checkout-page .payment-plan-preview td,
    .checkout-page .payment-plan-preview p {
      margin: var(--p-mid-horizontal-margin) 0;
      font-size: var(--p-mid-font-size);
      font-weight: var(--p-mid-font-weight);
      line-height: var(--p-mid-line-height);
      color: var(--tickit-grey-dark);
    }

.checkout-page .payment-plan-preview th,
    .checkout-page .payment-plan-preview td {
      margin: 0;
      padding: 1em 0;
    }

.checkout-page .payment-plan-scheduled-payment-preview-table {
    max-width: 480px;
    margin: 24px auto;
  }

.checkout-page .payment-plan-scheduled-payment-preview-today th,
    .checkout-page .payment-plan-scheduled-payment-preview-today td {
      color: var(--tickit-store-color);
    }

.checkout-page .payment-plan-scheduled-payment-preview .currency {
      text-align: right;
    }

.checkout-page .payment-plan-scheduled-payment-preview:last-child {
      border-bottom: 0;
    }

.checkout-page .donation-block {
    /* padding: percentage(math.div(24, 924)) 0; */
    padding: 2.5974025974% 0;
    color: var(--tickit-grey-darkest);
    overflow: hidden;
  }

.checkout-page .donation-block h3 {
      margin: 0;
      font-size: 18px;
    }

.checkout-page .donation-block a {
      margin-top: 2px;
    }

.tokenized-submit-progress {
  display: none;
}

.submitting-tokenized-form .tokenized-submit-progress {
    display: block;
  }

.submitting-tokenized-form .checkout-page {
    display: none;
  }

.checkout-promo-code-block,
.checkout-promoter-block {
  margin: 24px 0;
}

.checkout-promo-code-block .result, .checkout-promoter-block .result {
    margin: var(--p-small-horizontal-margin) 0;
    font-size: var(--p-small-font-size);
    font-weight: var(--p-small-font-weight);
    line-height: var(--p-small-line-height);
  }

.checkout-promo-code-block .result-error, .checkout-promoter-block .result-error {
    color: var(--error-color);
  }

.checkout-promo-code-block .prompt, .checkout-promoter-block .prompt {
    margin: var(--p-small-horizontal-margin) 0 0;
    font-size: var(--p-small-font-size);
    font-weight: var(--p-small-font-weight);
    line-height: var(--p-small-line-height);

    cursor: pointer;
  }

.checkout-promo-code-block form, .checkout-promoter-block form {
    display: none;
  }

.checkout-promo-code-block label, .checkout-promoter-block label {
    display: none;
  }

.checkout-promo-code-block.showing form, .checkout-promoter-block.showing form {
      display: block;
    }

.checkout-promo-code-block.showing .prompt, .checkout-promoter-block.showing .prompt {
      display: none;
    }

.checkout-promo-code-block input, .checkout-promoter-block input {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: var(--form-field-height);
    margin: 0;
    padding: var(--form-field-padding-horizontal) var(--form-field-padding-vertical);
    font: 300 20px/24px var(--open-sans);
    color: var(--tickit-grey-darkest);
    transition: border 150ms ease;
    width: 180px;
    height: 26px;
    line-height: 18px;
    font-size: 12px;
    font-weight: 400;
    padding: 0 6px;
  }

.checkout-promo-code-block input,
  .checkout-promoter-block input,
  .checkout-promo-code-block button,
  .checkout-promoter-block button {
    float: left;
    display: block;
    margin: 0;
  }

.checkout-promo-code-block button, .checkout-promoter-block button {
    letter-spacing: 1px;
    padding-left: 6px;
    padding-right: 6px;
    margin-left: 12px;
  }

.pay-order,
.standalone-donation-form,
.order-event-cancellation-form {
  max-width: 540px;
  margin: 0 auto;
}

.pay-order .city-control,
  .pay-order .postal-control,
  .pay-order .card-number-control {
    float: left;
    /* width: percentage(math.div(316, 540)); */
    width: 58.5185185185%;
  }

.pay-order .province-control,
  .pay-order .country-control,
  .pay-order .card-expiry-control {
    float: right;
    /* width: percentage(math.div(186, 540)); */
    width: 34.4444444444%;
  }

.pay-order .card-verification-control {
    float: left;
    /* width: percentage(math.div(132, 540)); */
    width: 24.4444444444%;
  }

.pay-order .card-type-icons {
    float: right;
    /* width: percentage(math.div(370, 540)); */
    width: 68.5185185185%;
  }

.pay-order .form-message {
    display: none;
  }

.pay-order .checkout-button-control .btn-lg {
      width: 100%;
    }

.pay-order .checkout-secure-notice {
    float: right;
    /* width: percentage(math.div(186, 540)); */
    width: 34.4444444444%;
    padding-top: 1em;
    color: mix(var(--tickit-grey-darkest), #fff, 50%);
    transition: color 0.2s ease;
  }

.pay-order .checkout-secure-notice p {
      font-size: var(--p-small-font-size);
      font-weight: var(--p-small-font-weight);
      line-height: var(--p-small-line-height);
      margin: 0;
    }

.pay-order .checkout-secure-notice .icon {
      font-size: 30px;
      line-height: 1;
    }

.pay-order .checkout-control-group:hover .checkout-secure-notice {
      color: var(--tickit-grey-darkest);
    }

.pay-order .checkout-secure-notice-icon {
    float: left;
    width: 36px;
    padding-top: 4px;
  }

.pay-order .checkout-secure-notice-text {
    margin-left: 40px;
  }

.pay-order .select {
    height: 60px;
    line-height: 60px;
    text-align: left;
  }

.pay-order .select .select-styled:after {
      top: 26px;
    }

.pay-order .form-message-card-types {
    height: 44px;
    margin-top: 30px;
    padding: 0;
    text-align: left;
  }

/* the credit card / interac selector */

.pay-order .payment-method-option {
    float: left;
    margin-right: 48px;
  }

.pay-order .payment-method-option label {
      margin-left: 30px;
    }

.pay-order .payment-method-option .form-message-card-types {
      margin-top: 0;
      height: 30px;
    }

.pay-order .payment-method-option .form-message-card-types,
      .pay-order .payment-method-option .form-message-card-types img {
        height: 35px;
      }

.pay-order .payment-method-option.not-current img {
      opacity: 0.5;
    }

.pay-order .card-icon {
    display: inline-block;
    width: auto;
    height: 44px;
    opacity: 0.8;
    vertical-align: middle;
    line-height: 1;
    transition: all 150ms ease-out;
  }

.pay-order .card-icon.not-current {
      opacity: 0.2;
    }

.pay-order .card-icon.current {
      opacity: 1;
    }

.checkout-submit-notes {
  margin: 36px 0;
}

.checkout-submit-notes p {
    margin: var(--p-small-horizontal-margin) 0;
    font-size: var(--p-small-font-size);
    font-weight: var(--p-small-font-weight);
    line-height: var(--p-small-line-height);
  }

.large-select .select {
    height: 60px;
    line-height: 60px;
    text-align: left;
  }

.large-select .select .select-styled:after {
      top: 26px;
    }

#terms-content {
  display: none;
}

.checkout-shipping-address-form {
  display: none;
  padding-bottom: 3em;
}

.tickit-form.submitting .btn-loading-circle, .tickit-form.redirecting .btn-loading-circle {
    opacity: 1;
  }

@media screen and (max-width: 680px) {
    .pay-order .card-type-icons {
      display: none;
    }
    .pay-order .city-control,
    .pay-order .postal-control,
    .pay-order .card-number-control,
    .pay-order .province-control,
    .pay-order .country-control,
    .pay-order .card-expiry-control,
    .pay-order .card-verification-control,
    .pay-order .checkout-button-control,
    .pay-order .checkout-secure-notice {
      float: none;
      width: auto;
      margin: 0 0 18px;
    }

    .pay-order .card-expiry-control,
    .pay-order .card-verification-control,
    .pay-order .checkout-secure-notice {
      max-width: 220px;
    }

    .pay-order .btn-lg {
      min-height: 0;
      width: 100%;
      font-size: 16px;
      padding: 24px;
    }
}

.questions-link-section {
  font-size: 13px;
}

.checkout-attestations-container {
  /* margin: 0 0 percentage(math.div(96, 1116)); */
  margin: 0 0 8.6021505376%;
  /* padding: percentage(math.div(96, 924)); */
  padding: 10.3896103896%;
  text-align: center;
  color: var(--tickit-grey-darkest);
  background: var(--tickit-grey-lightest);
  border: 1px solid var(--tickit-grey-lightest);
}

.checkout-attestations-container p {
    font-size: var(--p-mid-font-size);
    font-weight: var(--p-mid-font-weight);
    line-height: var(--p-mid-line-height);
    margin-top: 0;
    margin-bottom: 24px;
    color: var(--tickit-grey-dark);
  }

@media screen and (max-width: 680px) {
    .checkout-attestations-container p {
      font-size: 14px;
      line-height: 20px;
    }
  }

.checkout-form-unanswered-attestations {
  position: relative;
  z-index: 1;
}

.checkout-form-unanswered-attestations,
  .checkout-form-unanswered-attestations * {
    pointer-events: none;
  }

.checkout-form-unanswered-attestations:after {
  width: 100%;
  height: 100%;
  top: -24px;
  left: -24px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.65);
  position: absolute;
  display: block;
  content: ' ';
  pointer-events: none;
  z-index: 20;
}

.checkout-login-status {
  text-align: right;

  margin: 0 0 1rem;
}

.checkout-login-status p {
    margin-bottom: 0;
  }

.complete-page .page-body p {
    margin: 12px 0 24px;
    font-size: 16px;
    line-height: 30px;
  }

.complete-page .download-wrapper,
  .complete-page .hard-tickets-wrapper {
    text-align: center;
  }

.complete-page .donation-receipt-wrapper {
    margin: 24px 0;
  }

.complete-page .transfer-button-group,
  .complete-page .contact-tracing-group {
    margin-bottom: 3rem;
    text-align: center;
  }

.complete-page .transfer-button-group .btn-sm .ti, .complete-page .contact-tracing-group .btn-sm .ti {
      font-size: 20px;
      line-height: 20px;
      vertical-align: middle;
    }

.complete-page .receipt-prompt {
    margin: 24px 0 var(--p-small-horizontal-margin);
    font-size: var(--p-small-font-size);
    font-weight: var(--p-small-font-weight);
    line-height: var(--p-small-line-height);
    text-align: center;
  }

.complete-page .page-body .scheduled-payments-payment-plan-description {
    margin: 0.5rem 0 2rem;
  }

.complete-page .page-body .scheduled-payments-payment-plan-description p {
      margin: var(--p-small-horizontal-margin) 0;
      font-size: var(--p-small-font-size);
      font-weight: var(--p-small-font-weight);
      line-height: var(--p-small-line-height);
    }

.download-page-event-cancellation-alert {
  /* margin: 11.6222760291% 0; */
  margin: 11.6222760291% 0;
  /* padding: 5.1724137931%; */
  padding: 5.8111380145%;
  border: 1px solid var(--tickit-grey-lightest);
  text-align: center;
  background: var(--tickit-offwhite);
}

.download-page-event-cancellation-alert h3 {
    margin: 24px 0;
    font: var(--base-font-weight) 18px/30px var(--open-sans);
    color: var(--tickit-grey-darkest);
    text-align: center;
  }

.download-page-event-cancellation-alert p {
    margin-top: 0;
  }

.download-passbook {
  display: none;
}

.mac-os .download-passbook {
  display: inline-block;
}

.complete-actions {
  margin: 11.6222760291% 0;
  padding: 5.1724137931%;
  border: 1px solid var(--tickit-border-color);
  text-align: center;
  background: var(--tickit-offwhite);
}

.complete-actions-title {
  margin: 24px 0;
  font: var(--base-font-weight) 18px/30px var(--open-sans);
  color: var(--tickit-grey-darkest);
  text-align: center;
}

.complete-action {
  display: inline-block;
  margin: 0 6px 24px;
  border-width: 1px;
}

.complete-action .ti {
    margin-right: 4px;
    font-size: 12px;
    line-height: 20px;
  }

.download-page-receipt-message {
  margin: 11.6222760291% 0;
  padding: 5.1724137931%;
  background: var(--tickit-offwhite);
  border: 1px solid var(--tickit-grey-lightest);
  text-align: center;
}

.download-page-virtual-event-link {
  margin: 48px 0;
  padding: 5.1724137931%;
  background: var(--tickit-offwhite);
  border: 1px solid var(--tickit-grey-lightest);
  text-align: center;
}

/* default paragraph on download page, used by .download-page-virtual-event-details */

.prose-p {
  width: 65.2173913043%;
  margin: 48px auto;
  /* @extend %clearfix; */
}

.prose-p p {
    font-size: 16px;
    line-height: 30px;
  }

.download-page-virtual-event-link + .prose-p {
  margin-top: -24px;
}

.order-complete-private-token-block {
  margin: 11.6222760291% 0;
  text-align: center;
  font-size: 0.8rem;
}

.order-complete-private-token-block code {
    margin: 12px 0;
    display: block;
  }

.order-complete-private-token-block p.old-order-warning {
    margin: 12px 0;
    font-size: 12px;
  }

.complete-action-facebook {
  text-transform: none;
  letter-spacing: 0;
}

.transfer-tickets-form .select-tickets-controls {
    margin-top: 48px;
  }

.transfer-tickets-form .ticket-control-group {
    margin: 24px 0;
  }

.transfer-tickets-form .nested-checkbox-control-group {
    margin: 6px 0 6px 48px;
  }

.transfer-tickets-form .nested-checkbox-control-group:first-child {
      margin-top: 12px;
    }

.transfer-tickets-form .nested-checkbox-control-group:last-child {
      margin-bottom: 0;
    }

.order-customer-claim-prompt,
.order-customer-login-prompt {
  margin: 2em;
  padding: 5.1948051948%;
  text-align: center;
  color: var(--tickit-grey-darkest);
  background: var(--tickit-grey-lightest);
  border: 1px solid var(--tickit-grey-lightest);
}

.order-customer-claim-prompt p, .order-customer-login-prompt p {
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 0 0 1rem;
  }

.transferred-tickets-container {
  margin-top: 64px;
}

.single-tickets-container {
  margin-bottom: 48px;
}

.single-tickets-container .title {
    margin: 0 0 48px;
    text-align: center;
    font: var(--subhed-font-weight) 24px/30px var(--subhed-font-family);
  }

.single-tickets-container .title,
    .single-tickets-container .title a {
      color: var(--subhed-color);
      border: 0;
    }

.single-tickets-container .secondary-title {
    margin: 24px 0;
    font: var(--subhed-font-weight) 20px/30px var(--subhed-font-family);
    color: var(--subhed-color);
    border: 0;
    text-align: center;
  }

.single-tickets-container .secondary-title .commands {
      margin: 12px 0;
      font-family: var(--open-sans);
      color: var(--link-color);
      font-weight: 400;
      font-size: 12px;
      text-align: center;
    }

.single-tickets-container .secondary-title .commands a {
        padding: 0 12px;
      }

.single-tickets-list {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-ticket-row {
  clear: both;
  width: 65.2174%;
  margin: 0 auto;
  padding: 24px 0;
  border-bottom: 1px solid var(--tickit-border-color);
  font-size: 12px;
  line-height: 24px;
  text-align: left;
}

.single-ticket-row:first-child {
    border-top: 1px solid var(--tickit-border-color);
  }

.page-body .single-tickets-list p {
  margin: 18px 0;
  text-align: center;
}

.single-ticket-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  gap: 2rem;
}

.single-ticket-item .item-title,
  .single-ticket-item .nth {
    margin: 12px 0 6px;
    font-size: 16px;
    line-height: 20px;
  }

.single-ticket-item .nth {
    white-space: nowrap;
    width: 11.1111%;
    text-align: right;
  }

.single-ticket-item .item-title {
    -ms-flex: 1;
        flex: 1;
  }

.single-ticket-holder {
  margin: 6px 0;
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  color: var(--tickit-grey-dark);
}

.single-ticket-commands {
  clear: both;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  margin: 12px 0 0;
  font-family: var(--open-sans);
  font-weight: 400;
}

.single-ticket-commands a {
    display: block;
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    margin-right: 2em;
    margin-bottom: 12px;
    border: 0;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.1;
    gap: 1em;
    -ms-flex-align: center;
        align-items: center;
  }

.single-ticket-commands .single-ticket-command-icon {
    position: relative;
    font-size: 22px;
    opacity: 0.5;
  }

.single-ticket-commands .ti-download-ticket {
    top: 2px; /* this icon is weirdly proportioned */
  }

.single-ticket-commands a:hover .ti, .single-ticket-commands a:focus .ti {
      opacity: 1;
    }

.single-ticket-commands .download-passbook {
    margin-left: auto;
    margin-right: 0;
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

@media screen and (max-width: 680px) {

.single-ticket-commands {
    display: block;
}
  }

.single-ticket-form {
  clear: both;
  /* @extend %clearfix; */
}

.single-ticket-form input {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: var(--form-field-height);
    margin: 0;
    padding: var(--form-field-padding-horizontal) var(--form-field-padding-vertical);
    font: 300 20px/24px var(--open-sans);
    color: var(--tickit-grey-darkest);
    transition: border 150ms ease;
    margin: 12px 0;
    height: 36px;
    line-height: 18px;
    font-size: 12px;
    font-weight: 400;
    padding: 9px 12px;
  }

.single-ticket-form .ticket-save-btn {
    margin: 12px 0 0;
    padding-left: 12px;
    padding-right: 12px;
    font-size: 12px;
  }

.single-ticket-form .single-ticket-form-fields {
    float: left;

    /* width: percentage(math.div(348, 540)); */
    width: 64.4444444444%;
  }

.single-ticket-form .single-ticket-form-commands {
    float: right;
    /* width: percentage(math.div(192, 540)); */
    width: 35.5555555556%;
    text-align: right;
  }

@media screen and (max-width: 474px) {
  .single-ticket-row {
    width: 100%;
    min-width: 0;
  }
}

.transfer-acceptance-container {
  width: 65.2173913043%;
  clear: both;
  margin: 0 auto;
  /* @extend %clearfix; */
  padding: 24px 0;
}

.transfer-acceptance-container .single-ticket-row {
    width: 100%;
    min-width: 0;
  }

/* @extend %clearfix; */

.ticket-contacts-form input {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: var(--form-field-height);
    margin: 0;
    font: 300 20px/24px var(--open-sans);
    color: var(--tickit-grey-darkest);
    transition: border 150ms ease;
    display: inline;
    width: 175px;
    margin: 12px 0;
    height: 36px;
    font-size: 12px;
    font-weight: 400;
    padding: 9px 12px;
    transition: border 150ms ease;
  }

@media only screen and (max-width: 1100px) {

.ticket-contacts-form input {
      display: block;
      width: 100%;
  }
    }

.ticket-contacts-submit-control {
  /* width: percentage(math.div(540, 828)); */
  width: 65.2173913043%;
  min-width: 474px;
  margin: 6% auto;
}

.hard-tickets-wrapper {
  margin: 48px 0 0;
}

.hard-tickets-wrapper-title {
  font: var(--subhed-font-weight) 24px/30px var(--subhed-font-family);
  margin: 0 0 24px;
  text-align: center;
}

.hard-tickets-wrapper-title,
  .hard-tickets-wrapper-title a {
    color: var(--subhed-color);
    border: 0;
  }

.hard-tickets-list {
  display: block;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.hard-ticket-row {
  /* width: percentage(math.div(540, 828)); */
  width: 65.2173913043%;
  margin: 0 auto;
  /* @extend %clearfix; */
  padding: 6px 0;
  border-bottom: 1px solid var(--tickit-border-color);
  font-size: 12px;
  line-height: 24px;
  text-align: left;
}

.hard-ticket-row:first-child {
    border-top: 1px solid var(--tickit-border-color);
  }

/* @extend %clearfix; */

.hard-ticket-item .item-title,
  .hard-ticket-item .nth {
    margin: 6px 0;
    font-size: 16px;
    line-height: 20px;
  }

.hard-ticket-item .nth {
    white-space: nowrap;
    float: right;
    /* width: percentage(math.div(220, 540)); */
    width: 40.7407407407%;
    text-align: right;
  }

.hard-ticket-item .item-title {
    float: left;
    /* width: percentage(math.div(320, 540)); */
    width: 59.2592592593%;
  }

@media (--mobile-portait) {
  .hard-ticket-row {
    width: 100%;
    min-width: 0;
  }
    .hard-ticket-row .item-title,
    .hard-ticket-row .nth {
      float: none;
      width: auto;
      text-align: left;
    }
}

.multipack-builder-quantity-selector {
  width: 4rem;
  margin: 0;
}

.multipack-builder-event .event-title {
    margin: 0;
    color: #8c8c8c;
    font-weight: 600;
    font-size: 18px;
  }

.multipack-builder-event + .multipack-builder-event {
  margin-top: 24px;
}

.multipack-builder-component .soldout-notice {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    margin-top: 0.25rem;
  }

.builder-progress {
  display: -ms-flexbox;
  display: flex;
  width: 100%;

  min-height: 24px;
  position: relative;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;

  margin-bottom: 36px;
}

.builder-progress .spacer {
    display: inline-block;
    background: #ccc;
    width: 20px;
    height: 1px;
    margin: 0px 3px;
  }

.progress-badge {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition:
    background-color 0.35s ease-out,
    border-color 0.35s ease-out;
}

.progress-badge span,
  .progress-badge i {
    width: 24px;
    height: 24px;
    display: inline-block;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
  }

.progress-pending {
  background: #f5f5f5;
  border: 1px solid #cccccc;
}

.progress-pending span,
  .progress-pending i {
    color: #cccccc;
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    text-transform: uppercase;
  }

.progress-success {
  border-color: var(--tickit-store-color);
  background-color: var(--button-hover-border-color);
  color: var(--tickit-store-color-inverted);
  font-size: 14px;
}

.receipt-page .receipt-title {
    margin: 36px 0 24px;
    font: var(--subhed-font-weight) 38px/48px var(--subhed-font-family);
  }

.receipt-page .receipt-title,
    .receipt-page .receipt-title a {
      color: var(--subhed-color);
      border: 0;
    }

.receipt-page .table-wrapper {
    margin: 36px 0;
  }

.receipt-page .receipt-text p {
    display: block;
    margin: 0 0 6px;
    font: var(--base-font-weight) 13px/20px var(--open-sans);
  }

.receipt-page .price-col .ordertable-value,
  .receipt-page .price-amount {
    display: inline-block;
    margin: 0 0 6px;
    font: 400 14px/28px var(--open-sans);
  }

.receipt-page .price-col,
  .receipt-page .quantity-col,
  .receipt-page .discount-col,
  .receipt-page .subtotal-col {
    width: 84px;
    text-align: right;
  }

.receipt-page .item-title {
    display: block;
    margin: 0 0 6px;
    font: 300 20px/24px var(--open-sans);
  }

.receipt-page .event-title {
    display: block;
    margin: 0 0 6px;
    font: var(--base-font-weight) 13px/20px var(--open-sans);
  }

.receipt-page .payments-table tbody th,
    .receipt-page .payments-table tbody td {
      padding-top: 12px;
      padding-bottom: 12px;
    }

.receipt-page .payments-table tbody th .ordertable-value, .receipt-page .payments-table tbody td .ordertable-value {
        display: block;
        margin: 0 0 6px;
        font: var(--base-font-weight) 13px/20px var(--open-sans);
      }

.receipt-page .payments-table tbody .payments-footer {
      border-top-width: 5px;
      border-bottom: 0;
      border-style: double;
    }

.receipt-page .payment-details-table,
    .receipt-page .payment-details-table tr,
    .receipt-page .payment-details-table th,
    .receipt-page .payment-details-table td {
      border: none;
    }

.receipt-page .payment-details-table tbody th,
    .receipt-page .payment-details-table tbody td {
      padding-top: 0;
      padding-bottom: 0;
    }

.receipt-page .small {
    margin-top: 0;
    margin: var(--p-small-horizontal-margin) 0;
    font-size: var(--p-small-font-size);
    font-weight: var(--p-small-font-weight);
    line-height: var(--p-small-line-height);
  }

.receipt-page .summary {
    /* @extend %clearfix; */
    padding: 36px 0;
  }

.receipt-page .summary .totals {
      text-align: right;
    }

.receipt-page .summary .price-amount {
      display: block;
    }

.receipt-page .summary .grand-total-amount {
      display: block;
      margin: 0 0 6px;
      font: 300 20px/24px var(--open-sans);
    }

@media screen and (max-width: 680px) {
    .receipt-page .ordertable-price-small {
      font-weight: 300;
      font-size: 12px;
    }
      .receipt-page .payments-table tbody th,
      .receipt-page .payments-table tbody td {
        padding: 0;
      }
}

.questions-form dl {
    margin: 0;
  }

.questions-form .questions-form-order-section,
  .questions-form .questions-form-ticket-section {
    margin: 5.8111% 0;
    padding: 10.3448%;
    border: 1px solid var(--tickit-mix-color);
    background: var(--tickit-offwhite);
  }

.questions-form .question-block-sub-header {
    margin: 0 0 48px;
    font-size: 13px;
    line-height: 24px;
    font-weight: 200;
  }

.questions-form .question-answer-text {
    margin: 0;
  }

.questions-form .question-with-answer {
    margin: 48px 0;
  }

.questions-form .question-with-answer:first-child {
    margin-top: 0;
  }

.questions-form .question-with-answer:last-child {
    margin-bottom: 0;
  }

.questions-form .question-answer-text-unanswered {
    font-size: 12px;
    text-transform: uppercase;
  }

.questions-form .qa-section-form {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    gap: 2rem;
  }

.questions-form .question-inputs {
    -ms-flex: 1;
        flex: 1;
  }

.questions-form .question-actions {
    width: 4rem;
    text-align: right;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }

.questions-form div.qa-section-form .question-actions {
      margin: 0;
      text-align: right;
    }

.questions-form .question-block {
    margin: 48px 0;
  }

.questions-form .question-block:first-child {
      margin-top: 0;
    }

.questions-form .question-block:last-child {
      margin-bottom: 0;
    }

.questions-form .question-block .control {
      margin-top: 8px;
    }

.questions-form .control-group {
    margin: 0;
  }

.questions-form .question-text,
  .questions-form p.question-text {
    font-size: 16px;
    font-weight: 200;
  }

.questions-form .radio-control-group .control, .questions-form .checkbox-control-group .control {
      margin: 24px 0;
    }

.questions-form .radio-control-group .control:last-child, .questions-form .checkbox-control-group .control:last-child {
      margin-bottom: 0;
    }

.questions-form .radio-control-group label, .questions-form .checkbox-control-group label {
      font-size: 16px;
      line-height: 1.5;
      margin-left: 30px;
    }

.questions-form input[type='text'] {
    height: 60px;
    padding: 18px;
    font-size: 18px;
  }

.questions-form .question-ticket-type {
    font-size: 18px;
    font-weight: bold;
  }

.questions-form .question-control-with-details .question-extra-details {
      display: none;
      padding: 5px 0 0;
    }

.questions-form .question-control-with-details.current .question-extra-details {
        display: block;
      }

.questions-form .checkout-button-control {
    text-align: right;

    /* http://stackoverflow.com/a/7834293/559596
    allow clicks to flow to parent event when disabled (so we can add the
    shake effect) */
  }

.questions-form .checkout-button-control button[disabled] {
      pointer-events: none;
    }

.questions-form .checkout-button-control .pending-questions-message {
      display: block;
      margin-top: 20px;
      font-size: 15px;
      text-align: right;
    }

.question-required-badge {
  display: block;
  margin: 0;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.expired-question {
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.question-image-uploader {
  background: white;
  position: relative;
  z-index: 0;
  border: 1px dashed var(--tickit-grey-medium);
  box-shadow: 0px 0px 0px 2px var(--tickit-grey-lightest) inset;
  transition: all 200ms ease;
  cursor: pointer;
}

.question-image-uploader:focus,
  .question-image-uploader:hover {
    border-color: var(--link-color);
    outline: 0;
  }

.question-image-uploader.dragover {
    border-color: var(--link-color);
    outline: 0;
    background: var(--tickit-grey-lightest);
  }

.question-image-uploader.uploading .dz-preview {
      display: none;
    }

.question-image-uploader.error {
    border-color: var(--error-color);
  }

.question-image-uploader .image-uploader {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 180px;
    margin: 0;
    padding: 18px;
    z-index: 0;
    box-sizing: border-box;
  }

.question-image-uploader .image-uploader .dz-preview {
      background: white;
    }

.question-image-uploader .image-uploader .dz-preview img {
        width: 100%;
        height: auto;
        transition: opacity 200ms;
      }

.question-image-uploader .image-uploader .dz-progress,
    .question-image-uploader .image-uploader .dz-details,
    .question-image-uploader .image-uploader .dz-success-mark,
    .question-image-uploader .image-uploader .dz-error-mark {
      display: none;
    }

.question-image-uploader .image-uploader .dz-remove {
      position: absolute;
      top: 24px;
      right: 24px;
      display: block;
      width: 20px;
      height: 20px;
      line-height: 20px;
      border-radius: 50%;
      padding: 3px;
      font-size: 11px;
      text-align: center;
      color: white;
      background: rgba(0, 0, 0, 0.65);
      border-bottom: 0;
      transition: background 200ms;
    }

.question-image-uploader .image-uploader .dz-remove:hover {
        background: black;
      }

.question-image-uploader .image-helptext {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: -ms-flexbox;
    display: flex;
    z-index: -1;
    text-align: center;
  }

.question-image-uploader .image-helptext .image-helptext-inner {
      margin: auto;
    }

.question-image-uploader .image-helptext .image-helptext-inner i {
        display: block;
        font-size: 34px;
        margin-bottom: 16px;
        color: var(--tickit-grey-light);
      }

.transfers-page .transfers-page-body {
    display: -ms-flexbox;
    display: flex;
    gap: 72px;
  }

.transfers-page .transfers-page-instructions {
    -ms-flex: 1;
        flex: 1;
  }

.transfers-page .transfers-page-form-fields {
    -ms-flex: 1;
        flex: 1;
  }

.transfers-page .submit-btn-wrapper {
    margin-top: 3em;
    text-align: center;
  }

.transfers-page .select-tickets-controls .control-group {
      margin-top: 18px;
      margin-bottom: 18px;
    }

.transfers-page .select-tickets-controls label {
      font-size: 16px;
      line-height: 1.5;
    }

.transfer-page-select-mode .btn + .btn {
    margin-left: 1em;
  }

.transfers-page-resale-previews {
  margin: 3em -2em 4em;
  padding: 0 1em;
  border: 1px solid var(--tickit-border-color);
  background-color: var(--tickit-grey-lightest);
}

.transfers-page-resale-preview-title {
  margin-bottom: 0.5em;
}

.transfers-page-resale-preview {
  margin: 3em 2em;
}

.transfers-page-resale-preview a[data-behavior='toggle-details'] {
    margin-left: 1em;
  }

.transfers-page-resale-preview .transfers-page-resale-preview-details {
    display: none;
  }

.transfers-page-resale-preview.show-details .transfers-page-resale-preview-details {
    display: block;
  }

.transfers-page-resale-preview .review-order {
    margin: 0;
    padding: 0;
  }

@media screen and (max-width: 900px) {
    .transfers-page .transfers-page-form {
      max-width: 540px;
      margin: 0 auto;
    }

    .transfers-page .transfers-page-body {
      display: block;
    }

    .transfers-page .transfers-page-instructions,
    .transfers-page .transfers-page-form-fields {
      width: auto;
      margin: 0 0 1em;
    }
}

.inline-single-input-form p {
    margin-bottom: 0;
  }

.inline-single-input-form .single-input-form {
    max-width: 540px;
    margin: 0 auto;
  }

.inline-single-input-form .single-input-form label {
      display: none;
    }

.inline-single-input-form .single-input-form .fields {
      position: relative;
    }

.inline-single-input-form .single-input-form input,
    .inline-single-input-form .single-input-form button {
      height: 100%;
      border-radius: 0 4px 4px 0;
    }

.inline-single-input-form .single-input-form input {
      display: block;
      box-sizing: border-box;
      width: 100%;
      max-width: 100%;
      height: var(--form-field-height);
      margin: 0;
      padding: var(--form-field-padding-horizontal) var(--form-field-padding-vertical);
      font: 300 20px/24px var(--open-sans);
      color: var(--tickit-grey-darkest);
      transition: border 150ms ease;
      width: 100%;
      margin: 0;
      padding-right: 200px;
      font-size: 16px;
    }

@media screen and (max-width: 960px) {

.inline-single-input-form .single-input-form input {
        width: 100%;
        padding: 0;
        text-align: center;
    }
      }

.inline-single-input-form .single-input-form button {
      position: absolute;
      top: 0;
      right: 0;
      width: 186px;
    }

@media screen and (max-width: 960px) {

.inline-single-input-form .single-input-form button {
        width: 100%;
        position: static;
        border-radius: 4px;
        margin-top: 10px;
    }
      }

.inline-single-input-form .result-message {
    margin: var(--p-small-horizontal-margin) 0;
    font-size: var(--p-small-font-size);
    font-weight: var(--p-small-font-weight);
    line-height: var(--p-small-line-height);
    font-weight: bold;
    margin: 36px 0 0;
    color: var(--tickit-grey-darkest);
  }

.inline-single-input-form .result-message.hidden {
      display: none;
    }

.lt-ie8 .inline-single-input-form form {
    width: 540px;
  }

.lt-ie8 .inline-single-input-form input {
    position: relative;
    float: left;
    height: 24px;
    width: 320px;
    padding: 14px 9px;
  }

.lt-ie8 .inline-single-input-form button {
    position: relative;
    float: left;
    width: 192px;
  }

:root {
  /* IF THIS CHANGES you must also change TOOLTIP_W in getCoordinatesForSeat() */
  --seatmap-tooltip-width: 380px;
  --seatmap-border-color: #d4d4d4;
  --open-sans: 'Open Sans', sans-serif;
}

.seatmap-container {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  background: #fafafa;
}

.seatmap-takeover {
  z-index: 20;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
}

.seatmap-takeover .controls {
    margin: 20px 0 12px;
    text-align: left;
  }

.seatmap-takeover .close {
    /* TODO: same as header controls */
    border: 1px solid rgba(#969696, 0.25);
    border-radius: 4px;
    color: #969696;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    padding: 4px 8px;
    font-size: 12px;
    cursor: pointer;
  }

.seatmap-takeover .close:hover,
    .seatmap-takeover .close:focus {
      border-color: #969696;
    }

.seatmap-takeover-content {
  max-width: 50%;
}

.seatmap-takeover-content p {
    margin: 8px 0;
    font-size: 24px;
    line-height: 36px;
    font-weight: 300;
  }

.seatmap-map {
  pointer-events: all;
}

.seatmap-map text {
    font-weight: bold;
    letter-spacing: 24px;
    font-family: var(--open-sans);
    fill: #505050;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }

.seatmap-row-path {
  display: none;
  pointer-events: visiblestroke;
}

.seatmap-seat {
  fill: #e3e3e3;
  stroke: #e3e3e3;
}

.seatmap-available,
.seatmap-in-cart {
  cursor: pointer;
}

.seatmap-unavailable,
.seatmap-sold,
.seatmap-pending {
  fill: #e3e3e3;
  stroke: #e3e3e3;
}

.seatmap-available {
  stroke: #b3b3b3;
  fill: #b3b3b3;
}

.seatmap-available:hover {
    stroke: #969696;
    fill: #969696;
  }

/* zoom controls */

.seatmap-zoom-controls {
  position: absolute;
  width: 36px;
  z-index: 10;
  top: 24px;
  left: 30px;
  box-sizing: border-box;
  border: 1px solid var(--seatmap-border-color);
  border-radius: 5px;
  background: #fff;
}

.seatmap-zoom-controls .control {
    cursor: pointer;
    display: block;
    height: 36px;
    margin: 0;
    border: 0;
    font-size: 20px;
    line-height: 36px;
    font-weight: bold;
    text-align: center;
    color: #969696;
    background: #fff;
    border-bottom: 1px solid var(--seatmap-border-color);
  }

.seatmap-zoom-controls .control:first-child {
      border-radius: 5px 5px 0 0;
    }

.seatmap-zoom-controls .control:last-child {
      border-bottom: 0;
      border-radius: 0 0 5px 5px;
    }

.seatmap-zoom-controls .control:hover,
    .seatmap-zoom-controls .control:focus {
      background-color: #f8f8f8;
    }

.seatmap-section-zoom-controls {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: absolute;
  z-index: 10;
  top: 24px;
  left: 70px;
  box-sizing: border-box;
  border: 1px solid var(--seatmap-border-color);
  border-radius: 5px;
  background: #fff;
}

.seatmap-section-zoom-controls .control {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    display: block;
    height: 36px;
    margin: 0;
    padding: 0 1rem;
    border: 0;
    font-size: 14px;
    line-height: 36px;
    font-weight: normal;
    text-align: left;
    color: #969696;
    background: #fff;
    border-bottom: 1px solid var(--seatmap-border-color);
  }

.seatmap-section-zoom-controls .control:first-child {
      border-radius: 5px 5px 0 0;
    }

.seatmap-section-zoom-controls .control:last-child {
      border-bottom: 0;
      border-radius: 0 0 5px 5px;
    }

.seatmap-section-zoom-controls .control:hover,
    .seatmap-section-zoom-controls .control:focus {
      background-color: #f8f8f8;
    }

.seatmap-section-masks {
  display: block;
}

.seatmap-section-masks rect {
    fill: #a08f68;
    fill-opacity: 1;
  }

.seatmap-section-labels {
  display: block;
  fill: #fff;
}

.ism-zooming .seatmap-section-masks,
  .ism-zooming .seatmap-section-labels {
    display: none;
  }

.seatmap-busy,
.seatmap-busy .seatmap-seat {
  cursor: wait;
}

.seatmap-tooltip {
  top: 0;
  left: 0;
  box-sizing: border-box;
  position: absolute;
  width: 90%;
  max-width: var(--seatmap-tooltip-width);
  border-radius: 8px;
  border: 1px solid var(--seatmap-border-color);
  background: #fff;
  z-index: 99999;
  text-align: left;
}

.seatmap-tooltip-header {
  display: -ms-flexbox;
  display: flex;
  padding: 24px;
  color: #505050;
  background: red; /*var(--tickit-bg-mix-color);*/
  border-radius: 8px 8px 0 0;
}

.seatmap-tooltip-header .titles {
    -ms-flex: 1;
        flex: 1;
  }

.seatmap-tooltip-header .tooltip-close {
    display: block;
    width: 1em;
    text-align: right;
    line-height: 16px;
    font-size: 11px;
    font-weight: normal;
    color: #969696;
    border: none;
  }

.seatmap-tooltip-header .tooltip-close:hover,
    .seatmap-tooltip-header .tooltip-close:focus,
    .seatmap-tooltip-header .tooltip-close:active {
      color: #505050;
      border: 0;
    }

.seatmap-tooltip-header .title {
    font-weight: 300;
    font-size: 16px;
    line-height: 16px;
    margin-bottom: 4px;
  }

.seatmap-tooltip-header .subtitle {
    font-weight: normal;
    font-size: 10px;
    line-height: 14px;
    color: #969696;
    text-transform: uppercase;
    letter-spacing: 2px;
  }

.no-body .seatmap-tooltip-header {
  border-radius: 8px;
}

.seatmap-tooltip-body {
  padding: 24px;
}

.seatmap-tooltip-body,
  .seatmap-tooltip-body p {
    font-size: 13px;
  }

.seatmap-tooltip-body p {
    margin: 8px 0;
  }

.seatmap-tooltip-body .controls {
    margin-top: 8px;
  }

@media screen and (max-width: 680px) {
  .seatmap-tooltip {
    border-radius: 0;
    border-width: 0 0 1px;
    transform: translate(0, 0) !important;
    width: 100% !important;
    max-width: 100%;
  }

  .seatmap-tooltip-header {
    border-radius: 0;
    padding: 18px;
  }

    .seatmap-tooltip-header .title {
      font-size: 14px;
    }

  .seatmap-tooltip-body {
    padding: 18px;
    font-size: 14px;
  }
}

.seatmap-seat-active,
  .seatmap-seat-active:hover,
  .seatmap-seat-active:active,
  .seatmap-seat-active:focus {
    fill: #505050;
    stroke: #505050;
  }

.seatmap-overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: rgba(#f8f8f8, 0.98); */
  background: rgba(248, 248, 248, 0.98);
  z-index: 1001;
  box-sizing: border-box;
}

.seatmap-overlay.closed {
    display: none;
  }

.seatmap-root {
  position: absolute;
  top: var(--seatmap-gutter);
  left: var(--seatmap-gutter);
  right: var(--seatmap-gutter);
  background: var(--tickit-white, #fff);
  color: #505050;
  border: 1px solid var(--seatmap-border-color);
}

.seatmap-header {
  display: -ms-flexbox;
  display: flex;
  height: var(--seatmap-header-height);
  -ms-flex-direction: row;
      flex-direction: row;
  padding: 30px 24px 30px 30px;
  background: var(--tickit-white, #fff);
  border-bottom: 1px solid var(--seatmap-border-color);
  box-sizing: border-box;
}

.seatmap-header-titles {
  -ms-flex: 1;
      flex: 1;
  padding-top: 2px;
}

.seatmap-header-title {
  font-size: 24px;
  line-height: 1;
}

.seatmap-header-subtitle {
  font-size: 10px;
  line-height: 20px;
  letter-spacing: 1px;
}

.seatmap-header-controls {
  -ms-flex: 1;
      flex: 1;
  text-align: right;
}

.seatmap-header-controls a {
    height: 30px;
    border-radius: 5px;
    line-height: 30px;
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

.seatmap-header-controls .seatmap-header-toggle {
    display: none;
    margin-right: 1em;
  }

.seatmap-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  /* TODO: no vh fallback */
  /* https://caniuse.com/#feat=viewport-units */
  /* https://caniuse.com/#feat=calc */
  height: calc(100vh - var(--seatmap-header-height) - var(--seatmap-gutter) * 2);
}

.seatmap-takeover {
  background: var(--tickit-white, #fff);
}

.seatmap-container {
  -ms-flex: 2;
      flex: 2;
}

.seatmap-map-container,
.seatmap-map-frame,
/* target the unclassed div that ReactSVG generates */
.seatmap-map-frame > div {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.seatmap-map-container svg {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
  }

.seatmap-cart-select,
.seatmap-cart-button {
  display: inline-block;
  height: 3em;
  box-sizing: border-box;
  border: 1px solid var(--seatmap-border-color);
  border-radius: 5px;
  background: #fff;
}

.seatmap-cart-button {
  padding: 0;
  cursor: pointer;
  width: 7em;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 1px;
}

.seatmap-cart-select,
.seatmap-cart-select select,
.seatmap-cart-button {
  font-family: var(--open-sans);
  font-size: 11px;
  color: #505050;
}

.seatmap-cart-select {
  position: relative;
  margin-right: 1em;
  text-transform: uppercase;
  padding: 5px 0 3px 12px;
}

.seatmap-cart-select select {
    display: inline-block;
    width: 100%;
    padding: 0 20px 0 0;
    font-size: 13px;
    border: none;
    background: transparent;
    background-image: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

.seatmap-cart-select select:focus {
      outline: none;
    }

.seatmap-cart-select select:-moz-focusing {
      color: transparent;
      text-shadow: 0 0 0 #000;
    }

.seatmap-cart-select select::-ms-expand {
      display: none;
    }

.seatmap-cart-select:after {
    top: 50%;
    right: 7px;
    border: solid transparent;
    content: ' ';
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(0, 0, 0, 0);
    border-top-color: #505050;
    border-width: 4px;
    margin-top: -2px;
    z-index: 100;
  }

.seatmap-cart {
  -ms-flex: 1;
      flex: 1;
  max-width: 500px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  border-left: 1px solid var(--seatmap-border-color);
  background: var(--tickit-white, #fff);
  overflow-y: auto;
}

.seatmap-cart .seatmap-ticket-list {
    -ms-flex: 1;
        flex: 1;
    overflow: scroll;
    -ms-overflow-style: none;
  }

.seatmap-cart .checkout-with-status-btn .btn-store {
      /* height: 96px - (12px * 2); */
      height: 72px;
    }

.seatmap-cart .checkout-with-status-btn .btn-store.disabled {
        color: rgba(255, 255, 255, 0.6);
      }

.seatmap-cart .form {
    border-bottom: 1px solid var(--seatmap-border-color);
    background: var(--tickit-offwhite, #f8f8f8);
    padding: 12px 24px;
    display: -ms-flexbox;
    display: flex;
  }

.seatmap-cart input[type='text'],
  .seatmap-cart input[type='number'] {
    padding: 8px 12px;
    font-size: 13px;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    box-shadow: none;
  }

.seatmap-cart .current-title {
    padding-top: 3px;
    -ms-flex: 1;
        flex: 1;
    margin-right: 8px;
    font-size: 16px;
  }

.seatmap-cart .seatmap-cart-select-type {
    -ms-flex: 1;
        flex: 1;
  }

.seatmap-cart .seatmap-cart-select-quantity {
    width: 5em;
  }

.seatmap-cart .seatmap-cart-button {
    width: 6.5em;
  }

.seatmap-cart .cart-countdown {
    margin-left: 6px;
  }

.seatmap-cart .soldout {
    width: 8em;
    text-align: right;
    line-height: 1.9em;
  }

.seatmap-cart-close {
  padding: 12px 30px;
}

.seatmap-cart-close p {
    font-size: 12px;
    font-weight: normal;
  }

.seatmap-cart-pwyc-container {
  padding: 18px 24px;
  border-bottom: 1px solid var(--seatmap-border-color);
}

.seatmap-cart-pwyc-container,
  .seatmap-cart-pwyc-container p,
  .seatmap-cart-pwyc-container label {
    color: #505050;
    font-size: 14px;
  }

.seatmap-cart-pwyc-container label {
    display: block;
    margin-bottom: 12px;
  }

.seatmap-cart-pwyc-container .controls {
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
  }

.seatmap-cart-pwyc-container .controls input {
      width: 5rem;
    }

.seatmap-cart-pwyc-container .controls .seatmap-cart-button {
      width: 7rem;
    }

.seatmap-cart-pwyc-container .seatmap-cart-pwyc-error {
    margin: 1rem 0 0;
    color: #ea1c24;
  }

.seatmap-cart-pwyc-container.has-error input[type='number'] {
      border-color: #ea1c24;
    }

.seatmap-ticket-type .warning {
    margin: 0;
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    border-bottom: 1px solid var(--seatmap-border-color);
  }

.seatmap-cart-seat {
  /* this is transparent, overridden on hover in the store-specific stylesheet */
  border-left: 5px solid #f8f8f8;
  border-bottom: 1px solid var(--seatmap-border-color);
  padding: 18px 24px;
}

.seatmap-cart-seat .title {
    display: -ms-flexbox;
    display: flex;
  }

.seatmap-cart-seat .description,
  .seatmap-cart-seat .price {
    color: #505050;
    font-size: 16px;
  }

.seatmap-cart-seat .description {
    -ms-flex: 1;
        flex: 1;
  }

.seatmap-cart-seat .price {
    margin: 0 18px;
    text-align: right;
  }

.seatmap-cart-seat .remove {
    display: block;
    width: 30px;
    font-size: 11px;
    cursor: pointer;
    text-decoration: none;
    border: none;
    text-align: center;
    color: #969696;
  }

.seatmap-cart-seat .remove:hover,
    .seatmap-cart-seat .remove:focus,
    .seatmap-cart-seat .remove:active {
      color: #505050;
      border: 0;
    }

.seatmap-cart-seat .subtitle {
    font-weight: normal;
    font-size: 10px;
    line-height: 14px;
    color: #969696;
    text-transform: uppercase;
    letter-spacing: 2px;
  }

.seatmap-cart-others {
  padding: 30px;
  font-size: 11px;
  line-height: 16px;
}

.seatmap-cart-others ul,
  .seatmap-cart-others li,
  .seatmap-cart-others .heading {
    margin: 0;
    padding: 0;
  }

.seatmap-cart-others li {
    color: #969696;
    list-style: none;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

.seatmap-cart-others .heading {
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 16px;
    font-weight: normal;
  }

.seatmap-tooltip {
  border-color: var(--seatmap-border-color);
}

.seatmap-tooltip input.radio {
    display: inline-block;
    margin-right: 0.7em;
    border: none;
    box-shadow: none;
  }

.seatmap-tooltip-header {
  border-bottom: 1px solid var(--seatmap-border-color);
}

.seatmap-tooltip-body {
  color: var(--tickit-grey-dark, #6b6b6b);
}

.select-tickets-seating {
  margin-top: 8px;
}

.select-tickets-seating .select-tickets-seat-descriptions {
    display: block;
    margin: 1rem 0;
    font-weight: normal;
  }

.seatmap.no-selection a {
    cursor: default;
  }

.seatmap.no-selection .seatmap-available:hover {
    background: transparent;
  }

@media screen and (max-width: 680px) {
  .seatmap-overlay,
  .seatmap-root {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 0;
  }

  .seatmap-root {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
  }

  .seatmap-header {
    display: block;
    height: auto;
    padding: 24px;
  }

  .seatmap-header-controls {
    display: block;
    margin-top: 12px;
    text-align: left;
  }

    .seatmap-header-controls a {
      width: auto;
      height: auto;
      padding: 0 10px;
      font-size: 12px;
      line-height: 26px;
    }

    .seatmap-header-controls a,
    .seatmap-header-controls .seatmap-header-toggle {
      display: inline-block;
    }

  .seatmap-header-title {
    font-size: 20px;
    line-height: 24px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }

  .seatmap-cart {
    width: 100%;
  }
    .seatmap-cart .seatmap-cart-button {
      width: auto;
      padding: 0 12px;
      font-size: 12px;
    }

    .seatmap-cart .form .current-title {
      line-height: 32px;
      padding-top: 0;
    }
    .seatmap-cart-select select {
      font-size: 16px;
    }

  .seatmap-body {
    -ms-flex: 1;
        flex: 1;
    height: auto;
  }
    .seatmap-map-view .seatmap-cart {
      display: none;
    }
    .seatmap-cart-view .seatmap-container {
      display: none;
    }
}

.seatmap-available,
  .seatmap-available:hover,
  .seatmap-available:active,
  .seatmap-available:focus {
    fill: #505050;
    stroke: #505050;
  }

.seatmap-seat {
  stroke-width: 8px;
}

.seatmap-available {
  stroke: var(--seatmap-available-stroke-color);
  fill: var(--seatmap-available-fill-color);
}

.seatmap-available:hover,
  .seatmap-available:active,
  .seatmap-available:focus {
    stroke: var(--seatmap-available-hover-stroke-color);
    fill: var(--seatmap-available-hover-fill-color);
  }

.seatmap-seat-active,
  .seatmap-seat-active:hover,
  .seatmap-seat-active:active,
  .seatmap-seat-active:focus {
    stroke: var(--seatmap-active-stroke-color);
    fill: var(--seatmap-active-fill-color);
  }

.seatmap-in-cart {
  stroke: var(--seatmap-in-cart-stroke-color);
  fill: var(--seatmap-in-cart-fill-color);
}

.seatmap-in-cart:hover,
  .seatmap-in-cart:active,
  .seatmap-in-cart:focus {
    stroke: var(--seatmap-in-cart-hover-stroke-color);
    fill: var(--seatmap-in-cart-hover-fill-color);
  }

#page.seatmap-webview-page,
#seatmap-webview-container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.seatmap-webview-debug {
  display: none;
}

.seatmap-webview-debug-mode .seatmap-webview-debug {
    display: block;
  }

#seatmap-webview-postmessages {
  z-index: 99999;
  position: absolute;
  right: 0;
  top: 0;
  width: 40vw;
  height: 40vh;
  max-height: 500px;
  padding: 1em;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-family: monospace;
  font-size: 10px;
  line-height: 1.5;
  overflow-y: scroll;
}

#seatmap-webview-postmessages .message {
    overflow: hidden;
    padding: 1rem 0.5rem;
    border-bottom: 1px solid #fff;
    max-height: 10em;
  }

#seatmap-webview-trigger-messages {
  z-index: 99999;
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 1rem;
}

:is(#page.seatmap-webview-page,.seatmap-webview-page),
  :is(#page.seatmap-webview-page,.seatmap-webview-page) .seatmap-map-container,
  :is(#page.seatmap-webview-page,.seatmap-webview-page) .seatmap-takeover {
    background-color: #1a1a1a;
  }

:is(#page.seatmap-webview-page,.seatmap-webview-page),
  :is(#page.seatmap-webview-page,.seatmap-webview-page) .seatmap-root {
    color: #eee;
  }

.seatmap-webview .seatmap-body {
    height: 100vh;
  }

.seatmap-webview .seatmap-zoom-controls {
    border-color: #949393;
  }

.seatmap-webview .seatmap-zoom-controls .zoomin,
    .seatmap-webview .seatmap-zoom-controls .zoomout {
      display: none;
    }

.seatmap-webview .seatmap-zoom-controls .control {
      background-color: #1a1a1a;
      color: #949393;
      border-color: #949393;
      border-radius: 5px;
    }

/* no active state on touch screens */

:is(.seatmap-webview .seatmap-unavailable,.seatmap-webview .seatmap-unavailable.seatmap-seat-active,.seatmap-webview .seatmap-sold,.seatmap-webview .seatmap-sold.seatmap-seat-active),
    :is(.seatmap-webview .seatmap-unavailable,.seatmap-webview .seatmap-unavailable.seatmap-seat-active,.seatmap-webview .seatmap-sold,.seatmap-webview .seatmap-sold.seatmap-seat-active):hover,
    :is(.seatmap-webview .seatmap-unavailable,.seatmap-webview .seatmap-unavailable.seatmap-seat-active,.seatmap-webview .seatmap-sold,.seatmap-webview .seatmap-sold.seatmap-seat-active):active,
    :is(.seatmap-webview .seatmap-unavailable,.seatmap-webview .seatmap-unavailable.seatmap-seat-active,.seatmap-webview .seatmap-sold,.seatmap-webview .seatmap-sold.seatmap-seat-active):focus {
      fill: #a6a6a6;
      stroke: #a6a6a6;
    }

.seatmap-webview .seatmap-available,
    .seatmap-webview .seatmap-available:hover,
    .seatmap-webview .seatmap-available:active,
    .seatmap-webview .seatmap-available:focus {
      stroke: #a08f68;
      fill: #a08f68;
    }

.seatmap-webview .seatmap-available.seatmap-seat-active,
  .seatmap-webview .seatmap-available.seatmap-seat-active:active,
  .seatmap-webview .seatmap-available.seatmap-seat-active:hover,
  .seatmap-webview .seatmap-available.seatmap-seat-active:focus {
    stroke: pink;
    fill: pink;
  }

.seatmap-webview .seatmap-in-cart,
    .seatmap-webview .seatmap-in-cart:hover,
    .seatmap-webview .seatmap-in-cart:active,
    .seatmap-webview .seatmap-in-cart:focus {
      stroke: #18bb1d;
      fill: #18bb1d;
    }

.seatmap-tooltip-header {
  background-color: var(--seatmap-tooltip-background-color);
}

.seatmap-cart-seat:hover,
.seatmap-cart-seat.highlighted {
  border-left: 5px solid var(--tickit-store-color);
  background-color: var(--tickit-bg-mix-color);
}

.seatmap-cart-button:hover,
  .seatmap-cart-button:focus {
    color: var(--button-hover-color);
    background-color: var(--button-hover-background-color);
    border-color: var(--button-hover-border-color);
  }

.store-footer {
  --credit-width: 114px;
  /* @extend %clearfix; */
  padding: 30px 54px;
  font-size: 0;
  text-align: left;
  line-height: 36px;
  background: #333;
}

.store-footer a {
    border: none;
  }

.store-footer .inner {
    float: left;
    width: 100%;
    margin-right: calc(var(--credit-width) * -1);
    line-height: 36px;
  }

.store-footer .fineprint {
    margin-right: calc(var(--credit-width) + 30px);
  }

.store-footer .item {
    display: inline-block;
    min-height: 36px;
    margin: 0 24px 0 0;
    padding: 0;
    font: normal 12px/36px var(--open-sans);
    color: var(--tickit-grey-dark);
    text-decoration: none;
  }

.store-footer a.item:hover,
  .store-footer a.item:focus {
    color: var(--tickit-grey-light);
  }

.store-footer .tickit-credit {
    float: right;
    width: var(--credit-width);
    height: 24px;
    padding: 6px 0;
  }

.store-footer .tickit-logo {
    display: block;
    width: 114px;
    height: 24px;
    margin: 0;
    text-align: left;
    text-indent: -999999px;
    background: transparent url(/assets/v4/tickit-logo-10-e71f5b54dcad255a5eb2c2747f2a78122eae9e1fa92ca42a50f22753e07145fc.png) 50% 50% no-repeat;
    background-size: 114px 24px;
  }

@media screen and (max-width: 900px) {
  .store-footer {
    padding: 30px;
  }
}

@media screen and (max-width: 680px) {
  .store-footer {
    text-align: center;
  }

    .store-footer .tickit-logo {
      margin-left: auto;
      margin-right: auto;
    }
    .store-footer .inner,
    .store-footer .fineprint,
    .store-footer .tickit-credit {
      float: none;
      width: auto;
      height: auto;
      margin: 24px 0;
    }

    .store-footer .item {
      display: block;
      min-height: 0;
      margin: 0 0 12px;
      line-height: 1.5;
    }

    .store-footer .item-tickit {
      display: none;
    }
}

.lt-ie9 .store-footer {
    display: block;
    height: 40px;
  }

.footer-nav-bar {
  display: none;
  position: fixed;
  z-index: 100;
  left: 0;
  bottom: 0;
  width: 100%;
  height: var(--footer-nav-bar-height);
  transform: translateY(var(--footer-nav-bar-height));
  background-color: var(--footer-nav-bar-background-color);
}

.footer-nav-bar .checkout-with-status-btn {
    height: var(--footer-nav-bar-height);
    padding: 16px;
  }

.footer-nav-bar .checkout-with-status-btn .btn-store {
      height: 64px;
    }

@media screen and (max-width: 680px) {
  .checkouts-new .footer-nav-bar {
    display: none;
  }
}

/* prevent the transition from firing on initial render */

.docready .footer-nav-bar {
  transition: transform 1.05s cubic-bezier(0.22, 0.61, 0.42, 1);
}

@media screen and (max-width: 680px) {
  html {
    position: relative;
    min-height: 100%;
  }
  body {
    margin: 0 0 var(--footer-nav-bar-height);
  }

  .footer-nav-bar {
    display: block;

    /* only show the footer nav bar once we've completed an XHR request and there
    are items in the cart */
  }
    .items-in-cart .footer-nav-bar {
      transform: translateY(0);
    }

  /* don't show the mobile footer on the checkout page */
  .orders-new .footer-nav {
    display: none;
  }
}

.prose-page h2,
  .prose-page h3 {
    margin: 48px 0 24px;
  }

@media print {
  /* from html5boilerplate */
  * {
    background: transparent !important;
    color: #000 !important; /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }

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

  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  tbody tr {
    border: 0;
  }
  img {
    max-width: 100% !important;
  }

  @page {
    margin: 2em;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
    .store-body a,
    .store-body a:visited {
      border: 0;
      text-decoration: underline;
    }
    #page .store-nav-bar,
    #page .masthead-link-bar,
    #page .store-footer,
    #page .page-help-footer-resend,
    #page .receipt-back-to-tickets-link {
      display: none;
    }

    #page .masthead,
    #page .simple-masthead {
      min-height: 0;
      margin: 1cm 0 0;
    }

      #page .masthead .masthead-content, #page .simple-masthead .masthead-content {
        padding: 0;
      }

    #page .masthead-store-nameplate {
      font-size: 10pt;
      line-height: 1;
      margin: 0 auto;
    }
      #page .masthead-store-nameplate a {
        text-decoration: none;
      }

    #page .page-header-main * {
      font-size: 12pt;
      line-height: 1.5;
    }

    #page .store-nav-and-body {
      margin: 0 auto;
      padding: 0;
    }

    #page .page-header,
    #page .page-body {
      margin: 0.5cm auto;
    }

    #page .store-body {
      border: 0;
    }
      #page .receipt-page .receipt-header,
      #page .receipt-page .receipt-header *,
      #page .receipt-page .receipt-title,
      #page .receipt-page .summary,
      #page .receipt-page .summary * {
        font-size: 9pt;
        font-weight: 400;
        line-height: 1.5;
      }

      #page .receipt-page .receipt-title {
        margin: 1em 0;
      }

      #page .receipt-page .summary {
        padding: 0.25cm 0;
      }

      #page .receipt-page .table-wrapper {
        margin: 0.25cm 0;
      }
        #page .receipt-page .order-table th,
        #page .receipt-page .order-table td,
        #page .receipt-page .order-table th *,
        #page .receipt-page .order-table td * {
          font-size: 9pt;
          font-weight: 400;
          line-height: 1.5;
        }

    #page tbody th,
    #page tbody td {
      padding: 0.25cm 0;
    }

    #page .page-help-footer {
      margin: 0;
      padding: 0;
      border: 0;
    }

      #page .page-help-footer a {
        text-decoration: none;
      }

      #page .page-help-footer .title {
        display: none;
      }

      #page .page-help-footer p {
        font-size: 9pt;
        line-height: 1.5;
      }
}

.iframe-only {
  display: none;
}

.in-iframe,
  .in-iframe #page {
    background: transparent;
  }

.in-iframe #page {
    max-width: 960px;
    margin: 0 auto;
    padding: 100px;
  }

.in-iframe .page-header,
  .in-iframe .page-body {
    margin: 72px 90px 64px;
  }

@media screen and (max-width: 900px) {

.in-iframe .page-header,
  .in-iframe .page-body {
      margin: 48px 60px;
  }
    }

@media screen and (max-width: 680px) {

.in-iframe .page-header,
  .in-iframe .page-body {
      margin: 36px;
  }
    }

.in-iframe .masthead,
  .in-iframe .store-nav-bar,
  .in-iframe .store-footer,
  .in-iframe .event-info {
    display: none;
  }

.in-iframe .store-body {
    margin-bottom: 0;
    overflow: hidden;

    /* fix fonts in Safari
    see http://andrewmoreton.co.uk/typekit-iframes-safari-weird-antialiasing/ */
    -webkit-font-smoothing: subpixel-antialiased;
  }

.in-iframe .iframe-close {
    position: absolute;
    display: block;
    top: 15px;
    right: 15px;
    width: 30px;
    height: 30px;
    border: none;
    font-size: 15px;
    line-height: 30px;
    text-decoration: none;
    text-align: center;
    z-index: 10000;
  }

.in-iframe .iframe-footer {
    display: block;
    margin: 0 auto 48px;
    text-align: center;
  }

.in-iframe .iframe-footer .tickit-credit {
      width: 120px;
      height: 24px;
      margin: 0 auto 12px;
      padding: 6px 0;
    }

.in-iframe .iframe-footer .tickit-logo {
      display: block;
      width: 120px;
      height: 24px;
      margin: 0 auto;
      text-align: left;
      text-indent: -999999px;
      background: transparent url(/assets/v4/iframe-footer-logo-grey-bddf23fe2941dc1ad9cf39c005fa910bb011d72ea0a5c1e17a3509a24692efa6.svg) 50% 50% no-repeat;
      background-size: 114px 24px;
      border: 0;
      text-decoration: none;
    }

.in-iframe tbody th,
  .in-iframe tbody td {
    padding-top: 36px;
    padding-bottom: 24px;
  }

@media screen and (max-width: 900px) {
    .in-iframe #page {
      padding: 60px;
    }
  }

@media screen and (max-width: 680px) {
    .in-iframe #page {
      padding: 30px;
    }
  }

.no-svg .in-iframe .iframe-footer .tickit-logo {
  background-image: url(/assets/v4/iframe-footer-logo-grey-6722c9c2a5727b07cb3c5185d27e42b86df2f57466da2902a533de66d778ebdc.png);
}

.kb-page h1 {
    font-size: 2em;
  }

.kb-page h2 {
    margin-top: 1.6em;
    padding-bottom: 0.1em;
    font-size: 1.8em;
  }

.kb-page h3 {
    text-transform: uppercase;
    font-weight: bold;
    font-style: normal;
    letter-spacing: 1px;
    font-size: 1em;
  }

.kb-field-label {
  text-transform: uppercase;
  font-weight: bold;
  font-style: normal;
  letter-spacing: 1px;
  font-size: 0.8em;
}

.kb-highlight {
  font-weight: bold;
}

.kb-field-value {
  text-transform: uppercase;
  font-weight: normal;
  font-style: normal;
  font-size: 0.8em;
}

.kb-option-links {
  margin-bottom: 24px;
}

.kb-option-links a {
  margin-right: 0.5em;
}

.kb-option-block {
  margin-bottom: 4em;
  padding: 4em;

  color: var(--tickit-grey-darkest);
  background: var(--tickit-offwhite);
  border: 1px solid var(--tickit-grey-lightest);
}

.kb-option {
  display: none;
}

.kb-option.kb-option-visible {
    display: block;
  }

@media print {
  .kb-print-section {
    page-break-inside: avoid;
  }
}

.kb-bogus {
  color: red;
}

.expando {
  border-bottom: 1px solid var(--tickit-grey-light);
}

.expando .expando-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    font-weight: 300;
    font-size: 28px;
    line-height: 30px;
  }

@media (max-width: 640px) {

.expando .expando-header {
      padding-top: 10.3896103896%;
      padding-bottom: 10.3896103896%;
  }
    }

@media (min-width: 641px) and (max-width: 960px) {

.expando .expando-header {
      padding-top: 6.4935064935%;
      padding-bottom: 6.4935064935%;
  }
    }

@media (min-width: 961px) {

.expando .expando-header {
      padding-top: 5.1948051948%;
      padding-bottom: 5.1948051948%;
  }
    }

.expando .expando-header .expando-title {
      -ms-flex-positive: 1;
          flex-grow: 1;
      padding-right: 5.1948051948%;
    }

.expando .expando-header .expando-icon {
      transition: transform 0.2s;
    }

.expando .expando-body {
    max-height: 0;
    overflow: hidden;
    transition:
      padding 0.3s ease-in-out,
      max-height 0.3s ease-in-out;
    padding: 0 10.3896103896%;
  }

.expando.open-expando .expando-header {
      border-bottom: 1px solid var(--tickit-white);
    }

.expando.open-expando .expando-header .expando-icon {
        transform: rotate(45deg);
      }

.expando.open-expando .expando-body {
      max-height: 200vh;
      padding-top: 30px;
      padding-bottom: 60px;
    }

.expando.always-expando {
    border-bottom: 0;
  }

.expando.always-expando .expando-header {
      background-color: var(--tickit-grey-lightest);
    }

.expando.always-expando .expando-body {
      max-height: 200vh;
      padding-top: 30px;
      padding-bottom: 30px;
    }

/* ------------------------- Hides all the source modal contents */

.pgm-content {
  display: none;
}

/* ------------------------- general styles for prettiness */

.pgm-wrapper {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: none;
  padding: 50px;
}

@media only screen and (max-width: 720px) {

.pgm-wrapper {
    padding: 5px;
}
  }

.pgm-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0.75;
}

.pgm-container {
  margin: auto;
  width: 100%;
  height: 100%;
  max-width: 560px;
  border-radius: var(--pgm-border-radius);
  overflow-y: auto;
}

.pgm-panel {
  width: auto;
  height: 100%;
  position: relative;
  border-radius: var(--pgm-border-radius);
  background: var(--tickit-white);
}

.pgm-flexheight .pgm-panel {
  height: auto;
}

.pgm-contents {
  color: #969696;
  /* first elements in pgm-contents should always be form or (header, article, footer) */
}

.pgm-contents,
  .pgm-contents > form {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-direction: column;
        flex-direction: column;
    height: 100%;
  }

.pgm-contents .pgm-header-title {
    margin: 0;
    font-size: 24px;
    line-height: 30px;
    font-weight: 300;
    -ms-flex: 1;
        flex: 1;
    font-style: normal;
    color: #646464;
  }

.pgm-contents header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: 60px 72px 36px;
  }

@media only screen and (max-width: 700px) {

.pgm-contents header {
      padding: 30px 48px 24px;
  }
    }

.pgm-contents article {
    -ms-flex-positive: 1;
        flex-grow: 1;
    overflow: auto;
    margin-bottom: 30px;
    padding: 0 72px 0;
    height: 100%;
  }

@media only screen and (max-width: 700px) {

.pgm-contents article {
      padding: 0 48px 48px;
  }
    }

.pgm-contents footer {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 30px;
    padding: 0 72px 48px;
  }

@media only screen and (max-width: 700px) {

.pgm-contents footer {
      padding: 30px 24px;
  }
    }

.pgm-contents h1,
  .pgm-contents .h1,
  .pgm-contents h2,
  .pgm-contents .h2 {
    margin-top: 0;
    margin-bottom: 12px;
  }

.pgm-contents p {
    margin: 0 0 12px;
  }

.pgm-contents p,
  .pgm-contents label {
    font-weight: 400;
  }

.pgm-contents label {
    color: #6b6b6b;
  }

/* we don't have a btn size that works so we override here -- the goal is for all btn and input
  elements to have the same height */

.pgm-contents .btn-sm,
  .pgm-contents .control input,
  .pgm-contents input[type='text'],
  .pgm-contents input[type='number'] {
    height: 48px;
    text-transform: none;
    letter-spacing: 1px;
  }

.pgm-contents .btn-sm,
  .pgm-contents .btn-txt {
    font-size: 16px;
  }

.pgm-close {
  position: absolute;
  top: 54px;
  right: 62px;
  padding: 10px;
  border: 0;
  color: var(--tickit-grey-medium);
}

@media only screen and (max-width: 700px) {

.pgm-close {
    right: 12px;
}
  }

.pgm-header-close-button .pgm-close {
  display: none;
}

.pgm-action-links {
  margin: 0;
}

.pgm-action-links a,
  .pgm-action-links button {
    display: block;
    width: 100%;
  }

.pgm-action-links a[disabled], .pgm-action-links button[disabled] {
      cursor: not-allowed;
    }

.pgm-primary-action-link {
  display: block;
  width: 100%;
  margin-bottom: 12px;
}

/* ------------------------- show/hide styles */

body.show-pgm {
  overflow: hidden;
}

body.show-pgm .pgm-wrapper {
    display: -ms-flexbox;
    display: flex;
  }

.pgm-busy p {
    margin: 8px 0;
    font-size: 24px;
    line-height: 36px;
    font-weight: 300;
  }

.pgm-radio-option {
  margin: 6px 0;
  padding: 12px 12px;
  border-radius: 6px;
  border: 1px solid transparent;

  transition: all 0.35s ease-out;
}

.pgm-radio-option label {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    cursor: pointer;
  }

.pgm-radio-option .control {
    width: 1rem;
    height: 1rem;
    border: 2px solid var(--tickit-store-color);
    border-radius: 50%;
    margin-right: 10px;
    position: relative;
  }

.pgm-radio-option input[type='radio'] {
    display: none;
  }

.pgm-radio-option input[type='radio']:checked + .control::before {
    content: '';
    width: 0.6rem;
    height: 0.6rem;
    background-color: var(--form-toggle-accent-color);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

.pgm-radio-option .desc {
    display: block;
    -ms-flex: 1;
        flex: 1;
  }

.pgm-radio-option,
  .pgm-radio-option label {
    cursor: pointer;
  }

.pgm-radio-option.disabled,
  .pgm-radio-option.soldout {
    cursor: not-allowed;
  }

.pgm-radio-option.disabled label, .pgm-radio-option.soldout label {
      pointer-events: none;
    }

.pgm-radio-option:hover,
  .pgm-radio-option:focus {
    background: var(--tickit-store-color-7a);
  }

.pgm-radio-option.selected {
    border-color: var(--tickit-store-color-60a);
    background: var(--tickit-store-color-10a);
  }

.pgm-radio-option label {
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
    width: 100%;
    margin: 0;
    font-size: 16px;
    line-height: 24px;
  }

.pgm-radio-option input[type='radio'] {
    margin-right: 20px;
    height: auto;
  }
