/* sass-lint:disable indentation */
@font-face {
  font-family: "Prophet Light";
  src: url("/fonts/Prophet-Light.woff2") format("woff2"), url("/fonts/Prophet-Light.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

.content-header .content-title {
  font-family: "Prophet", sans-serif;
  line-height: 1;
  letter-spacing: -1.71px;
  color: #fff;
  font-weight: normal;
  font-feature-settings: "ss01"; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .content-header .content-title {
      font-size: 40px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .content-header .content-title {
      font-size: 90px; } }
  @media only screen and (min-width: 1200px) {
    .content-header .content-title {
      font-size: 6rem; } }

.rte-content .intro, .big-quote .title, .homepage-intro-quote .title {
  font-size: 30px;
  font-family: "Prophet", sans-serif;
  text-align: center;
  line-height: 1.1666666667;
  letter-spacing: -0.86px;
  color: #fff;
  font-feature-settings: "ss01"; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .rte-content .intro, .big-quote .title, .homepage-intro-quote .title {
      font-size: 30px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .rte-content .intro, .big-quote .title, .homepage-intro-quote .title {
      font-size: 50px; } }
  @media only screen and (min-width: 1200px) {
    .rte-content .intro, .big-quote .title, .homepage-intro-quote .title {
      font-size: 3rem; } }

.discover-orchestra .title {
  font-family: "Prophet Light", sans-serif;
  letter-spacing: -0.42px;
  font-weight: 300;
  color: #fff; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .discover-orchestra .title {
      font-size: 40px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .discover-orchestra .title {
      font-size: 60px; } }
  @media only screen and (min-width: 1200px) {
    .discover-orchestra .title {
      font-size: 2.5rem; } }

.rte-content .editorial, .editorial .content-pod .title, .site-footer .subscribe .heading, .news-list .text .title, .homepage-news .title {
  font-family: miller-display, serif;
  font-weight: normal; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .rte-content .editorial, .editorial .content-pod .title, .site-footer .subscribe .heading, .news-list .text .title, .homepage-news .title {
      font-size: 24px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .rte-content .editorial, .editorial .content-pod .title, .site-footer .subscribe .heading, .news-list .text .title, .homepage-news .title {
      font-size: 40px; } }
  @media only screen and (min-width: 1200px) {
    .rte-content .editorial, .editorial .content-pod .title, .site-footer .subscribe .heading, .news-list .text .title, .homepage-news .title {
      font-size: 2.2rem; } }

h2,
.h2, .content-pod .title, .tile-swiper .swiper-slide .title, .book-concert-cta .date, .cart-item .title, .content-intro-description .short-description, .nav-search-menu .search-box .input {
  font-family: ag-book-pro, sans-serif;
  font-weight: normal;
  line-height: 1.25;
  letter-spacing: -0.3px;
  color: #fff;
  text-transform: none; }
  @media only screen and (min-width: 0) and (max-width: 399px) {
    h2,
    .h2, .content-pod .title, .tile-swiper .swiper-slide .title, .book-concert-cta .date, .cart-item .title, .content-intro-description .short-description, .nav-search-menu .search-box .input {
      font-size: 24px; } }
  @media only screen and (min-width: 400px) and (max-width: 599px) {
    h2,
    .h2, .content-pod .title, .tile-swiper .swiper-slide .title, .book-concert-cta .date, .cart-item .title, .content-intro-description .short-description, .nav-search-menu .search-box .input {
      font-size: 28px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    h2,
    .h2, .content-pod .title, .tile-swiper .swiper-slide .title, .book-concert-cta .date, .cart-item .title, .content-intro-description .short-description, .nav-search-menu .search-box .input {
      font-size: 32px; } }
  @media only screen and (min-width: 1200px) {
    h2,
    .h2, .content-pod .title, .tile-swiper .swiper-slide .title, .book-concert-cta .date, .cart-item .title, .content-intro-description .short-description, .nav-search-menu .search-box .input {
      font-size: 2rem; } }

h3,
.h3, .content-faqs .heading, .select-label-inline, .artist-list > h2, .cart-item > h2, .cart-item .production-details .text .title, .community-event-list .heading, .content-video .heading, .content-link-list-block .heading, .partner-list .category h3, .program-detail > h2, .search-result > .title, .stream-list h2, .my-upcoming-performances .main .link-list .text > h2, .production-list .season-title, .discover-orchestra .heading, .homepage-news .heading {
  font-family: ag-book-pro, sans-serif;
  line-height: 1.5;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #f95d62;
  font-weight: normal;
  margin-bottom: 20px; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    h3,
    .h3, .content-faqs .heading, .select-label-inline, .artist-list > h2, .cart-item > h2, .cart-item .production-details .text .title, .community-event-list .heading, .content-video .heading, .content-link-list-block .heading, .partner-list .category h3, .program-detail > h2, .search-result > .title, .stream-list h2, .my-upcoming-performances .main .link-list .text > h2, .production-list .season-title, .discover-orchestra .heading, .homepage-news .heading {
      font-size: 18px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    h3,
    .h3, .content-faqs .heading, .select-label-inline, .artist-list > h2, .cart-item > h2, .cart-item .production-details .text .title, .community-event-list .heading, .content-video .heading, .content-link-list-block .heading, .partner-list .category h3, .program-detail > h2, .search-result > .title, .stream-list h2, .my-upcoming-performances .main .link-list .text > h2, .production-list .season-title, .discover-orchestra .heading, .homepage-news .heading {
      font-size: 18px; } }
  @media only screen and (min-width: 1200px) {
    h3,
    .h3, .content-faqs .heading, .select-label-inline, .artist-list > h2, .cart-item > h2, .cart-item .production-details .text .title, .community-event-list .heading, .content-video .heading, .content-link-list-block .heading, .partner-list .category h3, .program-detail > h2, .search-result > .title, .stream-list h2, .my-upcoming-performances .main .link-list .text > h2, .production-list .season-title, .discover-orchestra .heading, .homepage-news .heading {
      font-size: 1rem;
      margin-bottom: 2rem; } }

p, .accordion .title h3, .big-quote .sub-text, .content-cta .title, .content-cta .sub-title, .content-pod .sub-title, .content-pod .description, .content-faqs .description, .form-label,
.password-show-hide,
.forgot-password, .items-circle, .items-circle .title, .modals-carousel .modal-content .sub-title, .search-box .input, .book-concert-cta .choose-production, .book-concert-cta .availability, #book-concert-price-show:checked ~ .book-concert-cta .container .date,
#book-concert-tickets-show:checked ~ .book-concert-cta .container .date, .book-concert-cta[data-vis-below="1"] .container .date, .page-booking .heading .content-title, .book-tickets .cta-bar .left .date, .book-tickets-flexi-subscription > .title, .book-tickets-tickets-type > .title, .cart-footer-bar .table tr td, .checkout-items .package-title .section-title, .checkout-items .package-title .sub-title, .checkout-footer .table td, .community-event-list .row > *, .content-header .description, .content-header-bar .timer, .long-description, .topnav-underlay .heading .content-title, .content-link-list-block .description, .program-detail .parts .row .duration, .program-detail .info > dd, .search-results-header > .description, .production-list .production-item .subtitle, .production-list .production-item-none, .homepage-intro-quote .sub-text, .homepage-news .description {
  font-family: ag-book-pro, sans-serif;
  line-height: 1.5;
  letter-spacing: -0.2px;
  color: #b3b3b3; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    p, .accordion .title h3, .big-quote .sub-text, .content-cta .title, .content-cta .sub-title, .content-pod .sub-title, .content-pod .description, .content-faqs .description, .form-label,
    .password-show-hide,
    .forgot-password, .items-circle, .items-circle .title, .modals-carousel .modal-content .sub-title, .search-box .input, .book-concert-cta .choose-production, .book-concert-cta .availability, #book-concert-price-show:checked ~ .book-concert-cta .container .date,
    #book-concert-tickets-show:checked ~ .book-concert-cta .container .date, .book-concert-cta[data-vis-below="1"] .container .date, .page-booking .heading .content-title, .book-tickets .cta-bar .left .date, .book-tickets-flexi-subscription > .title, .book-tickets-tickets-type > .title, .cart-footer-bar .table tr td, .checkout-items .package-title .section-title, .checkout-items .package-title .sub-title, .checkout-footer .table td, .community-event-list .row > *, .content-header .description, .content-header-bar .timer, .long-description, .topnav-underlay .heading .content-title, .content-link-list-block .description, .program-detail .parts .row .duration, .program-detail .info > dd, .search-results-header > .description, .production-list .production-item .subtitle, .production-list .production-item-none, .homepage-intro-quote .sub-text, .homepage-news .description {
      font-size: 16px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    p, .accordion .title h3, .big-quote .sub-text, .content-cta .title, .content-cta .sub-title, .content-pod .sub-title, .content-pod .description, .content-faqs .description, .form-label,
    .password-show-hide,
    .forgot-password, .items-circle, .items-circle .title, .modals-carousel .modal-content .sub-title, .search-box .input, .book-concert-cta .choose-production, .book-concert-cta .availability, #book-concert-price-show:checked ~ .book-concert-cta .container .date,
    #book-concert-tickets-show:checked ~ .book-concert-cta .container .date, .book-concert-cta[data-vis-below="1"] .container .date, .page-booking .heading .content-title, .book-tickets .cta-bar .left .date, .book-tickets-flexi-subscription > .title, .book-tickets-tickets-type > .title, .cart-footer-bar .table tr td, .checkout-items .package-title .section-title, .checkout-items .package-title .sub-title, .checkout-footer .table td, .community-event-list .row > *, .content-header .description, .content-header-bar .timer, .long-description, .topnav-underlay .heading .content-title, .content-link-list-block .description, .program-detail .parts .row .duration, .program-detail .info > dd, .search-results-header > .description, .production-list .production-item .subtitle, .production-list .production-item-none, .homepage-intro-quote .sub-text, .homepage-news .description {
      font-size: 18px; } }
  @media only screen and (min-width: 1200px) {
    p, .accordion .title h3, .big-quote .sub-text, .content-cta .title, .content-cta .sub-title, .content-pod .sub-title, .content-pod .description, .content-faqs .description, .form-label,
    .password-show-hide,
    .forgot-password, .items-circle, .items-circle .title, .modals-carousel .modal-content .sub-title, .search-box .input, .book-concert-cta .choose-production, .book-concert-cta .availability, #book-concert-price-show:checked ~ .book-concert-cta .container .date,
    #book-concert-tickets-show:checked ~ .book-concert-cta .container .date, .book-concert-cta[data-vis-below="1"] .container .date, .page-booking .heading .content-title, .book-tickets .cta-bar .left .date, .book-tickets-flexi-subscription > .title, .book-tickets-tickets-type > .title, .cart-footer-bar .table tr td, .checkout-items .package-title .section-title, .checkout-items .package-title .sub-title, .checkout-footer .table td, .community-event-list .row > *, .content-header .description, .content-header-bar .timer, .long-description, .topnav-underlay .heading .content-title, .content-link-list-block .description, .program-detail .parts .row .duration, .program-detail .info > dd, .search-results-header > .description, .production-list .production-item .subtitle, .production-list .production-item-none, .homepage-intro-quote .sub-text, .homepage-news .description {
      font-size: 1rem; } }

.accordion .title .sub-title, .accordion .content, .accordion .content p, .content-cta .description, .content-cta li, form p,
form li, .form-control, .form-group label.error, .validation-summary-errors li, .field-validation-error, .items-circle .sub-title, .menu-onpage a, .alert-message .message, .book-concert-price .location .date, .book-tickets-flexi-subscription > .sub-title, .book-tickets-performances-bar .left .description, .book-tickets-performances-bar .left .title, .book-tickets-performances-bar .left .date, .book-tickets-performances-bar .left .sub-title, .ticket-wrapper .description, .ticket-wrapper .link, .seating-options p, .cart-item .sub-title, .cart-item .sub-title label, .cart-item .production-details .text .sub-title, .features-panel .description, .site-footer .links .partner .copyright, .site-footer .subscribe .form-control, .content-link-list-block .link-list, .modals-performances.modals-carousel .grey-bg .table th,
.modals-performances.modals-carousel .grey-bg .table td, .program-detail .info .locations .location,
.program-detail .info .locations .location p, .search-result > .description, .search-result > .category, .nav-site-menu ul a, .discover-orchestra .sub-title, .homepage-news .date {
  font-size: 14px;
  font-family: ag-book-pro, sans-serif;
  line-height: 1.625; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .accordion .title .sub-title, .accordion .content, .accordion .content p, .content-cta .description, .content-cta li, form p,
    form li, .form-control, .form-group label.error, .validation-summary-errors li, .field-validation-error, .items-circle .sub-title, .menu-onpage a, .alert-message .message, .book-concert-price .location .date, .book-tickets-flexi-subscription > .sub-title, .book-tickets-performances-bar .left .description, .book-tickets-performances-bar .left .title, .book-tickets-performances-bar .left .date, .book-tickets-performances-bar .left .sub-title, .ticket-wrapper .description, .ticket-wrapper .link, .seating-options p, .cart-item .sub-title, .cart-item .sub-title label, .cart-item .production-details .text .sub-title, .features-panel .description, .site-footer .links .partner .copyright, .site-footer .subscribe .form-control, .content-link-list-block .link-list, .modals-performances.modals-carousel .grey-bg .table th,
    .modals-performances.modals-carousel .grey-bg .table td, .program-detail .info .locations .location,
    .program-detail .info .locations .location p, .search-result > .description, .search-result > .category, .nav-site-menu ul a, .discover-orchestra .sub-title, .homepage-news .date {
      font-size: 14px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .accordion .title .sub-title, .accordion .content, .accordion .content p, .content-cta .description, .content-cta li, form p,
    form li, .form-control, .form-group label.error, .validation-summary-errors li, .field-validation-error, .items-circle .sub-title, .menu-onpage a, .alert-message .message, .book-concert-price .location .date, .book-tickets-flexi-subscription > .sub-title, .book-tickets-performances-bar .left .description, .book-tickets-performances-bar .left .title, .book-tickets-performances-bar .left .date, .book-tickets-performances-bar .left .sub-title, .ticket-wrapper .description, .ticket-wrapper .link, .seating-options p, .cart-item .sub-title, .cart-item .sub-title label, .cart-item .production-details .text .sub-title, .features-panel .description, .site-footer .links .partner .copyright, .site-footer .subscribe .form-control, .content-link-list-block .link-list, .modals-performances.modals-carousel .grey-bg .table th,
    .modals-performances.modals-carousel .grey-bg .table td, .program-detail .info .locations .location,
    .program-detail .info .locations .location p, .search-result > .description, .search-result > .category, .nav-site-menu ul a, .discover-orchestra .sub-title, .homepage-news .date {
      font-size: 16px; } }
  @media only screen and (min-width: 1200px) {
    .accordion .title .sub-title, .accordion .content, .accordion .content p, .content-cta .description, .content-cta li, form p,
    form li, .form-control, .form-group label.error, .validation-summary-errors li, .field-validation-error, .items-circle .sub-title, .menu-onpage a, .alert-message .message, .book-concert-price .location .date, .book-tickets-flexi-subscription > .sub-title, .book-tickets-performances-bar .left .description, .book-tickets-performances-bar .left .title, .book-tickets-performances-bar .left .date, .book-tickets-performances-bar .left .sub-title, .ticket-wrapper .description, .ticket-wrapper .link, .seating-options p, .cart-item .sub-title, .cart-item .sub-title label, .cart-item .production-details .text .sub-title, .features-panel .description, .site-footer .links .partner .copyright, .site-footer .subscribe .form-control, .content-link-list-block .link-list, .modals-performances.modals-carousel .grey-bg .table th,
    .modals-performances.modals-carousel .grey-bg .table td, .program-detail .info .locations .location,
    .program-detail .info .locations .location p, .search-result > .description, .search-result > .category, .nav-site-menu ul a, .discover-orchestra .sub-title, .homepage-news .date {
      font-size: 0.8rem; } }

.book-tickets .cta-bar .left a,
.book-tickets .cta-bar .left .ticket-pricing, .book-tickets .modal-link {
  font-size: 14px;
  font-family: ag-book-pro, sans-serif;
  line-height: 1.625; }

.rte-content .right-arrow-link, .link, .cta-button,
.password-show-hide, .link-list .link,
.link a, ul.pagination a,
ul.pagination span, .select select, .tile-swiper .swiper-slide .link, .book-concert-cta .venues label, .book-concert-price .location .pricing, .book-tickets-flexi-subscription .performance .add, .ticket-wrapper .title, .cart-item .link-list a, .content-header-bar .select select, .content-header-bar .navigation a, .page-toc .content, .site-footer button,
.site-footer input[type="submit"], .program-detail .info > dt, .program-detail .info > dd > a, .stream-list .link-list a, .user-nav strong,
.user-nav a, .nav-links a, .my-upcoming-performances .sidebar a, .my-upcoming-performances .modal-content .left a, .nav-site-menu .nav-title h3, .discover-orchestra .link, .homepage-news .link {
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #f95d62; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .rte-content .right-arrow-link, .link, .cta-button,
    .password-show-hide, .link-list .link,
    .link a, ul.pagination a,
    ul.pagination span, .select select, .tile-swiper .swiper-slide .link, .book-concert-cta .venues label, .book-concert-price .location .pricing, .book-tickets-flexi-subscription .performance .add, .ticket-wrapper .title, .cart-item .link-list a, .content-header-bar .select select, .content-header-bar .navigation a, .page-toc .content, .site-footer button,
    .site-footer input[type="submit"], .program-detail .info > dt, .program-detail .info > dd > a, .stream-list .link-list a, .user-nav strong,
    .user-nav a, .nav-links a, .my-upcoming-performances .sidebar a, .my-upcoming-performances .modal-content .left a, .nav-site-menu .nav-title h3, .discover-orchestra .link, .homepage-news .link {
      font-size: 14px; } }
  @media only screen and (min-width: 1200px) {
    .rte-content .right-arrow-link, .link, .cta-button,
    .password-show-hide, .link-list .link,
    .link a, ul.pagination a,
    ul.pagination span, .select select, .tile-swiper .swiper-slide .link, .book-concert-cta .venues label, .book-concert-price .location .pricing, .book-tickets-flexi-subscription .performance .add, .ticket-wrapper .title, .cart-item .link-list a, .content-header-bar .select select, .content-header-bar .navigation a, .page-toc .content, .site-footer button,
    .site-footer input[type="submit"], .program-detail .info > dt, .program-detail .info > dd > a, .stream-list .link-list a, .user-nav strong,
    .user-nav a, .nav-links a, .my-upcoming-performances .sidebar a, .my-upcoming-performances .modal-content .left a, .nav-site-menu .nav-title h3, .discover-orchestra .link, .homepage-news .link {
      font-size: 0.7rem; } }

.label, .form-group label, .tag-list .tag, .table th, .book-concert-price .title, .book-tickets .cta-bar .left h4, .book-tickets-performances-bar .right, .site-footer .links a {
  font-weight: 500;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #b3b3b3; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .label, .form-group label, .tag-list .tag, .table th, .book-concert-price .title, .book-tickets .cta-bar .left h4, .book-tickets-performances-bar .right, .site-footer .links a {
      font-size: 14px; } }
  @media only screen and (min-width: 1200px) {
    .label, .form-group label, .tag-list .tag, .table th, .book-concert-price .title, .book-tickets .cta-bar .left h4, .book-tickets-performances-bar .right, .site-footer .links a {
      font-size: 0.7rem; } }

.content-header-bar .title {
  text-transform: uppercase;
  color: #000;
  font-weight: 500;
  letter-spacing: 0.8px; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .content-header-bar .title {
      font-size: 14px; } }
  @media only screen and (min-width: 0) {
    .content-header-bar .title {
      font-size: 0.7rem; } }

/* sass-lint:disable no-vendor-prefixes no-duplicate-properties */
/* @for $i from 0 through 5 {
	@include transition-stagger(0.6s, 0.2s, $i);
} */
@keyframes loop {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/*!
 * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff; }

[tabindex="-1"]:focus {
  outline: 0 !important; }

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

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0; }

dt {
  font-weight: 700; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #f95d62;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #f95d62;
    text-decoration: underline; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none; }
  a:not([href]):not([tabindex]):focus {
    outline: 0; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: inherit; }

label {
  display: inline-block;
  margin-bottom: 0.5rem; }

button {
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

select {
  word-wrap: normal; }

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

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer; }

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

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0; }

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

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

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

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

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

.ani-scroll-fade[data-visible="bottom"] .ani-fade,
.ani-scroll-fade[data-visible="top"] .ani-fade {
  animation: 1s ani-scroll-fade forwards;
  animation-play-state: paused;
  animation-delay: calc(1s * (var(--scroll-visible-ratio) - 1)); }

@keyframes ani-scroll-fade {
  0% {
    opacity: 1; }
  90% {
    opacity: 0; }
  100% {
    opacity: 0; } }

html,
body {
  margin: 0;
  padding: 0; }

html {
  font-size: 20px;
  scroll-behavior: smooth; }

body {
  background-color: #000;
  color: #fff;
  font-family: ag-book-pro, sans-serif;
  scroll-behavior: smooth;
  transition: color 200ms, background-color 200ms; }
  body[data-vis-viewportbg="invert"] {
    background-color: #fff;
    color: #000; }

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

textarea {
  resize: vertical; }

@media screen and (prefers-reduced-motion: reduce) {
  /* sass-lint:disable-block no-important */
  * {
    scroll-behavior: auto !important; }
  /*
	a,
	button,
	.event-tile .tohide-content {
		transition: none;
		animation-play-state: paused;
	}
 */ }

.object-fit-wrap {
  position: relative; }
  .object-fit-wrap .object-fit,
  .object-fit-wrap .object-fit-contain {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .object-fit-wrap .object-fit-contain {
    object-fit: contain; }

*:focus {
  outline-color: #f95d62; }

/*
 * Icons as placeholder styles declaring background-images on the element
 * that are extended by the using element so that they can be inlined into
 * the stylesheet and only included when they are used.
 * - need to figure out how to optimise external SVG and inline at build
 *   for < ?KB images.
 */
.accordion-link::after, .right-arrow::after,
.right-arrow-in a::after, .menu-control-onpage label::after, .slide-show .prev,
.slide-show .next, .homepage-intro-quote .down-prompter::after,
.img-bg {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  text-indent: 100%; }

.site-footer .cta-button::after {
  background-image: url(/img/arrow-right-red.svg); }

.book-tickets-performances-bar .right .cta .cta-button.disabled::after {
  background-image: url(/img/arrow-right-grey.svg); }

.book-concert-price .location .venue.active .right-arrow::after {
  background-image: url(/img/arrow-right-red-active.svg); }

.book-tickets-flexi-subscription .performance.added i {
  background-image: url(/img/black-tick.svg); }

.accordion-link::after, .book-tickets-performances-bar .select-performance h3::after {
  background-image: url(/img/chevron_red_circle_down.svg); }

.cta-button.disabled-white::after {
  background-image: url(/img/chevron_black_circle_right.svg); }

.slide-show .prev,
.slide-show .next, .homepage-intro-quote .down-prompter::after {
  background-image: url(/img/chevron_white.svg); }

.modals-carousel .modal-next {
  background-image: url(/img/chevron-right-white-thin.svg); }

.modals-carousel .modal-prev {
  background-image: url(/img/chevron-left-white-thin.svg); }

.accordion.active .title .icon {
  background-image: url(/img/chevron_black2.svg); }

.right-arrow::after,
.right-arrow-in a::after, .book-tickets-tickets-type .ticket-type .ticket-wrapper::after {
  background-image: url(/img/chevron_red.svg); }

.accordion .title .icon {
  background-image: url(/img/chevron_red2.svg); }

.modal-close {
  background-image: url(/img/closer-red.svg); }

.form-group label.error::before, .validation-summary-errors li::before, .field-validation-error::before {
  background-image: url(/img/form-error.svg); }

.content-header-bar .timer, .program-detail .info > .dl-icon.duration::before {
  background-image: url(/img/duration.svg); }

.program-detail .info > .dl-icon.talk::before {
  background-image: url(/img/talk.svg); }

.program-detail .info > .dl-icon.spotify::before {
  background-image: url(/img/spotify.svg); }

.program-detail .info > .dl-icon.program::before {
  background-image: url(/img/program.svg); }

.book-tickets-performances-bar .right .minus {
  background-image: url(/img/minus-red.svg); }

.book-tickets-performances-bar .right .minus.disabled {
  background-image: url(/img/minus-grey.svg); }

.book-tickets-flexi-subscription .performance i, .book-tickets-performances-bar .right .plus {
  background-image: url(/img/plus-red.svg); }

.book-tickets-performances-bar .right .plus.disabled {
  background-image: url(/img/plus-grey.svg); }

.nav-site-menu .nav-title::after {
  background-image: url(/img/plus-white.svg); }

.book-tickets-flexi-subscription .accordion::before {
  background-image: url(/img/red-tick.svg); }

@media only screen and (min-width: 1200px) {
  .viewport-layout-desktop {
    height: auto;
    position: relative; } }

section:focus {
  outline: none; }

.page-background {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1; }

@media only screen and (min-width: 600px) and (max-width: 1073px) {
  .max-content {
    padding-left: 2rem;
    padding-right: 2rem; } }

@media only screen and (min-width: 1074px) {
  .max-content {
    padding-left: calc((100% - 49.7rem) / 2);
    padding-right: calc((100% - 49.7rem) / 2); } }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .max-content {
    padding-left: 1rem;
    padding-right: 1rem; } }

.full-height {
  min-height: 100vh;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center; }

.section-spacing > * {
  overflow: hidden;
  width: 100%; }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .viewport-spacing {
    padding-top: 65px;
    padding-bottom: 1rem; }
  .viewport-layout-desktop,
  .section-spacing {
    padding-top: 2rem;
    padding-bottom: 2rem; }
  .component-spacing:not(:last-child) {
    margin-bottom: 40px; } }

@media only screen and (min-width: 600px) and (max-width: 1199px) {
  .viewport-spacing {
    padding-top: 80px;
    padding-bottom: 1rem; }
  .viewport-layout-desktop,
  .section-spacing {
    padding-top: 3rem;
    padding-bottom: 3rem; }
  .component-spacing:not(:last-child) {
    margin-bottom: 80px; } }

@media only screen and (min-width: 1200px) {
  .viewport-spacing {
    padding-top: 5.5rem;
    padding-bottom: 1rem; }
  .section-spacing {
    padding-top: 5rem;
    padding-bottom: 5rem; }
  .component-spacing:not(:last-child) {
    margin-bottom: 100px; } }

.black-white-split {
  display: flex;
  flex-flow: row nowrap;
  flex-grow: 1;
  overflow: hidden;
  background: #fff;
  position: relative;
  z-index: 52;
  transition: background-color 400ms ease; }
  .black-white-split::after {
    content: "";
    background: linear-gradient(to right, #f8f8f8 0%, #f8f8f8 45.8333333333%, #000 45.8333333333%, #000 100%);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    transition: opacity 400ms ease, transform 400ms ease;
    transform: translateX(300px); }
  .black-white-split.book-tickets-section-active .right-half,
  .tables-active .black-white-split .right-half {
    transform: translateX(0); }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .black-white-split.book-tickets-section-active .right-half,
      .tables-active .black-white-split .right-half {
        visibility: visible;
        opacity: 1; } }
  @media only screen and (min-width: 1200px) {
    .black-white-split.book-tickets-section-active::after,
    .black-white-split.book-tickets-section-active .right-half,
    .tables-active .black-white-split::after,
    .tables-active .black-white-split .right-half {
      opacity: 1;
      visibility: visible; }
    .black-white-split.book-tickets-section-active::after,
    .tables-active .black-white-split::after {
      transform: translateX(0); } }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .black-white-split {
      padding-left: 0;
      padding-right: 0; } }
  .black-white-split label {
    cursor: pointer;
    margin-bottom: 0; }
  .black-white-split .left-half {
    padding-right: 40px;
    padding-bottom: 50px;
    display: flex;
    flex-flow: row wrap;
    background: #f8f8f8;
    padding-top: 50px;
    left: 0; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .black-white-split .left-half {
        padding-left: 20px;
        padding-right: 20px; } }
    @media only screen and (min-width: 1200px) {
      .black-white-split .left-half {
        width: 45.8333333333%;
        justify-content: flex-end; } }
  .black-white-split .right-half {
    padding-left: 0;
    background: #000;
    transition: transform 0.4s ease;
    opacity: 0;
    flex-grow: 1;
    right: 0; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .black-white-split .right-half {
        transform: translateX(100%);
        padding-top: 0;
        padding-right: 0;
        position: absolute;
        opacity: 1; } }
    @media only screen and (min-width: 1200px) {
      .black-white-split .right-half {
        width: 54.1666666667%;
        padding-left: 40px;
        visibility: hidden;
        transform: translateX(100px);
        padding-top: 50px; } }
    .black-white-split .right-half > * {
      opacity: 0;
      transition: opacity 0.5s ease;
      position: absolute;
      top: 50px;
      padding: 0;
      z-index: 53; }
      .black-white-split .right-half > *.active {
        position: relative;
        top: 0;
        z-index: 54; }
  .black-white-split .left-half,
  .black-white-split .right-half {
    overflow-x: hidden;
    overflow-y: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    padding-bottom: 40px; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .black-white-split .left-half,
      .black-white-split .right-half {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-shrink: 0; } }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .black-white-split .left-half > *,
      .black-white-split .right-half > * {
        width: 100%;
        padding: 0 20px;
        top: 0; } }

.rte-content h1,
.rte-content h2,
.rte-content h3,
.rte-content h4,
.rte-content h5,
.rte-content h6,
.rte-content p {
  color: inherit;
  font-weight: initial;
  text-transform: none; }

.rte-content h1 {
  font-family: "Prophet", sans-serif;
  font-size: 70px;
  font-feature-settings: "ss01";
  line-height: 1;
  letter-spacing: -1.71px; }

.rte-content h2 {
  font-family: "ag-book-pro", sans-serif;
  font-size: 25px;
  line-height: 1.25;
  letter-spacing: -0.3px; }

.rte-content h3 {
  font-family: "ag-book-pro", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.4px; }

.rte-content ol,
.rte-content ul {
  margin-bottom: 10px; }
  .rte-content ol li,
  .rte-content ul li {
    margin-bottom: 10px; }
    .rte-content ol li:last-child,
    .rte-content ul li:last-child {
      margin-bottom: 20px; }
    .rte-content ol li ul,
    .rte-content ol li ol,
    .rte-content ul li ul,
    .rte-content ul li ol {
      margin-top: 10px; }

.rte-content.description {
  color: #fff; }
  .rte-content.description p {
    color: inherit; }

.rte-content .right-arrow-link {
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #f95d62;
  position: relative;
  padding-right: 35px;
  white-space: nowrap; }
  .rte-content .right-arrow-link::after {
    content: "";
    background-image: url(/img/chevron_red.svg);
    background-color: rgba(249, 93, 98, 0.2);
    background-size: 20px 20px;
    border-radius: 10px;
    height: 20px;
    margin-left: 0.5em;
    min-width: 20px;
    width: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }

.rte-content .cta-button {
  text-decoration: none;
  background-color: #f95d62;
  color: #fff;
  border: 1px solid transparent;
  border-radius: 40px;
  padding: 6px 20px;
  white-space: nowrap;
  display: inline-block;
  line-height: 30px;
  cursor: pointer; }
  .rte-content .cta-button:hover {
    text-decoration: underline; }
  .rte-content .cta-button::after {
    content: "";
    display: inline-block;
    background-image: url("/img/arrow-right-white.svg");
    background-size: auto;
    width: 20px;
    height: 20px;
    margin-left: 10px;
    position: relative;
    vertical-align: middle;
    top: -2px; }

/* ==========================================================================
   Structural elements
   ========================================================================== */
html,
body {
  height: 100%; }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .hide-sm {
    display: none;
    visibility: hidden; }
  .show-sm {
    display: block; } }

@media only screen and (min-width: 600px) {
  .show-sm {
    display: none;
    visibility: hidden; } }

.voice-only {
  position: absolute;
  display: block;
  height: 0;
  width: 0;
  overflow: hidden; }

@media only screen and (min-width: 0) and (max-width: 1199px) {
  .hide-mobile.hide-mobile {
    display: none; } }

/* sass-lint:disable no-misspelled-properties no-vendor-prefixes */
@supports (scrollbar-width: thin) {
  .book-concert-cta ~ .book-concert-price .left-half, .book-concert-cta ~ .book-concert-tickets .left-half {
    scrollbar-color: #aaa #fff;
    scrollbar-width: thin; } }

.book-concert-cta ~ .book-concert-price .left-half::-webkit-scrollbar-track, .book-concert-cta ~ .book-concert-tickets .left-half::-webkit-scrollbar-track {
  background-color: #fff; }

.book-concert-cta ~ .book-concert-price .left-half::-webkit-scrollbar, .book-concert-cta ~ .book-concert-tickets .left-half::-webkit-scrollbar {
  width: 8px;
  background-color: #fff;
  border-radius: 5px; }

.book-concert-cta ~ .book-concert-price .left-half::-webkit-scrollbar-thumb, .book-concert-cta ~ .book-concert-tickets .left-half::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 5px; }

@supports (scrollbar-width: thin) {
  .book-concert-cta ~ .book-concert-price .right-half, .book-concert-cta ~ .book-concert-tickets .right-half {
    scrollbar-color: #aaa #1a1a1a;
    scrollbar-width: thin; } }

.book-concert-cta ~ .book-concert-price .right-half::-webkit-scrollbar-track, .book-concert-cta ~ .book-concert-tickets .right-half::-webkit-scrollbar-track {
  background-color: #000; }

.book-concert-cta ~ .book-concert-price .right-half::-webkit-scrollbar, .book-concert-cta ~ .book-concert-tickets .right-half::-webkit-scrollbar {
  width: 8px;
  background-color: #000;
  border-radius: 5px; }

.book-concert-cta ~ .book-concert-price .right-half::-webkit-scrollbar-thumb, .book-concert-cta ~ .book-concert-tickets .right-half::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 5px; }

.red-scroll {
  /* sass-lint:disable no-vendor-prefixes */
  -webkit-overflow-scrolling: touch;
  /* sass-lint:disable no-vendor-prefixes */
  /* sass-lint:disable no-vendor-prefixes  */
  /* sass-lint:disable no-vendor-prefixes */
  /* sass-lint:disable no-vendor-prefixes */ }
  @supports (scrollbar-width: thin) {
    .red-scroll {
      scrollbar-color: #f95d62 #1a1a1a;
      scrollbar-width: thin; } }
  .red-scroll::-webkit-scrollbar {
    width: 6px;
    height: 6px; }
  .red-scroll::-webkit-scrollbar-track-piece:horizontal {
    background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, rgba(26, 26, 26, 0.5) 30%, rgba(26, 26, 26, 0.5) 70%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
    background-size: 100% 100%; }
  .red-scroll::-webkit-scrollbar-thumb {
    border-radius: 3px;
    background-color: #f95d62; }
  @media only screen and (min-width: 1200px) {
    .red-scroll::-webkit-scrollbar-button {
      background-color: transparent;
      width: 100px; } }

/* sass-lint:enable no-misspelled-properties no-vendor-prefixes */
.state-control {
  display: none; }

[data-block-link] {
  cursor: pointer; }

/* @media (prefers-reduced-motion: reduce) {
	* {
		animation-play-state: paused !important;
		transition: none !important;
	}
} */
.stack-list {
  display: flex; }

.stack-item {
  width: 100%; }
  .stack-item:not(:first-of-type) {
    margin-left: -100%; }

.invisible {
  visibility: hidden; }

/* ==========================================================================
Typography classes
========================================================================== */
a,
a:not([href]):not([tabindex]) {
  transition: color 0.15s;
  will-change: color;
  color: #f95d62;
  cursor: pointer; }
  a:hover, a:focus, a:active,
  a:not([href]):not([tabindex]):hover,
  a:not([href]):not([tabindex]):focus,
  a:not([href]):not([tabindex]):active {
    text-decoration: underline;
    color: #f95d62; }

a.underline,
label.underline {
  text-decoration: underline; }
  a.underline:hover, a.underline:focus, a.underline:active,
  label.underline:hover,
  label.underline:focus,
  label.underline:active {
    text-decoration: none; }

.text-link {
  padding: 0;
  background: none;
  border: 0; }

h1,
.h1 {
  line-height: 1.2; }

h3,
.h3 {
  line-height: 1.5; }

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

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

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

.highlight {
  color: #fff; }

small,
.small {
  font-size: 70%; }

.section-title {
  margin-bottom: 1.75rem; }

.section-subtitle {
  margin-bottom: 1.5rem; }

@media only screen and (min-width: 600px) {
  .section-title {
    margin-bottom: 2rem; } }

.accordion {
  margin-bottom: 10px; }
  .accordion.active .title {
    background-color: #fff;
    border-radius: 2px 2px 0 0;
    border-right-color: #fff; }
    .accordion.active .title h3 {
      color: #000; }
    .accordion.active .title .icon {
      transform: rotate(270deg); }
  .accordion.active .content {
    height: auto;
    padding: 20px; }
  .accordion:last-child {
    margin-bottom: 0; }
  .accordion .title {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 2px;
    border-right: 1px solid rgba(255, 255, 255, 0.01);
    cursor: pointer;
    margin-bottom: 0;
    padding: 20px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    transition: background-color 0.2s ease, border-right-color 0.2s ease; }
    .accordion .title .text {
      flex-grow: 1; }
    .accordion .title h3 {
      text-transform: none;
      flex-grow: 1;
      font-weight: 400;
      margin: 0;
      padding-right: 10px;
      transition: color 200ms; }
    .accordion .title .sub-title {
      color: #b3b3b3;
      display: block;
      padding-right: 10px; }
    .accordion .title .icon {
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      width: 20px;
      height: 20px;
      transform: rotate(90deg);
      justify-content: flex-end; }
  .accordion .content {
    background-color: #f8f8f8;
    color: #000;
    height: 0;
    padding: 0 20px;
    overflow: hidden;
    transition: padding 0.4s ease, opacity 0.2s ease; }
    .accordion .content p:last-child {
      margin-bottom: 0; }
    .accordion .content.transparent {
      background: transparent;
      padding-left: 0;
      padding-right: 0; }
  .form-group .accordion {
    width: 100%; }
  [data-vis-viewportbg="invert"] .accordion .title {
    background-color: rgba(0, 0, 0, 0.1); }
    [data-vis-viewportbg="invert"] .accordion .title h3 {
      color: #1a1a1a; }
  [data-vis-viewportbg="invert"] .accordion.active .title {
    background-color: #000;
    border-right-color: #000; }
    [data-vis-viewportbg="invert"] .accordion.active .title h3 {
      color: #fff; }
    [data-vis-viewportbg="invert"] .accordion.active .title .icon {
      filter: invert(1); }
  [data-vis-viewportbg="invert"] .accordion.active .content {
    background-color: #070707;
    color: #b3b3b3; }
    [data-vis-viewportbg="invert"] .accordion.active .content p {
      color: #b3b3b3; }

.accordion-link {
  padding: 0;
  background: none;
  border: 0; }
  .accordion-link::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    position: relative;
    top: 4px;
    transition: transform 200ms; }
  .active .accordion-link::after {
    transform: rotate(180deg); }

.adhoc-slide-show {
  position: relative;
  /* sass-lint:disable-block mixins-before-declarations */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */
  /* sass-lint:disable force-pseudo-nesting */ }
  .adhoc-slide-show > input {
    display: none; }
  .adhoc-slide-show > .slides {
    display: flex;
    transition: 1s;
    transform: translateX(0);
    height: 100%; }
    .adhoc-slide-show > .slides > .slide {
      flex-shrink: 0;
      width: 100%;
      height: 100%; }
  .adhoc-slide-show > .controls > label {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-image: url("/img/chevron_white.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center; }
    .adhoc-slide-show > .controls > label.prev {
      transform: rotate(90deg); }
    .adhoc-slide-show > .controls > label.next {
      transform: rotate(-90deg); }
  .adhoc-slide-show > .progress {
    position: absolute;
    animation-play-state: inherit;
    left: auto; }
    @media only screen and (min-width: 1200px) {
      .adhoc-slide-show > .progress {
        right: calc((100% - 49.7rem) / 2); } }
    .adhoc-slide-show > .progress label {
      position: relative;
      height: 4px;
      width: 30px;
      overflow: hidden;
      animation-play-state: inherit;
      background-color: #fff;
      opacity: 0.5;
      margin: 0;
      cursor: pointer; }
      .adhoc-slide-show > .progress label i {
        display: block;
        background-color: #f95d62;
        width: 30px;
        height: 4px;
        transform: translateX(-100%);
        animation-play-state: paused; }
  .adhoc-slide-show .s0:checked ~ .slides {
    transform: translateX(0%); }
  .adhoc-slide-show .s1:checked ~ .slides {
    transform: translateX(-100%); }
  .adhoc-slide-show .s2:checked ~ .slides {
    transform: translateX(-200%); }
  .adhoc-slide-show .s3:checked ~ .slides {
    transform: translateX(-300%); }
  .adhoc-slide-show .s4:checked ~ .slides {
    transform: translateX(-400%); }
  .adhoc-slide-show .s5:checked ~ .slides {
    transform: translateX(-500%); }
  .adhoc-slide-show .s6:checked ~ .slides {
    transform: translateX(-600%); }
  .adhoc-slide-show .s7:checked ~ .slides {
    transform: translateX(-700%); }
  .adhoc-slide-show .s8:checked ~ .slides {
    transform: translateX(-800%); }
  .adhoc-slide-show .s9:checked ~ .slides {
    transform: translateX(-900%); }
  .adhoc-slide-show .s10:checked ~ .slides {
    transform: translateX(-1000%); }
  .adhoc-slide-show .s0:checked ~ .progress .s0 {
    opacity: 1; }
    .adhoc-slide-show .s0:checked ~ .progress .s0 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s1:checked ~ .progress .s1 {
    opacity: 1; }
    .adhoc-slide-show .s1:checked ~ .progress .s1 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s2:checked ~ .progress .s2 {
    opacity: 1; }
    .adhoc-slide-show .s2:checked ~ .progress .s2 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s3:checked ~ .progress .s3 {
    opacity: 1; }
    .adhoc-slide-show .s3:checked ~ .progress .s3 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s4:checked ~ .progress .s4 {
    opacity: 1; }
    .adhoc-slide-show .s4:checked ~ .progress .s4 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s5:checked ~ .progress .s5 {
    opacity: 1; }
    .adhoc-slide-show .s5:checked ~ .progress .s5 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s6:checked ~ .progress .s6 {
    opacity: 1; }
    .adhoc-slide-show .s6:checked ~ .progress .s6 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s7:checked ~ .progress .s7 {
    opacity: 1; }
    .adhoc-slide-show .s7:checked ~ .progress .s7 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s8:checked ~ .progress .s8 {
    opacity: 1; }
    .adhoc-slide-show .s8:checked ~ .progress .s8 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s9:checked ~ .progress .s9 {
    opacity: 1; }
    .adhoc-slide-show .s9:checked ~ .progress .s9 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .s10:checked ~ .progress .s10 {
    opacity: 1; }
    .adhoc-slide-show .s10:checked ~ .progress .s10 i {
      animation: slide-progress 10s linear forwards;
      animation-play-state: inherit; }
  .adhoc-slide-show .slides[data-has] .media {
    outline: 10px solid rgba(128, 128, 128, 0.2); }
  .adhoc-slide-show .slides[data-has] ~ .progress {
    animation-play-state: paused; }

.page-invert .content-pod .title {
  color: #000; }

.page-invert .content-pod .description {
  color: #1a1a1a; }

.page-invert .adhoc-slide-show .controls label {
  background-image: url("/img/chevron_black.svg"); }

.page-invert .adhoc-slide-show .progress label {
  background-color: #000; }

/* sass-lint:disable-block force-element-nesting no-important */
[data-visible="above"] .adhoc-slide-show,
[data-visible="below"] .adhoc-slide-show {
  animation-play-state: paused !important; }

@media only screen and (min-width: 1200px) {
  .adhoc-slide-show {
    overflow: hidden;
    height: 100%; }
    .adhoc-slide-show .s0:checked ~ .controls .s0 {
      display: block; }
    .adhoc-slide-show .s1:checked ~ .controls .s1 {
      display: block; }
    .adhoc-slide-show .s2:checked ~ .controls .s2 {
      display: block; }
    .adhoc-slide-show .s3:checked ~ .controls .s3 {
      display: block; }
    .adhoc-slide-show .s4:checked ~ .controls .s4 {
      display: block; }
    .adhoc-slide-show .s5:checked ~ .controls .s5 {
      display: block; }
    .adhoc-slide-show .s6:checked ~ .controls .s6 {
      display: block; }
    .adhoc-slide-show .s7:checked ~ .controls .s7 {
      display: block; }
    .adhoc-slide-show .s8:checked ~ .controls .s8 {
      display: block; }
    .adhoc-slide-show .s9:checked ~ .controls .s9 {
      display: block; }
    .adhoc-slide-show .s10:checked ~ .controls .s10 {
      display: block; } }

@media only screen and (min-width: 0) and (max-width: 1199px) {
  .adhoc-slide-show .slides {
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-snap-align: center; }
    .adhoc-slide-show .slides::-webkit-scrollbar {
      -webkit-appearance: none; }
    .adhoc-slide-show .slides .slide {
      padding: 1em;
      scroll-snap-align: center; }
  .adhoc-slide-show .controls,
  .adhoc-slide-show .progress {
    display: none; } }

@media only screen and (min-width: 1800px) {
  .adhoc-slide-show .prev {
    left: calc(((100% - 49.7rem) / 2) - 100px); }
  .adhoc-slide-show .next {
    right: calc(((100% - 49.7rem) / 2) - 100px); } }

@media only screen and (min-width: 1200px) and (max-width: 1799px) {
  .adhoc-slide-show .prev {
    left: calc(((100% - 49.7rem) / 2) - 75px); }
  .adhoc-slide-show .next {
    right: calc(((100% - 49.7rem) / 2) - 75px); } }

@media only screen and (min-width: 1800px) {
  /* sass-lint:disable-block nesting-depth */
  .adhoc-slide-show .slides.right ~ .progress {
    left: auto;
    right: calc(50% + (49.7rem * 0.1) + 1rem);
    top: calc(50% + 18.9525rem); }
  .adhoc-slide-show .slides.left ~ .progress {
    left: calc(50% + (49.7rem * 0.1) + 1rem);
    right: auto;
    top: calc(50% + 18.9525rem); } }

@media only screen and (min-width: 1200px) and (max-width: 1799px) {
  /* sass-lint:disable-block nesting-depth */
  .adhoc-slide-show .slides.right ~ .progress {
    right: calc(50% + (49.7rem * 0.1) + 20px);
    left: auto;
    top: calc(50% + 18.9525rem); }
  .adhoc-slide-show .slides.left ~ .progress {
    left: calc(50% + (49.7rem * 0.1) + 20px);
    right: auto;
    top: calc(50% + 18.9525rem); } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .adhoc-slide-show {
    padding: 1rem; } }

@media only screen and (min-width: 0) and (max-width: 899px) {
  .adhoc-slide-show {
    padding: 1rem; } }

@keyframes slide-progress {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(0); } }

.big-quote .text-container {
  display: block; }

.big-quote .title {
  margin-bottom: 1em;
  transition: color 200ms; }
  .big-quote .title p {
    transition: color 200ms;
    color: #fff; }

.big-quote .sub-text {
  font-style: normal;
  text-align: center;
  display: block;
  color: #fff;
  transition: color 200ms; }
  .big-quote .sub-text p {
    transition: color 200ms;
    color: #fff; }

[data-vis-viewportbg~="invert"] .big-quote .title,
[data-vis-viewportbg~="invert"] .big-quote .title p,
[data-vis-viewportbg~="invert"] .big-quote .sub-text,
[data-vis-viewportbg~="invert"] .big-quote .sub-text p {
  color: #000; }

.block-link:hover, .block-link:focus {
  text-decoration: none; }
  .block-link:hover .link, .block-link:focus .link {
    text-decoration: underline; }

.btn-has-state {
  position: relative; }
  .btn-has-state::after {
    transition: opacity 200ms; }
  .btn-has-state.is-loading {
    pointer-events: none; }
    .btn-has-state.is-loading::after {
      opacity: 0; }
  .btn-has-state.btn-submitting {
    pointer-events: none; }
    .btn-has-state.btn-submitting .btn-loading-state::before {
      opacity: 1; }
  .btn-has-state.btn-submitted {
    pointer-events: none; }
    .btn-has-state.btn-submitted .btn-loading-state::after {
      opacity: 1; }

.btn-loading-state {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none; }
  .btn-loading-state::before, .btn-loading-state::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -10px;
    opacity: 0;
    transition: opacity 200ms; }
  .btn-loading-state::before {
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-left-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    animation: loop 500ms linear infinite; }
  .btn-loading-state::after {
    background: url(../img/checkbox-tick.svg) 50% 50% no-repeat; }

.content-cta .icon {
  float: left;
  background-size: 30px auto;
  background-position: 0 0;
  background-repeat: no-repeat;
  height: 30px;
  width: 30px; }
  .content-cta .icon + * {
    margin-left: 50px; }

.content-cta .title {
  font-size: 22px;
  text-transform: none;
  color: #fff;
  margin-bottom: 20px; }

.content-cta .sub-title {
  color: #fff; }

.content-cta .description {
  color: #b3b3b3; }

.content-cta a {
  text-decoration: underline; }
  .content-cta a:hover {
    text-decoration: none; }

.content-cta li {
  color: #b3b3b3; }

.content-cta :last-child {
  margin-bottom: 0; }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .content-cta .content {
    padding: 1rem; } }

@media only screen and (min-width: 600px) and (max-width: 1199px) {
  .content-cta .content {
    padding: 1rem; } }

@media only screen and (min-width: 1200px) {
  .content-cta .content {
    padding: 1rem; } }

.content-cta .link-list {
  list-style-type: none;
  padding-left: 0; }
  .content-cta .link-list li {
    display: inline-block;
    text-transform: uppercase;
    margin-right: 2em; }
  .content-cta .link-list a {
    text-decoration: none; }

.content-cta.black {
  background-color: rgba(0, 0, 0, 0.8);
  border-top: 1px solid #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
  padding-top: 1rem;
  padding-bottom: 1rem; }

.content-cta .dark {
  background-color: #1a1a1a; }

.content-tile {
  height: 100%; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .content-tile {
      padding: 1rem; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .content-tile {
      padding: 2rem; } }
  @media only screen and (min-width: 1200px) {
    .content-tile {
      display: flex;
      justify-content: center;
      align-items: center; } }

/*
 * Content Pod
 * - contains a "slide" or piece of "content"
 * - places images, titles, links, descriptions depending
 *   orientation.
 * - padding for the gutters for slide navigation controls
 * - top padding for the top navigation
 * - has to be padding for slide-show
 */
.content-pod .media {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  position: relative; }
  .content-pod .media > img {
    position: absolute;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%; }

.content-pod .text {
  position: relative; }
  .content-pod .text :last-child,
  .content-pod .text :last-child :last-child {
    margin-bottom: 0; }

.content-pod .title {
  transition: color 200ms; }
  [data-vis-viewportbg~="invert"] .content-pod .title {
    color: #000; }
  .editorial .content-pod .title {
    color: #fff; }
    [data-vis-viewportbg~="invert"] .editorial .content-pod .title {
      color: #000; }

.content-pod .sub-title {
  transition: color 200ms;
  color: #b3b3b3; }
  [data-vis-viewportbg~="invert"] .content-pod .sub-title {
    color: #1a1a1a; }

.content-pod .description {
  position: relative;
  margin-bottom: 0.5rem;
  transition: color 200ms;
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden; }
  [data-vis-viewportbg~="invert"] .content-pod .description {
    color: #1a1a1a; }

.content-pod .sub-title,
.content-pod .description {
  margin-bottom: 1rem; }

.content-pod .link-list {
  position: relative;
  list-style-type: none;
  padding-left: 0;
  line-height: 2rem; }
  .content-pod .link-list li:not(:last-child) {
    margin-bottom: 10px; }

.content-pod.stack.stack {
  align-items: flex-start;
  height: auto; }
  .content-pod.stack.stack.center {
    align-items: center; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .content-pod.stack.stack.center .text {
        width: 100%; } }
    @media only screen and (min-width: 600px) {
      .content-pod.stack.stack.center .media {
        margin-bottom: 0; } }
  .content-pod.stack.stack .media {
    padding-bottom: 41.25%; }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .content-pod .media {
    padding-bottom: 56.25%;
    margin-bottom: 1rem; }
  .content-pod.stack.stack .media {
    padding-bottom: 75%; }
  /* sass-lint:disable-block force-element-nesting */
  .right .content-pod .media,
  .content-pod.right .media,
  .left .content-pod .media,
  .content-pod.left .media,
  .alternate-left-right .content-pod .media,
  .content-pod.alternate-left-right .media {
    padding-bottom: 133.333333333%; }
  .short .content-pod .media,
  .content-pod.short .media {
    padding-bottom: 75%; } }

@media only screen and (min-width: 600px) and (max-width: 1199px) {
  .content-pod {
    display: block; }
    .content-pod .media {
      padding-bottom: 56.25%;
      margin-bottom: 1rem; }
  /* sass-lint:disable-block force-element-nesting */
  .left .content-pod,
  .content-pod.left,
  .right .content-pod,
  .content-pod.right,
  .alternate-left-right .content-pod,
  .content-pod.alternate-left-right {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .left .content-pod .media,
    .content-pod.left .media,
    .right .content-pod .media,
    .content-pod.right .media,
    .alternate-left-right .content-pod .media,
    .content-pod.alternate-left-right .media {
      width: 55%;
      padding-bottom: 73.3333333333%;
      margin-bottom: 0; }
    .left .content-pod .text,
    .content-pod.left .text,
    .right .content-pod .text,
    .content-pod.right .text,
    .alternate-left-right .content-pod .text,
    .content-pod.alternate-left-right .text {
      width: 40%; }
  .left .content-pod,
  .content-pod.left {
    flex-direction: row; }
  .right .content-pod,
  .content-pod.right {
    flex-direction: row-reverse; }
  .alternate-left-right .content-pod:nth-child(odd),
  .content-pod.alternate-left-right:nth-child(odd) {
    flex-direction: row; }
  .alternate-left-right .content-pod:nth-child(even),
  .content-pod.alternate-left-right:nth-child(even) {
    flex-direction: row-reverse; }
  .short .content-pod .media,
  .content-pod.short .media,
  .alternate-left-right .content-pod .media,
  .content-pod.alternate-left-right .media {
    padding-bottom: 41.25%; } }

@media only screen and (min-width: 1200px) {
  /* sass-lint:disable-block force-element-nesting */
  .content-pod {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50rem; }
    .content-pod .media {
      padding-bottom: 56.25%;
      margin-bottom: 1rem; }
    .content-pod .text .description,
    .content-pod .text .title,
    .content-pod .text .link {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
    .content-pod :last-child {
      margin-bottom: 0; }
  .left .content-pod,
  .content-pod.left,
  .right .content-pod,
  .content-pod.right,
  .alternate-left-right .content-pod,
  .content-pod.alternate-left-right {
    align-items: center;
    justify-content: space-between; }
    .left .content-pod .media,
    .content-pod.left .media,
    .right .content-pod .media,
    .content-pod.right .media,
    .alternate-left-right .content-pod .media,
    .content-pod.alternate-left-right .media {
      width: 55%;
      padding-bottom: 73.3333333333%;
      margin-bottom: 0; }
    .left .content-pod .text,
    .content-pod.left .text,
    .right .content-pod .text,
    .content-pod.right .text,
    .alternate-left-right .content-pod .text,
    .content-pod.alternate-left-right .text {
      width: 40%; }
      .left .content-pod .text .description,
      .left .content-pod .text .title,
      .left .content-pod .text .link,
      .content-pod.left .text .description,
      .content-pod.left .text .title,
      .content-pod.left .text .link,
      .right .content-pod .text .description,
      .right .content-pod .text .title,
      .right .content-pod .text .link,
      .content-pod.right .text .description,
      .content-pod.right .text .title,
      .content-pod.right .text .link,
      .alternate-left-right .content-pod .text .description,
      .alternate-left-right .content-pod .text .title,
      .alternate-left-right .content-pod .text .link,
      .content-pod.alternate-left-right .text .description,
      .content-pod.alternate-left-right .text .title,
      .content-pod.alternate-left-right .text .link {
        white-space: normal; }
  .left .content-pod,
  .content-pod.left {
    flex-direction: row; }
  .right .content-pod,
  .content-pod.right {
    flex-direction: row-reverse; }
  .content-pod.alternate-left-right:nth-child(odd) {
    flex-direction: row; }
  .content-pod.alternate-left-right:nth-child(even) {
    flex-direction: row-reverse; }
  .short .content-pod .media,
  .content-pod.short .media,
  .alternate-left-right .content-pod .media,
  .content-pod.alternate-left-right .media {
    padding-bottom: 41.25%; } }

.cta-button {
  background-color: #f95d62;
  color: #fff;
  border: 1px solid transparent;
  border-radius: 40px;
  padding: 6px 20px;
  white-space: nowrap;
  display: inline-block;
  line-height: 30px; }
  .cta-button.hide {
    display: none; }
  .cta-button::after {
    content: "";
    display: inline-block;
    background-image: url("/img/arrow-right-white.svg");
    background-size: auto;
    width: 20px;
    height: 20px;
    margin-left: 10px;
    position: relative;
    vertical-align: middle;
    top: -2px; }
  .cta-button.no-arrow::after {
    display: none; }
  .cta-button.disabled {
    background-color: #1a1a1a;
    color: #808080;
    cursor: default;
    text-decoration: none; }
    .cta-button.disabled:hover, .cta-button.disabled:focus, .cta-button.disabled:active {
      color: #808080; }
  .cta-button.disabled-white {
    background-color: #fff;
    color: #000;
    border-color: #b3b3b3;
    text-decoration: none; }

a.cta-button:hover, a.cta-button:focus, a.cta-button:active {
  color: #fff; }

.cta-button-alt {
  background-color: #fff;
  color: #f95d62; }

.cta-bar {
  margin-top: 80px;
  margin-bottom: 80px;
  padding-top: 40px;
  padding-bottom: 40px;
  box-shadow: inset 0 -2px 0 0 #1a1a1a, inset 0 2px 0 0 #1a1a1a;
  text-align: left; }
  .cta-bar + .cta-bar {
    box-shadow: inset 0 -2px 0 0 #1a1a1a; }
  .cta-bar p {
    margin-bottom: 0; }

.content-faqs .heading {
  margin-bottom: 30px; }

.content-faqs .description {
  color: #fff;
  margin-bottom: 50px;
  transition: color 200ms; }
  .content-faqs .description p {
    color: #fff; }
  [data-vis-viewportbg="invert"] .content-faqs .description {
    color: #000; }
    [data-vis-viewportbg="invert"] .content-faqs .description p {
      color: #000; }

/* ==========================================================================
   Global form elements
   ========================================================================== */
form p,
form li {
  color: #b3b3b3; }

.form .section-title {
  margin-bottom: 2rem; }

input::-webkit-input-placeholder {
  /* Edge */
  color: rgba(26, 26, 26, 0.75); }
  .subscribe input::-webkit-input-placeholder {
    color: rgba(148, 148, 148, 0.75); }

input:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: rgba(26, 26, 26, 0.75); }
  .subscribe input:-ms-input-placeholder {
    color: rgba(148, 148, 148, 0.75); }

input::placeholder {
  color: rgba(26, 26, 26, 0.75); }
  .subscribe input::placeholder {
    color: rgba(148, 148, 148, 0.75); }

.form-section ~ .form-section {
  margin-top: 60px; }

.form-section .section-subtitle + p {
  margin: -15px 0 40px; }

.form-section .section-subtitle + .form-label {
  display: block;
  margin-top: -10px; }

.form-section-full {
  max-width: none; }

.form-group {
  width: 100%;
  max-width: 480px;
  margin-bottom: 30px; }
  .form-group.form-group-sm {
    margin-bottom: 20px; }
  .form-group .form-control ~ .form-control {
    margin-top: 10px; }
  .form-group + .section-subtitle {
    margin-top: 60px; }
  .form-group label {
    color: #fff; }
    .form-group label.error {
      text-transform: none;
      font-weight: normal;
      line-height: initial;
      letter-spacing: initial; }
  .form-group .tooltip-label {
    color: #f95d62; }

.inline-elements {
  display: flex; }
  .inline-elements .cta-button.cta-button {
    margin: 0; }

.form-group-split-50 {
  display: flex; }
  .form-group-split-50 > div {
    width: 50%; }
    .form-group-split-50 > div:not(:first-child) {
      margin-left: 20px; }

.form-label,
.password-show-hide,
.forgot-password {
  font-size: 0.7rem;
  font-weight: 500;
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  cursor: pointer; }

.label-sm {
  font-size: 14px;
  padding-top: 0; }

.password-show-hide {
  cursor: pointer;
  float: right;
  position: relative;
  top: 6px; }
  .password-show-hide:hover {
    text-decoration: underline; }

.forgot-password {
  color: #f95d62; }

.form-control {
  background-color: #b3b3b3;
  color: #000;
  border: 0;
  border-radius: 1px;
  padding: 1em;
  margin-right: 10px;
  display: block;
  width: 100%;
  transition: background-color 0.5s ease; }
  .form-control:focus, .form-control.has-value {
    background-color: #fff; }

.form-control-sm {
  width: 140px; }

.form-control-md {
  width: 226px; }

.currency-input {
  position: relative; }
  .currency-input::before {
    content: "$";
    position: absolute;
    left: 12px;
    top: 14px;
    z-index: 1;
    color: #949494; }
  .currency-input .form-control {
    padding-left: 30px;
    width: 220px; }

.form-footer {
  margin: 70px 0 100px;
  padding: 30px 0;
  border: solid #1a1a1a;
  border-width: 1px 0; }
  .form-footer a {
    display: inline-block; }
  .form-footer p {
    margin: 0; }
  .form-footer .cta-button {
    margin-left: 40px;
    flex-shrink: 0;
    align-self: flex-start; }

.form-group label.error, .validation-summary-errors li, .field-validation-error {
  color: #ffa500;
  position: relative;
  padding: 0 0 0 28px;
  margin: 3px 0; }
  .form-group label.error::before, .validation-summary-errors li::before, .field-validation-error::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    background-size: 18px auto;
    background-repeat: no-repeat;
    background-position: center center; }

.validation-summary-errors {
  margin: 30px 0; }
  .validation-summary-errors ul {
    list-style: none;
    margin-bottom: 0;
    padding: 0; }

.field-validation-error {
  display: block;
  margin-top: 10px;
  line-height: 1.63; }

.field-hint {
  font-size: 0.8rem;
  display: block;
  margin-top: 10px;
  line-height: 1.63;
  color: #b3b3b3; }

.custom-radio-checkbox {
  display: flex;
  align-items: center; }
  @media only screen and (min-width: 1200px) {
    .custom-radio-checkbox:not(:first-child) {
      margin-left: 15px; } }
  .custom-radio-checkbox.inline:not(:first-child) {
    margin-left: 30px; }
  .custom-radio-checkbox [type="checkbox"],
  .custom-radio-checkbox [type="radio"] {
    display: none; }
    .custom-radio-checkbox [type="checkbox"]:checked ~ label::before,
    .custom-radio-checkbox [type="radio"]:checked ~ label::before {
      background-color: #f95d62; }
    .custom-radio-checkbox [type="checkbox"]:checked ~ label:hover::before, .custom-radio-checkbox [type="checkbox"]:checked ~ label:focus::before,
    .custom-radio-checkbox [type="radio"]:checked ~ label:hover::before,
    .custom-radio-checkbox [type="radio"]:checked ~ label:focus::before {
      background-color: rgba(249, 93, 98, 0.75); }
  .custom-radio-checkbox label {
    position: relative;
    margin: 0;
    padding: 2px 0 0 46px;
    text-transform: none;
    font-weight: normal;
    color: #fff;
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: initial;
    transition: color 200ms; }
    #donation-accordion .custom-radio-checkbox label {
      padding-top: 0; }
      #donation-accordion .custom-radio-checkbox label + span[data-tippy] {
        top: 0; }
    .custom-radio-checkbox label::before {
      content: "";
      display: inline-block;
      width: 30px;
      height: 30px;
      border: 1px solid #f95d62;
      border-radius: 2px;
      margin-right: 18px;
      position: absolute;
      left: 0;
      top: 0;
      background: transparent;
      transition: border 200ms, background 200ms; }
    .custom-radio-checkbox label:hover::before, .custom-radio-checkbox label:focus::before {
      border-color: rgba(249, 93, 98, 0.75); }
  .custom-radio-checkbox [type="checkbox"] ~ label::after {
    content: url(../img/checkbox-tick.svg);
    position: absolute;
    display: inline-block;
    top: 5px;
    left: 5px;
    color: #fff;
    opacity: 0;
    transition: opacity 200ms; }
  .custom-radio-checkbox [type="checkbox"]:checked ~ label::after {
    opacity: 1; }
  .custom-radio-checkbox [type="radio"] ~ label::before {
    border-radius: 50%; }
  .custom-radio-checkbox [type="radio"] ~ label::after {
    content: "";
    position: absolute;
    left: 9px;
    top: 9px;
    width: 12px;
    height: 12px;
    background: #fff;
    border-radius: 50%;
    transform: scale(0);
    transition: transform 200ms; }
  .custom-radio-checkbox [type="radio"] ~ .form-radio-btn-label {
    height: auto;
    background: transparent;
    padding: 18px 0 15px;
    border: 1px solid #fff;
    letter-spacing: 0.8px;
    text-align: center;
    text-transform: uppercase;
    transition: background 200ms, border 200ms; }
    .custom-radio-checkbox [type="radio"] ~ .form-radio-btn-label::before, .custom-radio-checkbox [type="radio"] ~ .form-radio-btn-label::after {
      content: normal; }
    .custom-radio-checkbox [type="radio"] ~ .form-radio-btn-label:hover, .custom-radio-checkbox [type="radio"] ~ .form-radio-btn-label:focus {
      border-color: #f95d62; }
  .custom-radio-checkbox [type="radio"]:checked ~ label::after {
    transform: scale(1); }
  .custom-radio-checkbox [type="radio"]:checked ~ .form-radio-btn-label {
    background: #f95d62;
    border-color: #f95d62; }

.form-radio-btn-label {
  width: 100px; }

.form-radio-btn-label-lg {
  width: 190px; }

.custom-radio-checkbox-right [type="checkbox"] ~ label {
  height: auto;
  padding: 0 50px 0 0; }
  .custom-radio-checkbox-right [type="checkbox"] ~ label .label-text {
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.8px; }
  .custom-radio-checkbox-right [type="checkbox"] ~ label::before {
    left: auto;
    right: 0;
    margin: 0; }
  .custom-radio-checkbox-right [type="checkbox"] ~ label::after {
    left: auto;
    right: 5px; }

.custom-radio-checkbox-right p {
  margin: 0; }

.custom-radio-checkbox-stack .custom-radio-checkbox + .custom-radio-checkbox {
  margin: 30px 0 0; }

.form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #b3b3b3 url(../img/select-arrow.svg) right 16px center no-repeat;
  cursor: pointer;
  padding-right: 44px; }
  .form-select::-ms-expand {
    display: none; }

.form-radio-checkbox-group {
  display: flex; }

.form-style-donate .form-section {
  margin-bottom: 60px; }
  .form-style-donate .form-section ~ .form-section {
    margin-top: 0; }

.form-style-donate .section-subtitle + p {
  margin-bottom: 20px; }

.form-style-donate .custom-radio:not(:first-child) {
  margin-left: 40px; }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .form-footer p {
    margin-bottom: 30px; }
  .form-footer .cta-button {
    display: block;
    margin: 0; }
  .form-style-donate .form-radio-btn-label {
    width: 100%; }
  .form-style-donate .custom-radio-checkbox {
    flex-grow: 1; }
    .form-style-donate .custom-radio-checkbox:not(:first-child) {
      margin-left: 10px; }
  .checkbox-group-stack-xs {
    flex-wrap: wrap; }
    .checkbox-group-stack-xs .custom-radio-checkbox {
      width: 100%;
      margin: 0; }
      .checkbox-group-stack-xs .custom-radio-checkbox:not(:first-child) {
        margin: 20px 0 0; } }

@media only screen and (min-width: 600px) {
  .form p {
    max-width: 58.3333333333%; }
  .form-section p {
    max-width: 600px; }
  .form-group-split-50 > div:not(:first-child) {
    margin-left: 30px; }
  .form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 0; }
  .validation-summary-errors + .form-section {
    margin-top: 70px; } }

/* sass-lint:disable force-element-nesting */
.link-list a.add::before {
  content: "+"; }

.link-list a.remove::before {
  content: "-"; }

.link-list a.add::before, .link-list a.remove::before {
  display: inline-block; }

.link-list .link,
.link a {
  flex-grow: 0;
  vertical-align: middle; }

.right-arrow,
.right-arrow-in a {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  line-height: 1.4; }
  .right-arrow::after,
  .right-arrow-in a::after {
    background-color: rgba(249, 93, 98, 0.2);
    background-size: 20px 20px;
    border-radius: 10px;
    content: "";
    display: inline-block;
    height: 20px;
    margin-left: 0.5em;
    min-width: 20px;
    width: 20px;
    vertical-align: middle; }

.items-circle {
  word-spacing: 40px;
  display: flex;
  flex-flow: row wrap; }
  @media only screen and (min-width: 900px) {
    .items-circle {
      display: block;
      word-spacing: 50px; } }
  .items-circle .item {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    text-align: left;
    word-spacing: 0;
    margin-bottom: 30px;
    width: 100%;
    cursor: pointer; }
    @media only screen and (min-width: 600px) {
      .items-circle .item {
        margin-right: 5%;
        width: 45%; } }
    @media only screen and (min-width: 900px) {
      .items-circle .item {
        display: inline-block;
        vertical-align: top;
        width: 180px;
        margin-right: 0; } }
    .items-circle .item:focus {
      outline-color: #f95d62; }
    .items-circle .item:hover img {
      filter: grayscale(0%); }
    .items-circle .item:hover .title {
      color: #f95d62; }
  .items-circle .media {
    margin-right: 20px; }
    @media only screen and (min-width: 900px) {
      .items-circle .media {
        margin-right: 0; } }
    .items-circle .media img {
      transition: filter 0.2s ease-in-out;
      filter: grayscale(100%);
      border-radius: 50%; }
  .items-circle .object-fit-wrap {
    width: 70px;
    height: 70px;
    display: inline-block;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 0;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0); }
    @media only screen and (min-width: 900px) {
      .items-circle .object-fit-wrap {
        width: 180px;
        height: 180px;
        margin-bottom: 10px; } }
  .items-circle .text {
    word-spacing: 0; }
    @media only screen and (min-width: 900px) {
      .items-circle .text {
        text-align: center; } }
  .items-circle .title {
    text-decoration: underline;
    color: #fff;
    padding-top: 0;
    transition: color 200ms ease-in-out; }
    @media only screen and (min-width: 0) and (max-width: 899px) {
      .items-circle .title {
        margin-top: 0; } }
    .items-circle .title p {
      color: #fff; }
    [data-vis-viewportbg~="invert"] .items-circle .title {
      color: #000; }
      [data-vis-viewportbg~="invert"] .items-circle .title p {
        color: #000; }
  .items-circle .sub-title {
    color: #b3b3b3; }
    .items-circle .sub-title p {
      color: #b3b3b3; }
    [data-vis-viewportbg~="invert"] .items-circle .sub-title {
      color: #1a1a1a; }
      [data-vis-viewportbg~="invert"] .items-circle .sub-title p {
        color: #1a1a1a; }

img,
video {
  max-width: 100%; }

.single-image .object-fit-wrap {
  max-height: 500px;
  margin-bottom: 10px;
  overflow: hidden; }

.single-image img {
  width: 100%;
  height: auto; }

.single-image .title {
  margin-top: 10px;
  color: #fff; }
  .single-image .title p {
    color: #fff; }
  [data-vis-viewportbg~="invert"] .single-image .title {
    color: #000; }
    [data-vis-viewportbg~="invert"] .single-image .title p {
      color: #000; }

.single-image .sub-title {
  color: #b3b3b3; }
  .single-image .sub-title p {
    color: #b3b3b3; }
  [data-vis-viewportbg~="invert"] .single-image .sub-title {
    color: #1a1a1a; }
    [data-vis-viewportbg~="invert"] .single-image .sub-title p {
      color: #1a1a1a; }

.single-image .title,
.single-image .sub-title {
  display: block; }

/*
 * Full page menu and on page menu in top-navigations
 */
.menu-fullpage {
  position: fixed;
  overflow-y: auto;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  color: #fff;
  transition: opacity 200ms ease; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .menu-fullpage main {
      padding-top: 65px; } }
  @media only screen and (min-width: 1200px) {
    .menu-fullpage main {
      padding-top: 5.5rem; } }

.menu-control-onpage {
  position: relative; }
  .menu-control-onpage label {
    padding: 5px 20px 5px 5px; }
    .menu-control-onpage label::before {
      content: "";
      position: absolute;
      left: 5px;
      right: 20px;
      bottom: 2px;
      border-bottom: 2px solid #f95d62;
      transform: scale3d(0, 1, 1);
      transition: transform 200ms; }
    .menu-control-onpage label::after {
      background-image: url("/img/chevron_grey.svg");
      content: "";
      display: block;
      width: 10px;
      height: 6px;
      position: absolute;
      top: 55%;
      right: 5px;
      transform: translateY(-100%); }
    .menu-control-onpage label:hover, .menu-control-onpage label:focus {
      outline: 0; }
      .menu-control-onpage label:hover::before, .menu-control-onpage label:focus::before {
        transform: scale3d(1, 1, 1); }

.menu-onpage {
  display: none;
  z-index: 100;
  padding: 1rem;
  animation: 0.2s menu-drop-down ease-out;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  .menu-onpage ul,
  .menu-onpage li {
    margin: 0;
    padding: 0;
    list-style-type: none; }
  .menu-onpage a {
    display: block;
    color: #f95d62;
    white-space: nowrap;
    padding: 0.5em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: normal; }
    .menu-onpage a:hover {
      text-decoration: underline; }
  .menu-onpage::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-bottom: 10px solid #fff;
    border-right: 10px solid transparent; }

@keyframes menu-drop-down {
  from {
    transform: translate(-50%, -10%);
    opacity: 0; }
  to {
    transform: translate(-50%, 0);
    opacity: 1; } }

@keyframes modal-fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

#modal-set-1-radiobtn-0:checked ~ .modals-carousel,
#modal-set-2-radiobtn-0:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-0:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-0:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(0%); } }

#modal-set-1-radiobtn-1:checked ~ .modals-carousel,
#modal-set-2-radiobtn-1:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-1:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-1:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-100%); } }

#modal-set-1-radiobtn-2:checked ~ .modals-carousel,
#modal-set-2-radiobtn-2:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-2:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-2:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-200%); } }

#modal-set-1-radiobtn-3:checked ~ .modals-carousel,
#modal-set-2-radiobtn-3:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-3:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-3:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-300%); } }

#modal-set-1-radiobtn-4:checked ~ .modals-carousel,
#modal-set-2-radiobtn-4:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-4:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-4:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-400%); } }

#modal-set-1-radiobtn-5:checked ~ .modals-carousel,
#modal-set-2-radiobtn-5:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-5:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-5:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-500%); } }

#modal-set-1-radiobtn-6:checked ~ .modals-carousel,
#modal-set-2-radiobtn-6:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-6:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-6:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-600%); } }

#modal-set-1-radiobtn-7:checked ~ .modals-carousel,
#modal-set-2-radiobtn-7:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-7:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-7:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-700%); } }

#modal-set-1-radiobtn-8:checked ~ .modals-carousel,
#modal-set-2-radiobtn-8:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-8:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-8:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-800%); } }

#modal-set-1-radiobtn-9:checked ~ .modals-carousel,
#modal-set-2-radiobtn-9:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-9:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-9:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-900%); } }

#modal-set-1-radiobtn-10:checked ~ .modals-carousel,
#modal-set-2-radiobtn-10:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-10:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-10:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-1000%); } }

#modal-set-1-radiobtn-11:checked ~ .modals-carousel,
#modal-set-2-radiobtn-11:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-11:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-11:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-1100%); } }

#modal-set-1-radiobtn-12:checked ~ .modals-carousel,
#modal-set-2-radiobtn-12:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-12:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-12:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-1200%); } }

#modal-set-1-radiobtn-13:checked ~ .modals-carousel,
#modal-set-2-radiobtn-13:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-13:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-13:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-1300%); } }

#modal-set-1-radiobtn-14:checked ~ .modals-carousel,
#modal-set-2-radiobtn-14:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-14:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-14:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-1400%); } }

#modal-set-1-radiobtn-15:checked ~ .modals-carousel,
#modal-set-2-radiobtn-15:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-15:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-15:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-1500%); } }

#modal-set-1-radiobtn-16:checked ~ .modals-carousel,
#modal-set-2-radiobtn-16:checked ~ .modals-carousel {
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }
  @media only screen and (min-width: 900px) {
    #modal-set-1-radiobtn-16:checked ~ .modals-carousel .modals-wrapper,
    #modal-set-2-radiobtn-16:checked ~ .modals-carousel .modals-wrapper {
      transform: translateX(-1600%); } }

.modal-active {
  overflow: hidden; }

.modal-close {
  width: 30px;
  height: 30px;
  position: absolute;
  z-index: 1001;
  top: 10px;
  right: 10px;
  background-size: cover;
  cursor: pointer;
  opacity: 0.85;
  transition: opacity 0.2s ease;
  text-indent: -9999px;
  outline: 0; }
  .modal-close:hover, .modal-close:focus {
    opacity: 1; }

#modal-student-pricing-info-state-opened:checked + .modals-carousel,
#modal-performances-state-opened:checked + .modals-carousel {
  opacity: 1;
  pointer-events: initial;
  animation: modal-fade-in 400ms ease forwards; }

.modals-carousel {
  overflow: hidden;
  width: 100%;
  height: 100%;
  z-index: 1000;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  cursor: pointer;
  pointer-events: none;
  overscroll-behavior-y: contain;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.3); }
  @media only screen and (min-width: 0) and (max-width: 899px) {
    .modals-carousel:not(.disable-transition-children) {
      overflow-x: scroll;
      scroll-snap-type: x mandatory; }
      .modals-carousel:not(.disable-transition-children) .modal {
        scroll-snap-align: center;
        width: 94%;
        padding-left: 1%;
        padding-right: 1%; }
        .modals-carousel:not(.disable-transition-children) .modal:first-child {
          padding-left: 2%; }
        .modals-carousel:not(.disable-transition-children) .modal:last-child {
          padding-right: 2%; }
    .modals-carousel .modals-wrapper .modal-dialog {
      align-items: flex-start;
      margin-top: 2%;
      margin-bottom: 2%;
      overflow: hidden; } }
  .modals-carousel .progress {
    position: fixed;
    display: none;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 280px;
    height: 6%; }
    .modals-carousel .progress label {
      height: 4px;
      width: 30px;
      margin-left: 2px;
      margin-right: 2px;
      margin-bottom: 0;
      overflow: hidden;
      background-color: rgba(255, 255, 255, 0.2); }
  .modals-carousel.enable-transition-children .modals-wrapper {
    transition: transform 0.6s ease; }
  .modals-carousel.disable-transition-children .modals-wrapper {
    transition: transform 0s !important; }
  .modals-carousel .modals-wrapper {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    height: 100%;
    position: relative; }
  .modals-carousel .modal {
    word-spacing: 0;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-shrink: 0;
    width: 100%;
    height: 100%; }
  .modals-carousel .modal-next,
  .modals-carousel .modal-prev {
    position: absolute;
    top: 45%;
    cursor: pointer;
    transition: transform 0.2s ease;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 50px;
    height: 50px;
    text-indent: -9999px; }
    @media only screen and (min-width: 0) and (max-width: 899px) {
      .modals-carousel .modal-next,
      .modals-carousel .modal-prev {
        display: none; } }
  .modals-carousel .modal-prev {
    left: -15px; }
    .modals-carousel .modal-prev:hover {
      transform: translateX(-5px); }
    @media only screen and (min-width: 900px) {
      .modals-carousel .modal-prev {
        left: -45px; } }
    @media only screen and (min-width: 1200px) {
      .modals-carousel .modal-prev {
        left: -70px; } }
  .modals-carousel .modal-next {
    right: -15px; }
    .modals-carousel .modal-next:hover {
      transform: translateX(5px); }
    @media only screen and (min-width: 900px) {
      .modals-carousel .modal-next {
        right: -45px; } }
    @media only screen and (min-width: 1200px) {
      .modals-carousel .modal-next {
        right: -70px; } }
  .modals-carousel .modal-dialog {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    cursor: pointer; }
    @media only screen and (min-width: 900px) {
      .modals-carousel .modal-dialog {
        margin: 1.75rem auto; } }
  .modals-carousel .modal-content {
    position: relative;
    color: #000;
    width: 100%;
    outline: 0;
    cursor: default; }
    .modals-carousel .modal-content .title {
      color: #000;
      font-size: 1.8rem;
      line-height: 1.2;
      text-transform: none;
      display: block;
      width: 100%;
      text-decoration: none;
      max-width: calc( 100% - 30px); }
      @media only screen and (min-width: 900px) {
        .modals-carousel .modal-content .title {
          font-size: 2.2rem; } }
    .modals-carousel .modal-content .sub-title {
      color: #949494;
      display: block;
      margin-top: 0;
      margin-bottom: 0.7rem; }
      @media only screen and (min-width: 900px) {
        .modals-carousel .modal-content .sub-title {
          margin-bottom: 1.5rem; } }
    .modals-carousel .modal-content p:not(.sub-title) {
      font-size: 0.8rem; }
    .modals-carousel .modal-content .modal-body {
      background-clip: padding-box;
      border-radius: 2px;
      background: #fff;
      padding: 0;
      overflow-y: auto;
      display: block;
      font-size: 0.8rem; }
      @media only screen and (min-width: 900px) {
        .modals-carousel .modal-content .modal-body {
          display: flex;
          flex-flow: row nowrap; } }
    .modals-carousel .modal-content .white-bg,
    .modals-carousel .modal-content .grey-bg {
      padding: 30px; }
      @media only screen and (min-width: 900px) {
        .modals-carousel .modal-content .white-bg,
        .modals-carousel .modal-content .grey-bg {
          display: flex;
          flex-flow: row nowrap;
          padding: 20px; } }
    .modals-carousel .modal-content .white-bg {
      background: #fff; }
    .modals-carousel .modal-content .grey-bg {
      background: #f8f8f8; }

.social-links li {
  display: inline-block; }

.social-links a {
  display: inline-block;
  overflow: hidden;
  text-indent: 100px;
  white-space: nowrap;
  width: 49px;
  height: 49px;
  background-position: center;
  background-size: 21px;
  background-repeat: no-repeat;
  padding-right: 7px; }

.social-links a[href^="https://facebook"],
.social-links a[href^="https://www.facebook"] {
  background-image: url(/data/img/footer/social/facebook.svg); }

.social-links a[href^="https://twitter"],
.social-links a[href^="https://www.twitter"] {
  background-image: url(/data/img/footer/social/twitter.svg); }

.social-links a[href^="https://youtube"],
.social-links a[href^="https://www.youtube"] {
  background-image: url(/data/img/footer/social/youtube.svg); }

.social-links a[href^="https://instagram"],
.social-links a[href^="https://www.instagram"] {
  background-image: url(/data/img/footer/social/instagram.svg); }

@media only screen and (min-width: 0) and (max-width: 1199px) {
  .music-links {
    margin-bottom: 2em; } }

.music-links a {
  color: #b3b3b3; }

.about-links a {
  color: #b3b3b3; }

/*
 * Page Capsule
 * - minimum full page
 * - lays out the ACO minimum height container
 * - enforce max page width?
 */
.page-invert {
  position: relative; }

ul.pagination {
  list-style: none;
  text-align: center;
  padding-left: 0;
  padding-right: 0; }
  ul.pagination li {
    display: inline-block;
    margin-bottom: 10px; }
  ul.pagination a,
  ul.pagination span {
    display: block;
    margin: 0 8px;
    color: #fff;
    width: 28px;
    height: 28px;
    line-height: 26px;
    border-radius: 50%;
    border: 1px solid #f95d62;
    transition: background-color 200ms ease; }
  ul.pagination span {
    background-color: #f95d62;
    color: #fff; }
  ul.pagination a:hover, ul.pagination a:focus, ul.pagination a:active {
    text-decoration: none;
    background-color: #f95d62; }
  ul.pagination .PagedList-skipToNext a,
  ul.pagination .PagedList-skipToLast a,
  ul.pagination .PagedList-skipToPrevious a,
  ul.pagination .PagedList-skipToFirst a {
    margin: 0 4px;
    border: 0;
    font-size: 0.8rem; }

.select-control {
  /* sass-lint:disable-block no-vendor-prefixes */
  display: inline-block;
  overflow-y: hidden;
  height: 1.5em;
  position: relative;
  z-index: 20;
  white-space: nowrap;
  cursor: pointer;
  padding-right: 32px;
  background-image: url("/img/red_down.svg");
  background-repeat: no-repeat;
  background-position: right;
  background-size: 20px 20px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  .select-control::-ms-expand {
    display: none; }
  .select-control [role="option"] {
    display: none;
    margin: 0;
    padding-left: 0.5em;
    padding-right: 0.5em; }
  .select-control:hover {
    overflow: visible;
    background-color: rgba(0, 0, 0, 0.5); }
    .select-control:hover [role="option"] {
      display: block;
      background-color: rgba(0, 0, 0, 0.5); }
  .select-control.transparent {
    background-color: transparent;
    color: #f95d62;
    text-transform: uppercase;
    border: 0;
    border-bottom: 1px solid rgba(249, 93, 98, 0.2); }

.select-label-inline {
  color: #fff;
  position: relative;
  white-space: nowrap;
  margin-right: 0.5em;
  z-index: 1;
  transition: color 200ms; }
  [data-vis-viewportbg="invert"] .select-label-inline {
    color: #000; }

.slide-show {
  display: flex;
  padding-top: 0;
  overflow: hidden;
  scroll-behavior: smooth;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }
  .slide-show .prev,
  .slide-show .next {
    position: absolute;
    top: calc(50% - 25px);
    width: 50px;
    height: 50px;
    display: none; }
  .slide-show .prev {
    transform: rotate(90deg); }
  .slide-show .next {
    transform: rotate(-90deg); }
  .slide-show .slide {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    height: 100%; }
  .slide-show .status {
    position: absolute;
    right: calc((100% - 1024px) / 2);
    bottom: 60px;
    z-index: 21;
    margin: 0;
    padding: 0;
    white-space: nowrap; }
    .slide-show .status .item {
      list-style-type: none;
      display: inline-block; }
    .slide-show .status .control {
      border-radius: 2px;
      background-color: #fff;
      width: 30px;
      height: 4px;
      display: block;
      position: relative;
      overflow: hidden; }
    .slide-show .status .control[data-current]::before {
      display: block;
      content: "";
      width: 100%;
      height: 100%;
      background-color: #f95d62;
      transform: translateX(-100%);
      animation: 5s progress linear infinite; }
  @media only screen and (min-width: 1200px) {
    .slide-show {
      height: 100%; }
      .slide-show .prev,
      .slide-show .next {
        display: block; }
      .slide-show .prev {
        left: calc(((100% - 49.7rem) / 2) - 75px); }
      .slide-show .next {
        right: calc(((100% - 49.7rem) / 2) - 75px); }
      .slide-show .status {
        right: calc((100% - 49.7rem) / 2); } }

@media only screen and (min-width: 0) and (max-width: 1199px) and (orientation: landscape) {
  .slide-show {
    height: 100vh; } }

@media only screen and (min-width: 0) and (max-width: 1199px) and (orientation: portrait) {
  .slide-show {
    height: 50vw; } }

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

.tag-list {
  margin: 0;
  padding: 0;
  margin-bottom: 16px; }
  .tag-list .tag {
    list-style-type: none;
    display: inline-block;
    padding: 5px 15px;
    margin-right: 15px;
    margin-bottom: 10px;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 15px; }

.table {
  width: 100%;
  /* border styles */
  /*  */ }
  .table tr {
    border-top: 1px solid #1a1a1a; }
    .table tr:last-child {
      border-bottom: 1px solid #1a1a1a; }
  .table th,
  .table td {
    padding: 10px 5px; }
  .table td {
    font-size: 16px; }
  .table.white tr {
    border-top: 1px solid rgba(0, 0, 0, 0.1); }
    .table.white tr:last-child {
      border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .table.white th {
    color: #000; }
  .table.b-0 tr {
    border: 0; }
  .table.bt-0 tr:first-child {
    border-top: 0; }
  .table.bb-0 tr:last-child {
    border-bottom: 0; }
  .table.px-0 tr :first-child {
    padding-left: 0; }
  .table.px-0 tr :last-child {
    padding-right: 0; }
  .table.last-child-align-right th:last-child,
  .table.last-child-align-right td:last-child {
    text-align: right; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .table.last-child-align-right th {
      display: none; } }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .table.last-child-align-right td {
      float: left;
      padding-right: 40px;
      padding-left: 0; }
      .table.last-child-align-right td:first-child {
        float: none;
        display: block;
        padding-bottom: 0; }
      .table.last-child-align-right td:last-child {
        float: right;
        padding-right: 0; } }
  @media only screen and (min-width: 0) and (max-width: 399px) {
    .table.last-child-align-right td {
      padding-right: 20px; } }

.table-sm {
  max-width: 400px; }

.table-align-top tr {
  vertical-align: top; }

.table-align-top th {
  padding-top: 13px; }

.table-left-aligned tbody tr,
.table-left-aligned tbody td {
  float: none;
  text-align-last: left; }
  .table-left-aligned tbody tr:last-child,
  .table-left-aligned tbody td:last-child {
    float: none; }

/* ==========================================================================
   UI elements
   ========================================================================== */
.select {
  display: inline-block;
  position: relative;
  margin-right: 10px; }
  .select select {
    position: relative;
    display: inline-block;
    padding: 5px 28px 5px 5px;
    border: 0;
    border-bottom: 1px solid rgba(249, 93, 98, 0.2);
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("/img/red_down.svg");
    background-repeat: no-repeat;
    background-position: right 5px center;
    background-color: transparent;
    cursor: pointer; }
    .select select::-ms-expand {
      display: none; }

.search-box {
  position: relative; }
  .search-box .label {
    height: 0;
    position: absolute;
    overflow: hidden; }
  .search-box .input {
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    position: relative;
    line-height: 1;
    padding: 25px 70px 25px 20px;
    color: #000;
    width: 100%;
    caret-color: #f95d62;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .search-box .button {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    overflow: hidden;
    text-indent: 100px;
    white-space: nowrap;
    background-image: url("/img/search-white.svg");
    background-color: #f95d62;
    height: 50px;
    width: 50px;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50%; }

.alert-message-wrapper {
  color: #fff;
  transform: translate(-50%, 0);
  position: fixed;
  left: 50%;
  bottom: 1rem;
  z-index: 50;
  transition: opacity 400ms ease, transform 400ms ease; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .alert-message-wrapper {
      width: 100%; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .alert-message-wrapper {
      width: 80%; } }
  @media only screen and (min-width: 1200px) {
    .alert-message-wrapper {
      padding-left: 0;
      padding-right: 0; } }
  .state-control:checked + .alert-message-wrapper, .alert-message-wrapper.invisible {
    visibility: none;
    opacity: 0;
    transform: translate(-50%, 40px); }

.alert-message {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  position: relative;
  max-width: 800px;
  background-color: #f95d62;
  box-shadow: 0 10px 30px -24px #808080;
  border-radius: 2px; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .alert-message {
      padding: 1rem; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .alert-message {
      padding: 1rem; } }
  @media only screen and (min-width: 1200px) {
    .alert-message {
      padding: 1rem; } }
  .alert-message p:last-child {
    margin-bottom: 0; }
  .alert-message .icon {
    margin-right: 15px; }
    .alert-message .icon * {
      min-width: 22px; }
  .alert-message .message {
    max-height: 220px;
    overflow-y: auto; }
  .alert-message .dismiss {
    position: absolute;
    top: -11px;
    right: -11px;
    width: 40px;
    height: 40px;
    cursor: pointer; }
    .alert-message .dismiss svg {
      position: absolute;
      top: 0;
      right: 0; }

.swiper-container-horizontal .swiper-scrollbar {
  width: auto;
  left: 1rem;
  right: 1rem; }
  @media only screen and (min-width: 600px) {
    .swiper-container-horizontal .swiper-scrollbar {
      left: 2rem;
      right: 2rem; } }
  @media only screen and (min-width: 1200px) {
    .swiper-container-horizontal .swiper-scrollbar {
      left: calc(50% - 49.7rem / 2);
      right: calc(50% - 49.7rem / 2); } }

.swiper-scrollbar::before {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  top: 50%;
  height: 1px;
  background: rgba(255, 255, 255, 0.15); }

.swiper-scrollbar-drag {
  background: #f95d62; }

.swiper-pagination {
  display: flex;
  justify-content: center; }

.swiper-button-prev,
.swiper-button-next {
  transition: transform 200ms; }
  @media only screen and (min-width: 0) and (max-width: 899px) {
    .swiper-button-prev,
    .swiper-button-next {
      display: none; } }

.swiper-button-prev {
  left: calc(50% - 580px);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }
  [data-vis-viewportbg~="invert"] .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }
  .swiper-button-prev:hover, .swiper-button-prev:focus {
    transform: translateX(-10px); }

.swiper-button-next {
  right: calc(50% - 580px);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }
  [data-vis-viewportbg~="invert"] .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }
  .swiper-button-next:hover, .swiper-button-next:focus {
    transform: translateX(10px); }

.swiper-pagination-bullet {
  display: block;
  width: 28px;
  height: 4px;
  border-radius: 0;
  position: relative;
  overflow: hidden;
  opacity: 1;
  background: rgba(255, 255, 255, 0.2); }
  [data-vis-viewportbg~="invert"] .swiper-pagination-bullet {
    background: rgba(0, 0, 0, 0.2); }
  .swiper-pagination-bullet::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }

.swiper-pagination-bullet-active {
  background: rgba(255, 255, 255, 0.5); }
  [data-vis-viewportbg~="invert"] .swiper-pagination-bullet-active {
    background: rgba(0, 0, 0, 0.5); }
  .swiper-pagination-bullet-active::before {
    background-color: #f95d62;
    animation: slide-progress 8s cubic-bezier(0.3, 0, 0.3, 1) forwards; }
    .swiper-paused .swiper-pagination-bullet-active::before {
      animation-play-state: paused; }

.program-swiper {
  margin: 0 0 60px;
  padding-top: 20px;
  padding-bottom: 40px; }
  .program-swiper .swiper-slide {
    width: auto;
    height: auto;
    display: flex;
    flex-flow: column wrap;
    flex-grow: 1; }
    .program-swiper .swiper-slide + .swiper-slide {
      margin-left: 6px; }
  .program-swiper .selected::before {
    content: url(../../img/red-tick-alt.svg);
    position: absolute;
    right: -7px;
    top: -7px;
    z-index: 1; }

.tile-swiper {
  margin: 0; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .tile-swiper {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .tile-swiper {
      padding-left: 2rem;
      padding-right: 2rem; } }
  @media only screen and (min-width: 1200px) {
    .tile-swiper {
      padding-left: calc((100% - 49.7rem) / 2);
      padding-right: calc((100% - 49.7rem) / 2); } }
  .tile-swiper .swiper-slide {
    display: block;
    margin-bottom: 1rem; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .tile-swiper .swiper-slide {
        width: 80%;
        margin-right: 1rem; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .tile-swiper .swiper-slide {
        width: 70%;
        margin-right: 2rem; } }
    @media only screen and (min-width: 1200px) {
      .tile-swiper .swiper-slide {
        width: 30rem;
        margin-right: 2rem; } }
    .tile-swiper .swiper-slide:last-child {
      margin-right: 0; }
    .tile-swiper .swiper-slide a {
      text-decoration: none; }
    .tile-swiper .swiper-slide .media {
      margin-bottom: 0.5rem;
      overflow: hidden;
      position: relative;
      padding-bottom: 75%; }
      .tile-swiper .swiper-slide .media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        position: absolute; }
    .tile-swiper .swiper-slide .title {
      flex-grow: 0;
      font-weight: normal;
      color: #fff;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
      margin-bottom: 5px;
      transition: color 200ms; }
      [data-vis-viewportbg="invert"] .tile-swiper .swiper-slide .title {
        color: #000; }
    .tile-swiper .swiper-slide .sub-title {
      flex-grow: 0;
      font-weight: normal;
      color: #b3b3b3;
      font-size: inherit;
      line-height: inherit; }
      [data-vis-viewportbg="invert"] .tile-swiper .swiper-slide .sub-title {
        color: #808080; }
    .tile-swiper .swiper-slide .link {
      margin-top: 10px; }
    .tile-swiper .swiper-slide:hover, .tile-swiper .swiper-slide:focus {
      text-decoration: none; }
      .tile-swiper .swiper-slide:hover .link, .tile-swiper .swiper-slide:focus .link {
        text-decoration: underline; }

@supports (-webkit-mask-image: linear-gradient(to right, transparent, white)) {
  .faded-edges {
    /* sass-lint:disable no-vendor-prefixes */ }
    @media only screen and (min-width: 1200px) {
      .faded-edges {
        -webkit-mask-image: linear-gradient(to right, transparent 50px, #fff calc(50% - 49.7rem / 2)); } } }

.generic-swiper .swiper-slide a:hover {
  text-decoration: none; }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .generic-swiper .swiper-slide {
    padding: 1rem; } }

@media only screen and (min-width: 600px) and (max-width: 1199px) {
  .generic-swiper .swiper-slide {
    padding: 2rem; } }

@media only screen and (min-width: 1200px) {
  .page-homepage .generic-swiper {
    height: 100%; }
  .generic-swiper .swiper-slide {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
    .viewport-layout-desktop .generic-swiper .swiper-slide {
      padding-top: 5.5rem;
      padding-bottom: 1rem; }
  .generic-swiper .swiper-button-prev,
  .generic-swiper .swiper-button-next {
    top: calc(50% + (5.5rem / 2 - 3rem)); }
    .right .generic-swiper .swiper-button-prev,
    .left .generic-swiper .swiper-button-prev, .right
    .generic-swiper .swiper-button-next,
    .left
    .generic-swiper .swiper-button-next {
      top: calc(50% + (5.5rem / 2)); }
  .swiper-pagination.swiper-pagination {
    bottom: calc((100% - 5.5rem) / 2 - 12rem);
    right: calc((100% - 49.7rem) / 2);
    left: auto;
    width: auto; }
    .right .swiper-pagination.swiper-pagination {
      right: calc((100% - 49.7rem) / 2 + 29rem); }
    .left .swiper-pagination.swiper-pagination {
      right: auto;
      left: calc((100% - 49.7rem) / 2 + 29rem); }
    .right .swiper-pagination.swiper-pagination,
    .left .swiper-pagination.swiper-pagination {
      bottom: calc((100% - 5.5rem) / 2 - 18.3rem); }
    .short .swiper-pagination.swiper-pagination {
      bottom: calc((100% - 5.5rem) / 2 - 10.3rem); } }

@keyframes slide-progress {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(0); } }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .artist-list .single-image {
    margin-bottom: 40px; } }

@media only screen and (min-width: 600px) and (max-width: 1199px) {
  .artist-list .single-image {
    margin-bottom: 80px; } }

@media only screen and (min-width: 1200px) {
  .artist-list .single-image {
    margin-bottom: 100px; } }

.artist-list .title {
  display: block;
  margin-top: 10px;
  color: #fff;
  transition: color 200ms; }
  @media only screen and (min-width: 0) and (max-width: 899px) {
    .artist-list .title {
      margin-top: 0; } }
  .artist-list .title p {
    color: #fff; }
  [data-vis-viewportbg~="invert"] .artist-list .title {
    color: #000; }
    [data-vis-viewportbg~="invert"] .artist-list .title p {
      color: #000; }

.artist-list .sub-title {
  color: #b3b3b3; }

.artist-list .title,
.artist-list .sub-title {
  word-spacing: 0; }

.artist-list .artist-wrapper {
  margin-bottom: 50px; }
  @media only screen and (min-width: 1200px) {
    .artist-list .artist-wrapper {
      margin-bottom: 100px; } }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .artist-list .artist-wrapper {
      height: 100%;
      max-height: 360px;
      flex-flow: column wrap;
      overflow-x: auto;
      scroll-snap-type: x proximity; }
      .artist-list .artist-wrapper > label {
        margin-right: -10%;
        scroll-snap-align: center; } }
  .artist-list .artist-wrapper:last-child {
    margin-bottom: 0; }

.artist-list .modal-body {
  height: 100vh;
  padding: 30px 40px; }
  @media only screen and (min-width: 900px) {
    .artist-list .modal-body {
      height: 400px;
      flex-wrap: nowrap; } }
  .artist-list .modal-body .left {
    text-align: center; }
    @media only screen and (min-width: 900px) {
      .artist-list .modal-body .left {
        width: 45%;
        margin-right: 20px; } }
  .artist-list .modal-body .media {
    width: auto;
    overflow: visible; }
  .artist-list .modal-body .object-fit-wrap {
    border-radius: 50%;
    cursor: default;
    margin: 0 auto 20px;
    overflow: hidden; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .artist-list .modal-body .object-fit-wrap {
        width: 100%;
        height: 0;
        padding-bottom: 100%; } }
    @media only screen and (min-width: 900px) {
      .artist-list .modal-body .object-fit-wrap {
        margin: 0;
        width: 18rem;
        height: 18rem; } }
  .artist-list .modal-body .right {
    text-align: left; }
    @media only screen and (min-width: 600px) {
      .artist-list .modal-body .right {
        padding-right: 30px; } }
    @media only screen and (min-width: 900px) {
      .artist-list .modal-body .right {
        text-align: left;
        width: 60%;
        display: flex;
        flex-flow: column nowrap;
        justify-content: center; } }
    .artist-list .modal-body .right h2 {
      text-decoration: none; }
    .artist-list .modal-body .right .description {
      color: #000; }

.book-concert-cta .container {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: #fff;
  color: #000;
  position: relative;
  z-index: 51; }
  .book-concert-cta .container > * {
    animation: 1s show-content-1 forwards; }

.book-concert-cta .choose-production {
  color: #000;
  display: none; }

.book-concert-cta .date {
  color: #000; }

.book-concert-cta .choose-production,
.book-concert-cta .date {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }

.book-concert-cta .availability {
  color: #949494;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }

.book-concert-cta .info {
  padding-right: 10px; }

.has-bookbtn .book-concert-cta .venues {
  padding-right: 10px; }

.book-concert-cta .venues label {
  user-select: none;
  margin-right: 20px;
  padding-right: 30px;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 40px; }
  .book-concert-cta .venues label::after {
    content: "";
    height: 20px;
    width: 20px;
    position: absolute;
    right: 2px;
    background-color: #fff;
    background-image: url(/img/red_down.svg);
    background-repeat: no-repeat;
    padding-left: 25px;
    background-position: center right; }

.book-concert-cta label {
  margin-bottom: 0;
  cursor: pointer; }

#book-concert-price-show:checked ~ .book-concert-cta .container,
#book-concert-tickets-show:checked ~ .book-concert-cta .container, .book-concert-cta[data-vis-below="1"] .container {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 0 20px 0 30px; }
  #book-concert-price-show:checked ~ .book-concert-cta .container .choose-production,
  #book-concert-tickets-show:checked ~ .book-concert-cta .container .choose-production, .book-concert-cta[data-vis-below="1"] .container .choose-production {
    display: block; }
  #book-concert-price-show:checked ~ .book-concert-cta .container .date,
  #book-concert-tickets-show:checked ~ .book-concert-cta .container .date, .book-concert-cta[data-vis-below="1"] .container .date {
    color: #949494; }
  #book-concert-price-show:checked ~ .book-concert-cta .container .availability,
  #book-concert-tickets-show:checked ~ .book-concert-cta .container .availability, .book-concert-cta[data-vis-below="1"] .container .availability {
    display: none; }
  #book-concert-price-show:checked ~ .book-concert-cta .container > *,
  #book-concert-tickets-show:checked ~ .book-concert-cta .container > *, .book-concert-cta[data-vis-below="1"] .container > * {
    animation: 1s show-content-2 forwards; }

@media only screen and (min-width: 0) and (max-width: 1499px) {
  #book-concert-price-show:checked ~ .book-concert-cta .container > *,
  #book-concert-tickets-show:checked ~ .book-concert-cta .container > * {
    visibility: hidden; }
  #book-concert-price-show:checked ~ .book-concert-cta .container,
  #book-concert-tickets-show:checked ~ .book-concert-cta .container, .book-concert-cta[data-vis-below="1"] .container {
    height: 0; } }

@media only screen and (min-width: 1500px) {
  .book-concert-cta {
    height: 8.5rem;
    margin-top: -8.5rem;
    z-index: 51; }
    .book-concert-cta .venues label {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      max-width: 215px; }
    .book-concert-cta .container {
      height: 8.5rem; }
      .book-concert-cta .container .info {
        flex-grow: 1; }
      .book-concert-cta .container.has-venues:not(.has-title-or-subtitle) .venues {
        flex-grow: 1; }
    #book-concert-price-show:checked ~ .book-concert-cta .container,
    #book-concert-tickets-show:checked ~ .book-concert-cta .container, .book-concert-cta[data-vis-below="1"] .container {
      height: 5.5rem; }
      #book-concert-price-show:checked ~ .book-concert-cta .container > div:first-of-type,
      #book-concert-tickets-show:checked ~ .book-concert-cta .container > div:first-of-type, .book-concert-cta[data-vis-below="1"] .container > div:first-of-type {
        padding-left: 180px; } }

@media only screen and (min-width: 600px) and (max-width: 1499px) {
  .book-concert-cta {
    margin-top: -175px; }
    .book-concert-cta .container {
      height: 175px;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: stretch;
      padding-top: 12px;
      padding-bottom: 12px; }
      .book-concert-cta .container > * {
        margin: 0.5rem 0; }
    .book-concert-cta .book {
      text-align: right; }
    .book-concert-cta .venues label {
      display: inline-block;
      height: 22px; }
    .modal-active .book-concert-cta:not([data-vis-below="1"]) {
      margin-top: 0; }
    .book-concert-cta:not([data-vis-below="1"]) .container.has-title-or-subtitle:not(.has-venues), .book-concert-cta:not([data-vis-below="1"]) .container.has-venues:not(.has-title-or-subtitle) {
      flex-flow: row nowrap;
      align-items: center;
      justify-content: space-between; }
    .book-concert-cta[data-vis-below="1"] .container {
      padding-top: 80px;
      height: 150px;
      flex-direction: row;
      flex-flow: row nowrap;
      align-items: center;
      justify-content: initial; }
      .book-concert-cta[data-vis-below="1"] .container .venues label {
        display: flex;
        flex-flow: row nowrap;
        align-items: center; }
    .book-concert-cta[data-vis-below="1"] .info {
      flex-grow: 1; } }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .book-concert-cta {
    margin-top: -200px; }
    .book-concert-cta .container {
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      padding: 0; }
      .book-concert-cta .container > * {
        width: 100%;
        padding: 1rem 0.5rem;
        text-align: center; }
    .book-concert-cta .info {
      margin: 0;
      order: 1; }
    .book-concert-cta .date {
      text-align: center; }
    .book-concert-cta .venues {
      order: 2;
      padding-top: 0; }
      .book-concert-cta .venues label {
        margin-right: 0;
        display: inline-block;
        height: 22px; }
    .book-concert-cta .book {
      padding: 1rem 0;
      border-bottom: 1px solid rgba(179, 179, 179, 0.5);
      order: 0; }
    .book-concert-cta .cta-button {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      justify-content: center;
      margin: 0 20px; }
      .book-concert-cta .cta-button::after {
        top: 0; }
    .modal-active .book-concert-cta:not([data-vis-below="1"]) {
      margin-top: 0; }
    .book-concert-cta[data-vis-below="1"] .container {
      height: 130px;
      min-height: auto;
      padding: 65px 20px 10px;
      justify-content: space-around;
      align-items: flex-start; }
      .book-concert-cta[data-vis-below="1"] .container > * {
        margin: 0;
        padding: 0 10px;
        text-align: initial; }
      .book-concert-cta[data-vis-below="1"] .container.has-bookbtn > * {
        width: 40%; }
    .book-concert-cta[data-vis-below="1"] .info {
      order: initial; }
    .book-concert-cta[data-vis-below="1"] .date {
      display: none; }
    .book-concert-cta[data-vis-below="1"] .venues {
      max-width: 230px;
      position: relative;
      order: initial; }
      .book-concert-cta[data-vis-below="1"] .venues label {
        display: flex;
        flex-flow: row nowrap;
        align-items: center; }
        .book-concert-cta[data-vis-below="1"] .venues label::after {
          top: 0;
          right: 0; }
    .book-concert-cta[data-vis-below="1"] .has-bookbtn .book {
      position: relative;
      padding: initial;
      border-bottom: 0;
      order: initial;
      text-align: center;
      width: 60%;
      padding-right: 0; }
    .book-concert-cta[data-vis-below="1"] .cta-button {
      display: block;
      margin: 0;
      overflow: hidden;
      text-overflow: ellipsis; }
      .book-concert-cta[data-vis-below="1"] .cta-button::after {
        display: none; } }

@keyframes show-content-1 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes show-content-2 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.book-concert-price,
.book-concert-tickets {
  position: fixed;
  color: #000;
  width: 100%;
  bottom: 0;
  overflow: auto;
  /* sass-lint:disable no-misspelled-properties */
  overscroll-behavior-y: contain;
  /* sass-lint:enable no-misspelled-properties */
  transition: transform 500ms ease, opacity 600ms ease;
  top: 65px; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .book-concert-price,
    .book-concert-tickets {
      display: none;
      z-index: 51; } }
  @media only screen and (min-width: 1200px) {
    .book-concert-price,
    .book-concert-tickets {
      transform: translateY(-140%);
      opacity: 0;
      z-index: 50; } }
  @media only screen and (min-width: 600px) and (max-width: 1499px) {
    .book-concert-price,
    .book-concert-tickets {
      top: 80px; } }
  @media only screen and (min-width: 1500px) {
    .book-concert-price,
    .book-concert-tickets {
      top: 5.5rem; } }
  @media only screen and (min-width: 1200px) {
    .book-concert-price .modal-close,
    .book-concert-tickets .modal-close {
      right: 25px; } }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .book-concert-price .book-tickets .right-half,
    .book-concert-tickets .book-tickets .right-half {
      padding-top: 0; } }
  .book-concert-cta ~ .book-concert-price .book-tickets, .book-concert-cta ~
  .book-concert-tickets .book-tickets {
    top: 0; }

.book-concert-price .title {
  color: #000;
  line-height: normal;
  margin-bottom: 10px; }

.book-concert-price .location {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  width: 100%;
  box-shadow: 0 2px 0 0 #eee;
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: ease;
  transition-duration: 400ms; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .book-concert-price .location {
      padding-left: 0; } }
  @media only screen and (min-width: 1200px) {
    .book-concert-price .location {
      min-width: 420px; } }
  .book-concert-price .location[data-stagger-trans="0"] {
    transition-delay: 0.6s; }
  .book-concert-price .location[data-stagger-trans="1"] {
    transition-delay: 0.8s; }
  .book-concert-price .location[data-stagger-trans="2"] {
    transition-delay: 1s; }
  .book-concert-price .location[data-stagger-trans="3"] {
    transition-delay: 1.2s; }
  .book-concert-price .location[data-stagger-trans="4"] {
    transition-delay: 1.4s; }
  .book-concert-price .location[data-stagger-trans="5"] {
    transition-delay: 1.6s; }
  .book-concert-price .location:not(:first-child) {
    padding-top: 50px; }
  .book-concert-price .location .left {
    width: 100%; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .book-concert-price .location .left {
        width: 30%; } }
    @media only screen and (min-width: 1200px) {
      .book-concert-price .location .left {
        padding-right: 40px;
        width: 50%; } }
  .book-concert-price .location .right {
    flex-flow: row wrap;
    align-items: flex-start; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .book-concert-price .location .right {
        display: flex; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .book-concert-price .location .right {
        padding-left: 20px; } }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .book-concert-price .location .right {
        width: 70%; } }
    @media only screen and (min-width: 1200px) {
      .book-concert-price .location .right {
        width: 50%; } }
  .book-concert-price .location h3 {
    color: #000;
    text-transform: none;
    word-break: break-word;
    overflow-wrap: break-word;
    word-wrap: break-word;
    margin-top: -3px; }
    @media only screen and (min-width: 400px) {
      .book-concert-price .location h3 {
        margin-top: -6px; } }
  .book-concert-price .location .venue {
    margin-bottom: 40px;
    cursor: pointer; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .book-concert-price .location .venue {
        width: 100%; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .book-concert-price .location .venue {
        margin-right: 20px; } }
    .book-concert-price .location .venue.active {
      opacity: 1; }
  .book-concert-price .location .date {
    color: #000;
    line-height: 1.63;
    margin-bottom: 0; }
  .book-concert-price .location .pricing {
    margin-top: 15px; }

.book-concert-price .pricing-wrapper {
  color: #fff; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .book-concert-price .pricing-wrapper {
      background: #000; } }
  @media only screen and (min-width: 1200px) {
    .book-concert-price .pricing-wrapper {
      width: 100%;
      max-width: 514px; } }
  .book-concert-price .pricing-wrapper.active {
    opacity: 1;
    display: block; }
    .book-concert-price .pricing-wrapper.active .row {
      opacity: 1;
      transform: translateX(0);
      visibility: visible; }
  .book-concert-price .pricing-wrapper .row {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 2px solid #1a1a1a;
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .book-concert-price .pricing-wrapper .row {
        max-width: 675px;
        margin-left: auto;
        margin-right: auto;
        visibility: hidden; } }
    @media only screen and (min-width: 600px) {
      .book-concert-price .pricing-wrapper .row {
        display: flex;
        flex-flow: row nowrap;
        opacity: 0;
        transform: translateX(20px);
        transition-property: opacity, transform;
        transition-timing-function: ease;
        transition-duration: 400ms; }
        .book-concert-price .pricing-wrapper .row[data-stagger-trans="0"] {
          transition-delay: 0.3s; }
        .book-concert-price .pricing-wrapper .row[data-stagger-trans="1"] {
          transition-delay: 0.4s; }
        .book-concert-price .pricing-wrapper .row[data-stagger-trans="2"] {
          transition-delay: 0.5s; }
        .book-concert-price .pricing-wrapper .row[data-stagger-trans="3"] {
          transition-delay: 0.6s; }
        .book-concert-price .pricing-wrapper .row[data-stagger-trans="4"] {
          transition-delay: 0.7s; }
        .book-concert-price .pricing-wrapper .row[data-stagger-trans="5"] {
          transition-delay: 0.8s; }
        .book-concert-price .pricing-wrapper .row[data-stagger-trans="6"] {
          transition-delay: 0.9s; }
        .book-concert-price .pricing-wrapper .row .left,
        .book-concert-price .pricing-wrapper .row .right {
          width: 50%; } }
    @media only screen and (min-width: 1200px) {
      .book-concert-price .pricing-wrapper .row {
        max-width: 530px; } }
    @media only screen and (min-width: 1200px) {
      .book-concert-price .pricing-wrapper .row .title {
        margin-bottom: 0; } }
  .book-concert-price .pricing-wrapper .title {
    color: #fff;
    line-height: 1.7; }
  .book-concert-price .pricing-wrapper .seat {
    font-size: 0.8rem; }
    .book-concert-price .pricing-wrapper .seat span:first-of-type {
      text-align: left; }
    .book-concert-price .pricing-wrapper .seat span:last-of-type {
      text-align: right;
      float: right;
      width: 60px;
      margin-right: 2px; }
  .book-concert-price .pricing-wrapper .caveat {
    color: #f95d62;
    position: absolute;
    top: 0;
    right: -10px;
    z-index: 100; }

.book-concert-price .left-half {
  color: #000; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .book-concert-price .left-half {
      display: block; } }
  @media only screen and (min-width: 1200px) {
    .book-concert-price .left-half {
      flex-flow: column nowrap;
      align-items: flex-end;
      justify-content: flex-start; } }

@media only screen and (min-width: 0) and (max-width: 1199px) {
  .book-concert-price .right-half {
    padding-top: 0; } }

.book-tickets-wrapper .modal-close {
  display: none; }
  .book-concert-tickets .book-tickets-wrapper .modal-close {
    display: block; }

@media only screen and (min-width: 0) and (max-width: 1199px) {
  #book-concert-price-show:checked ~ .book-concert-price,
  #book-concert-tickets-show:checked ~ .book-concert-tickets {
    display: block; } }

@media only screen and (min-width: 1200px) {
  #book-concert-price-show:checked ~ .book-concert-price,
  #book-concert-tickets-show:checked ~ .book-concert-tickets {
    transform: translateY(0%);
    opacity: 1; } }

#book-concert-price-show:checked ~ .book-concert-price .location {
  opacity: 1; }

.location .left,
.location .venue {
  transition: opacity 200ms ease; }

@media only screen and (min-width: 1200px) {
  .location:not(.tables-active) .left,
  .location:not(.tables-active) .venue {
    opacity: 0.3; } }

.location:not(.tables-active):hover .left,
.location:not(.tables-active):hover .venue:hover {
  opacity: 1; }

.tables-active .location.active {
  opacity: 1; }
  .tables-active .location.active .left,
  .tables-active .location.active .venue:hover {
    opacity: 1; }

.tables-active .location:hover .left,
.tables-active .location .venue:hover {
  opacity: 0.8; }

.book-concert-price.tables-active .right-half .pricing-wrapper.active .row {
  opacity: 1;
  transform: translateX(0); }

.book-concert-price.tables-active .right-half .left,
.book-concert-price.tables-active .right-half .venue.active {
  opacity: 1; }

.page-booking {
  overflow: hidden; }
  .page-booking .heading {
    padding: 1rem; }
    .page-booking .heading .content-title {
      color: #000;
      margin-bottom: 0;
      display: none; }
      @media only screen and (min-width: 900px) {
        .page-booking .heading .content-title {
          padding-left: 160px;
          display: inline; } }
  .page-booking .content-header {
    height: 65px;
    display: flex;
    flex-flow: row wrap;
    align-items: center; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .page-booking .content-header {
        height: 80px; } }
    @media only screen and (min-width: 1200px) {
      .page-booking .content-header {
        height: 5.5rem; } }
  .page-booking .site-footer {
    display: none; }

.book-tickets-wrapper {
  background: #f8f8f8; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .book-tickets-wrapper {
      padding: 0; }
      .book-tickets-wrapper.book-tickets-section-active {
        background: #000; } }

.book-tickets {
  z-index: 50;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  top: 65px;
  display: flex;
  flex-flow: column nowrap; }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .book-tickets {
      top: 80px; } }
  @media only screen and (min-width: 1200px) {
    .book-tickets {
      top: 5.5rem; } }
  .book-tickets .title {
    margin-bottom: 0; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .book-tickets .right-half {
      visibility: visible; } }
  .book-tickets .right-half > * {
    opacity: 1; }
  .book-tickets .right-half .ticket-type {
    background: #b3b3b3;
    width: 100%; }
  .book-tickets .right-half .book-tickets-section {
    opacity: 0;
    position: absolute;
    visibility: hidden;
    width: 100%;
    height: 0;
    z-index: 53;
    overflow: hidden;
    transition: transform 400ms ease, opacity 200ms ease; }
    .book-tickets .right-half .book-tickets-section.active {
      opacity: 1;
      transform: translateX(0);
      position: relative;
      z-index: 54;
      visibility: visible;
      overflow: visible;
      height: auto; }
  .book-tickets .show-packages {
    margin-bottom: 20px; }
  .book-tickets .cta-bar-container {
    box-shadow: inset 0 2px 0 0 #1a1a1a; }
  .book-tickets .cta-bar {
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    overflow: hidden;
    opacity: 0;
    max-height: 0;
    visibility: hidden;
    width: 100%;
    box-shadow: inset 0 -2px 0 0 #1a1a1a; }
    @media only screen and (min-width: 900px) {
      .book-tickets .cta-bar {
        flex-wrap: nowrap; } }
    .book-tickets .cta-bar.show {
      opacity: 1;
      max-height: 2000px;
      padding: 20px 0;
      visibility: inherit; }
      @media only screen and (min-width: 1200px) {
        .book-tickets .cta-bar.show {
          transition: opacity 400ms ease, max-height 400ms ease, padding 400ms ease; } }
    .book-tickets .cta-bar .left {
      flex-grow: 1;
      margin-right: 10px; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .book-tickets .cta-bar .left {
          margin-bottom: 15px; } }
      .book-tickets .cta-bar .left h4 {
        color: #fff; }
      .book-tickets .cta-bar .left a,
      .book-tickets .cta-bar .left .ticket-pricing {
        color: #f95d62; }
      .book-tickets .cta-bar .left .ticket-pricing {
        color: #b3b3b3; }
      .book-tickets .cta-bar .left h4,
      .book-tickets .cta-bar .left a,
      .book-tickets .cta-bar .left .ticket-pricing {
        line-height: 1.6;
        margin-bottom: 4px; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .book-tickets .cta-bar .left,
      .book-tickets .cta-bar .right {
        width: 100%; } }
  .book-tickets .modals-wrapper .modal-dialog {
    align-items: center; }
  .book-tickets .modal-link {
    color: #f95d62;
    display: inline-block;
    cursor: pointer;
    margin-bottom: 0; }
  .book-tickets .pricing-info {
    margin-bottom: 30px; }
  .book-tickets #modal-student-pricing-info th {
    padding-bottom: 20px; }
  @media only screen and (min-width: 900px) {
    .book-tickets .modal .modal-content .white-bg {
      padding: 50px; }
    .book-tickets .modal .modal-content .grey-bg {
      padding: 30px 50px;
      display: block; } }
  .book-tickets .modal .modal-content .modal-body {
    max-height: 70vh; }
  .book-tickets .form-group {
    transition: opacity 200ms ease, max-height 200ms ease;
    opacity: 1;
    max-height: 1000px; }
    .book-tickets .form-group.hide {
      opacity: 0;
      max-height: 0;
      visibility: hidden; }

.book-tickets-flexi-subscription > .title {
  color: #fff;
  text-transform: none; }

.book-tickets-flexi-subscription > .sub-title {
  margin-bottom: 15px;
  display: block;
  color: #b3b3b3; }

.book-tickets-flexi-subscription .show-packages {
  margin-bottom: 30px; }

.book-tickets-flexi-subscription .accordion {
  position: relative;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  margin-bottom: 0;
  visibility: hidden; }
  .book-tickets-flexi-subscription .accordion.show {
    opacity: 1;
    max-height: 2000px;
    overflow: visible;
    margin-bottom: 10px;
    visibility: inherit; }
    .book-tickets-flexi-subscription .accordion.show.has-added::before {
      display: block; }
    @media only screen and (min-width: 1200px) {
      .book-tickets-flexi-subscription .accordion.show {
        transition: max-height 400ms ease, opacity 400ms ease, margin-bottom 400ms ease; } }
  .book-tickets-flexi-subscription .accordion.active .content {
    box-shadow: inset 0 2px 0 0 #e6e6e6; }
  .book-tickets-flexi-subscription .accordion::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    background-size: contain;
    top: -5px;
    left: -5px;
    display: none; }
  .book-tickets-flexi-subscription .accordion .content {
    padding: 0;
    transition: padding 200ms ease; }

.book-tickets-flexi-subscription .performance {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  padding: 20px;
  box-shadow: inset 0 -2px 0 0 #e6e6e6;
  cursor: pointer; }
  .book-tickets-flexi-subscription .performance:last-child {
    box-shadow: none; }
  .book-tickets-flexi-subscription .performance .text-added {
    color: #000;
    display: none; }
  .book-tickets-flexi-subscription .performance .details {
    flex-grow: 1; }
  .book-tickets-flexi-subscription .performance .date {
    color: #000;
    margin-bottom: 0; }
  .book-tickets-flexi-subscription .performance .venue {
    color: #b3b3b3; }
  .book-tickets-flexi-subscription .performance .add {
    color: #f95d62;
    display: flex;
    flex-flow: row nowrap;
    align-items: center; }
  .book-tickets-flexi-subscription .performance span {
    display: block;
    margin-top: 1px; }
  .book-tickets-flexi-subscription .performance i {
    display: block;
    width: 20px;
    height: 20px;
    margin-left: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain; }
  .book-tickets-flexi-subscription .performance.added .text-add {
    display: none; }
  .book-tickets-flexi-subscription .performance.added .text-added {
    display: inline; }

.book-tickets-full-subscription .content-cta {
  margin-bottom: 50px;
  padding: 20px; }

.book-tickets-full-subscription .show-packages {
  margin-bottom: 20px; }

.book-tickets-performances-bar.active .performances {
  max-height: 40vh; }

.book-tickets-performances-bar.active .select-performance {
  padding: 20px 0;
  box-shadow: 0 2px 0 0 #eee; }
  @media only screen and (min-width: 0) and (max-width: 899px) {
    .book-tickets-performances-bar.active .select-performance {
      padding-top: 10px;
      padding-bottom: 20px; } }
  .book-tickets-performances-bar.active .select-performance h3::after {
    transform: rotate(0deg); }

.book-tickets-performances-bar {
  background-color: #fff;
  color: #000;
  width: 100%;
  max-height: 0;
  visibility: hidden;
  border-top: 1px solid #eee;
  overflow: hidden; }
  .book-tickets-performances-bar.show {
    max-height: 2000px;
    padding-top: 10px;
    padding-bottom: 10px;
    visibility: visible; }
  .book-tickets-performances-bar .select-performance,
  .book-tickets-performances-bar .performances {
    display: flex;
    align-items: center; }
  .book-tickets-performances-bar .select-performance {
    flex-flow: row nowrap; }
    .book-tickets-performances-bar .select-performance h3 {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      margin-bottom: 0;
      position: relative;
      cursor: pointer; }
      .book-tickets-performances-bar .select-performance h3::after {
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        width: 20px;
        height: 20px;
        margin-left: 10px;
        transform: rotate(180deg); }
    .book-tickets-performances-bar .select-performance .description {
      display: block; }
    .book-tickets-performances-bar .select-performance .left label {
      margin-bottom: 0; }
    @media only screen and (min-width: 0) and (max-width: 899px) {
      .book-tickets-performances-bar .select-performance .right {
        position: absolute;
        width: 100%;
        background: #fff;
        padding: 16px 0;
        bottom: 0;
        justify-content: space-between;
        box-shadow: 0 -2px 0 0 #f8f8f8, 2px -1px 5px 0 rgba(0, 0, 0, 0.06); } }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .book-tickets-performances-bar .select-performance .right {
        margin-left: -1rem;
        padding-left: 1rem; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .book-tickets-performances-bar .select-performance .right {
        margin-left: -2rem;
        padding-left: 2rem; } }
  .book-tickets-performances-bar .performances {
    flex-flow: row wrap;
    width: 100%;
    max-height: 0;
    overflow-y: auto; }
    @media only screen and (min-width: 0) and (max-width: 899px) {
      .book-tickets-performances-bar .performances {
        width: calc(100% + 1rem);
        margin-bottom: 80px;
        padding-right: 1rem; } }
  .book-tickets-performances-bar .performance {
    display: flex;
    width: 100%;
    padding: 20px 10px 20px 0;
    box-shadow: inset 0 2px 0 0 #eee; }
  .book-tickets-performances-bar .left {
    flex-grow: 1;
    display: flex;
    flex-flow: column nowrap; }
    @media only screen and (min-width: 1200px) {
      .book-tickets-performances-bar .left {
        flex-flow: row nowrap;
        align-items: center;
        margin-right: 40px; } }
    .book-tickets-performances-bar .left .description {
      color: #000; }
    .book-tickets-performances-bar .left .title {
      color: #000;
      text-transform: none; }
      @media only screen and (min-width: 1200px) {
        .book-tickets-performances-bar .left .title {
          width: 30%;
          margin-right: 10px; } }
    .book-tickets-performances-bar .left .date {
      color: #000;
      display: block; }
      @media only screen and (min-width: 1200px) {
        .book-tickets-performances-bar .left .date {
          width: 30%;
          margin-right: 10px; } }
    .book-tickets-performances-bar .left .sub-title {
      display: block;
      color: #b3b3b3; }
      @media only screen and (min-width: 1200px) {
        .book-tickets-performances-bar .left .sub-title {
          width: 40%;
          margin-right: 10px; } }
    .book-tickets-performances-bar .left .title,
    .book-tickets-performances-bar .left .date {
      margin-bottom: 2px; }
  .book-tickets-performances-bar .right {
    color: #000;
    letter-spacing: 0.8px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center; }
    .book-tickets-performances-bar .right .seats,
    .book-tickets-performances-bar .right .seat-number {
      display: flex;
      flex-flow: row nowrap;
      align-items: center; }
    @media only screen and (min-width: 600px) {
      .book-tickets-performances-bar .right .seat-number {
        margin-left: 10px; } }
    .book-tickets-performances-bar .right .minus,
    .book-tickets-performances-bar .right .plus {
      width: 20px;
      height: 20px;
      display: inline-block;
      background-repeat: no-repeat;
      background-size: contain;
      margin: 0 10px;
      cursor: pointer;
      opacity: 0.8;
      transition: opacity 200ms ease; }
      .book-tickets-performances-bar .right .minus:hover,
      .book-tickets-performances-bar .right .plus:hover {
        opacity: 1; }
      .book-tickets-performances-bar .right .minus.disabled,
      .book-tickets-performances-bar .right .plus.disabled {
        cursor: default;
        pointer-events: none; }
    .book-tickets-performances-bar .right .cta {
      margin-left: 20px; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .book-tickets-performances-bar .right .cta {
          margin-right: 1rem; } }
      @media only screen and (min-width: 600px) and (max-width: 899px) {
        .book-tickets-performances-bar .right .cta {
          margin-right: 2rem; } }
      @media only screen and (min-width: 0) and (max-width: 399px) {
        .book-tickets-performances-bar .right .cta a {
          padding-left: 10px;
          padding-right: 10px; } }
      .book-tickets-performances-bar .right .cta .cta-button.disabled {
        border-color: #b3b3b3;
        background-color: #fff;
        color: #000; }
        @media only screen and (min-width: 0) and (max-width: 399px) {
          .book-tickets-performances-bar .right .cta .cta-button.disabled::after {
            display: none; } }
      .book-tickets-performances-bar .right .cta .tooltip {
        display: none; }
        .book-tickets-performances-bar .right .cta .tooltip.show {
          display: inline-block; }

.book-tickets-single-performance-tickets .find-seats {
  overflow: hidden;
  visibility: visible;
  height: auto; }
  .book-tickets-single-performance-tickets .find-seats.hide {
    visibility: hidden;
    height: 0; }

.book-tickets-single-performance-tickets .cta-bar .date {
  margin-bottom: 4px; }

.ticket-wrapper.ticket-bar {
  background-color: #f8f8f8;
  margin-bottom: 36px;
  margin-left: -20px;
  width: calc(100% + 40px); }
  .ticket-wrapper.ticket-bar .title {
    margin-bottom: 0;
    color: #000; }
  @media only screen and (min-width: 600px) {
    .ticket-wrapper.ticket-bar {
      padding: 30px 20px; }
      .ticket-wrapper.ticket-bar .ticket-content {
        padding-left: 52px; } }
  @media only screen and (min-width: 1200px) {
    .ticket-wrapper.ticket-bar {
      display: none; } }

.ticket-wrapper {
  padding: 20px; }
  .ticket-wrapper .ticket-content {
    padding-left: 52px;
    position: relative; }
  .ticket-wrapper i {
    margin-bottom: 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 30px;
    height: 30px;
    display: block;
    font-style: normal;
    position: absolute;
    top: 0;
    left: 0; }
  .ticket-wrapper .title {
    color: #000;
    transition: color 200ms; }
  .ticket-wrapper .description {
    color: #000;
    margin-bottom: 0; }
  .ticket-wrapper .link {
    color: #f95d62;
    font-weight: normal;
    text-transform: none;
    margin-bottom: 0;
    text-decoration: underline;
    cursor: pointer; }
    .ticket-wrapper .link:hover {
      text-decoration: none; }

.book-tickets-tickets-type > .title {
  color: #949494;
  margin-bottom: 20px; }
  @media only screen and (min-width: 1200px) {
    .book-tickets-tickets-type > .title {
      margin-bottom: 40px; } }

.book-tickets-tickets-type .ticket-type {
  display: block;
  margin-bottom: 0;
  box-shadow: inset 0 -2px 0 0 #eee;
  /* @include screen-width($lg) {
			min-width: 360px;
		} */ }
  .book-tickets-tickets-type .ticket-type.active {
    background-color: #fff;
    box-shadow: 0 10px 20px -20px #b3b3b3;
    cursor: default; }
    .book-tickets-tickets-type .ticket-type.active .ticket-wrapper {
      border-left-color: #f95d62; }
    .book-tickets-tickets-type .ticket-type.active .ticket-content .title {
      color: #000;
      text-decoration: none; }
  .book-tickets-tickets-type .ticket-type .ticket-wrapper {
    display: block;
    position: relative;
    padding: 26px 40px 26px 22px;
    border-left: 2px solid transparent;
    cursor: pointer;
    transition: box-shadow 200ms ease, border-left-color 200ms ease; }
    @media only screen and (min-width: 1200px) {
      .book-tickets-tickets-type .ticket-type .ticket-wrapper {
        padding: 36px 28px; } }
    .book-tickets-tickets-type .ticket-type .ticket-wrapper::after {
      content: "";
      position: absolute;
      background-color: #fedfe0;
      border-radius: 50%;
      background-repeat: no-repeat;
      background-size: contain;
      width: 20px;
      height: 20px;
      top: 50%;
      right: 12px;
      transform: translateY(-50%); }
      @media only screen and (min-width: 1200px) {
        .book-tickets-tickets-type .ticket-type .ticket-wrapper::after {
          display: none; } }
    .book-tickets-tickets-type .ticket-type .ticket-wrapper:hover .title {
      text-decoration: underline; }
  .book-tickets-tickets-type .ticket-type .ticket-content > .title {
    color: #f95d62; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .book-tickets-tickets-type .ticket-type {
      background-color: #fff;
      box-shadow: 0 10px 20px -20px #b3b3b3;
      cursor: default;
      margin-bottom: 12px; }
      .book-tickets-tickets-type .ticket-type .ticket-wrapper {
        border-left-color: #f95d62; }
      .book-tickets-tickets-type .ticket-type .ticket-content .title {
        color: #000;
        text-decoration: none; } }

.bordered-list {
  padding: 0;
  list-style: none; }

.bordered-list-item {
  border-bottom: 1px solid #1a1a1a;
  margin: 0;
  padding: 16px 0;
  display: flex;
  justify-content: space-between; }
  .bordered-list-item:first-child {
    border-top: 1px solid #1a1a1a; }

.cart-footer-bar {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  background-color: #1a1a1a;
  margin-top: 70px;
  padding-top: 20px;
  padding-bottom: 20px; }
  @media only screen and (min-width: 600px) {
    .cart-footer-bar {
      margin-top: 100px;
      flex-flow: row nowrap;
      justify-content: space-between; } }
  @media only screen and (min-width: 900px) {
    .cart-footer-bar {
      align-items: flex-start;
      padding-top: 40px;
      padding-bottom: 50px; } }
  @media only screen and (min-width: 1200px) {
    .cart-footer-bar {
      margin-top: 150px;
      padding-top: 80px;
      padding-bottom: 100px; } }
  .cart-footer-bar .tooltip {
    top: -2px; }
  .cart-footer-bar .prices {
    width: 100%; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .cart-footer-bar .prices {
        width: 50%;
        padding-right: 15px; } }
    @media only screen and (min-width: 1200px) {
      .cart-footer-bar .prices {
        padding-left: calc((1 / 12) * 100%);
        padding-right: 20px;
        width: calc((5 / 12) * 100%); } }
  .cart-footer-bar .table tr td {
    padding: 5px 0; }
    .cart-footer-bar .table tr td strong {
      color: #fff;
      font-weight: 500; }
    .cart-footer-bar .table tr td:first-child {
      color: #b3b3b3; }
      @media only screen and (min-width: 600px) {
        .cart-footer-bar .table tr td:first-child {
          font-size: 18px; } }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .cart-footer-bar .cta {
      margin-top: 15px; }
      .cart-footer-bar .cta .cta-button {
        width: 100%; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .cart-footer-bar .cta {
      width: 50%; }
      .cart-footer-bar .cta .cta-button {
        float: right; } }
  @media only screen and (min-width: 1200px) {
    .cart-footer-bar .cta {
      padding-right: calc((1 / 12) * 100%); } }

.seating-options #prefer-seats {
  margin-top: 30px;
  opacity: 1;
  transition: opacity 200ms ease; }
  @media only screen and (min-width: 600px) {
    .seating-options #prefer-seats {
      margin-top: 15px; } }
  .seating-options #prefer-seats.invisible {
    opacity: 0; }

.cart-item {
  padding-top: 55px; }
  @media only screen and (min-width: 600px) {
    .cart-item {
      padding-top: 80px; } }
  @media only screen and (min-width: 1200px) {
    .cart-item {
      padding-top: 150px; } }
  .section-spacing .cart-item,
  .cart-item .cart-item {
    padding-top: 0; }
  .cart-item > h2 {
    margin-bottom: 20px; }
    @media only screen and (min-width: 900px) {
      .cart-item > h2 {
        margin-bottom: 30px; } }
  .cart-item .table {
    margin: 20px 0; }
  @media only screen and (min-width: 600px) {
    .cart-item td:nth-child(1), .cart-item td:nth-child(2) {
      width: 150px; } }
  @media only screen and (min-width: 900px) {
    .cart-item td:nth-child(1), .cart-item td:nth-child(2) {
      width: 16.6666666667%; } }
  .cart-item .item-hero {
    display: flex;
    flex-flow: row wrap;
    padding: 20px 0;
    position: relative; }
    @media only screen and (min-width: 600px) {
      .cart-item .item-hero {
        flex-flow: nowrap; } }
    .cart-item .item-hero .media {
      width: 100%;
      margin-bottom: 20px;
      overflow: hidden; }
      @media only screen and (min-width: 600px) {
        .cart-item .item-hero .media {
          width: 33.3333333333%;
          margin-right: 30px; } }
      .cart-item .item-hero .media img {
        width: 100%;
        height: auto; }
    .cart-item .item-hero .text {
      display: flex;
      flex-flow: column nowrap;
      justify-content: flex-start; }
      @media only screen and (min-width: 600px) {
        .cart-item .item-hero .text {
          width: 66.6666666667%; } }
  .cart-item .title {
    display: block;
    color: #fff; }
  .cart-item .sub-title {
    text-transform: none;
    color: #b3b3b3;
    margin-bottom: 0; }
    .cart-item .sub-title span {
      display: block; }
    .cart-item .sub-title a {
      font-size: 16px;
      margin-top: 5px;
      display: block; }
    .cart-item .sub-title + .link-list {
      margin-top: 20px; }
    .cart-item .sub-title label {
      color: #f95d62;
      text-decoration: underline;
      cursor: pointer; }
      .cart-item .sub-title label:hover {
        text-decoration: none; }
  .cart-item .link-list a {
    margin-bottom: 10px;
    margin-right: 30px;
    white-space: nowrap; }
    @media only screen and (min-width: 0) and (max-width: 399px) {
      .cart-item .link-list a {
        margin-bottom: 0; } }
  .cart-item .production-details {
    padding: 0; }
    .cart-item .production-details .item-hero {
      display: block;
      width: 100%; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .cart-item .production-details .item-hero {
          padding-bottom: 0; } }
    .cart-item .production-details .media {
      display: none; }
    .cart-item .production-details .text {
      width: auto;
      position: relative; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .cart-item .production-details .text {
          margin-bottom: 0; } }
      .cart-item .production-details .text .title {
        text-transform: uppercase;
        color: #fff;
        margin-bottom: 10px; }
      .cart-item .production-details .text .sub-title {
        color: #b3b3b3;
        margin-bottom: 0; }
      @media only screen and (min-width: 900px) {
        .cart-item .production-details .text .link-list {
          position: absolute;
          right: 0;
          bottom: 0; } }
  .cart-item .production-details {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-end;
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .cart-item .production-details {
        align-items: initial; } }
    .cart-item .production-details ~ .production-details {
      margin-top: 40px; }
    .cart-item .production-details .link-list {
      width: 100%; }
      @media only screen and (min-width: 900px) {
        .cart-item .production-details .link-list {
          width: auto;
          text-align: right; }
          .cart-item .production-details .link-list a {
            margin-right: 0;
            margin-left: 30px; } }
  .cart-item .special-requests {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    padding: 20px 0; }
    .cart-item .special-requests .label {
      display: inline-block;
      margin-right: 20px;
      margin-bottom: 0; }
  .cart-item .content-cta {
    margin: 20px 0; }
  .cart-item .cta-button {
    margin: 30px 0; }

.validation-summary-valid {
  display: none; }

.validation-summary-errors {
  margin: 20px 0; }

.checkout-items {
  margin-bottom: 60px; }
  .checkout-items .section-title {
    color: #fff;
    margin-bottom: 10px; }
  .checkout-items .package-title {
    margin-bottom: 40px; }
    .checkout-items .package-title .section-title {
      text-transform: none;
      color: #b3b3b3;
      margin-bottom: 0; }
  .checkout-items td:nth-child(1), .checkout-items td:nth-child(2), .checkout-items td:nth-child(3) {
    width: 17.5%; }
  .checkout-items td:nth-child(4) {
    width: 30%; }
  .checkout-items td:nth-child(5) {
    width: 17.5%; }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .checkout-items td:nth-child(2) {
    width: 40%;
    padding-right: 10px; }
  .checkout-items td:nth-child(3) {
    width: 45%; }
  .checkout-items td:nth-child(4) {
    display: none; }
  .checkout-items td:nth-child(5) {
    width: 15%; } }

.checkout-footer {
  display: flex;
  background-color: #1a1a1a;
  margin-top: 150px;
  padding-top: 40px;
  padding-bottom: 100px; }
  .checkout-footer .lowlight {
    color: #b3b3b3; }
  .checkout-footer .tooltip {
    top: -2px; }
  .checkout-footer .table {
    margin: 0 0 30px; }
    .checkout-footer .table td {
      padding: 5px 0; }
      .checkout-footer .table td strong {
        color: #fff;
        font-weight: 500; }
      @media only screen and (min-width: 600px) {
        .checkout-footer .table td:first-child {
          font-size: 18px; } }
  .checkout-footer .highlight {
    color: #fff;
    font-family: ag-book-pro, sans-serif; }
  .checkout-footer .cta-title {
    font-weight: normal; }
  .checkout-footer .accordion {
    margin: 12px 0 0; }
    .checkout-footer .accordion.indented {
      margin-left: 46px;
      width: auto; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .checkout-footer .accordion.indented label {
          margin-bottom: 10px; } }
    .checkout-footer .accordion p {
      font-size: 14px;
      color: #fff; }
  .checkout-footer a {
    color: inherit;
    text-decoration: underline; }
    .checkout-footer a:hover, .checkout-footer a:focus {
      text-decoration: none; }

.btns-container {
  width: 100%; }
  .btns-container .cta-button {
    text-align: center;
    display: inline-block; }

.or-divider {
  display: block;
  position: relative;
  margin: 20px 0;
  font-size: 15px;
  line-height: 1.73;
  text-align: center; }
  .or-divider::before, .or-divider::after {
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 50%;
    background: rgba(255, 255, 255, 0.2); }
  .or-divider::before {
    left: 0;
    right: calc(50% + 25px); }
  .or-divider::after {
    right: 0;
    left: calc(50% + 25px); }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .checkout-footer {
    flex-flow: column nowrap; }
    .checkout-footer .secure-cta {
      order: 1;
      padding-top: 40px; }
    .checkout-footer .cta-button {
      margin: 10px auto; }
      .checkout-footer .cta-button:first-child {
        margin-top: 30px; }
      .checkout-footer .cta-button:last-child {
        margin-bottom: 30px; }
    .checkout-footer .secure-heading {
      display: flex;
      align-items: flex-end;
      margin-bottom: 12px; }
    .checkout-footer .cta-title {
      margin: 0 0 1px 15px;
      line-height: 1; }
    .checkout-footer p {
      line-height: 1.625; }
      .checkout-footer p a {
        display: inline-block; }
    .checkout-footer .checkout-summary {
      width: 100%;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2); } }

@media only screen and (min-width: 600px) {
  .checkout-footer .cart-footer-col {
    width: 50%; }
  .checkout-footer .secure-cta {
    padding-right: 30px; }
    .checkout-footer .secure-cta .secure-heading .cta-title {
      margin: 20px 0; }
  .checkout-footer .checkout-summary {
    padding-left: 30px;
    border-left: 1px solid rgba(255, 255, 255, 0.2); }
  .checkout-footer p {
    font-size: 16px; }
  .checkout-footer .custom-radio-checkbox {
    margin: 0; }
    .checkout-footer .custom-radio-checkbox + .custom-radio-checkbox {
      margin-top: 15px; } }

@media only screen and (min-width: 1200px) {
  .checkout-footer .secure-cta {
    padding-right: 90px; }
  .checkout-footer .checkout-summary {
    padding-left: 115px; } }

.community-event-list {
  position: relative; }
  [data-vis-viewportbg="invert"] .community-event-list {
    color: #000; }
  .community-event-list .row {
    display: flex;
    flex-flow: row nowrap;
    align-items: center; }
    .community-event-list .row:nth-child(2n + 1) {
      background-color: rgba(255, 255, 255, 0.05); }
      [data-vis-viewportbg="invert"] .community-event-list .row:nth-child(2n + 1) {
        background-color: rgba(0, 0, 0, 0.05); }
    .community-event-list .row > * {
      padding: 1rem; }
  .community-event-list .date {
    text-transform: uppercase;
    text-align: center;
    color: #b3b3b3;
    flex-basis: 4em;
    font-size: 0.8rem; }
    [data-vis-viewportbg="invert"] .community-event-list .date {
      color: #949494; }
  .community-event-list .event {
    flex-grow: 1; }
    .community-event-list .event .type {
      width: 60%;
      display: inline-block;
      color: #fff; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .community-event-list .event .type {
          display: block;
          width: 100%; } }
      [data-vis-viewportbg="invert"] .community-event-list .event .type {
        color: #000; }
    .community-event-list .event .location {
      display: inline-block;
      width: 35%;
      color: #b3b3b3; }
      [data-vis-viewportbg="invert"] .community-event-list .event .location {
        color: #949494; }
      @media only screen and (min-width: 600px) {
        .community-event-list .event .location {
          white-space: nowrap; } }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .community-event-list .event .location {
          display: block;
          width: 100%; } }

.content-header {
  position: relative;
  overflow: hidden;
  background-color: #fff; }
  .content-header .heading {
    position: relative;
    color: #000; }
  .content-header .description {
    color: #000; }
    .content-header .description p {
      color: #000; }
    @media only screen and (min-width: 1200px) {
      .content-header .description {
        max-width: 60%; } }
  .content-header .content-title {
    color: #000; }
  .content-header[data-vis-below="1"]::after {
    transition: z-index 0s linear 0s, opacity 0.5s;
    z-index: 29;
    opacity: 0.8; }
  .content-header::after {
    content: "";
    display: block;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.95);
    top: 0;
    width: 100%;
    height: 65px;
    z-index: -100;
    opacity: 0;
    transition: z-index 0s linear 0.5s, opacity 0.5s; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .content-header::after {
        height: 80px; } }
    @media only screen and (min-width: 1200px) {
      .content-header::after {
        height: 5.5rem; } }

.content-header-media + .content-header {
  height: 100vh;
  background-color: transparent; }
  .content-header-media + .content-header .heading {
    position: absolute;
    bottom: 0;
    color: #fff;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    transition: opacity 200ms ease-out; }
  .content-header-media + .content-header[data-vis-bottom="1"][data-has="0"] .heading {
    position: fixed; }
  .content-header-media + .content-header[data-vis-bottom="0"] .heading {
    position: absolute; }
  .content-header-media + .content-header[data-has="0"] .heading, .content-header-media + .content-header[data-has="1"] .heading {
    visibility: visible;
    opacity: 1; }
  @media only screen and (min-width: 1200px) {
    .content-header-media + .content-header[data-has="1"] .heading {
      bottom: 8.5rem; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .content-header-media + .content-header[data-has="1"] .heading {
      bottom: 175px; } }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .content-header-media + .content-header[data-has="1"] .heading {
      bottom: 200px; } }
  .content-header-media + .content-header .description {
    color: #fff; }
    .content-header-media + .content-header .description p {
      color: #fff; }
  .content-header-media + .content-header .content-title {
    color: #fff; }

.content-header-media {
  width: 100%;
  height: 100vh;
  margin-bottom: -115vh; }
  .content-header-media .media {
    position: fixed;
    z-index: -20;
    width: 100%;
    height: 100vh;
    opacity: 0.5;
    transition: opacity 200ms, filter 1s; }
    .content-header-media .media img {
      display: block;
      width: 100%;
      height: 100%;
      position: absolute; }
  .content-header-media[data-vis-ratio="0"] .media {
    opacity: calc((0.05 + (var(--vis-ratio) * 0.45)) * var(--vis-coverage)); }
  .content-header-media[data-vis-ratio="1"] .media {
    opacity: calc((0.05 + (var(--vis-ratio) * 0.45)) * var(--vis-coverage));
    filter: grayscale(1); }

.content-header-bar {
  position: relative;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: #fff;
  color: #000;
  display: flex;
  flex-flow: row;
  align-items: center;
  z-index: 99; }
  .content-header-bar.stuck {
    top: auto; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .content-header-bar {
      top: 65px; } }
  @media only screen and (min-width: 600px) and (max-width: 1499px) {
    .content-header-bar {
      top: 80px; } }
  @media only screen and (min-width: 1500px) {
    .content-header-bar {
      top: 0;
      height: 5.5rem; } }
  .content-header-bar.non-stick {
    position: static; }
  .content-header-bar.invert {
    background-color: #000;
    color: #fff;
    border-bottom: 1px solid #1a1a1a; }
    @media only screen and (min-width: 1500px) {
      .content-header-bar.invert {
        border-top: 1px solid #1a1a1a; } }
  .content-header-bar.flex-wrap {
    flex-wrap: wrap; }
  .content-header-bar .title {
    white-space: nowrap;
    margin-right: 1rem; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .content-header-bar .title {
        display: none; } }
    @media only screen and (min-width: 600px) {
      .content-header-bar .title {
        margin-bottom: -2px; } }
  .content-header-bar .select-wrapper {
    flex-grow: 1;
    display: flex;
    flex-flow: row nowrap; }
  .content-header-bar .select {
    width: 100%;
    margin-bottom: 7px;
    margin-left: 0.5rem;
    margin-right: 0.5rem; }
    .content-header-bar .select:first-child {
      margin-left: 0; }
    .content-header-bar .select:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .content-header-bar .select.date {
        display: none; } }
    @media only screen and (min-width: 600px) {
      .content-header-bar .select {
        margin-bottom: 0;
        max-width: 200px; } }
    .content-header-bar .select select {
      display: inline-block;
      width: 100%;
      line-height: 20px;
      border: 0;
      border-bottom: 1px solid rgba(249, 93, 98, 0.2);
      background-color: #fff;
      overflow: hidden;
      padding-right: 28px; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .content-header-bar .select select {
          display: none; }
          .content-header-bar .select select:nth-child(1), .content-header-bar .select select:nth-child(2) {
            display: inline-block; } }
      @media only screen and (min-width: 600px) {
        .content-header-bar .select select {
          margin-bottom: 0; } }
      @media only screen and (min-width: 900px) {
        .content-header-bar .select select {
          max-width: initial; } }
  .content-header-bar .navigation {
    white-space: nowrap;
    display: flex;
    flex-flow: row wrap; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .content-header-bar .navigation {
        position: relative; } }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .content-header-bar .navigation .no-border {
        position: absolute;
        top: -60px; } }
    @media only screen and (min-width: 0) and (max-width: 399px) {
      .content-header-bar .navigation .no-border {
        top: -50px; } }
    .content-header-bar .navigation a {
      border: 2px solid #eee;
      border-radius: 40px;
      color: #f95d62;
      background-color: #fff;
      padding: 15px 25px;
      margin: 10px 20px 10px 0;
      white-space: nowrap;
      display: inline-block;
      transition: background-color 0.2s ease; }
      @media only screen and (min-width: 0) and (max-width: 399px) {
        .content-header-bar .navigation a {
          font-size: 12px;
          margin-right: 3px;
          padding: 10px 3px; } }
      @media only screen and (min-width: 400px) and (max-width: 599px) {
        .content-header-bar .navigation a {
          margin-right: 10px;
          font-size: 13px;
          padding: 15px 10px; } }
      .content-header-bar .navigation a.current {
        background-color: #949494;
        color: #fff; }
      .content-header-bar .navigation a.no-border {
        border-color: transparent; }
  .content-header-bar .timer {
    opacity: 1;
    transition: opacity 200ms ease;
    color: #fff;
    padding: 15px 0 15px 45px;
    background-repeat: no-repeat;
    background-position: left center; }
    .content-header-bar .timer.invisible {
      visibility: hidden;
      opacity: 0; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .content-header-bar .timer {
        padding-top: 5px;
        padding-bottom: 5px;
        font-size: 14px; } }

@media only screen and (min-width: 0) and (max-width: 1499px) {
  .content-header-bar {
    height: auto; }
    .content-header-bar.under-nav::before {
      display: block; }
  .content-header-bar + .topnav-underlay {
    content: "";
    display: none;
    background-color: #fff;
    width: 100%;
    bottom: 100%;
    position: absolute;
    left: 0;
    z-index: 30; }
  .content-header-bar[data-vis-top="1"] + .topnav-underlay {
    position: fixed;
    top: 0;
    display: block; } }

@media only screen and (min-width: 600px) and (max-width: 1499px) {
  .content-header-bar {
    padding-top: 1rem;
    padding-bottom: 1rem; }
  .content-header-bar + .topnav-underlay {
    height: 80px; } }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .content-header-bar {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
  .content-header-bar + .topnav-underlay {
    height: 65px; } }

@media only screen and (min-width: 1200px) and (max-width: 1299px) {
  .content-header-bar[data-vis-top="1"] {
    padding-left: 165px; }
    .content-header-bar[data-vis-top="1"] .select {
      max-width: 150px; } }

.content-intro-description .short-description {
  color: #fff; }
  .content-intro-description .short-description p {
    color: #fff; }
  [data-vis-viewportbg~="invert"] .content-intro-description .short-description {
    color: #000; }
    [data-vis-viewportbg~="invert"] .content-intro-description .short-description p {
      color: #000; }
  @media only screen and (min-width: 0) and (max-width: 1799px) {
    .content-intro-description .short-description:not(:last-of-type) {
      margin-bottom: 20px; } }
  @media only screen and (min-width: 1800px) {
    .content-intro-description .short-description:not(:last-of-type) {
      margin-bottom: 50px; } }

.content-intro-description .read-more,
.content-intro-description .read-less {
  user-select: none;
  padding-right: 30px;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: right 5px center; }
  .content-intro-description .read-more.nolong,
  .content-intro-description .read-less.nolong {
    display: none; }

.content-intro-description .read-more {
  background-image: url(/img/red_down.svg); }

.content-intro-description .read-less {
  background-image: url(/img/red_up.svg); }

@media only screen and (min-width: 0) and (max-width: 899px) {
  .content-intro-description .state-control:not(:checked) ~ .long-description {
    display: none; }
  .content-intro-description .state-control:not(:checked) ~ .read-less {
    display: none; }
  .content-intro-description .state-control:checked ~ .read-more {
    display: none; } }

@media only screen and (min-width: 900px) {
  .content-intro-description .read-more,
  .content-intro-description .read-less {
    display: none; } }

.long-description {
  color: #b3b3b3; }
  .long-description p {
    color: #b3b3b3; }
  [data-vis-viewportbg~="invert"] .long-description {
    color: #1a1a1a; }
    [data-vis-viewportbg~="invert"] .long-description p {
      color: #1a1a1a; }
  @media only screen and (min-width: 1200px) {
    .long-description {
      max-width: 75%; } }

.page-toc {
  white-space: nowrap;
  height: 0; }
  .page-toc .max-width {
    position: fixed;
    background: #000;
    background-color: rgba(0, 0, 0, 0.95);
    border-bottom: 1px solid #000;
    transform: translateY(-20px);
    z-index: -100;
    transition: z-index 0s linear 1s, opacity 0.5s, transform 0.5s;
    opacity: 0;
    width: 100%;
    left: 0; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .page-toc .max-width {
        top: 65px; }
        .book-concert-cta ~ .page-toc .max-width {
          top: 130px; } }
    @media only screen and (min-width: 600px) and (max-width: 1499px) {
      .page-toc .max-width {
        top: 80px; }
        .book-concert-cta ~ .page-toc .max-width {
          top: 150px; } }
    @media only screen and (min-width: 1500px) {
      .page-toc .max-width {
        top: 5.5rem; } }
  .page-toc .container {
    overflow: hidden;
    display: flex;
    flex-flow: row nowrap;
    scroll-behavior: smooth;
    position: relative; }
    @media only screen and (min-width: 600px) {
      .page-toc .container::before, .page-toc .container::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        z-index: 3;
        width: 10px; }
      .page-toc .container::before {
        left: 0;
        background: linear-gradient(to right, #000, rgba(0, 0, 0, 0)); }
      .page-toc .container::after {
        right: 0;
        background: linear-gradient(to left, #000, rgba(0, 0, 0, 0)); } }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .page-toc .container {
        margin-left: 0;
        margin-right: 0; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .page-toc .container {
        margin-left: 2rem;
        margin-right: 2rem; } }
    @media only screen and (min-width: 1200px) {
      .page-toc .container {
        margin-left: calc((100% - 49.7rem) / 2);
        margin-right: calc((100% - 49.7rem) / 2); } }
    .page-toc .container .swiper-wrapper {
      transition: transform 0.25s ease !important;
      width: auto; }
    .page-toc .container.being-dragged .swiper-wrapper {
      transition-duration: 0ms !important; }
  .page-toc[data-vis-top="1"] .max-width {
    transition: z-index 0s linear 0s, opacity 0.5s, transform 0.5s;
    opacity: 1;
    transform: translateY(0);
    z-index: 30; }
  .page-toc.non-stick {
    position: static; }
  .page-toc .item {
    width: auto; }
  .page-toc .content {
    display: block;
    padding: 1rem 0;
    margin: 0 1rem;
    position: relative; }
    .page-toc .content:focus, .page-toc .content:hover {
      text-decoration: none; }
    .page-toc .content::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      border-bottom: 2px solid #f95d62;
      transform: scale3d(0, 1, 1);
      transition: transform 0.5s; }
    @media only screen and (min-width: 1200px) {
      .page-toc .content:hover {
        color: #fff;
        text-decoration: none; }
      .page-toc .content:hover::before {
        transform: scale3d(1, 1, 1); } }
  .page-toc [data-current="1"] .content {
    color: #fff; }
    .page-toc [data-current="1"] .content::before {
      transform: scale3d(1, 1, 1); }
  .page-toc + .topnav-underlay {
    content: "";
    z-index: -100;
    background-color: #fff;
    width: 100%;
    height: 65px;
    bottom: 100%;
    position: fixed;
    left: 0;
    top: 0;
    opacity: 0;
    transform: translateY(-20px);
    transition: z-index 0s linear 0.5s, opacity 0.5s, transform 0.5s; }
    @media only screen and (min-width: 600px) and (max-width: 1499px) {
      .page-toc + .topnav-underlay {
        height: 80px; } }
    @media only screen and (min-width: 1500px) {
      .page-toc + .topnav-underlay {
        height: 5.5rem; } }
  .page-toc[data-vis-top="1"] + .topnav-underlay {
    z-index: 30;
    opacity: 1;
    transform: translateY(0);
    transition: z-index 0s linear 0s, opacity 0.5s, transform 0.5s; }

.topnav-underlay {
  display: flex;
  align-items: center; }
  .topnav-underlay .heading {
    padding: 1rem; }
    .topnav-underlay .heading .content-title {
      color: #000;
      margin-bottom: 0;
      display: none; }
      @media only screen and (min-width: 900px) {
        .topnav-underlay .heading .content-title {
          padding-left: 160px;
          display: inline; } }
  @media only screen and (min-width: 1200px) {
    .topnav-underlay {
      padding-left: 180px;
      padding-right: 400px; } }
  .topnav-underlay .heading {
    padding-left: 0; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .topnav-underlay .heading {
        display: none; } }
    .topnav-underlay .heading .content-title {
      padding-left: 0; }

.content-video .vid {
  padding-bottom: 56.25%;
  position: relative; }

.content-video .placeholder-frame {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border: 0;
  padding: 0;
  transition: opacity 200ms; }
  .content-video .placeholder-frame.hidden {
    opacity: 0;
    pointer-events: none; }
  .content-video .placeholder-frame:hover, .content-video .placeholder-frame:focus {
    border: 0; }
    .content-video .placeholder-frame:hover .play-icon, .content-video .placeholder-frame:focus .play-icon {
      transform: scale(1.2); }
  .content-video .placeholder-frame > .placeholder-img {
    pointer-events: none;
    width: 100%;
    height: 100%; }
  .content-video .placeholder-frame > .watch-cta {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 120px;
    height: 132px;
    margin: -66px 0 0 -60px;
    border-radius: 3px;
    background-color: rgba(0, 0, 0, 0.7);
    pointer-events: none;
    padding-top: 30px; }
  .content-video .placeholder-frame .play-icon {
    transition: transform 200ms; }
  .content-video .placeholder-frame .copy {
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
    display: block;
    margin-top: 15px; }

.content-video .embed {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.content-video .description {
  margin-top: 30px;
  color: #b3b3b3;
  transition: color 200ms; }
  .content-video .description p {
    color: #b3b3b3;
    transition: color 200ms; }
  [data-vis-viewportbg~="invert"] .content-video .description {
    color: #1a1a1a; }
    [data-vis-viewportbg~="invert"] .content-video .description p {
      color: #1a1a1a; }

.cc-icons {
  list-style: none;
  padding: 0;
  margin: 25px 0;
  display: flex; }

.cc-icon {
  opacity: 0.5;
  transition: opacity 200ms; }
  .cc-icon + .cc-icon {
    margin-left: 10px; }
  .cc-icon.active {
    opacity: 1; }

.cc-radios {
  display: none; }

.features-panel .title {
  color: #fff !important;
  text-decoration: none; }

.features-panel .description {
  color: inherit; }

.features-panel .item {
  cursor: default;
  text-align: center; }
  .features-panel .item img {
    filter: none; }

.features-panel .link {
  display: flex;
  flex-flow: row nowrap;
  align-items: center; }

.site-footer > * {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around; }

@media only screen and (min-width: 0) and (max-width: 899px) {
  .site-footer {
    padding: 1rem; } }

.site-footer .links {
  margin: 3em auto;
  width: 100%;
  display: flex;
  flex-flow: row wrap; }
  .page-homepage .site-footer .links {
    z-index: 1; }
  @media only screen and (min-width: 1200px) {
    .site-footer .links {
      flex-wrap: nowrap;
      align-items: flex-end;
      justify-content: space-between; } }
  .site-footer .links ul,
  .site-footer .links li {
    margin: 0;
    padding: 0; }
  .site-footer .links li {
    list-style-type: none; }
  .site-footer .links a {
    color: #fff;
    text-transform: uppercase;
    display: inline-block; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .site-footer .links a {
        margin-bottom: 10px;
        padding: 7px; } }
    @media only screen and (min-width: 1200px) {
      .site-footer .links a {
        padding: 14px; } }
  .site-footer .links .footer {
    columns: 2; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .site-footer .links .footer {
        width: 100%; } }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .site-footer .links .footer {
        margin-bottom: 2em; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .site-footer .links .footer {
        width: calc((9 / 12) * 100%); } }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .site-footer .links .social {
      width: 100%; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .site-footer .links .social {
      width: calc((3 / 12) * 100%); } }
  .site-footer .links .social a {
    color: #b3b3b3; }
  .site-footer .links .social .social-links a {
    width: 40px;
    height: 22px;
    margin: 0 0 10px; }
  .site-footer .links .partner {
    align-self: flex-end; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .site-footer .links .partner {
        width: 100%;
        text-align: center; } }
    @media only screen and (min-width: 1200px) {
      .site-footer .links .partner {
        margin-left: 14px; } }
    .site-footer .links .partner .logo-link > * {
      vertical-align: bottom; }
    .site-footer .links .partner .logo-link a {
      margin: 0 0 0 0.2rem;
      padding: 0 0 4px; }
    .site-footer .links .partner .copyright {
      color: #b3b3b3;
      margin-top: 1em;
      margin-bottom: 14px; }

[data-vis-viewportbg="invert"] .site-footer {
  /* sass-lint:disable-block force-element-nesting */ }
  [data-vis-viewportbg="invert"] .site-footer .subscribe .heading {
    color: #000; }
  [data-vis-viewportbg="invert"] .site-footer .links li {
    color: #000; }
  [data-vis-viewportbg="invert"] .site-footer .links a {
    color: #000; }
  [data-vis-viewportbg="invert"] .site-footer .links .social a {
    color: #1a1a1a; }
  [data-vis-viewportbg="invert"] .site-footer .links .partner .copyright {
    color: #1a1a1a; }

.terminal {
  position: relative;
  overflow: hidden; }
  .terminal .spacing-image {
    width: 100%;
    visibility: hidden; }
  .terminal .display-image {
    display: none;
    position: fixed;
    bottom: 0;
    width: 100%;
    opacity: 0;
    mix-blend-mode: lighten;
    z-index: -20; }
  .terminal[data-vis-above="1"] .display-image {
    display: block;
    opacity: var(--vis-ratio); }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .terminal {
      height: 50vh; }
      .terminal .spacing-image {
        display: none; }
      .terminal .display-image {
        height: 50vh;
        object-fit: cover; } }

.site-footer .max-content {
  position: relative;
  margin: 0 -1em 0 calc(-1em - 5px); }

.site-footer #subscribeRecaptcha {
  display: none; }

.site-footer small {
  font-size: 12px;
  display: block;
  color: rgba(128, 128, 128, 0.5);
  margin-top: 12px; }

.site-footer .subscribe {
  text-align: center;
  width: 100%; }
  .site-footer .subscribe .heading {
    color: #fff;
    text-transform: none; }
  .site-footer .subscribe .form-control {
    background-color: #1a1a1a;
    color: #fff;
    border: 0;
    padding: 1em;
    margin-right: 10px; }
    .site-footer .subscribe .form-control:focus, .site-footer .subscribe .form-control.has-value {
      background: #fff;
      color: #000; }

.site-footer .form-group {
  max-width: none; }

.site-footer .form-label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.site-footer .g-recaptcha {
  position: relative;
  display: none; }
  .site-footer .g-recaptcha.visible {
    display: block; }

.site-footer button,
.site-footer input[type="submit"] {
  background-color: transparent;
  border: 0; }

.site-footer .cta-button:hover {
  text-decoration: underline; }

@media only screen and (min-width: 0) and (max-width: 1199px) {
  .site-footer {
    text-align: left; }
    .site-footer .form-control {
      display: block;
      width: 100%; } }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .site-footer .form-group {
    margin-bottom: 13px; }
  .site-footer .g-recaptcha {
    margin-bottom: 10px; }
  .site-footer .cta-button {
    margin-left: -20px; } }

@media only screen and (min-width: 600px) {
  .site-footer .wffm-form-page {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin: 0 -5px; }
  .site-footer .form-group,
  .site-footer [type="submit"] {
    margin: 0 5px; }
  .site-footer [type="submit"] {
    margin-top: 7px; }
  .site-footer .g-recaptcha {
    display: block;
    position: absolute;
    right: 0;
    top: 70px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 200ms, visibility 200ms 200ms; }
    .site-footer .g-recaptcha.visible {
      opacity: 1;
      visibility: visible;
      transition-delay: 0s; }
    .site-footer .g-recaptcha::before {
      display: block;
      position: absolute;
      content: "";
      bottom: 99%;
      right: 2em;
      border-bottom: 15px solid #fff;
      border-left: 15px solid transparent;
      border-right: 15px solid transparent; }
    .site-footer .g-recaptcha > div {
      margin: 0 1em 0 auto; } }

@media only screen and (min-width: 900px) {
  .site-footer .subscribe {
    max-width: 900px;
    margin: 0 auto; }
    .site-footer .subscribe .heading {
      text-align: center;
      margin-bottom: 30px; }
  .site-footer .max-content {
    margin: 0; } }

@media only screen and (min-width: 1200px) {
  .site-footer [type="submit"] {
    margin-top: 10px; } }

.content-loading {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  visibility: visible; }
  .content-loading::before {
    content: "";
    display: block;
    width: 80px;
    height: 80px;
    border: 4px solid #f8f8f8;
    border-right-color: #f95d62;
    border-radius: 50%;
    animation: loop 500ms linear infinite; }
  .content-loading.content-loaded {
    opacity: 0;
    visibility: hidden;
    transition: visibility 0s 200ms, opacity 200ms; }

.content-link-list-block .description {
  color: #fff;
  margin-bottom: 50px;
  transition: color 200ms; }
  @media only screen and (min-width: 900px) {
    .content-link-list-block .description {
      max-width: 75%; } }

.content-link-list-block .link-list {
  color: #b3b3b3;
  box-shadow: inset 0 2px 0 0 #1a1a1a;
  padding: 30px 0; }
  .content-link-list-block .link-list:last-child {
    box-shadow: inset 0 2px 0 0 #1a1a1a, inset 0 -2px 0 0 #1a1a1a;
    margin-bottom: 50px; }
  .content-link-list-block .link-list .link {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    margin-bottom: 10px; }
  .content-link-list-block .link-list p {
    margin-bottom: 0;
    color: #b3b3b3; }

[data-vis-viewportbg="invert"] .content-link-list-block .description {
  color: #000; }
  [data-vis-viewportbg="invert"] .content-link-list-block .description p {
    color: #000; }

[data-vis-viewportbg="invert"] .content-link-list-block .link-list {
  color: #1a1a1a; }
  [data-vis-viewportbg="invert"] .content-link-list-block .link-list p {
    color: #1a1a1a; }

.content-link-list-block .cta-button {
  display: inline-block;
  vertical-align: middle; }
  .content-link-list-block .cta-button a {
    color: #fff; }
  .content-link-list-block .cta-button > * {
    vertical-align: middle; }
  .content-link-list-block .cta-button::before, .content-link-list-block .cta-button::after {
    vertical-align: middle; }

.modals-performances.modals-carousel .modal-dialog {
  align-items: center; }

.modals-performances.modals-carousel .modal-content .modal-body {
  max-height: 75vh; }

.modals-performances.modals-carousel .modal-content .sub-title {
  margin-bottom: 0; }

.modals-performances.modals-carousel p:last-child {
  margin-bottom: 0; }

.modals-performances.modals-carousel .white-bg {
  flex-flow: row wrap; }
  @media only screen and (min-width: 900px) {
    .modals-performances.modals-carousel .white-bg {
      padding: 50px; } }

.modals-performances.modals-carousel .grey-bg {
  flex-flow: row wrap; }
  @media only screen and (min-width: 900px) {
    .modals-performances.modals-carousel .grey-bg {
      flex-wrap: nowrap;
      padding: 30px 50px; } }
  .modals-performances.modals-carousel .grey-bg .table {
    margin-right: 30px;
    margin-bottom: 30px; }
    @media only screen and (min-width: 900px) {
      .modals-performances.modals-carousel .grey-bg .table {
        margin-bottom: 0; } }
    .modals-performances.modals-carousel .grey-bg .table:last-child {
      margin-right: 0; }
    .modals-performances.modals-carousel .grey-bg .table tr:first-child {
      border: 0; }
    .modals-performances.modals-carousel .grey-bg .table th,
    .modals-performances.modals-carousel .grey-bg .table td {
      width: 50%; }
    .modals-performances.modals-carousel .grey-bg .table th {
      color: #000;
      text-transform: none;
      letter-spacing: 0;
      font-weight: 400; }
    .modals-performances.modals-carousel .grey-bg .table td {
      color: #808080; }

.news-list .content-pod {
  margin-bottom: 3rem; }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .news-list .content-pod {
      margin-bottom: 6rem; } }
  @media only screen and (min-width: 1200px) {
    .news-list .content-pod {
      margin-bottom: 7.5rem; } }

.partner-list {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  justify-content: center; }
  @media only screen and (min-width: 600px) {
    .partner-list {
      justify-content: flex-start; } }
  @media only screen and (min-width: 1200px) {
    .partner-list {
      width: auto;
      justify-content: flex-start;
      flex-wrap: nowrap; } }
  .partner-list .category {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    text-align: center;
    justify-content: center;
    height: auto;
    margin-bottom: 50px; }
    @media only screen and (min-width: 600px) {
      .partner-list .category {
        text-align: left;
        justify-content: flex-start;
        margin-right: 10px;
        margin-bottom: 30px; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .partner-list .category {
        width: 50%;
        margin-right: 0; }
        .partner-list .category:first-child {
          width: 100%; } }
    @media only screen and (min-width: 1200px) {
      .partner-list .category {
        margin-right: 20px; } }
    .partner-list .category h3 {
      flex-basis: 100%;
      white-space: nowrap;
      margin-bottom: 20px; }
    .partner-list .category .partner {
      margin-left: 10px;
      margin-right: 10px; }
      @media only screen and (min-width: 600px) {
        .partner-list .category .partner {
          margin-left: 0;
          margin-right: 20px; } }
      .partner-list .category .partner a {
        display: block; }
      .partner-list .category .partner img {
        max-height: 140px;
        width: 100%; }
    .partner-list .category .partner,
    .partner-list .category .partner a {
      width: 140px;
      height: 140px;
      display: flex;
      flex-flow: row;
      align-items: center;
      justify-content: center; }

.program-detail .parts {
  width: 100%;
  margin-bottom: 50px; }
  .program-detail .parts .row {
    display: flex;
    align-items: flex-start;
    position: relative;
    color: #fff; }
    [data-vis-viewportbg="invert"] .program-detail .parts .row {
      color: #000; }
    .program-detail .parts .row > .scLooseFrameZone {
      width: 100%; }
    .program-detail .parts .row a {
      display: flex;
      flex-grow: 1;
      color: #fff;
      position: relative; }
      .program-detail .parts .row a::before {
        display: none;
        top: 0; }
      .program-detail .parts .row a:hover {
        text-decoration: none; }
        .program-detail .parts .row a:hover::before {
          display: block;
          opacity: 0.05; }
        .program-detail .parts .row a:hover .composer,
        .program-detail .parts .row a:hover .title {
          text-decoration: underline; }
    .program-detail .parts .row:nth-child(2n + 2) {
      background-color: rgba(255, 255, 255, 0.1); }
      [data-vis-viewportbg="invert"] .program-detail .parts .row:nth-child(2n + 2) {
        background-color: rgba(0, 0, 0, 0.1); }
    .program-detail .parts .row a::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: #fff;
      opacity: 0;
      transition: opacity 0.1s ease; }
    .program-detail .parts .row .piece {
      flex-grow: 1;
      margin: 15px; }
    .program-detail .parts .row .composer {
      text-transform: uppercase;
      word-break: break-word;
      color: #fff; }
      [data-vis-viewportbg="invert"] .program-detail .parts .row .composer {
        color: #000; }
    .program-detail .parts .row .duration {
      color: #b3b3b3;
      text-align: right;
      text-decoration: none;
      margin: 15px;
      min-width: 3em; }
      [data-vis-viewportbg="invert"] .program-detail .parts .row .duration {
        color: #808080; }

.program-detail .info {
  margin-bottom: 0; }
  .program-detail .info > dt {
    color: #fff;
    margin-top: 50px; }
    [data-vis-viewportbg="invert"] .program-detail .info > dt {
      color: #000; }
  .program-detail .info > dd {
    color: #b3b3b3; }
    [data-vis-viewportbg="invert"] .program-detail .info > dd {
      color: #1a1a1a; }
    .program-detail .info > dd:last-child {
      margin-bottom: 0; }
  .program-detail .info > dt,
  .program-detail .info > dd {
    margin-left: 50px; }
    @media only screen and (min-width: 600px) {
      .program-detail .info > dt,
      .program-detail .info > dd {
        margin-left: 100px; } }
  .program-detail .info > .dl-icon {
    position: relative; }
    .program-detail .info > .dl-icon::before {
      content: "";
      position: absolute;
      right: 100%;
      width: 70px;
      height: 50px;
      background-size: 28px auto;
      background-repeat: no-repeat;
      background-position: top center; }
      @media only screen and (min-width: 600px) {
        .program-detail .info > .dl-icon::before {
          width: 100px; } }
      [data-vis-viewportbg="invert"] .program-detail .info > .dl-icon::before {
        filter: invert(1); }
  .program-detail .info .locations .select {
    width: 100%;
    max-width: 280px;
    margin: 15px 0; }
    .program-detail .info .locations .select select {
      width: 100%; }
  .program-detail .info .locations .location,
  .program-detail .info .locations .location p {
    color: #fff; }
    [data-vis-viewportbg="invert"] .program-detail .info .locations .location, [data-vis-viewportbg="invert"]
    .program-detail .info .locations .location p {
      color: #000; }
    .program-detail .info .locations .location p,
    .program-detail .info .locations .location p p {
      margin-bottom: 0; }

.program-detail .location {
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  transition: opacity 1s; }
  .program-detail .location.filtered-show {
    visibility: visible;
    opacity: 1;
    max-height: 300px; }

.program-tile {
  border: 0;
  background: none;
  text-align: left;
  display: flex;
  flex-flow: column nowrap;
  flex-grow: 1;
  width: 290px;
  padding: 13px;
  transition: background 200ms; }
  .program-tile * {
    pointer-events: none; }
  .program-tile:hover, .program-tile:focus {
    text-decoration: none;
    background: rgba(26, 26, 26, 0.5); }
    .program-tile:hover .program-link, .program-tile:focus .program-link {
      text-decoration: underline; }
  .program-tile:focus {
    outline-color: #f95d62; }
  .program-tile.selected {
    background: #1a1a1a; }
  .program-tile .program-title {
    font-size: 1rem;
    color: #fff; }
  .program-tile .program-desc {
    font-size: 0.8rem;
    color: #b3b3b3;
    flex-grow: 1; }
  .program-tile .program-link {
    font-size: 0.7rem;
    color: #f95d62;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 0.5rem; }
  .program-tile .media {
    width: 100%;
    padding-bottom: 75%;
    margin-bottom: 20px;
    overflow: hidden;
    position: relative; }
  .program-tile .img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center; }

@media only screen and (min-width: 600px) {
  .program-tile {
    width: 420px; } }

@media only screen and (min-width: 900px) {
  .program-swiper {
    margin: 0 0 60px; }
    .program-swiper .swiper-scrollbar {
      left: calc(50% - 497px);
      right: calc(50% - 497px); } }

.search-results-header {
  background-color: #fff;
  padding-bottom: 40px; }
  .search-results-header > .description {
    color: #000;
    margin-bottom: 10px; }
  .search-results-header > .search-box {
    width: 100%;
    max-width: 700px; }

.search-results-list > ol {
  padding-left: 0;
  list-style-type: none; }
  @media only screen and (min-width: 1200px) {
    .search-results-list > ol {
      padding-top: 5rem; } }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .search-results-list > ol {
      padding-top: 2rem; } }

.search-result {
  border-bottom: 1px solid #808080;
  position: relative;
  padding: 20px 0; }
  .search-result > .media {
    background: #1a1a1a;
    overflow: hidden;
    position: relative; }
    .search-result > .media img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .search-result:first-child {
    border-top: 1px solid #808080; }
  .search-result > .title {
    text-transform: none;
    margin-bottom: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .search-result > .description {
    color: #fff; }
  .search-result > .category {
    color: #b3b3b3;
    letter-spacing: 0.8px;
    text-transform: uppercase; }

@media only screen and (min-width: 600px) {
  .search-result {
    padding-left: 160px;
    min-height: 140px; }
    .search-result > .media {
      position: absolute;
      left: 0;
      top: 20px;
      width: 140px;
      height: 100px; }
    .search-result > .title,
    .search-result > .description {
      padding-right: 1rem; } }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .search-result > .media {
    padding-bottom: 56.25%;
    margin-top: 2rem;
    margin-bottom: 2rem; }
  .search-result > .category {
    margin-top: 1rem;
    margin-bottom: 1rem; } }

@media only screen and (min-width: 1200px) {
  .search-result > .category {
    position: absolute;
    right: 0;
    bottom: 20px; }
  .search-result > .title,
  .search-result > .description {
    padding-right: 160px; } }

.stream-list .content-pod {
  margin-bottom: 40px; }
  @media only screen and (min-width: 1200px) {
    .stream-list .content-pod {
      margin-bottom: 100px; } }
  .stream-list .content-pod:last-child {
    margin-bottom: 0; }

.stream-list .icon {
  margin-bottom: 20px; }
  [data-vis-viewportbg~="invert"] .stream-list .icon {
    filter: invert(1); }

/*
 * Top Navigation Class
 */
@media only screen and (min-width: 0) and (max-width: 599px) {
  .user-nav {
    margin-top: 24px; } }

.user-nav.nav-bar {
  margin-top: 0;
  margin-bottom: 0; }

.user-nav strong,
.user-nav a {
  margin: 0 0 0 20px;
  padding: 0;
  border: 0;
  position: static; }
  .user-nav strong:first-child,
  .user-nav a:first-child {
    margin-left: 0; }

.user-nav a:not(:first-of-type) {
  margin: 0 0 0 15px;
  border-left: 1px solid rgba(148, 148, 148, 0.3);
  padding: 0 0 0 20px; }

.user-nav strong {
  color: #fff; }

@media only screen and (min-width: 0) and (max-width: 599px) {
  .user-nav {
    text-align: center;
    margin-bottom: 24px; } }

.top-navigation {
  font-family: ag-book-pro, sans-serif;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  z-index: 100;
  color: #fff; }
  .modal-active .top-navigation {
    color: #000;
    transition: color 200ms; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .modal-active .top-navigation {
        height: 65px; } }
    @media only screen and (min-width: 600px) and (max-width: 1499px) {
      .modal-active .top-navigation {
        height: 80px; } }
    .modal-active .top-navigation .site-nav,
    .modal-active .top-navigation .close-menu {
      color: #fff;
      background-color: #000; }
  .page-homepage .top-navigation {
    height: auto;
    color: #fff;
    transition: background-color 400ms ease; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .page-homepage .top-navigation {
        background-color: rgba(0, 0, 0, 0.8); } }
    .modal-active .page-homepage .top-navigation {
      background-color: transparent !important; }
  .page-homepage[data-vis-viewportbg]:not([data-vis-section-id="introduction"]) .top-navigation {
    background-color: rgba(0, 0, 0, 0.8); }
  .page-homepage[data-vis-section-id="introduction"] .top-navigation {
    background-color: transparent; }
  .page-homepage[data-vis-viewportbg="invert"] .top-navigation,
  .page-homepage[data-vis-tocbg="invert"] .top-navigation {
    background-color: rgba(255, 255, 255, 0.8);
    color: #000; }
  [data-vis-viewportbg="invert"] .top-navigation,
  [data-vis-tocbg="invert"] .top-navigation {
    color: #000; }
  .top-navigation > * {
    height: 65px; }
    @media only screen and (min-width: 600px) and (max-width: 1499px) {
      .top-navigation > * {
        height: 80px; } }
    @media only screen and (min-width: 1500px) {
      .top-navigation > * {
        height: 5.5rem; } }
  .top-navigation .logo {
    overflow: hidden;
    margin: 0 30px;
    pointer-events: all;
    color: inherit;
    transition: none;
    width: 60px;
    height: 65px; }
    @media only screen and (min-width: 0) and (max-width: 399px) {
      .top-navigation .logo {
        margin: 0 5px 0 10px; } }
    @media only screen and (min-width: 400px) and (max-width: 599px) {
      .top-navigation .logo {
        margin: 0 20px; } }
    @media only screen and (min-width: 600px) and (max-width: 1499px) {
      .top-navigation .logo {
        width: 95px;
        height: 80px;
        margin: 0 30px; } }
    @media only screen and (min-width: 1500px) {
      .top-navigation .logo {
        width: 95px;
        height: 5.5rem;
        margin: 0 30px; } }
    .top-navigation .logo > * {
      height: 100%;
      width: 100%; }
    @supports (animation-name: name) {
      .page-homepage .top-navigation .logo {
        transform: translateY(-200%);
        animation: 0.5s ease-out 3s forwards drop-in; } }
  .top-navigation .nav-gap {
    flex-grow: 1;
    height: 0; }
  .top-navigation .nav-bar {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px; }
  .top-navigation .nav-item {
    display: block;
    margin-right: 20px; }
    @supports (animation: name) {
      .page-homepage .top-navigation .nav-item {
        transform: translateY(-200%);
        animation-duration: 0.5s;
        animation-timing-function: ease-out;
        animation-fill-mode: forwards;
        animation-name: drop-in; } }
    @supports (animation: name) {
      .top-navigation .nav-item:nth-child(0) {
        animation-delay: 3.5s; }
      .top-navigation .nav-item:nth-child(1) {
        animation-delay: 3.6s; }
      .top-navigation .nav-item:nth-child(2) {
        animation-delay: 3.7s; }
      .top-navigation .nav-item:nth-child(3) {
        animation-delay: 3.8s; }
      .top-navigation .nav-item:nth-child(4) {
        animation-delay: 3.9s; }
      .top-navigation .nav-item:nth-child(5) {
        animation-delay: 4s; }
      .top-navigation .nav-item:nth-child(6) {
        animation-delay: 4.1s; }
      .top-navigation .nav-item:nth-child(7) {
        animation-delay: 4.2s; } }
    .top-navigation .nav-item > a {
      color: inherit; }
    .top-navigation .nav-item > label,
    .top-navigation .nav-item > a {
      display: block;
      margin-bottom: 0;
      cursor: pointer;
      transition: background-color 200ms, color 200ms; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .top-navigation .nav-item > label,
        .top-navigation .nav-item > a {
          white-space: nowrap; } }
    @media only screen and (min-width: 0) and (max-width: 399px) {
      .top-navigation .nav-item {
        margin-right: 5px; } }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .top-navigation .nav-item {
        margin-right: 10px;
        display: none; }
        .top-navigation .nav-item:last-child {
          margin-right: 20px; } }
    @media only screen and (min-width: 0) and (max-width: 599px) and (min-width: 0) and (max-width: 399px) {
      .top-navigation .nav-item:last-child {
        margin-right: 10px; } }
    @media only screen and (min-width: 0) and (max-width: 599px) {
        .top-navigation .nav-item:first-child:not(.hide-sm), .top-navigation .nav-item.mobile:not(.hide-sm) {
          display: block; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .top-navigation .nav-item {
        display: none; }
        .top-navigation .nav-item:first-child, .top-navigation .nav-item:nth-child(2), .top-navigation .nav-item.mobile {
          display: block; } }
  .top-navigation .site-nav,
  .top-navigation .close-menu {
    color: #000;
    background-color: #fff;
    border-radius: 100%;
    width: 40px;
    height: 40px;
    outline: 0; }
    .top-navigation .site-nav:hover, .top-navigation .site-nav:focus,
    .top-navigation .close-menu:hover,
    .top-navigation .close-menu:focus {
      background-color: #f95d62;
      color: #fff; }
    [data-vis-viewportbg="invert"] .top-navigation .site-nav,
    [data-vis-tocbg="invert"] .top-navigation .site-nav, [data-vis-viewportbg="invert"]
    .top-navigation .close-menu,
    [data-vis-tocbg="invert"]
    .top-navigation .close-menu {
      color: #fff;
      background-color: #000; }
      [data-vis-viewportbg="invert"] .top-navigation .site-nav:hover, [data-vis-viewportbg="invert"] .top-navigation .site-nav:focus,
      [data-vis-tocbg="invert"] .top-navigation .site-nav:hover,
      [data-vis-tocbg="invert"] .top-navigation .site-nav:focus, [data-vis-viewportbg="invert"]
      .top-navigation .close-menu:hover, [data-vis-viewportbg="invert"]
      .top-navigation .close-menu:focus,
      [data-vis-tocbg="invert"]
      .top-navigation .close-menu:hover,
      [data-vis-tocbg="invert"]
      .top-navigation .close-menu:focus {
        color: #000;
        background-color: #fff; }
  .top-navigation .hover-circle {
    color: inherit;
    background-color: transparent;
    border-radius: 100%;
    width: 40px;
    height: 40px;
    outline: 0;
    position: relative; }
    .top-navigation .hover-circle::before {
      content: "";
      position: absolute;
      top: -5px;
      right: -5px;
      bottom: -5px;
      left: -5px;
      background: #f95d62;
      opacity: 0;
      border-radius: 50%;
      transition: opacity 200ms; }
    .top-navigation .hover-circle svg {
      position: relative;
      z-index: 1; }
    .top-navigation .hover-circle:hover, .top-navigation .hover-circle:focus {
      color: #fff; }
      .top-navigation .hover-circle:hover::before, .top-navigation .hover-circle:focus::before {
        opacity: 1; }

.menu-onpage {
  background-color: #fff;
  display: none;
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: calc(100% + 10px); }
  .menu-onpage:hover {
    display: block; }

.menu-fullpage .top-navigation .close-menu,
.menu-fullpage .top-navigation .search-site,
.menu-fullpage .top-navigation .logo {
  animation: none;
  transform: none; }

#nav-state-0:checked ~ .top-navigation .nav-menu-0 {
  display: block; }

#nav-state-1:checked ~ .top-navigation .nav-menu-1 {
  display: block; }

#nav-state-2:checked ~ .top-navigation .nav-menu-2 {
  display: block; }

#nav-state-3:checked ~ .top-navigation .nav-menu-3 {
  display: block; }

#nav-state-4:checked ~ .top-navigation .nav-menu-4 {
  display: block; }

.top-navigation-menus .nav-search-menu {
  visibility: hidden;
  opacity: 0;
  z-index: -1; }
  #site-search-state-opened:checked ~ .top-navigation-menus .nav-search-menu {
    z-index: 1005;
    visibility: visible;
    opacity: 1; }

.top-navigation-menus .nav-site-menu {
  visibility: hidden;
  opacity: 0;
  z-index: -1; }
  .top-navigation-menus .nav-site-menu .standard-links {
    transform: translateX(-1000px); }
    @media only screen and (min-width: 600px) {
      .top-navigation-menus .nav-site-menu .standard-links {
        transition: transform 200ms ease 200ms; } }
  .top-navigation-menus .nav-site-menu .menu-content [data-stagger-trans] {
    visibility: hidden;
    opacity: 0;
    transform: translateX(-20px); }
  #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu {
    visibility: visible;
    top: 0;
    opacity: 1;
    z-index: 1000; }
    #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu .menu-content [data-stagger-trans] {
      visibility: visible;
      opacity: 1;
      transform: translateX(0); }
      @media only screen and (min-width: 600px) {
        #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu .menu-content [data-stagger-trans] {
          transition-property: opacity, transform;
          transition-timing-function: ease;
          transition-duration: 400ms; } }
    @media only screen and (min-width: 600px) {
      #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu .menu-content [data-stagger-trans="0"] {
        transition-delay: 0.4s; }
      #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu .menu-content [data-stagger-trans="1"] {
        transition-delay: 0.6s; }
      #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu .menu-content [data-stagger-trans="2"] {
        transition-delay: 0.8s; }
      #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu .menu-content [data-stagger-trans="3"] {
        transition-delay: 1s; }
      #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu .menu-content [data-stagger-trans="4"] {
        transition-delay: 1.2s; } }
    #site-nav-state-opened:checked ~ .top-navigation-menus .nav-site-menu .standard-links {
      transform: translateX(0); }

@media only screen and (min-width: 0) and (max-width: 1499px) {
  #nav-state-site-nav:checked ~ .top-navigation-menus .nav-site-menu .top-navigation {
    background-color: rgba(0, 0, 0, 0.5);
    mix-blend-mode: normal; } }

.nav-links a {
  margin: 0;
  color: #f95d62;
  text-decoration: none;
  display: inline-block;
  padding: 5px; }

.nav-links a + a {
  border-left: 1px solid #f95d62; }

@keyframes drop-in {
  from {
    transform: translateY(-40px);
    opacity: 0; }
  to {
    transform: translateY(0);
    opacity: 1; } }

.tippy-tooltip {
  background-color: #fff;
  color: #000;
  padding: 18px 20px 15px;
  text-align: left;
  font-size: 13px;
  line-height: 1.3846153846;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1); }

.tippy-popper[x-placement^="bottom"] .tippy-arrow {
  border-bottom-color: #fff;
  margin: 0 10px; }

.tippy-popper[x-placement^="top"] .tippy-arrow {
  border-top-color: #fff;
  margin: 0 10px; }

span[data-tippy] {
  position: relative;
  display: inline-block;
  height: 20px;
  background: url(../img/tooltip.svg) right center no-repeat;
  vertical-align: middle;
  padding-right: 30px;
  cursor: help; }
  span[data-tippy]::before {
    content: "";
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: -10px;
    left: -10px;
    border-radius: 50%; }

.tooltip-label {
  color: #f95d62;
  display: flex;
  height: 100%;
  margin: 0;
  padding-top: 35px;
  align-items: center;
  cursor: default; }

.my-upcoming-performances {
  margin-bottom: 100px; }
  @media only screen and (min-width: 900px) {
    .my-upcoming-performances {
      margin-top: 100px;
      display: flex;
      flex-flow: row nowrap; } }
  .my-upcoming-performances .sidebar {
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: 90px;
    display: flex;
    flex-flow: row nowrap;
    overflow-y: hidden;
    border-bottom: 1px solid #1a1a1a; }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .my-upcoming-performances .sidebar {
        margin-left: -2rem;
        margin-right: -2rem; } }
    @media only screen and (min-width: 900px) {
      .my-upcoming-performances .sidebar {
        display: block;
        min-width: 310px;
        height: auto;
        margin: 0 70px 0 0;
        overflow: auto;
        border-bottom: 0;
        text-overflow: initial; } }
    .my-upcoming-performances .sidebar a {
      padding: 18px 20px;
      border: 2px solid transparent;
      white-space: nowrap; }
      @media only screen and (min-width: 0) and (max-width: 899px) {
        .my-upcoming-performances .sidebar a {
          margin-left: 20px;
          padding: 18px 0; } }
      @media only screen and (min-width: 900px) {
        .my-upcoming-performances .sidebar a {
          display: block;
          white-space: initial;
          border-top-color: #1a1a1a;
          border-bottom-color: #1a1a1a;
          overflow: visible; }
          .my-upcoming-performances .sidebar a:not(:first-child) {
            border-top-color: transparent;
            border-bottom-color: #1a1a1a; } }
      .my-upcoming-performances .sidebar a.current {
        color: #fff;
        border-bottom-color: #f95d62; }
        @media only screen and (min-width: 900px) {
          .my-upcoming-performances .sidebar a.current {
            background-color: #1a1a1a;
            border-bottom-color: transparent;
            border-left-color: #f95d62; } }
  .my-upcoming-performances .main {
    flex-grow: 1; }
    .my-upcoming-performances .main .content-link-list-block {
      margin-top: 0; }
    .my-upcoming-performances .main .link-list {
      display: flex;
      flex-flow: row wrap;
      align-items: center; }
      .my-upcoming-performances .main .link-list * {
        width: 100%; }
      @media only screen and (min-width: 900px) {
        .my-upcoming-performances .main .link-list {
          flex-flow: row nowrap; }
          .my-upcoming-performances .main .link-list * {
            width: auto; } }
      .my-upcoming-performances .main .link-list .text {
        flex-grow: 1; }
        .my-upcoming-performances .main .link-list .text > h2 {
          color: #fff;
          text-transform: none;
          margin-bottom: 0; }
        .my-upcoming-performances .main .link-list .text > p {
          color: #b3b3b3; }
      .my-upcoming-performances .main .link-list .link {
        margin-top: 38px;
        margin-bottom: 0; }
        .my-upcoming-performances .main .link-list .link label {
          cursor: pointer;
          margin: 0; }
        @media only screen and (min-width: 900px) {
          .my-upcoming-performances .main .link-list .link {
            flex-flow: row nowrap;
            margin-top: 0; } }
  @media only screen and (min-width: 900px) {
    .my-upcoming-performances .modal-content .white-bg,
    .my-upcoming-performances .modal-content .grey-bg {
      padding: 70px 85px; } }
  .my-upcoming-performances .modal-content .modal-body {
    height: 95vh; }
    @media only screen and (min-width: 900px) {
      .my-upcoming-performances .modal-content .modal-body {
        height: auto; } }
  .my-upcoming-performances .modal-content .left {
    margin-bottom: 20px;
    width: 100%; }
    @media only screen and (min-width: 900px) {
      .my-upcoming-performances .modal-content .left {
        margin-bottom: 0;
        margin-right: 80px;
        padding-right: 80px;
        border-right: 1px solid #f8f8f8;
        width: 300px; } }
    .my-upcoming-performances .modal-content .left h2,
    .my-upcoming-performances .modal-content .left a {
      display: block; }
    .my-upcoming-performances .modal-content .left h2 {
      margin-bottom: 20px; }
    .my-upcoming-performances .modal-content .left a {
      margin-bottom: 15px; }
  .my-upcoming-performances .modal-content .right {
    width: 100%; }
    @media only screen and (min-width: 900px) {
      .my-upcoming-performances .modal-content .right {
        width: auto; } }
    .my-upcoming-performances .modal-content .right .table tr {
      vertical-align: top; }
    .my-upcoming-performances .modal-content .right .table th {
      width: 100px;
      line-height: 1.8; }
      @media only screen and (min-width: 0) and (max-width: 599px) {
        .my-upcoming-performances .modal-content .right .table th {
          display: none; } }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .my-upcoming-performances .modal-content .right .table td {
        padding-left: 0; } }
    .my-upcoming-performances .modal-content .right .table a {
      text-decoration: underline; }
      .my-upcoming-performances .modal-content .right .table a:hover {
        text-decoration: none; }
  .my-upcoming-performances .modal-footer tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .my-upcoming-performances .modal-footer th {
    height: 70px; }
  .my-upcoming-performances .modal-body,
  .my-upcoming-performances .modal-footer {
    padding: 20px; }
    @media only screen and (min-width: 900px) {
      .my-upcoming-performances .modal-body,
      .my-upcoming-performances .modal-footer {
        padding: 50px 85px; } }

.homepage-toc {
  position: fixed;
  width: calc(100vh - 180px);
  transform-origin: top left;
  transform: rotate(-90deg) translateX(-100%) translateX(-120px);
  overflow-x: hidden;
  transition: 1s;
  z-index: 10;
  /* sass-lint:disable-block no-vendor-prefixes */
  -webkit-mask-image: linear-gradient(to right, transparent, #fff, transparent);
  mask-image: linear-gradient(to right, transparent, #fff, transparent); }
  .homepage-toc a {
    color: #fff; }
    .homepage-toc a:hover, .homepage-toc a:focus, .homepage-toc a:active {
      text-decoration: none; }
    [data-vis-viewportbg="invert"] .homepage-toc a {
      color: #000; }
  .homepage-toc > * {
    --section-offset: 100%;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: nowrap;
    transition: 1s; }
    .homepage-toc > * > * {
      display: block;
      flex-grow: 0;
      line-height: 100px;
      text-align: center;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-weight: normal;
      font-size: 14px;
      padding: 0 1em;
      white-space: nowrap; }
      .homepage-toc > * > * a {
        opacity: 0.5;
        transition: opacity 200ms ease; }
        .homepage-toc > * > * a:hover {
          opacity: 0.7; }
      .homepage-toc > * > *[data-current] a {
        opacity: 1; }
      @media only screen and (min-width: 1800px) {
        .homepage-toc > * > * {
          line-height: 100px; } }
      @media only screen and (min-width: 1200px) and (max-width: 1799px) {
        .homepage-toc > * > * {
          line-height: 50px; } }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .homepage-toc {
      display: none; } }

/* sass-lint:disable-block force-element-nesting */
[data-vis-section-id="init"] .homepage-toc,
[data-vis-section-id="footer"] .homepage-toc {
  opacity: 0; }

.nav-search-menu {
  background-color: rgba(0, 0, 0, 0.8); }
  .nav-search-menu > .container {
    position: absolute;
    transform: translateY(-50%);
    width: 100%; }
    @media only screen and (min-width: 1200px) {
      .nav-search-menu > .container {
        top: 50%; } }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .nav-search-menu > .container {
        top: 33%; } }
  .nav-search-menu .search-box {
    max-width: 900px;
    margin: 0 auto; }
    @media only screen and (min-width: 0) and (max-width: 899px) {
      .nav-search-menu .search-box {
        margin: 0 5%; } }
    .nav-search-menu .search-box .input:focus {
      outline: none;
      color: #000; }
    .nav-search-menu .search-box .input:not(:focus) {
      border: 1px solid rgba(255, 255, 255, 0.8);
      background-color: transparent;
      color: #fff; }
      .nav-search-menu .search-box .input:not(:focus) + .button {
        background-color: transparent; }
    @media only screen and (min-width: 1200px) {
      .nav-search-menu .search-box .input {
        line-height: 1;
        padding: 40px 110px 40px 40px; }
        .nav-search-menu .search-box .input + .button {
          right: 20px;
          width: 70px;
          height: 70px; } }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .nav-search-menu .search-box .input {
        line-height: 1;
        padding: 25px 70px 25px 20px; } }

.site-overlay:checked ~ main,
.site-overlay:checked ~ footer,
.site-overlay:checked ~ header .site-id,
.site-overlay:checked ~ header .menu-control-onpage,
.site-overlay:checked ~ .top-navigation-menus .nav-site-menu,
.site-overlay:checked ~ header .shopping-cart,
.site-overlay:checked ~ header .search-site {
  filter: blur(3px); }

.site-overlay:checked ~ main .homepage-background {
  display: none; }

.nav-site-menu {
  min-height: 100vh; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .nav-site-menu .logo {
      color: #fff; }
    .nav-site-menu .nav-bar {
      color: #fff; } }
  @media only screen and (min-width: 1200px) {
    .nav-site-menu .logo {
      color: #000; }
    .nav-site-menu .nav-bar {
      color: #fff; } }
  .nav-site-menu .menu-content {
    position: relative;
    min-height: 100vh;
    background-image: url("/img/site-nav-background.jpg");
    background-size: cover;
    background-position: center; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .nav-site-menu .menu-content {
        flex-flow: column nowrap; } }
    @media only screen and (min-width: 1200px) {
      .nav-site-menu .menu-content {
        display: flex;
        position: absolute;
        width: 100%; } }
    .nav-site-menu .menu-content::before {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-color: rgba(0, 0, 0, 0.85);
      filter: grayscale(1); }
    .nav-site-menu .menu-content ul {
      page-break-inside: avoid; }
      .nav-site-menu .menu-content ul a {
        display: inline-block;
        padding: 7px 0;
        color: #fff; }
        @media only screen and (min-width: 600px) {
          .nav-site-menu .menu-content ul a {
            color: #000; } }
    @media only screen and (min-width: 600px) {
      .nav-site-menu .menu-content .standard-links {
        position: relative;
        padding-left: 100px;
        padding-right: 100px;
        color: #000;
        padding-top: 5.5rem;
        flex-grow: 1; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .nav-site-menu .menu-content .standard-links {
        columns: 2;
        column-gap: 100px; } }
    @media only screen and (min-width: 1200px) {
      .nav-site-menu .menu-content .standard-links {
        background-color: rgba(255, 255, 255, 0.9);
        min-height: 100vh; } }
    .nav-site-menu .menu-content .standard-links a {
      color: #fff; }
      @media only screen and (min-width: 1200px) {
        .nav-site-menu .menu-content .standard-links a {
          color: #000; } }
    @media only screen and (min-width: 600px) {
      .nav-site-menu .menu-content .other-links {
        flex-grow: 2;
        padding: 2em 2em 0;
        padding-top: 5.5rem;
        columns: 2;
        column-gap: 100px;
        padding-left: 100px;
        padding-right: 100px;
        position: relative; }
        .nav-site-menu .menu-content .other-links a {
          color: #fff; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .nav-site-menu .menu-content .other-links {
        padding-top: 0; } }
    @media only screen and (min-width: 0) and (max-width: 899px) {
      .nav-site-menu .menu-content .other-links {
        columns: initial; } }
    .nav-site-menu .menu-content .link-wrapper {
      page-break-inside: avoid; }
  .nav-site-menu .nav-title {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid rgba(148, 148, 148, 0.3);
    padding: 10px 0;
    overflow: hidden; }
    @media only screen and (min-width: 1200px) {
      .nav-site-menu .nav-title {
        margin-bottom: 16px; } }
    .nav-site-menu .nav-title::after {
      content: "";
      width: 22px;
      height: 22px;
      background-repeat: no-repeat;
      background-size: contain;
      transition: transform 300ms ease; }
      @media only screen and (min-width: 600px) {
        .nav-site-menu .nav-title::after {
          display: none; } }
    .nav-site-menu .nav-title.active::after {
      transform: rotate(135deg); }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .nav-site-menu .nav-title:not(.active) + ul {
        height: 0;
        overflow: hidden; } }
    .nav-site-menu .nav-title h3 {
      margin-bottom: 0; }
  .nav-site-menu ul {
    list-style-type: none;
    padding-left: 0; }
    .nav-site-menu ul li:last-child {
      margin-bottom: 24px; }
      @media only screen and (min-width: 600px) {
        .nav-site-menu ul li:last-child {
          margin-bottom: 36px; } }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .nav-site-menu .about-links {
      text-align: center; } }
  @media only screen and (min-width: 600px) {
    .nav-site-menu .about-links {
      border-bottom: 2px solid rgba(148, 148, 148, 0.3); } }
  .nav-site-menu .about-links a {
    color: #b3b3b3; }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .nav-site-menu .music-links {
      text-align: center;
      margin-bottom: 0; } }
  .nav-site-menu .music-links li {
    display: inline-block;
    margin-right: 2em; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .nav-site-menu .music-links li {
        margin-left: 1em;
        margin-right: 1em; } }
    @media only screen and (min-width: 600px) {
      .nav-site-menu .music-links li:last-child {
        margin-bottom: 0; } }
  .nav-site-menu .music-links a {
    color: #b3b3b3; }
  .nav-site-menu .social-links {
    margin-left: -15px;
    margin-top: -15px; }
    @media only screen and (min-width: 0) and (max-width: 599px) {
      .nav-site-menu .social-links {
        text-align: center; } }
  @media only screen and (min-width: 0) and (max-width: 599px) {
    .nav-site-menu .menu-content {
      background-color: #000;
      padding: 1em;
      padding-top: calc(65px + 40px); } }
  @media only screen and (min-width: 1800px) {
    .nav-site-menu .standard-links {
      padding-left: calc((100% - 49.7rem) / 2); }
    .nav-site-menu .other-links {
      padding-right: calc((100% - 49.7rem) / 2); } }
  @media only screen and (min-width: 1200px) and (max-width: 1799px) {
    .nav-site-menu .standard-links {
      padding-left: calc((100% - 49.7rem) / 2); }
    .nav-site-menu .other-links {
      padding-right: calc((100% - 49.7rem) / 2); } }

.nav-visit-menu {
  background-color: #fff;
  display: none;
  position: fixed;
  top: 80px;
  right: 80px; }
  .nav-visit-menu:hover {
    display: block; }

.nav-whatson-menu {
  background-color: #fff;
  display: none;
  position: fixed;
  top: 80px;
  right: 160px; }
  .nav-whatson-menu:hover {
    display: block; }

.production-list .season-title + .cta-section {
  padding-top: 0;
  padding-bottom: 40px; }

.production-list .production-container {
  overflow: hidden;
  min-height: 75px; }
  .production-list .production-container .production-item-none {
    display: none; }

.production-list .production-item {
  opacity: 0;
  max-height: 0;
  margin-bottom: 0;
  visibility: hidden; }
  @media only screen and (min-width: 900px) {
    .production-list .production-item {
      transition: opacity 400ms ease, max-height 400ms ease, margin-bottom 400ms ease; } }
  .production-list .production-item.filtered-show {
    opacity: 1;
    max-height: 2000px;
    visibility: visible;
    margin-bottom: 3rem; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .production-list .production-item.filtered-show {
        margin-bottom: 6rem; } }
    @media only screen and (min-width: 1200px) {
      .production-list .production-item.filtered-show {
        margin-bottom: 7.5rem; } }
    .production-list .production-item.filtered-show:last-of-type {
      margin-bottom: 0; }
  .production-list .production-item h3 {
    color: #fff;
    text-transform: none; }
  .production-list .production-item .subtitle {
    margin-bottom: 0.5rem; }
  .production-list .production-item .description {
    margin-bottom: 0.5rem;
    color: #fff; }
  .production-list .production-item .link-list {
    margin-top: 1rem; }
    @media only screen and (min-width: 1200px) {
      .production-list .production-item .link-list {
        margin-top: 1.5rem; } }
  .production-list .production-item .media {
    margin-bottom: 30px; }

.production-list .production-item-none {
  color: #fff;
  text-align: center;
  border: 1px solid #f95d62;
  padding: 0.5rem;
  border-width: 1px 0;
  margin-top: 5px;
  margin-bottom: -75px; }
  @media only screen and (min-width: 600px) {
    .production-list .production-item-none {
      margin-top: 20px; } }

.homepage-background {
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  z-index: -20;
  background-color: #000;
  transition: filter 1s; }
  [data-vis-viewportbg="invert"] .homepage-background {
    filter: invert(1); }
  .homepage-background .video,
  .homepage-background .poster {
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center; }
  .homepage-background .poster {
    transition: opacity 1s;
    background-size: cover;
    background-position: center; }
  .homepage-background .video.canplaythrough + .poster {
    opacity: 0; }

.discover-orchestra-background {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s;
  position: fixed;
  z-index: -9;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(ellipse at top left, #4e2936, #141228);
  background-size: cover; }
  [data-vis-current-section="1"] .discover-orchestra-background {
    opacity: 0.6;
    visibility: visible; }

.discover-orchestra {
  height: 100%;
  display: flex;
  flex-direction: column; }
  .discover-orchestra .heading {
    flex-grow: 0;
    padding: 0; }
    @media only screen and (min-width: 1200px) {
      .discover-orchestra .heading {
        margin-bottom: 4rem; } }
  .discover-orchestra .title {
    line-height: 1;
    text-transform: uppercase;
    position: relative;
    text-decoration: none;
    display: block;
    text-align: left;
    padding-top: 0; }
    .discover-orchestra .title .hide {
      color: #f95d62; }
  .discover-orchestra .sub-title {
    color: #fff; }
  .discover-orchestra .items {
    display: flex;
    flex-direction: column; }
  .discover-orchestra .item {
    margin-bottom: 4rem; }
    @media only screen and (min-width: 0) and (max-width: 1199px) {
      .discover-orchestra .item {
        padding-top: 30vh;
        padding-bottom: 30vh;
        margin-bottom: 0; } }
  .discover-orchestra .link {
    margin-top: 1rem; }
    .discover-orchestra .link.no-text {
      display: none; }
  .discover-orchestra .hover-background {
    display: none;
    transition: opacity 1s;
    position: fixed;
    z-index: -10;
    top: 0;
    width: 100%;
    left: 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0; }
    [data-visible="top"] .discover-orchestra .hover-background,
    [data-visible="bottom"] .discover-orchestra .hover-background,
    [data-visible="full"] .discover-orchestra .hover-background,
    [data-visible="cover"] .discover-orchestra .hover-background,
    [data-visible="contain"] .discover-orchestra .hover-background {
      display: block; }
  @media only screen and (min-width: 1200px) {
    .discover-orchestra .title {
      transition: 1s;
      white-space: nowrap; }
      .discover-orchestra .title .hide {
        display: inline-block;
        max-width: 0;
        opacity: 0;
        overflow: hidden;
        vertical-align: bottom;
        transition: 0.5s;
        transform: translateX(-8px); }
      .discover-orchestra .title .show {
        display: inline-block;
        vertical-align: bottom; }
      .discover-orchestra .title:hover .hide {
        max-width: 400px;
        opacity: 1;
        padding-right: 0.7rem;
        transform: translateX(0); }
      [data-vis-current-section="1"] .discover-orchestra .title:hover ~ .hover-background {
        opacity: 0.2;
        opacity: calc(0.5 * var(--vis-coverage) * var(--vis-coverage)); }
    .discover-orchestra .sub-title {
      transition: 1s;
      opacity: 0;
      transform: translateX(20px);
      position: absolute; }
    .discover-orchestra .title:hover + .sub-title {
      opacity: 1;
      transform: translateX(0); }
    .discover-orchestra .link {
      display: none; } }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .discover-orchestra .title .hide {
      display: none; }
    .discover-orchestra .item[data-visible="top"] .hover-background,
    .discover-orchestra .item[data-visible="bottom"] .hover-background,
    .discover-orchestra .item[data-visible="full"] .hover-background,
    .discover-orchestra .item[data-visible="cover"] .hover-background,
    .discover-orchestra .item[data-visible="contain"] .hover-background {
      opacity: calc(0.5 * var(--vis-ratio) * var(--vis-ratio));
      animation: 1s fade-in forwards; } }

/*
 * Homepage full page quote
 * - https://saybravo.atlassian.net/wiki/spaces/1ACO/pages/662765593/2.9.2+Homepage+Full+page+quote
 * - "full-page" as util to extend?
 */
.homepage-intro-quote {
  position: relative;
  z-index: 9;
  min-height: 100vh; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .homepage-intro-quote {
      height: 100vh; } }
  .homepage-intro-quote .text-container {
    margin: 0 auto;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 11;
    position: relative; }
  .homepage-intro-quote .title {
    margin-bottom: 1em;
    width: 100%;
    opacity: 0;
    animation: 2s 1s materialise ease-in forwards; }
  .homepage-intro-quote .sub-text {
    font-style: normal;
    text-align: center;
    display: block;
    color: #fff;
    width: 100%;
    opacity: 0;
    animation: 2s 2s materialise ease-in forwards; }
  .homepage-intro-quote > .primary-video {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    object-fit: cover; }
  .homepage-intro-quote .down-prompter {
    transform: translateX(-50%);
    width: 50px;
    height: 100px;
    position: absolute;
    z-index: 30;
    bottom: 20px;
    left: 50%;
    opacity: 1; }
    .homepage-intro-quote .down-prompter::after {
      width: 40px;
      height: 24px;
      content: "";
      display: block;
      position: absolute;
      top: 5px;
      left: 5px;
      animation: 3s fade-down-prompter linear infinite; }

[data-q-vid="0"] .homepage-intro-quote > .page-capsule > .primary-video {
  display: none; }

[data-q-vid="0"] .homepage-intro-quote > .page-capsule > .primary-video + .text-container {
  display: block; }

@keyframes materialise {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes pulse {
  from {
    text-shadow: 0 0 15px #fff; }
  to {
    text-shadow: 0 0 5px #fff; } }

@keyframes fade-down-prompter {
  0% {
    opacity: 0;
    transform: translateY(0); }
  25% {
    opacity: 1;
    transform: translateY(41px); }
  50% {
    opacity: 0;
    transform: translateY(41px); }
  100% {
    opacity: 0;
    transform: translateY(41px); } }

@keyframes show-down-prompter {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.homepage-news {
  display: flex;
  flex-direction: column; }
  .homepage-news .heading {
    flex-grow: 0;
    z-index: 20; }
  .homepage-news .item {
    display: block;
    flex-grow: 1;
    color: #fff;
    margin-bottom: 2rem;
    transition: opacity 0.2s; }
  .homepage-news .title {
    color: #fff;
    padding-top: 0;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    margin-bottom: 0;
    position: relative;
    z-index: 20; }
  .homepage-news .date {
    margin-bottom: 0.5px;
    position: relative;
    z-index: 20; }
  .homepage-news .description {
    margin-bottom: 0;
    position: relative;
    z-index: 20; }
    @media only screen and (min-width: 1200px) {
      .homepage-news .description {
        max-width: 75%; } }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .homepage-news .link {
      margin-top: 10px; } }
  @media only screen and (min-width: 1200px) {
    .homepage-news .link {
      display: none; } }
  .homepage-news .bg-image {
    background-size: cover;
    background-position: center;
    filter: grayscale(100%);
    z-index: -10;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    display: none;
    pointer-events: none; }
  @media only screen and (min-width: 0) and (max-width: 1199px) {
    .homepage-news {
      /* sass-lint:disable-block force-pseudo-nesting force-element-nesting */ }
      .homepage-news .item[data-visible="top"] .bg-image,
      .homepage-news .item[data-visible="bottom"] .bg-image,
      .homepage-news .item[data-visible="full"] .bg-image,
      .homepage-news .item[data-visible="cover"] .bg-image,
      .homepage-news .item[data-visible="contain"] .bg-image {
        opacity: calc(0.2 * var(--vis-ratio)); } }
  @media only screen and (min-width: 1200px) {
    .homepage-news {
      /* sass-lint:disable-block force-pseudo-nesting force-element-nesting */ }
      .homepage-news .bg-image {
        transition: 1s; }
      .homepage-news:hover .item {
        opacity: 0.6; }
      .homepage-news .heading:hover ~ .item,
      .homepage-news .item:hover {
        opacity: 1; }
      .homepage-news .item:hover .bg-image {
        opacity: 0.1;
        opacity: calc(0.3 * var(--vis-coverage) * var(--vis-coverage)); } }
  [data-visible="cover"] .homepage-news .bg-image,
  [data-visible="full"] .homepage-news .bg-image,
  [data-visible="top"] .homepage-news .bg-image,
  [data-visible="bottom"] .homepage-news .bg-image,
  [data-visible="contain"] .homepage-news .bg-image {
    display: block; }

@media only screen and (min-width: 1200px) {
  .viewport-layout-desktop .homepage-upcoming-performances {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 5.5rem;
    padding-bottom: 1rem; } }

.homepage-upcoming-performances .heading {
  margin-bottom: 2rem; }

.homepage-upcoming-performances .sub-title {
  margin-bottom: 0; }

.homepage-upcoming-performances .link {
  margin-top: 10px; }

.homepage-upcoming-performances .swiper-slide {
  overflow: hidden; }

.homepage-upcoming-performances .tile-swiper .swiper-slide {
  animation: content-dobby-hide 1s linear forwards; }
  .homepage-upcoming-performances .tile-swiper .swiper-slide.filtered-show {
    animation: content-dobby-show 1s linear forwards;
    display: block; }

@keyframes content-dobby-hide {
  0% {
    visibility: visible;
    opacity: 1;
    max-width: 1000px;
    margin-right: 30px; }
  50% {
    visibility: visible;
    opacity: 0;
    max-width: 1000px;
    margin-right: 30px; }
  100% {
    visibility: hidden;
    opacity: 0;
    max-width: 0;
    margin-right: 0; } }

@keyframes content-dobby-show {
  0% {
    visibility: hidden;
    opacity: 0;
    max-width: 0;
    margin-right: 0; }
  50% {
    visibility: visible;
    opacity: 0;
    max-width: 1000px;
    margin-right: 30px; }
  100% {
    visibility: visible;
    opacity: 1;
    max-width: 1000px;
    margin-right: 30px; } }

[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start; }

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit; }

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0; }

.simplebar-offset {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch; }

.simplebar-content-wrapper {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%;
  /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
  width: auto;
  visibility: visible;
  overflow: auto;
  /* Scroll on this element otherwise element can't have a padding applied properly */
  max-width: 100%;
  /* Not required for horizontal scroll to trigger */
  max-height: 100%;
  /* Needed for vertical scroll to trigger */ }

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

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none; }

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  height: 100%;
  width: inherit;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0; }

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1; }

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden; }

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all; }

.simplebar-scrollbar {
  position: absolute;
  right: 2px;
  width: 7px;
  min-height: 10px; }

.simplebar-scrollbar:before {
  position: absolute;
  content: "";
  background: black;
  border-radius: 7px;
  left: 0;
  right: 0;
  opacity: 0;
  transition: opacity 0.2s linear; }

.simplebar-track .simplebar-scrollbar.simplebar-visible:before {
  /* When hovered, remove all transitions from drag handle */
  opacity: 0.5;
  transition: opacity 0s linear; }

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px; }

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px; }

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px; }

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  height: 100%;
  left: 2px;
  right: 2px; }

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 2px;
  height: 7px;
  min-height: 0;
  min-width: 10px;
  width: auto; }

/* Rtl support */
[data-simplebar-direction="rtl"] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0; }

.hs-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll; }

/* -----------------------
CUSTOM
------------------------*/

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