/* Tickets */
#tickets {
  position: relative;
}
#tickets .container {
  width: 100%;
  margin: 0 auto;
  max-width: 1200px;
  align-items: flex-start;
  row-gap: 3em;
}
@media (max-width: 767px){
  #tickets .container {
    padding: 0 .6875em;
  }
  #tickets .calendar {
    flex: 0 0 100%;
  }
}
.home #tickets .container {
  max-width: 40em;
}
body.tickets-off #tickets > .container {
  pointer-events: none;
  filter: blur(12px);
  opacity: .5;
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  z-index: -1;
}
.home #calendar {
  margin: 4em auto;
}
#home #calendar .faq,
#south-park #calendar {
  display: none;
}
#home #tickets > .container {
    padding-top: 1px;
}
#tickets .container > .flex,
#tickets .container > .flex > * {
  align-items: stretch;
  justify-content: space-between;
}
@media (max-width: 767px){
  #tickets .container > .flex {
    gap: 3em;
  }
}

#hed-tickets {
  width: 100%;
  margin: 0 auto;
  max-width: 480px;
  min-width: 300px;
  padding: .875em 0 2.375em;
  display: none;
}
body.tickets #hed-tickets {
  display: block;
}
@media (max-width:767px) {
  #hed-tickets {
    width:300px;
  }
}

@media (min-width: 768px){
  #tickets .cal {
    order: 2;
  }
  #tickets .faq {
    order: 1;
  }
  #tickets .faq h2 {
    flex: 0 0 13%;
  }
  #tickets .faq .scroll-container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content:space-between;
    flex: 0 0 85%;
  }
  #tickets .faq #faq-window {
    position: absolute; top: 8%; left: 0; width: 100%; height: 84%; overflow: auto; padding-right: 1em;
    font-size: 1.0625em;
  }
  .faq {
    display: flex;
    flex-direction: column;
  }
  .faq .scroll-container > button {
    line-height: 0;
  }
  #faq-scroll-up:hover, #faq-scroll-down:hover {
    opacity: .625;
  }
}

@media (max-width: 767px){
  #tickets .faq {
    text-align: center;
    font-size: 1.375em;
  }
  .tickets-off #tickets .faq {
    display: none;
  }
}

@media (max-width: 767px){
  #tickets .faq h2 {
    margin-bottom: 1em;
  }
}

html:not(.page-loaded) #tickets h2,
html:not(.page-loaded) #best-avail {
  display: none;
}
#tickets .faq h3 {
  font-size: .875em;
  line-height: 1.1;
  font-weight: normal;
  color: #867261;
  margin-top: 1em;
}

#tickets .faq h3:first-child {
  margin:0;
}

#tickets .faq p {
  font-size: .875em;
}

#tickets .faq a {
  color: #867261;
}

#tickets button {
  transition: filter .25s;
}

#tickets button.inactive {
  opacity: .25;
  pointer-events: none;
}

#best-avail {
  position:relative;
  z-index:5;
  min-height: 7em;
  margin: 0 auto 2em;
}
#home #tickets {
  padding-top: 3.25em;
}
@media (max-width:532px) {
  #best-avail {
    font-size: 3.375vw;
  }
}
.tickets-off #best-avail {
  display: none;
}
body.tickets #tickets #best-avail {
  margin: -1em auto 3em;
}
body.tickets #tickets #best-avail p {
  display: none;
}
@media (max-width: 767px) {
  #best-avail .date-box:nth-of-type(5),
  #best-avail .date-box:nth-of-type(6),
  #best-avail .divider:nth-of-type(4),
  #best-avail .divider:nth-of-type(5) {
    display:none;
  }
}


#best-avail .bg-line span {
  background:#fff;
  padding:0;
}
.bg-line span {
  background: #ec7207;
  padding: 0 10px;
}

.legend {
  color: #867261;
  text-align: center;
  line-height: 1;
  font-size: 24px;
  margin:20px 0;
}

.text-orange {
  color: #ec7207;
}

.orange {
  width:24px;
  height:24px;
  background:#ec7207;
  display:inline-block;
  margin-right:10px;
  vertical-align:bottom;
}

#see-soon h2, #best-avail h2 {
  text-align: center;
  font-weight: 800;
  font-size: 1.9375em;
  letter-spacing: -.0125em;
  padding: 0;
  margin: 0 0 .625em;
  position: relative;
  background: #e5e0db;
  height: 32px;
  z-index: 4;
}

#see-soon h2 {
  margin-top:20px;
}

#see-soon h2.bg-line > span,
#best-avail h2.bg-line > span {
  background-color:#fff;
  padding:0 30px;
  position:relative;
  line-height: .9em;
}

.left {
  position:absolute;
  left:0;
  top:0;
}

