@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1); } }
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0); }
  75% {
    transform: translate3d(0, 10px, 0); }
  90% {
    transform: translate3d(0, -5px, 0); }
  to {
    transform: translate3d(0, 0, 0); } }
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0); }
  75% {
    transform: translate3d(-10px, 0, 0); }
  90% {
    transform: translate3d(5px, 0, 0); }
  to {
    transform: translate3d(0, 0, 0); } }
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0); }
  75% {
    transform: translate3d(10px, 0, 0); }
  90% {
    transform: translate3d(-5px, 0, 0); }
  to {
    transform: translate3d(0, 0, 0); } }
#tour .masthead {
  position: relative;
  overflow: hidden; }

#tour .masthead .animation {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }
#tour .masthead .logo-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-110%) translateY(-45%); }
  #tour .masthead .logo-wrapper img {
    width: auto;
    height: 25vh;
    max-width: 42vw;
    object-fit: contain; }
  @media screen and (max-width: 1000px) {
    #tour .masthead .logo-wrapper {
      transform: translateX(-110%) translateY(-42%); } }
#tour .masthead .title-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(10%) translateY(-45%); }
  #tour .masthead .title-wrapper img {
    width: auto;
    height: 40vh;
    max-width: 42vw;
    object-fit: contain; }
  @media screen and (max-width: 1000px) {
    #tour .masthead .title-wrapper {
      transform: translateX(0%) translateY(-45%); } }
#tour .masthead h1 {
  animation-fill-mode: both;
  animation-duration: 0.7s;
  animation-name: bounceIn;
  animation-delay: 0.25s; }
#tour .masthead h2 {
  animation-fill-mode: both;
  animation-duration: 0.7s;
  animation-name: bounceInUp;
  animation-delay: 0.5s; }

#tour .section-title {
  line-height: 1;
  text-align: center; }

.tour-dates {
  padding: 10px 0 50px; }

.tour-date {
  display: flex;
  align-items: flex-start;
  width: 100%;
  font-size: 16px;
  border-bottom: 1px solid white;
  flex-wrap: nowrap;
  position: relative; }
  .tour-date.headers {
    display: none; }
  .tour-date .tour-new {
    display: inline-block;
    background: #ffaf3c;
    color: black;
    transform: rotate(-15deg);
    width: 38px;
    height: 38px;
    margin-left: -40px;
    margin-right: 5px;
    text-align: center;
    font-weight: bold;
    line-height: 3.5;
    font-size: 11px;
    border-radius: 50%; }
    @media screen and (min-width: 800px) {
      .tour-date .tour-new {
        position: absolute;
        left: -40px;
        top: 8px;
        margin-right: 0;
        margin-left: 0; } }
  .tour-date .tour-sold-out {
    display: inline-block;
    background: black;
    color: white;
    transform: rotate(-15deg);
    width: 38px;
    height: 38px;
    margin-left: -40px;
    margin-right: 5px;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    font-size: 11px;
    border-radius: 50%;
    padding-top: 9px; }
    @media screen and (min-width: 800px) {
      .tour-date .tour-sold-out {
        position: absolute;
        left: -40px;
        top: 8px;
        margin-right: 0;
        margin-left: 0; } }
  @media screen and (max-width: 800px) {
    .tour-date {
      flex-wrap: wrap;
      margin-bottom: 20px;
      padding-bottom: 15px;
      text-align: center; } }
  .tour-date .tour-field {
    padding: 12px;
    text-transform: uppercase; }
    @media screen and (max-width: 800px) {
      .tour-date .tour-field {
        padding: 0;
        padding-bottom: 5px; } }
  .tour-date .date {
    font-weight: bold;
    flex: 1 1 10%; }
    @media screen and (max-width: 800px) {
      .tour-date .date {
        flex: 1 1 100%;
        font-size: 22px; } }
  .tour-date .location {
    flex: 1 1 15%; }
    @media screen and (max-width: 800px) {
      .tour-date .location {
        flex: 1 1 100%; } }
  .tour-date .venue {
    flex: 1 1 20%; }
    .tour-date .venue small {
      line-height: 1.5;
      display: inline-block; }
    @media screen and (max-width: 800px) {
      .tour-date .venue {
        flex: 1 1 100%;
        margin-bottom: 15px; } }
  .tour-date .tickets {
    flex: 1 1 35%;
    text-align: right; }
    @media screen and (max-width: 800px) {
      .tour-date .tickets {
        flex: 1 1 100%; } }
    .tour-date .tickets.labels span {
      width: 125px;
      border-color: transparent;
      color: black;
      font-weight: bold; }
      .tour-date .tickets.labels span:hover {
        background: none;
        color: black;
        border-color: transparent; }
    .tour-date .tickets .button,
    .tour-date .tickets span {
      display: inline-block;
      padding: 5px 10px;
      margin-left: 15px;
      margin-bottom: 5px;
      background: transparent;
      color: #d70014;
      border: 1px solid #d70014;
      width: 125px;
      text-align: center; }
      @media screen and (max-width: 945px) {
        .tour-date .tickets .button,
        .tour-date .tickets span {
          margin-bottom: 5px;
          width: 150px;
          text-align: center; } }
      @media screen and (max-width: 800px) {
        .tour-date .tickets .button,
        .tour-date .tickets span {
          margin-left: 0px;
          margin: 5px auto 10px;
          display: block;
          width: 200px; } }
      .tour-date .tickets .button.blank,
      .tour-date .tickets span.blank {
        border-color: transparent !important;
        background: none !important; }
      .tour-date .tickets .button.vip,
      .tour-date .tickets span.vip {
        background: #d70014;
        color: white; }
      .tour-date .tickets .button:hover,
      .tour-date .tickets span:hover {
        background: black;
        color: white;
        border-color: black; }
  .tour-date .button.sold_out {
    opacity: 0.3;
    pointer-events: none;
    border-color: #444;
    background: #444;
    color: white; }

