/* 1.5.1 / October 26 comments, presales and ticket corrections. */
.story-dash { display: inline-block; width: 2.2em; height: 0; border-top: 1px solid currentColor; vertical-align: .35em; margin-right: .15em; }
.presale { margin-bottom: 42px; }
.presale .subheading { margin-bottom: 16px; }
#presale-title span { display: inline-block; }
.presale-registration { text-align: center; margin: 0 0 24px; }
.presale-registration .button { width: min(100%, 520px); margin-inline: auto; justify-content: center; font-size: 16px; }
.presale-registration .button, .booking-card--online .button { display: grid; grid-template-columns: minmax(0, 1fr) 20px; align-items: center; column-gap: 12px; }
.presale-registration .button > span:not(.sr-only), .booking-card--online .button > span:not(.sr-only) { min-width: 0; text-align: center; }
.presale-registration .button > .icon, .booking-card--online .button > .icon { grid-column: 2; grid-row: 1; margin: 0; color: #fff; }
.presale-registration .button > .icon > use[href="#i-external"], .booking-card--online .button > .icon > use[href="#i-external"], .playguide-list .button--solid > .icon > use[href="#i-external"] { color: #fff; stroke: #fff; }
.presale-registration__part { display: inline-block; white-space: nowrap; }
.presale-periods { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.presale-period { min-width: 0; padding: 26px 22px; text-align: center; border: 1px solid #d0bea2; background: #e8dcc938; }
.presale-period h5 { margin: 0 0 14px; color: #9e1932; font: 600 20px/1.6 var(--serif); }
.presale-dates { margin: 0; font: 600 20px/1.9 var(--sans); letter-spacing: .02em; }
.presale-dates span { display: inline-block; white-space: nowrap; }
.presale-fee { margin: 14px 0 0; font: 16px/2 var(--sans); }
.presale .text-link { font-size: inherit; }
.presale-notices { margin-top: 22px; font: 15px/2 var(--sans); letter-spacing: .02em; text-align: left; }
.presale-notices p { margin: 0 0 8px; }
.presale-registration-note { display: inline-block; white-space: nowrap; }
.presale-notices .text-link { min-height: 0; padding: 0; gap: .3em; line-height: inherit; vertical-align: baseline; white-space: nowrap; }
.booking-email { margin: 10px 0 0; font: 15px/1.6 var(--serif); letter-spacing: 0; overflow-wrap: anywhere; }
.booking-email a { color: #9e1932; text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 767px) {
  .presale { margin-bottom: 32px; }
  #presale-title { line-height: 1.9; }
  .presale-registration .button { min-height: 62px; font-size: 16px; line-height: 1.6; letter-spacing: .02em; padding: 14px 12px; column-gap: 8px; }
  .presale-periods { grid-template-columns: 1fr; gap: 12px; }
  .presale-period { padding: 20px 12px; }
  .presale-period h5 { font-size: 18px; margin-bottom: 8px; }
  .presale-dates { font-size: 18px; }
  .presale-dates span { display: block; }
  .presale-fee { font-size: 15px; }
  .presale-notices { font-size: 14px; }
}
