.btn:not(.btn--password-submit),
.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    border: 0 none;
    padding: 12px 30px;
    border-radius: 0;
    background: var(--button-background-color);
    color: var(--button-text-color);
    font-family: var(--button-font-family) !important;
    font-weight: var(--button-font-weight) !important;
    font-style: var(--button-font-style) !important;
    font-size: var(--button-font-size) !important;
    text-transform: var(--buttons-transform);
    letter-spacing: var(--buttons-letter-spacing);
    font-size: var(--button-font-size-int) px;
    margin-bottom: 20px;
    margin-top: 20px
}

.btn:not(.btn--password-submit):focus,
.btn:not(.btn--password-submit):focus-visible,
.btn:not(.btn--password-submit):hover,
.btn:not(.btn--password-submit):hover:not([disabled]),
.shopify-payment-button__button.shopify-payment-button__button--unbranded:focus,
.shopify-payment-button__button.shopify-payment-button__button--unbranded:focus-visible,
.shopify-payment-button__button.shopify-payment-button__button--unbranded:hover,
.shopify-payment-button__button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
    background: var(--button-background-hover-color);
    color: var(--button-text-color)
}

.btn.secondary-button {
    background: 0 0;
    color: var(--button-background-color);
    box-shadow: inset 0 0 0 1px var(--button-background-color);
    transition: all .2s ease-in-out;
    font-family: var(--button-font-family) !important;
    font-weight: var(--button-font-weight) !important;
    font-style: var(--button-font-style) !important;
    font-size: var(--button-font-size) !important;
    text-transform: var(--buttons-transform);
    letter-spacing: var(--buttons-letter-spacing)
}

.btn.secondary-button:active:not([disabled]),
.btn.secondary-button:hover:not([disabled]) {
    box-shadow: inset 0 0 0 2px var(--button-background-color);
    background: 0 0;
    color: var(--button-background-color)
}

.btn.secondary-button:active[disabled],
.btn.secondary-button:focus[disabled],
.btn.secondary-button:hover[disabled] {
    color: var(--button-background-color);
    background: 0 0;
    cursor: default
}

.btn-no-link {
    cursor: default
}

#checkout-buttons #cart_submit,
#checkout-buttons #update_quantities,
#checkout-buttons .continue-shopping--cart,
#checkout-buttons .slide-checkout-buttons a {
    margin-bottom: 20px
}

#checkout-buttons input {
    display: inline-block
}

a.button--text-subdued {
    text-decoration: underline;
    display: inline-block;
    margin-top: 10px
}

.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    margin-top: 0
}

.btn-touch {
    width: 55px;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 55px
}

.btn-normalize {
    border: 0 none;
    background: 0 0
}

.events-calendar .event-item--date,
.events-calendar .event-item--heading,
.events-calendar .events-calendar--header *,
.events-calendar .h3,
.events-calendar [datetime],
.events-calendar li.event,
.events-calendar ul {
    margin: 0
}

.events-calendar .events-calendar--header * {
    text-align: center;
    overflow-wrap: break-word
}

.events-calendar ul[class^=events-layout--] {
    padding: 0
}

.events-calendar li.event {
    list-style-type: none
}

.events-calendar .event-item--day,
.events-calendar .event-item--month,
.events-calendar .event-item--tbc {
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
    font-size: inherit
}

.events-calendar .event-item--month,
.events-calendar .event-item--tbc {
    text-transform: uppercase;
    line-height: normal
}

.events-calendar .event-item--date,
.events-calendar .event-item--date [datetime],
.events-calendar .event-item--details,
.events-calendar .events-calendar--header,
.events-calendar .events-calendar--inner,
.events-calendar [class^=events-layout--] {
    display: flex;
    flex-direction: column
}

@media only screen and (min-width:768px) {
    .events-calendar .events-layout--grid {
        flex-direction: row;
        flex-wrap: wrap
    }
}

.events-calendar .events-calendar--header {
    align-items: center;
    row-gap: 10px
}

.events-calendar .events-calendar--inner {
    row-gap: calc(10px + 30px);
    overflow-x: hidden
}

.events-calendar .event-item--date,
.events-calendar .event-item--date [datetime] {
    align-items: center;
    justify-content: center
}

.events-calendar .event-item--date [datetime] span,
.events-calendar .event-item--date span {
    display: block
}

.events-calendar .event-item--cta a {
    text-decoration: underline
}

.events-calendar .event-item--cta a:hover {
    text-decoration: none
}

.events-layout--grid {
    gap: 30px
}

@media only screen and (min-width:768px) {
    .events-layout--grid.events-cols--2 {
        margin-right: -30px
    }

    .events-layout--grid.events-cols--2 .event {
        flex: 0 1 calc(50% - 30px)
    }

    .events-layout--grid.events-cols--2.event-card--expand {
        margin-right: 0
    }

    .events-layout--grid.events-cols--2.event-card--expand .event {
        flex-grow: 1
    }

    .events-layout--grid.events-cols--3 {
        margin-right: -30px
    }

    .events-layout--grid.events-cols--3 .event {
        flex: 0 1 calc(33.33% - 30px)
    }

    .events-layout--grid.events-cols--3.event-card--expand {
        margin-right: 0
    }

    .events-layout--grid.events-cols--3.event-card--expand .event {
        flex-grow: 1
    }

    .events-layout--grid.events-cols--4 {
        margin-right: -30px
    }

    .events-layout--grid.events-cols--4 .event {
        flex: 0 1 calc(25% - 30px)
    }

    .events-layout--grid.events-cols--4.event-card--expand {
        margin-right: 0
    }

    .events-layout--grid.events-cols--4.event-card--expand .event {
        flex-grow: 1
    }

    .events-layout--grid.events-cols--5 {
        margin-right: -30px
    }

    .events-layout--grid.events-cols--5 .event {
        flex: 0 1 calc(20% - 30px)
    }

    .events-layout--grid.events-cols--5.event-card--expand {
        margin-right: 0
    }

    .events-layout--grid.events-cols--5.event-card--expand .event {
        flex-grow: 1
    }

    .events-layout--grid.events-cols--6 {
        margin-right: -30px
    }

    .events-layout--grid.events-cols--6 .event {
        flex: 0 1 calc(16.66% - 30px)
    }

    .events-layout--grid.events-cols--6.event-card--expand {
        margin-right: 0
    }

    .events-layout--grid.events-cols--6.event-card--expand .event {
        flex-grow: 1
    }
}