body.page-tour-splash-2022 {
  background: #335971 url(../images/tour-background.jpg) no-repeat center center;
  background-size: cover;
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden; }
  body.page-tour-splash-2022 header.global,
  body.page-tour-splash-2022 header.mobile,
  body.page-tour-splash-2022 footer.global {
    display: none !important; }
  body.page-tour-splash-2022 .tour-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-55%); }
    @media screen and (max-height: 900px) {
      body.page-tour-splash-2022 .tour-content {
        transform: translateX(-50%) translateY(-55%) scale(0.9); } }
    @media screen and (max-height: 700px) {
      body.page-tour-splash-2022 .tour-content {
        transform: translateX(-50%) translateY(-55%) scale(0.8); } }
    @media screen and (max-height: 600px) {
      body.page-tour-splash-2022 .tour-content {
        transform: translateX(-50%) translateY(-55%) scale(0.7); } }
    @media screen and (max-width: 800px) {
      body.page-tour-splash-2022 .tour-content {
        transform: translateX(-50%) translateY(-65%); } }
  body.page-tour-splash-2022 h1 {
    text-indent: -10000px;
    background: url(../images/tour-logo-2022.png) no-repeat center center;
    background-size: contain;
    width: 30vw;
    height: 15.8vw;
    max-width: 450px;
    max-height: 237px;
    position: relative;
    animation-fill-mode: both;
    animation-duration: 0.7s;
    animation-name: bounceIn;
    animation-delay: 0.25s;
    z-index: 5;
    margin-top: -20%; }
    @media screen and (min-height: 1100px) {
      body.page-tour-splash-2022 h1 {
        max-width: 900px;
        max-height: 474px; } }
    @media screen and (max-width: 800px) {
      body.page-tour-splash-2022 h1 {
        width: 69.2307692308vw;
        height: 36.4615384615vw;
        margin-top: 0%; } }
  body.page-tour-splash-2022 h2 {
    text-indent: -10000px;
    background: url(../images/tour-title-2022.png) no-repeat center center;
    background-size: contain;
    width: 30vw;
    height: 31.5vw;
    max-width: 450px;
    max-height: 472.5px;
    position: relative;
    animation-fill-mode: both;
    animation-duration: 0.7s;
    animation-name: bounceInUp;
    animation-delay: 0.5s;
    z-index: 5;
    margin-top: -21%; }
    @media screen and (min-height: 1100px) {
      body.page-tour-splash-2022 h2 {
        max-width: 900px;
        max-height: 945px; } }
    @media screen and (max-width: 800px) {
      body.page-tour-splash-2022 h2 {
        width: 69.2307692308vw;
        height: 72.6923076923vw;
        margin-top: -28%; } }
  body.page-tour-splash-2022 .tour-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 6;
    transform: translateX(-50%) translateY(-50%);
    cursor: pointer; }
    body.page-tour-splash-2022 .tour-play-button img {
      animation-fill-mode: both;
      animation-duration: 0.7s;
      animation-name: bounceIn;
      animation-delay: 1.5s; }
  body.page-tour-splash-2022 .links {
    position: fixed;
    bottom: 6%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    text-transform: uppercase;
    text-align: center; }
    @media screen and (max-width: 800px) {
      body.page-tour-splash-2022 .links {
        bottom: 10%; } }
    body.page-tour-splash-2022 .links .button {
      background: #d70014;
      color: white;
      display: inline-block;
      padding: 10px 30px;
      font-size: 18px;
      margin-bottom: 20px;
      width: 250px;
      font-weight: bold;
      animation-fill-mode: both;
      animation-duration: 0.7s;
      animation-name: bounceIn;
      animation-delay: 0.75s; }
      body.page-tour-splash-2022 .links .button:hover {
        background: white;
        color: #d70014; }
    body.page-tour-splash-2022 .links .continue {
      color: white;
      text-decoration: none;
      font-size: 14px;
      display: inline-block;
      animation-fill-mode: both;
      animation-duration: 0.5s;
      animation-name: bounceIn;
      animation-delay: 1s; }
      body.page-tour-splash-2022 .links .continue:hover {
        text-decoration: underline; }

.tour-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none; }

.tour-popup-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center; }
  .tour-popup-content .tour-popup-wrapper {
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative; }
  .tour-popup-content .popup-close-button {
    position: absolute;
    top: -39px;
    right: 18px;
    font-size: 32px;
    font-weight: bold; }
    @media screen and (max-width: 800px) {
      .tour-popup-content .popup-close-button {
        font-size: 22px; } }
  .tour-popup-content video {
    max-width: 90%;
    max-height: 80vh;
    height: auto;
    width: auto;
    margin: 0 auto; }
