@layer Base, Framework, Theme, Components, Utilities, Custom, Reginald;
/*
 * Placeholder Classes
 */
/*
 * Mixins
 */
@font-face {
  font-family: "lilregie";
  src: url(/assets/lilregie-86520b26298dbf942c35c7e9039213cd98e44c7e9b5e92f9082dc1ef17fa36df.eot?j9g3c1);
  src: url(/assets/lilregie-86520b26298dbf942c35c7e9039213cd98e44c7e9b5e92f9082dc1ef17fa36df.eot?j9g3c1#iefix) format("embedded-opentype"), url(/assets/lilregie-3a86cc8791e5bed581c206a31bf0be0e2da6705310610844aeb9e582d917fce7.ttf?j9g3c1) format("truetype"), url(/assets/lilregie-4d3575bab228243b2f2f59ba68051b33c1f29d1ad040ba3081e36137ac3675cc.woff?j9g3c1) format("woff"), url(/assets/lilregie-9fe2d6d748e7a9c7ec52fc0c66759346ed030f1d4fde58bd3960f460768a7d57.svg?j9g3c1#lilregie) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  src: url(/assets/Montserrat-VF-5c8b3d46133b191cc84c7bb359bf1933b6f9808d7178e0d294bea7156b4f9ca9.woff2) format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-display: swap;
  src: url(/Montserrat-italic-VF.woff2) format("woff2");
}
/* Base layer - foundational styles and resets */
@layer Base {
  /* Document
   * ========================================================================== */
  /**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   */
  :where(html) {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    text-size-adjust: 100%; /* 2 */
  }
  /* Sections
   * ========================================================================== */
  /**
   * Remove the margin in all browsers. (opinionated)
   */
  :where(body) {
    margin: 0;
  }
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Edge, Firefox, and Safari.
   */
  :where(h1) {
    font-size: 2em;
    margin-block-end: 0.67em;
    margin-block-start: 0.67em;
  }
  /* Grouping content
   * ========================================================================== */
  /**
   * Remove the margin on nested lists in Chrome, Edge, and Safari.
   */
  :where(dl, ol, ul) :where(dl, ol, ul) {
    margin-block-end: 0;
    margin-block-start: 0;
  }
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Correct the inheritance of border color in Firefox.
   */
  :where(hr) {
    box-sizing: content-box; /* 1 */
    color: inherit; /* 2 */
    height: 0; /* 1 */
  }
  /* Text-level semantics
   * ========================================================================== */
  /**
   * Add the correct text decoration in Safari.
   */
  :where(abbr[title]) {
    text-decoration: underline;
    text-decoration: underline dotted;
  }
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  :where(b, strong) {
    font-weight: bolder;
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  :where(code, kbd, pre, samp) {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  /**
   * Add the correct font size in all browsers.
   */
  :where(small) {
    font-size: 80%;
  }
  /* Tabular data
   * ========================================================================== */
  /**
   * 1. Correct table border color in Chrome, Edge, and Safari.
   * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
   */
  :where(table) {
    border-color: currentColor; /* 1 */
    text-indent: 0; /* 2 */
  }
  /* Forms
   * ========================================================================== */
  /**
   * Remove the margin on controls in Safari.
   */
  :where(button, input, select) {
    margin: 0;
  }
  /**
   * Remove the inheritance of text transform in Firefox.
   */
  :where(button) {
    text-transform: none;
  }
  /**
   * Correct the inability to style buttons in iOS and Safari.
   */
  :where(button, input:is([type=button i], [type=reset i], [type=submit i])) {
    -webkit-appearance: button;
  }
  /**
   * Add the correct vertical alignment in Chrome, Edge, and Firefox.
   */
  :where(progress) {
    vertical-align: baseline;
  }
  /**
   * Remove the inheritance of text transform in Firefox.
   */
  :where(select) {
    text-transform: none;
  }
  /**
   * Remove the margin in Firefox and Safari.
   */
  :where(textarea) {
    margin: 0;
  }
  /**
   * 1. Correct the odd appearance in Chrome, Edge, and Safari.
   * 2. Correct the outline style in Safari.
   */
  :where(input[type=search i]) {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  /**
   * Correct the cursor style of increment and decrement buttons in Safari.
   */
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  /**
   * Correct the text style of placeholders in Chrome, Edge, and Safari.
   */
  ::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
  }
  /**
   * Remove the inner padding in Chrome, Edge, and Safari on macOS.
   */
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  /**
   * 1. Correct the inability to style upload buttons in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  /**
   * Remove the inner border and padding of focus outlines in Firefox.
   */
  :where(button, input:is([type=button i], [type=color i], [type=reset i], [type=submit i]))::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  /**
   * Restore the focus outline styles unset by the previous rule in Firefox.
   */
  :where(button, input:is([type=button i], [type=color i], [type=reset i], [type=submit i]))::-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  /**
   * Remove the additional :invalid styles in Firefox.
   */
  :where(:-moz-ui-invalid) {
    box-shadow: none;
  }
  /* Interactive
   * ========================================================================== */
  /*
   * Add the correct styles in Safari.
   */
  :where(dialog) {
    background-color: white;
    border: solid;
    color: black;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
  :where(dialog:not([open])) {
    display: none;
  }
  /*
   * Add the correct display in all browsers.
   */
  :where(summary) {
    display: list-item;
  }
  *,
  *:before,
  *:after {
    box-sizing: border-box;
  }
  body {
    font-family: system-ui, sans-serif;
  }
  #content,
  .content,
  .account-events {
    --padding-inline: 1rem;
    --content-max-width: 550px;
    --breakout-max-width: 980px;
    --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2);
    display: grid;
    grid-template-columns: [full-width-start] minmax(var(--padding-inline), 1fr) [breakout-start] minmax(0, var(--breakout-size)) [content-start] min(100% - var(--padding-inline) * 2, var(--content-max-width)) [content-end] minmax(0, var(--breakout-size)) [breakout-end] minmax(var(--padding-inline), 1fr) [full-width-end];
    gap: 1.5rem 0;
  }
  #content > :not(.breakout, .full-width),
  .content > :not(.breakout, .full-width),
  .account-events > :not(.breakout, .full-width) {
    grid-column: content;
  }
  #content > .breakout,
  .content > .breakout,
  .account-events > .breakout {
    grid-column: breakout;
  }
  #content .content,
  #content > .full-width,
  .content .content,
  .content > .full-width,
  .account-events .content,
  .account-events > .full-width {
    grid-column: full-width;
  }
  #content .banner-image.full-width,
  .content .banner-image.full-width,
  .account-events .banner-image.full-width {
    margin-inline: calc(-1 * var(--padding-inline));
  }
  :where(address) {
    font-style: normal;
  }
  :where(address a:not(:hover)) {
    text-decoration: none;
  }
  :where(dd) {
    margin: 0;
  }
  :where(fieldset) {
    min-inline-size: auto;
  }
  :where(label)[for],
  :where(label) input[type=radio],
  :where(label) input[type=checkbox] {
    cursor: pointer;
  }
  :where(label.isRequired, label.input--required):after {
    color: var(--accent-color);
    content: "*";
    margin-left: 0.5em;
  }
  :where(input, textarea, select) {
    font-family: inherit;
    max-width: 100%;
  }
  @media screen and (prefers-reduced-motion: no-preference) {
    html {
      scroll-behavior: smooth;
    }
  }
  path {
    fill: currentColor;
  }
}
/* Framework layer - Third-party library styles */
@layer Framework {}
/* Theme layer - color schemes, typography, etc. */
@layer Theme {
  :root {
    --brand-color: #CF2265;
    --accent-color: var(--brand-color);
    --accent-color-light: color-mix(in oklab, var(--accent-color), #fff 80%);
    --accent-color-dark: color-mix(in oklab, var(--accent-color), #000 10%);
  }
  :root {
    --primary-color: #3b82f6;
    --text-color: #000000;
    --background-color: #ffffff;
    --checkout-background-color: #F5F5F5;
    --background-color-standout: #F5F5F5;
    --eventlet-border-radius: 8px;
    --ticket-option-border-radius: 8px;
  }
  body {
    color: var(--text-color);
    background-color: var(--background-color);
    font-family: "Montserrat", system-ui, sans-serif;
    line-height: 1.5;
  }
  body.checkout {
    background-color: var(--checkout-background-color);
  }
  fieldset {
    border: none;
    padding: 0;
    margin: 0;
  }
  fieldset + fieldset {
    margin-top: 1.5rem;
  }
  fieldset legend {
    font-size: 1.25em;
    font-weight: bold;
  }
  input[type=radio], input[type=checkbox] {
    cursor: pointer;
  }
  input:not([type=radio], [type=checkbox]),
  select,
  textarea {
    background-color: var(--background-color);
    border: 2px solid #D9D9D9;
    border-radius: 3px;
    font-size: 1rem;
    padding: 0.75em 1em;
    outline: none;
  }
  input:not([type=radio], [type=checkbox]):focus,
  select:focus,
  textarea:focus {
    border-color: var(--accent-color);
  }
  input:not([type=radio], [type=checkbox]):hover,
  select:hover,
  textarea:hover {
    border-color: var(--accent-color-dark);
  }
  input:not([type=radio], [type=checkbox]),
  textarea {
    width: 100%;
  }
  textarea {
    line-height: 1.5;
    min-height: 6em;
    max-height: 75dvh;
  }
  span.required {
    color: var(--accent-color);
  }
}
/* Components layer - specific UI elements */
@layer Components {
  /* Generated with Bounce.js */
  @keyframes anim-jelly {
    0% {
      scale: 0;
    }
    1.666667% {
      scale: 0.66484 0.32967;
    }
    3.333333% {
      scale: 0.74881 0.49763;
    }
    5% {
      scale: 0.83921 0.67843;
    }
    6.666667% {
      scale: 0.92553 0.85105;
    }
    8.333333% {
      scale: 1 1;
    }
    10% {
      scale: 1.05781 1.11561;
    }
    11.666667% {
      scale: 1.09687 1.19375;
    }
    13.333333% {
      scale: 1.11747 1.23494;
    }
    15% {
      scale: 1.12167 1.24333;
    }
    16.666667% {
      scale: 1.11271 1.22542;
    }
    18.333333% {
      scale: 1.09444 1.18888;
    }
    20% {
      scale: 1.07078 1.14155;
    }
    21.666667% {
      scale: 1.0453 1.09061;
    }
    23.333333% {
      scale: 1.02098 1.04197;
    }
    25% {
      scale: 1 1;
    }
    26.666667% {
      scale: 0.98371 0.96742;
    }
    28.333333% {
      scale: 0.9727 0.94541;
    }
    30% {
      scale: 0.9669 0.9338;
    }
    31.666667% {
      scale: 0.96572 0.93144;
    }
    33.333333% {
      scale: 0.96824 0.93648;
    }
    35% {
      scale: 0.97339 0.94678;
    }
    36.666667% {
      scale: 0.98006 0.96011;
    }
    38.333333% {
      scale: 0.98723 0.97447;
    }
    40% {
      scale: 0.99409 0.98817;
    }
    41.666667% {
      scale: 1 1;
    }
    43.333333% {
      scale: 1.00459 1.00918;
    }
    45% {
      scale: 1.00769 1.01538;
    }
    46.666667% {
      scale: 1.00933 1.01865;
    }
    48.333333% {
      scale: 1.00966 1.01932;
    }
    50% {
      scale: 1.00895 1.0179;
    }
    51.666667% {
      scale: 1.0075 1.015;
    }
    53.333333% {
      scale: 1.00562 1.01124;
    }
    55% {
      scale: 1.0036 1.00719;
    }
    56.666667% {
      scale: 1.00167 1.00333;
    }
    58.333333% {
      scale: 1 1;
    }
    60% {
      scale: 0.99871 0.99741;
    }
    61.666667% {
      scale: 0.99783 0.99567;
    }
    63.333333% {
      scale: 0.99737 0.99474;
    }
    65% {
      scale: 0.99728 0.99456;
    }
    66.666667% {
      scale: 0.99748 0.99496;
    }
    68.333333% {
      scale: 0.99789 0.99577;
    }
    70% {
      scale: 0.99842 0.99683;
    }
    71.666667% {
      scale: 0.99899 0.99797;
    }
    73.333333% {
      scale: 0.99953 0.99906;
    }
    75% {
      scale: 1 1;
    }
    76.666667% {
      scale: 1.00036 1.00073;
    }
    78.333333% {
      scale: 1.00061 1.00122;
    }
    80% {
      scale: 1.00074 1.00148;
    }
    81.666667% {
      scale: 1.00077 1.00153;
    }
    83.333333% {
      scale: 1.00071 1.00142;
    }
    85% {
      scale: 1.0006 1.00119;
    }
    86.666667% {
      scale: 1.00045 1.00089;
    }
    88.333333% {
      scale: 1.00029 1.00057;
    }
    90% {
      scale: 1.00013 1.00026;
    }
    91.666667% {
      scale: 1 1;
    }
    93.333333% {
      scale: 0.9999 0.99979;
    }
    95% {
      scale: 0.99983 0.99966;
    }
    96.666667% {
      scale: 0.99979 0.99958;
    }
    98.333333% {
      scale: 0.99978 0.99957;
    }
    100% {
      scale: 1 1;
    }
  }
  .message p {
    animation: anim-jelly 800ms linear 100ms both;
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    padding: 10px 0;
    margin: 0 0 20px 0;
  }
  .message.error {
    background: #c00;
    color: #fff;
  }
  .message.notice {
    background: #A3D900;
    color: #000;
  }
  @media only screen and (max-width: 515px) {
    .message p {
      font-size: 16px;
    }
  }
  #logout {
    border-radius: 3px;
    text-align: center;
    position: fixed;
    right: 5px;
    bottom: 5px;
    width: 110px;
    padding: 8px;
    color: #fff;
    font-size: 11px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.4);
  }
  #logout a {
    font-weight: bold;
    color: #fff;
    text-decoration: underline;
  }
  .booking-header__hero-image {
    display: block;
    object-fit: cover;
    height: clamp(250px, 30dvh, 560px);
    width: 100%;
  }
  .booking-header__hero-image.isFixed {
    border-radius: 0.5rem;
    margin-block-start: 1.5rem;
    object-fit: contain;
    height: auto;
    max-height: 560px;
  }
  .booking-header__title {
    background-color: var(--background-color);
    margin: 0;
    font-size: 3rem;
    font-weight: bold;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  .event-details {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
    margin: 0;
    overflow-wrap: break-word;
  }
  .event-details dt {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    font-size: 1.5rem;
    font-weight: bold;
    margin-block-end: 0.5rem;
  }
  .standout {
    border-radius: 10px;
    padding: 12px 20px;
    background-color: var(--background-color-standout);
  }
  a {
    color: inherit;
  }
  a.btn {
    display: inline-block;
    text-decoration: none;
    text-align: center;
  }
  a.btn-booking-form-header {
    border: 1px solid var(--text-color);
    border-radius: 0.625rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.25em;
    flex-shrink: 0;
    padding: 0.5rem 0.625rem;
    font-size: 1.5rem;
    font-weight: 600;
    font-variant: tabular-nums;
    line-height: 1;
  }
  a.btn-booking-form-header:hover {
    background-color: var(--text-color);
    color: var(--background-color);
  }
  .btn {
    cursor: pointer;
    background-color: transparent;
    border-width: 0;
    border-style: solid;
  }
  .btn-rounded {
    border-width: 1px;
    border-radius: 9999px;
    padding: 0.5rem 1rem;
  }
  .btn-cta {
    flex-shrink: 0;
    font-size: 1.25rem;
    font-weight: bold;
    padding: 1rem 3rem;
    text-decoration: none;
    text-align: center;
  }
  .btn-secondary {
    background-color: transparent;
  }
  .btn-secondary:hover {
    border-color: var(--text-color);
    background-color: var(--text-color);
    color: var(--background-color);
  }
  .btn-cta, .btn-primary {
    border-color: var(--accent-color);
    background-color: var(--accent-color);
    color: white;
  }
  .btn-cta:hover, .btn-primary:hover {
    border-color: var(--accent-color-dark);
    background-color: var(--accent-color-dark);
  }
  .btn-cta, .btn-primary, .btn-secondary {
    border-radius: 4px;
  }
  .btn-primary, .btn-secondary {
    border-width: 2px;
    font-size: 1.15rem;
    font-weight: bold;
    padding: 1rem 1.5rem;
  }
  .btn-trigger {
    font-weight: 600;
    margin-block-start: 0.75rem;
  }
  .btn-trigger:hover {
    background-color: var(--text-color);
    color: var(--background-color);
  }
  .icon {
    aspect-ratio: 1;
    height: 1em;
    fill: currentColor;
    flex-shrink: 0;
    overflow: clip;
  }
  .icon-pill {
    background-color: var(--accent-color-light);
    border-radius: 9999px;
    display: inline-block;
    padding: 0.25em;
    font-size: 2em;
  }
  .icon-aspect-color {
    color: var(--accent-color);
  }
  .icon-social {
    height: 2em;
    fill: currentColor;
    fill-opacity: 0.5;
  }
  .social-icon:hover .icon-social, .social-icon:focus .icon-social {
    fill-opacity: 1;
  }
  .cta-footer {
    background-color: white;
    bottom: 0;
    display: none;
    padding: 8px;
    position: sticky;
    width: 100%;
  }
  @media screen and (width < 600px) {
    .cta-header {
      display: none;
    }
    .cta-footer {
      display: block;
    }
  }
  .control-group {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #other-events {
    border-top: 1px solid lightgrey;
    margin-block-start: 1rem;
  }
  #other-events h1 {
    margin-block: 0.375em;
  }
  .other-event:nth-of-type(n+2) {
    margin-block-start: 1rem;
  }
  .other-event__time {
    color: #828282;
    display: flex;
    gap: 0.5em;
    align-items: center;
  }
  .other-event a {
    text-decoration: none;
  }
  .other-event h2 {
    margin-block: 0 0.1em;
  }
  .other-event time {
    font-size: 0.875em;
  }
  .other-event svg {
    height: 1.25rem;
  }
  #billing-contact .field-group,
  #whos-going .field-group,
  .extras .field-group {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }
  #billing-contact label,
  #whos-going label,
  .extras label {
    color: #535353;
    display: block;
    font-weight: 600;
    margin-block-end: 0.25rem;
  }
  #billing-contact textarea,
  #whos-going textarea,
  .extras textarea {
    resize: vertical;
  }
  .extras .field-group {
    grid-template-columns: 1fr;
  }
  .booking-form-header {
    background-color: var(--background-color);
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem var(--padding-inline);
  }
  .booking-form-header__title {
    line-height: 1;
    margin: 0;
  }
  .booking-form-header__title a {
    display: inline-flex;
    gap: 0.375em;
    align-items: center;
    text-decoration: none;
  }
  .booking-form-header__title svg {
    font-size: max(1rem, 0.75em);
  }
  .booking-form-heading {
    display: flex;
    gap: 0.5em;
    align-items: center;
  }
  .checkbox + .checkbox {
    margin-top: 0.25rem;
  }
  .radio + .radio {
    margin-top: 0.25rem;
  }
  .checkbox,
  .radio {
    display: flex;
    gap: 0.5em;
  }
  input[type=checkbox],
  input[type=radio],
  select {
    accent-color: var(--accent-color);
  }
  .booking-actions {
    display: flex;
    gap: 1rem;
    flex: 1 0 300px;
    flex-wrap: wrap;
    margin-block-start: 1rem;
  }
  .booking-actions * {
    flex: 1 0 300px;
  }
  .eventlet {
    --padding-h: 1rem;
    --padding-v: 0.625rem;
    background-color: #EEEEEE;
    border: 2px solid lightgray;
    border-radius: var(--eventlet-border-radius);
    overflow: hidden;
  }
  .eventlet:has(.eventlet__ticket:hover), .eventlet:focus-within {
    border-color: var(--accent-color);
  }
  .eventlet + .eventlet {
    margin-block-start: 1rem;
  }
  .eventlet__ticket {
    background-color: var(--background-color);
    display: flex;
    flex-direction: column-reverse;
    gap: 0.75em;
    padding: var(--padding-v) var(--padding-h);
  }
  .eventlet__ticket__option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5em;
  }
  .eventlet__ticket__details {
    display: flex;
    flex-direction: column;
    padding: var(--padding);
  }
  .eventlet__ticket__details__title {
    font-size: 1rem;
    font-weight: bold;
    margin: 0;
  }
  .eventlet__ticket__details__time {
    color: #888888;
    font-size: 0.9em;
    font-weight: 600;
  }
  .eventlet__ticket__details__price {
    font-weight: 600;
  }
  .eventlet__ticket__select {
    aspect-ratio: 1;
    height: 1.5em;
    border: 2px solid var(--accent-color);
    border-radius: 50%;
    flex: 0 0 1.5rem;
    margin: 0;
    cursor: pointer;
    font-size: inherit;
  }
  .eventlet__ticket__select[type=checkbox] {
    clip-path: circle(50% at 50% 50%);
    appearance: none;
    -webkit-appearance: none;
    outline: none;
  }
  .eventlet__ticket__select[type=checkbox]:checked {
    appearance: auto;
    background-color: var(--accent-color);
  }
  .eventlet__ticket__sold-out-waitlist {
    background: #FFF0B9;
    border-radius: 6px;
    font-weight: bold;
    padding: 0.5em 0.75em;
  }
  .eventlet__description {
    padding: var(--padding-h);
  }
  .eventlet__description .trix-content p:last-child {
    margin-block-end: 0;
  }
  .ticket-option {
    background-color: var(--background-color);
    border: 2px solid lightgray;
    border-radius: 8px;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
  }
  .ticket-option:not(:first-of-type) {
    margin-block-start: 1rem;
  }
  .ticket-option:hover {
    border-color: var(--accent-color-dark);
  }
  .ticket-option:focus-within {
    border-color: var(--accent-color);
  }
  .ticket-option__details {
    display: flex;
    flex-direction: column;
  }
  .ticket-option__title {
    font-weight: bold;
  }
  .ticket-option__time {
    color: #888888;
    font-size: 0.9em;
    font-weight: 600;
  }
  .ticket-option__price {
    font-weight: 600;
  }
  .ticket-option__quantity {
    display: inline-flex;
    gap: 0.25em;
    align-items: center;
  }
  .ticket-option__quantity[hidden] {
    display: none;
  }
  .ticket-option__quantity-input {
    appearance: textfield;
    border: none;
    padding: 0;
    text-align: center;
    width: 2em;
  }
  .ticket-option__quantity-input::-webkit-inner-spin-button, .ticket-option__quantity-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
  }
  .ticket-option__quantity-control {
    aspect-ratio: 1;
    background-color: transparent;
    border: none;
    color: var(--accent-color);
    cursor: pointer;
    font-size: 2em;
    line-height: 1;
    padding: 0;
    margin: 0;
  }
  .ticket-option__quantity-control[disabled] {
    color: var(--accent-color-light);
    cursor: not-allowed;
  }
  .ticket-option__quantity-review {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1.25em;
    font-weight: bold;
    font-variant-numeric: tabular-nums;
  }
  .ticket-option__quantity-review abbr {
    text-decoration: none;
  }
  .ticket-option__quantity-review small {
    font-size: normal;
    font-weight: 600;
  }
  .ticket-option input[type=radio] {
    aspect-ratio: 1;
    flex-shrink: 0;
    margin: 0;
    width: 1.5rem;
  }
  .sold-out-banner {
    background: #FFF0B9;
    border: 2px solid rgb(236, 185.4285714286, 0);
    border-radius: 6px;
    font-weight: bold;
    padding: 0.675em 0.75em 0.5em;
  }
  .attendee__header {
    display: flex;
    justify-content: space-between;
  }
  .attendee__name, .attendee__actions {
    margin: 0;
  }
  .attendee__name a {
    text-decoration: none;
  }
  .attendee__name a:hover, .attendee__name a:focus {
    text-decoration: underline;
  }
  .attendee__action {
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.25em 0.5em;
    border-radius: 4px;
    text-decoration: none;
  }
  .attendee__action .icon {
    height: 1.5em;
  }
  .attendee__action:hover, .attendee__action:focus {
    text-decoration: underline;
  }
  .attendee__action.is-danger:hover, .attendee__action.is-danger:focus {
    background-color: crimson;
    color: white;
    text-decoration: none;
  }
  .attendee + .attendee {
    margin-block-start: 1em;
  }
  .attendee-total__total {
    margin-block-end: 0.375em;
  }
  .attendee-total__byline {
    margin: 0;
  }
  .billing-details {
    font-weight: 600;
    margin-block-start: 1.5rem;
  }
  .billing-details__heading {
    font-size: 0.875em;
    margin-block: 0 0.375em;
    color: #888888;
  }
  .billing-details__email {
    margin: 0;
  }
  .eway-secure-field {
    max-height: 44px;
  }
  .location-address {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .location-map {
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: clamp(250px, 30dvh, 350px);
    width: 100%;
    margin-block-end: 1rem;
  }
  .location-map h3 {
    margin-block-start: 0;
  }
  .more-details {
    color: var(--accent-color);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: bold;
    text-decoration: none;
  }
  .next-attendee-notice {
    text-align: center;
  }
  .next-attendee-notice p {
    margin: 0;
  }
  .next-attendee-notice a {
    text-decoration: none;
  }
  .next-attendee-notice a:hover, .next-attendee-notice a:focus {
    color: crimson;
    text-decoration: 0.25em underline;
    text-underline-offset: 0.25em;
  }
  .trix-content :first-child {
    margin-block-start: 0;
  }
  .trix-content :last-child {
    margin-block-end: 0;
  }
}
/* King layer - highest priority styles that will always win */
@layer Reginald {
  .banner {
    border-bottom: 1px solid #DEDEDE;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
  }
  .logo {
    height: 40px;
    width: auto;
  }
  #logout {
    font-size: small;
  }
  #footer {
    margin-block: 2.5rem;
    text-align: center;
  }
  #footer img {
    vertical-align: middle;
    width: 130px;
    height: 60px;
  }
}

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