.events-layout--grid .event-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 15px
}

.events-layout--grid .event-item--details {
    row-gap: 5px
}

.events-layout--grid .event-image-aspect-ratio--tall img,
.events-layout--grid .event-image-aspect-ratio--tall svg {
    aspect-ratio: 2/3
}

.events-layout--grid .event-image-aspect-ratio--wide img,
.events-layout--grid .event-image-aspect-ratio--wide svg {
    aspect-ratio: 4/3
}

.events-layout--grid .event-image-aspect-ratio--square img,
.events-layout--grid .event-image-aspect-ratio--square svg {
    aspect-ratio: 1/1
}

.events-layout--grid .event-image-aspect-ratio--natural img,
.events-layout--grid .event-image-aspect-ratio--natural svg {
    aspect-ratio: auto
}

.events-layout--grid .icon--placeholder.icon {
    height: auto;
    width: auto
}

.events-layout--grid .event-item--img-wrapper {
    position: relative
}

.events-layout--grid .event-item--img-wrapper .event-item--date {
    position: absolute;
    top: 15px;
    left: 15px;
    padding: 8px
}

.events-layout--list .event+.event {
    border-top: 1px solid
}

.events-layout--list .event {
    padding: 15px 0
}

.events-layout--list .event:first-of-type {
    padding-top: 0;
    padding-bottom: 15px
}

.events-layout--list .event:last-of-type {
    padding-top: 15px;
    padding-bottom: 0
}

@media only screen and (min-width:768px) {
    .events-layout--list .event {
        padding: calc(10px * 2) 0
    }

    .events-layout--list .event:first-of-type {
        padding-top: 0;
        padding-bottom: calc(10px * 2)
    }

    .events-layout--list .event:last-of-type {
        padding-top: calc(10px * 2);
        padding-bottom: 0
    }
}

.events-layout--list .event-inner,
.events-layout--list .event-item {
    display: flex;
    column-gap: calc(10px * 2);
    row-gap: 5px
}

@media only screen and (min-width:768px) {

    .events-layout--list .event-inner,
    .events-layout--list .event-item {
        column-gap: calc(10px * 4)
    }
}

.events-layout--list .event-inner {
    flex-direction: column
}

@media only screen and (min-width:768px) {
    .events-layout--list .event-inner {
        flex-direction: row
    }
}

.events-layout--list .event-item {
    flex: 3 1 0
}

.events-layout--list .event-item--details {
    flex: 1 1 0;
    justify-content: center;
    row-gap: 5px
}

.events-layout--list .event-item--cta {
    display: flex;
    justify-content: flex-end;
    align-items: center
}

@media only screen and (min-width:768px) {
    .events-layout--list .event-item--cta {
        max-width: 30%
    }
}

.events-layout--list .event-item--cta a {
    text-align: right
}

@media only screen and (min-width:768px) {
    .events-layout--list .event-item--cta a {
        border: 0 none;
        padding: 12px 30px;
        border-radius: 0;
        font-family: var(--button-font-family);
        font-weight: var(--button-font-weight);
        font-style: var(--button-font-style);
        font-size: var(--button-font-size);
        text-transform: var(--buttons-transform);
        letter-spacing: var(--buttons-letter-spacing);
        text-decoration: none;
        transition: all .15s ease-in-out;
        text-align: center
    }

    .homepage-sections-wrapper--white .events-layout--list .event-item--cta a {
        background: var(--button-background-color);
        color: var(--button-text-color)
    }

    .homepage-sections-wrapper--white .events-layout--list .event-item--cta a:hover {
        background: var(--button-background-hover-color);
        color: var(--button-text-color)
    }

    .homepage-sections-wrapper--light .events-layout--list .event-item--cta a {
        background: var(--color-scheme-light-text);
        color: var(--color-scheme-light-background)
    }

    .homepage-sections-wrapper--light .events-layout--list .event-item--cta a:hover {
        background: var(--color-scheme-light-text-hover);
        color: var(--color-scheme-light-background)
    }

    .homepage-sections-wrapper--accent .events-layout--list .event-item--cta a {
        background: var(--color-scheme-accent-text);
        color: var(--color-scheme-accent-background)
    }

    .homepage-sections-wrapper--accent .events-layout--list .event-item--cta a:hover {
        background: var(--color-scheme-accent-text-hover);
        color: var(--color-scheme-accent-background)
    }

    .homepage-sections-wrapper--dark .events-layout--list .event-item--cta a {
        background: var(--color-scheme-dark-text);
        color: var(--color-scheme-dark-background)
    }

    .homepage-sections-wrapper--dark .events-layout--list .event-item--cta a:hover {
        background: var(--color-scheme-dark-text-hover);
        color: var(--color-scheme-dark-background)
    }
}

.h3.event-item--heading.type-subheading {
    font-size: 37px;
    font-weight: bold;
}