.right {
  position:absolute;
  right:0;
  top:0;
}

.date-row {
  display:flex;
  justify-content: space-around;
  align-items: stretch;
}

.date-box {
  flex-grow: 1;
	display: block;
  flex-basis: 0;
  max-width: 16.6666667%;
  padding:10px 0;
}

.date-row .divider {
  border-right:2px solid #e5e0db;
}

.date-box:hover .day-time {
  color:#ec7207;
}

.date-box:last-child {
  border-right:0px solid #fff;
}

.dow {
  text-align:center;
  display:block;
  text-transform:uppercase;
  font-size:.6875em;
  color:#000;
  font-family: 'GothamBold';
  margin-bottom:3px;
}

.day-time {
  text-align:center;
  font-size:1.5em;
  line-height: .9;
  color:#867261;
  display:block;
  font-family: 'GothamBlack';
  text-transform: uppercase;
  transition: color .125s;
}

 #monthStart, #curMon, .first-date {
  display:none;
}


@media (max-width:767px) {
  #best-avail h2 {
    font-size: 20px;
    height: 20px;
  }

  .left {
    top:2px;
  }

  .right {
    top:2px;
  }

  .date-box {
    max-width: 25%;
  }

  .date-box:nth-of-type(5), .date-box:nth-of-type(6) {
    display:none;
  }

  .date-box.hidden-xs {
    display:none!important;
  }

  .info-block p {
    font-size:.875em;
  }

  .date-box:nth-of-type(4) {
    border-right:0px solid #fff;
  }

  #cal-block-sm {
    width: 100%;
  }

  #selected-show, .select-directions {
    background:#786c61;
    color:#fff;
    font-family: "GothamMedium";
    letter-spacing: .05em;
    text-align:center;
    padding: 1em;
  }

  .select-directions,
  .perf-select-line {
    font-weight: 600;
    display: block;
    text-transform: uppercase;
    font-size: .75em;
    padding-bottom: .625em;
  }

  .select-directions {
    font-size: 1.25em;
    margin-bottom: 0.125em;
  }
  #selected-show {
    margin-top: .2em;
  }

  .perf a {
    font-size: 1.375em;
    font-family: "GothamBlack";
    color:#fff;
    text-transform: uppercase;
  }

  .tix-button a {
    width: 100%;
    margin: 5px auto;
    padding: .5em;
    text-align: center;
    color: #fff;
    background: #ec7207;
    display: block;
    font-family: "GothamBlack";
    font-size: 1.875em;
  }
  .tix-button a:hover {
    filter: brightness(1.1);
  }

  .asterisk {
    display:inline-block!important;
  }

  .legend {
    font-size:20px;
  }

  .orange.hidden-xs {
    display:none;
  }

  .mbsc-sel-gr-whl {
    border-right:2px solid #83715f;
    background:#fff;
    background:linear-gradient(180deg,rgba(131, 113, 95,.1) 0,rgba(131, 113, 95,.025) 30%,transparent 40%,transparent 70%,rgba(131, 113, 95,.025) 90%,rgba(131, 113, 95,.1));
  }

  .mbsc-mobiscroll .mbsc-sc-whl-gr {
    padding:0em;
    background:linear-gradient(180deg,rgba(131, 113, 95,.3) 0,rgba(131, 113, 95,.1) 30%,transparent 40%,transparent 70%,rgba(131, 113, 95,.1) 90%,rgba(131, 113, 95,.3));
    max-width:700px!important;
  }


  .mbsc-mobiscroll .mbsc-sc-whl-w {
    margin:0;
  }

  .mbsc-mobiscroll .mbsc-sc-whl-l {
    border:0px solid transparent;
    box-shadow:0px 11px 8px -10px rgba(131, 113, 95, .4),
         0px -11px 8px -10px rgba(131, 113, 95, .4);
  }

  .mbsc-mobiscroll .mbsc-sc-itm {
    font-family: "GothamMedium";
    color:#867261;
    font-weight:500;
    font-size:20px;
  }

  .mbsc-mobiscroll.mbsc-no-touch .mbsc-sc-itm.mbsc-btn-e:hover, .mbsc-mobiscroll .mbsc-sc-itm:focus,
  .mbsc-mobiscroll.mbsc-no-touch .mbsc-sc-itm.mbsc-btn-e:hover, .mbsc-mobiscroll .mbsc-sc-itm:focus {
    background:transparent;
  }

  .mbsc-sc-whl-o {

  }
}

@media (min-width:768px) and (max-width:991px) {
  .info-block p {
    font-size:14px;
  }
  .dow {
    font-size:1.2vw;
  }

  .day-time {
    font-size: 1.25em;
  }
}

@media (min-width:1200px) {
  .dow {
    font-size:14px;
  }

  .day-time {
    font-size:1.5em;
  }
}