/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* A11y Fixes */

/* Allow for esc key to close Kadence submenu */
.nav--toggle-sub li:hover > ul,
.nav--toggle-sub li.menu-item--toggled-on > ul,
.nav--toggle-sub li:not(.menu-item--has-toggle):focus > ul {
    display: none;
}

.main-navigation .menu-item .sub-menu {
    display: none;
}

.main-navigation .menu-item .sub-menu.submenu-open,
.main-navigation .menu-item .sub-menu.toggle-show {
    display: block;
}

/* Gravity Forms */
.gform_wrapper.gravity-theme input[type="color"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme input[type="datetime-local"],
.gform_wrapper.gravity-theme input[type="datetime"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="month"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme input[type="search"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="time"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="week"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
    font-size: 1.25rem !important;
    padding: 8px 16px !important;
    border-radius: 4px;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    color: var(--global-palette3);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
.gform_wrapper.gravity-theme .gfield textarea:focus,
select:focus {
    border-color: var(--global-palette7);
    outline: -webkit-focus-ring-color auto 1px !important;
}

/* Styling for floating label for gravity forms. 
 * Add class of floating-label to desired form fields */
.floating-label {
    position: relative;
}

.floating-label label {
    position: absolute;
    top: 12px;
    left: 0;
    margin: 0;
    opacity: 0;
    line-height: 1.4;
    font-size: 1rem;
    transition: all ease 0.4s;
}

.floating-label:focus-within label,
.floating-label input:focus ~ label,
.floating-label textarea:focus ~ label,
.floating-label input.valid ~ label,
.floating-label textarea.valid ~ label,
.floating-label input:visited ~ label,
.floating-label textarea:visited ~ label,
.floating-label input:-webkit-autofill ~ label,
.floating-label textarea:-webkit-autofill ~ label,
.floating-label.input-active label {
    top: 0;
    left: 16px;
    font-size: 0.875rem !important;
    color: var(--global-palette3);
    opacity: 1;
}

/* Basic A11Y fixes for Kadence Blocks */
body .kt-blocks-modal-link:not(.kb-btn-global-inherit):focus-within {
    outline: inherit;
}

/* Search Bar */
.woocommerce-product-search {
    position: relative;
}

.woocommerce-product-search .screen-reader-text {
    cursor: text;
    font-size: 1rem;
    left: 1rem;
    margin: 0;
    opacity: 0;
    padding-right: 3.5em;
    position: absolute;
    top: 0.75rem;
    font-weight: 500;
    transition: all ease 0.4s;
}

.woocommerce-product-search:focus-within .screen-reader-text {
    clip: unset;
    clip-path: unset;
    height: auto;
    width: auto;
    left: 12px;
    padding: 0 5px !important;
    background: #fff;
    font-size: 13px !important;
    top: -13px;
    left: 1px;
    line-height: 19px;
    color: #383b41;
    opacity: 1;
}

.woocommerce-product-search input[type="search"]::placeholder,
.search-form input[type="search"]::placeholder {
    opacity: 1;
}

/* menu */
body:not(.hide-focus-outline)
    .header-navigation
    li.menu-item--has-toggle
    > a:focus
    .dropdown-nav-toggle {
    opacity: 1 !important;
}

body #search-drawer .drawer-inner form ::-webkit-input-placeholder {
    opacity: 1;
}

#search-drawer input:-webkit-autofill,
#search-drawer input:-webkit-autofill:focus {
    transition: background-color 0s 600000s, color 0s 600000s !important;
}

/* Cookies */
.cky-preference-header .cky-btn-close img {
    filter: brightness(0);
}

/* Kadence Slider */
.kb-splide .splide__pagination__page:focus-visible {
    outline: 2px solid #000;
}

/* Smart Slider */
body .n2-ss-slider :focus-visible,
body .n2-ss-slider a.n2-ow:focus-visible,
body .n2-ss-slider .n2-ow-all a:focus-visible {
    outline: 1px solid #fff !important;
    box-shadow: inset 0 0 0 1px #000000 !important;
}

.n2-ss-slider .n2-ss-widget.n2-ss-widget-hidden {
    display: none;
}

body .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls {
    visibility: visible;
}

/* Forms */
body select,
body select.orderby {
    background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' class='kadence-svg-icon kadence-arrow-down-svg' fill='currentColor' version='1.1' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M5.293 9.707l6 6c0.391 0.391 1.024 0.391 1.414 0l6-6c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z'%3E%3C/path%3E%3C/svg%3E");
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
body select,
body .select2-container--default .select2-selection--single,
.select2-container--default
    .select2-selection--single
    .select2-selection__rendered {
    border-color: var(--global-palette7);
    color: var(--global-palette4);
}

/* Events Calendar */
.tribe-events .datepicker .day.focused,
.tribe-events .datepicker .day:focus,
.tribe-events .datepicker .day:hover,
.tribe-events .datepicker .month.focused,
.tribe-events .datepicker .month:focus,
.tribe-events .datepicker .month:hover,
.tribe-events .datepicker .year.focused,
.tribe-events .datepicker .year:focus,
.tribe-events .datepicker .year:hover {
    outline: 2px solid #000;
}

.tribe-events-c-search__input-group {
    position: relative;
}

.tribe-events-c-search__input-group label {
    opacity: 0;
    transition: all ease 0.4s;
}

.tribe-events-c-search__input-group:focus-within label {
    clip: unset;
    height: auto;
    width: auto;
    opacity: 1;
    margin: 0;
    top: -40px;
}

.tribe-events
    .datepicker
    .next
    .tribe-events-c-top-bar__datepicker-nav-icon-svg
    path,
.tribe-events
    .datepicker
    .prev
    .tribe-events-c-top-bar__datepicker-nav-icon-svg
    path,
#primary
    .tribe-events
    .tribe-common-c-btn-icon--caret-left
    .tribe-common-c-btn-icon__icon-svg
    path,
#primary
    .tribe-events
    .tribe-common-c-btn-icon--caret-right
    .tribe-common-c-btn-icon__icon-svg
    path,
.tribe-events
    .tribe-events-c-nav__next:disabled
    .tribe-events-c-nav__next-icon-svg
    path,
.tribe-events
    button.tribe-events-c-nav__next:disabled
    .tribe-events-c-nav__next-icon-svg
    path {
    fill: #707070;
}

/* WooCommerce */
select.orderby:focus-visible {
    outline: 2px solid #000;
}

.kadence-shop-top-row {
    position: relative;
}

.kadence-shop-top-row .skip-link {
    right: 0;
    left: auto;
}

span.required {
    color: red;
}

.form-description {
    font-size: 1rem;
}

.kadence-product-gallery-thumbnails.splide.splide--nav
    > .splide__slider
    > .splide__track
    > .splide__list
    > .splide__slide:focus-visible,
.kb-splide .splide__arrows .splide__arrow:focus-visible {
    box-shadow: 0 0 0 3px #000 !important;
    outline: 2px solid #fff !important;
}

body .kb-advanced-slide-inner {
    overflow: visible;
}

/* used to display focus outline above, if needed adjust to not apply to general Kadence slider */
/*body .kb-splide .splide__list {
	padding:3px !important;
}
body .kb-splide.splide-initial .splide__list {
	gap:3px;
}*/
.gbtn.focused {
    outline: 2px solid #fff !important;
}

body .woocommerce form .form-row label {
    color: var(--global-palette3);
}

body .wp-element-button:disabled {
    opacity: 0.7;
}

/* End A11y Fixes */

.footer-links {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.footer-links li {
    position: relative;
    margin: 0;
    display: inline-block;
}

.footer-links li:not(:last-child) {
    padding: 0 30px 0 0;
}

.footer-links li:not(:last-child):after {
    content: "/";
    position: absolute;
    right: 10px;
}

@media (min-width: 1025px) and (max-width: 1458px) {
    footer .gform_wrapper.gravity-theme .gfield.gfield--width-three-quarter {
        grid-column: span 7;
    }

    footer .gform_wrapper.gravity-theme .gfield.gfield--width-quarter {
        grid-column: span 5;
    }
}

.form-newsletter {
    max-width: 478px;
}

.form-newsletter_wrapper.gform_wrapper.gravity-theme input[type="email"] {
    padding: 14px 20px;
    border-radius: 4px 0 0 4px;
}

.form-newsletter_wrapper.gform_wrapper.gravity-theme .gform-button {
    background: var(--global-palette2);
    border-color: var(--global-palette2);
    color: var(--global-palette9);
    font-family: var(--global-heading-font-family) !important;
    font-size: 1.25rem;
    padding: 14px 20px;
    border-radius: 0 4px 4px 0;
}

.form-newsletter_wrapper.gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 0;
}

.form-newsletter_wrapper.gform_wrapper.gravity-theme .gform-button:hover,
.form-newsletter_wrapper.gform_wrapper.gravity-theme .gform-button:focus {
    background: var(--global-palette1);
    border-color: var(--global-palette1);
    color: var(--global-palette4);
}

@media (max-width: 640px) {
    .form-newsletter_wrapper.gform_wrapper.gravity-theme .gform-button,
    .form-newsletter_wrapper.gform_wrapper.gravity-theme input[type="email"] {
        border-radius: 4px;
    }

    .form-newsletter_wrapper.gform_wrapper.gravity-theme
        input:not([type="radio"]):not([type="checkbox"]):not(
            [type="image"]
        ):not([type="file"]) {
        line-height: 1;
    }
}

@media (min-width: 1025px) {
    .wp-block-kadence-header.header-desktop-sticky
        .item-is-stuck:not(.kb-header-row-layout-contained) {
        margin: 10px;
        width: calc(100% - 20px) !important;
    }
}

.wp-block-kadence-header.header-desktop-sticky
    .item-is-stuck:not(.kb-header-row-layout-contained)
    .kb-advanced-heading-link
    .wp-block-kadence-advancedheading {
    color: var(--global-palette4) !important;
}

.wp-block-kadence-header.header-desktop-sticky
    .item-is-stuck:not(.kb-header-row-layout-contained)
    .header-btn.wp-block-kadence-advancedbtn
    .kb-button {
    color: var(--global-palette4) !important;
    border-color: var(--global-palette10) !important;
}

.wp-block-kadence-header.header-desktop-sticky
    .item-is-stuck:not(.kb-header-row-layout-contained)
    .header-btn.wp-block-kadence-advancedbtn
    .kb-button:hover {
    border-color: var(--global-palette1) !important;
}

.wp-block-kadence-header .wp-block-kadence-off-canvas-trigger,
.wp-block-kadence-header .wp-block-kadence-off-canvas-trigger:focus {
    color: var(--global-palette9);
}

.wp-block-kadence-header.header-desktop-sticky
    .item-is-stuck:not(.kb-header-row-layout-contained)
    .wp-block-kadence-off-canvas-trigger,
.wp-block-kadence-header.header-desktop-sticky
    .item-is-stuck:not(.kb-header-row-layout-contained)
    .wp-block-kadence-off-canvas-trigger:focus {
    color: var(--global-palette4);
}

.kt-modal-container {
    width: 100% !important;
    margin-top: 300px !important;
}

.slider-experience .hover-image {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.slider-experience .n2-ss-slide:hover .hover-image {
    opacity: 1;
}

.slider-experience .slide-text {
    pointer-events: none;
}

.slider-experience .title > div {
    padding-right: 38px;
    background-repeat: no-repeat;
    background-position: 100% 50%;
    transition: background 0.3s;
    display: inline-block !important;
}

.slider-experience .n2-ss-slide:hover .title > div {
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='27' viewBox='0 0 15 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_1661_34595)'%3E%3Cpath d='M-6 28.5L11 13.5L-6 -1.5' stroke='white' stroke-width='5'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1661_34595'%3E%3Crect width='15' height='27' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

.slider-experience .n2-ss-item-image-content {
    position: relative;
}

.slider-experience .n2-ss-item-image-content:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
            0deg,
            rgba(0, 0, 0, 0.6) 0%,
            rgba(0, 0, 0, 0) 49.42%
        ),
        rgba(0, 0, 0, 0.1);
    display: block;
    z-index: 100000;
}

.slider-experience div#n2-ss-3 .n2-bullet:hover {
    padding: 5px !important;
}

.slider-images-hero
    .n2-ss-slider
    .n2-ss-slider-wrapper-inside
    .n2-ss-slider-controls {
    bottom: 0;
    height: 80px;
}

.entry-content .kb-row-layout-wrap.alignfull {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

/* Navigation */

.kb-navigation .kb-nav-link-content > strong {
    display: inline-block;
    margin-left: 6px;
}

@media (min-width: 1025px) {
    .wp-block-kadence-off-canvas .kb-off-canvas-inner-wrap {
        bottom: 5vh;
    }

    .kb-navigation ul {
        margin-left: 30px !important;
    }

    .kb-navigation li.menu-item {
        width: calc((70vw / 3) - 80px) !important;
        position: static !important;
    }

    .wp-block-kadence-navigation.navigation-desktop-orientation-vertical
        .menu-container
        .menu
        .menu-item
        .sub-menu {
        position: absolute;
        left: calc((70vw / 3) - 40px);
        top: 0;
    }

    .menu-row {
        margin-left: 10px;
        margin-right: 10px;
    }

    .menu-item--toggled-on > .kb-link-wrap,
    .wp-block-kadence-navigation .kb-link-wrap:hover {
        border-left: 4px solid var(--global-palette1);
        padding-left: 20px;
        font-weight: bold;
    }

    ul ul .menu-item--toggled-on > .kb-link-wrap,
    .wp-block-kadence-navigation ul ul .kb-link-wrap:hover {
        background: var(--global-palette9);
    }

    .wp-block-kadence-navigation.navigation-desktop-orientation-vertical
        .kb-nav-dropdown-toggle-btn[aria-expanded="false"]
        svg,
    .wp-block-kadence-navigation.navigation-desktop-orientation-vertical
        .kb-nav-dropdown-toggle-btn[aria-expanded="true"]
        svg {
        transform: rotate(-90deg);
    }
}

.wp-block-kadence-off-canvas .kb-off-canvas-close {
    top: 25px;
    right: 25px;
}

.menu-logo.image-is-svg,
.footer-logo.image-is-svg {
    flex: 0 1 auto !important;
}

@media (max-width: 1024px) {
    .menu-nav-section > .kt-inside-inner-col {
        background-image: none !important;
    }
}

.tabs-class-events .kt-tabs-title-list {
    justify-content: center;
}

@media (max-width: 767px) {
    .tabs-class-events.wp-block-kadence-tabs .kt-tab-title {
        margin: 0 -20px !important;
        background-repeat: no-repeat !important;
        background-position: calc(100% - 20px) 50% !important;
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 15.4L6 9.4L7.4 8L12 12.6L16.6 8L18 9.4L12 15.4Z' fill='%23ffffff'/%3E%3C/svg%3E%0A") !important;
    }

    .tabs-class-events.wp-block-kadence-tabs
        .kt-tab-title-active
        .kt-tab-title {
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 15.4L6 9.4L7.4 8L12 12.6L16.6 8L18 9.4L12 15.4Z' fill='%231A1A1A'/%3E%3C/svg%3E%0A") !important;
    }
}


.tabs-class-events .wp-block-kadence-tab[aria-hidden="false"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background-color: inherit;
    z-index: -1;
}

/* Sliders */
.slide__post-image {
    aspect-ratio: 545 / 280;
    object-fit: cover;
    object-position: center;
}

.slide__image img {
    aspect-ratio: 545 / 560;
    object-fit: cover;
    object-position: center;
}

.slide__link-arrow a::after {
    content: "";
    display: inline-block !important;
    width: 12px;
    height: 12px;
    margin-left: 6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M5.80005 10.7998L10.8 5.7998L5.80005 0.799804' stroke='%23527C04' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M0.800049 5.7998L10.8 5.7998' stroke='%23527C04' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.slider__post-meta {
    border-top: 1px solid rgba(153, 202, 60, 0.5);
}

@media screen and (min-width: 1025px) {
    .slider__post-meta {
        text-align: right;
    }
}

.slider__post-category {
    color: var(--global-palette1);
}

.slider__post-date {
    position: relative;
    display: inline-block;
    padding-left: 13px;
    margin-left: 13px;
}

.slider__post-date:not(:first-child)::before {
    content: "";
    position: absolute;
    left: -2px;
    top: 50%;
    transform: translateY(-50%);
    display: block !important;
    width: 1px;
    height: 16px;
    background: #afb1b0;
}

/* Tabs buttons contained */
body .tabs--buttons-contained .kt-tabs-title-list {
    max-width: 1700px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Tabs overlapping tab content  */
body .tabs--inside-content .kt-tabs-title-list {
    position: relative;
    z-index: 100;
    height: 40px;
    margin-bottom: -40px;
    column-gap: 16px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    background-color: rgba(0, 0, 0, 0.25) !important;
    backdrop-filter: blur(2px);
    padding: 10px 16px;
    width: 100%;
    overflow: auto;
    white-space: nowrap;
}

@media screen and (min-width: 768px) {
    body .tabs--inside-content .kt-tabs-title-list {
        height: 80px;
        margin-bottom: -80px;
        padding: 36px clamp(1rem, -12.75rem + 13.75vw, 3.75rem) 16px;
    }
}

body .tabs--inside-content .kt-tabs-title-list a {
    height: auto;
}

/* Tabs overlapping content and centered */
body .tabs--inside-content-centered ul.kt-tabs-title-list {
    justify-content: start;
}

@media screen and (min-width: 768px) {
    body .tabs--inside-content-centered ul.kt-tabs-title-list {
        height: 70px;
        margin-bottom: -70px;
        padding: 20px 16px;
    }
}

@media screen and (min-width: 1025px) {
    body .tabs--inside-content-centered ul.kt-tabs-title-list {
        justify-content: center;
    }
}

/* Tabs with horizonral scroll on mobile */
body .tabs--mobile-scroll > .kt-tabs-wrap > .kt-tabs-title-list {
    width: 100%;
    overflow: auto;
    white-space: nowrap;
    justify-content: start;
    flex-wrap: nowrap;
    padding-bottom: 10px;
}

@media screen and (min-width: 768px) {
    body .tabs--mobile-scroll > .kt-tabs-wrap > .kt-tabs-title-list {
        padding-bottom: 36px;
    }
}

@media screen and (min-width: 1025px) {
    body .tabs--mobile-scroll > .kt-tabs-wrap > .kt-tabs-title-list {
        justify-content: center;
    }
}

/* Tabs vertical */
body .tabs--vertical .kt-title-item:not(.kt-tab-title-inactive) {
    font-weight: 600;
}

@media screen and (max-width: 1024px) {
    body .tabs--vertical .kt-tabs-title-list {
        position: relative;
        width: 100%;
        overflow: auto;
        white-space: nowrap;
        flex-wrap: nowrap;
        padding-bottom: 20px;
    }

    body .tabs--vertical .kt-tabs-title-list::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 19px;
        z-index: -1;
        border-bottom: 1px solid #d8d9d9;
        width: 100%;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1600px) {
    body
        .tabs--vertical
        > .kt-tabs-wrap
        > .kt-tabs-content-wrap
        > .wp-block-kadence-tab {
        padding-left: 20px;
    }

    body
        .tabs--vertical
        .kt-tab-inner-content-inner
        > .kb-row-layout-wrap
        > .kt-row-column-wrap {
        column-gap: 30px;
        grid-template-columns: minmax(0, calc(60% - ((30px * 1) / 2))) minmax(
                0,
                calc(40% - ((30px * 1) / 2))
            );
    }
}

/* Accordion with square buttons */
.accordion--square-buttons
    .kt-blocks-accordion-header
    .kt-blocks-accordion-icon-trigger::before,
.accordion--square-buttons
    .kt-blocks-accordion-header
    .kt-blocks-accordion-icon-trigger::after {
    width: 10px;
    height: 2px;
    left: 6px;
}

.accordion--square-buttons
    .kt-blocks-accordion-header
    .kt-blocks-accordion-icon-trigger {
    min-width: 16px;
    width: 16px;
    height: 16px;
    padding: 3px;
    border: 1px solid var(--global-palette1);
}

.accordion--square-buttons
    .kt-blocks-accordion-header:hover
    .kt-blocks-accordion-icon-trigger {
    background-color: var(--global-palette1);
}

.accordion--square-buttons
    .wp-block-kadence-pane:first-child
    .kt-blocks-accordion-header {
    border-top: none !important;
}

/* general interior */
body .kb-splide .splide__pagination,
body .kb-splide ul.splide__pagination.splide__pagination {
    bottom: -48px;
}

body .kb-splide[data-slider-dots="true"] {
    margin-bottom: 48px;
}

body .kb-splide .splide__arrow {
    opacity: 1 !important;
    width: 3em;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.15);
}

.kb-splide .splide__arrow svg {
    display: none;
}

.kb-splide .splide__arrow::after {
    content: "";
    display: inline-block;
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='25' viewBox='0 0 26 25' fill='none'%3E%3Cpath d='M11.0749 23.25L1.64648 12.25L11.0749 1.25' stroke='%23161816' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M1.77773 12.25L23.7773 12.25' stroke='%23161816' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-color: var(--global-palette3);
    width: 22px;
    height: 22px;
}

body .kb-splide .splide__arrow.splide__arrow--next::after {
    transform: rotate(180deg);
}

@media (max-width: 767px) {
    .kb-splide[data-slider-dots="true"] .splide__arrows {
        display: none;
    }
}

.inside-bullet-nav .kb-splide .splide__pagination,
.inside-bullet-nav .kb-splide ul.splide__pagination.splide__pagination {
    bottom: 48px;
}

body .kb-splide .splide__pagination__page {
    opacity: 1 !important;
}

body .kb-splide .splide__pagination__page.is-active {
    width: 24px;
    border-radius: 100px;
}

.inside-bullet-nav .kb-splide[data-slider-dots="true"] {
    margin-bottom: 0;
}

.custom-accordion__breakout-section
    .kt-accordion-header-wrap
    .kt-blocks-accordion-header.kt-accordion-panel-active {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    text-transform: none !important;
    line-height: 1;
}

@media (min-width: 1025px) {
    .remove-relative-position > .kt-inside-inner-col {
        position: static;
    }

    .wp-block-kadence-column.custom-accordion__image-placement {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        width: calc(50% - 58px);
        opacity: 0;
        display: none;
    }

    @keyframes myAnimation {
        0% {
            opacity: 0;
            display: block;
        }

        100% {
            opacity: 1;
            display: block;
        }
    }

    .kt-accordion-panel-active
        .wp-block-kadence-column.custom-accordion__image-placement {
        display: block;
        opacity: 1;
        animation-name: myAnimation;
        animation-duration: 0.25s;
    }

    .custom-accordion__breakout-section
        .kt-accordion-header-wrap
        .kt-blocks-accordion-header.kt-accordion-panel-active {
        font-size: 2.25rem !important;
    }

    .set-img-background
        .wp-block-kadence-column.custom-accordion__image-placement {
        width: 100%;
        height: 100%;
        top: 0;
        transform: translateY(0);
        z-index: -1;
        right: 0;
    }

    .custom-accordion__breakout-section.set-img-background
        .kt-accordion-header-wrap
        .kt-blocks-accordion-header.kt-accordion-panel-active {
        padding-left: 24px;
    }

    .set-img-background
        .wp-block-kadence-column.custom-accordion__image-placement
        > .kt-inside-inner-col,
    .set-img-background
        .wp-block-kadence-column.custom-accordion__image-placement
        > .kt-inside-inner-col
        > .wp-block-kadence-image,
    .set-img-background
        .wp-block-kadence-column.custom-accordion__image-placement
        > .kt-inside-inner-col
        > .wp-block-kadence-image
        > .kb-image-has-overlay {
        width: 100%;
        height: 100%;
    }

    .set-img-background
        .wp-block-kadence-column.custom-accordion__image-placement
        img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

@media (min-width: 1025px) {
    .wp-block-kadence-column.slider-hoverbox .kb-svg-icon-wrap {
        opacity: 0;
        transition: all 0.25s ease;
    }

    .wp-block-kadence-column.slider-hoverbox:hover .kb-svg-icon-wrap,
    .wp-block-kadence-column.slider-hoverbox:focus-within .kb-svg-icon-wrap {
        opacity: 1;
    }

    @keyframes hoverboxAnimation {
        0% {
            opacity: 0;
            display: block;
        }
        100% {
            opacity: 1;
            display: block;
        }
    }

    .wp-block-kadence-column.slider-hoverbox p {
        display: none;
    }

    .wp-block-kadence-column.slider-hoverbox:hover p,
    .wp-block-kadence-column.slider-hoverbox:focus-within p {
        display: block;
        opacity: 1;
        animation-name: hoverboxAnimation;
        animation-duration: 0.25s;
    }
}

@media (max-width: 767px) {
    .wp-block-kadence-tabs.swim-instruction-tabs .kt-tabs-title-list {
        flex-wrap: nowrap;
        overflow: auto;
    }

    .wp-block-kadence-tabs.swim-instruction-tabs .kt-tab-title {
        white-space: nowrap;
    }
}

.wp-block-kadence-query-pagination .pagination .page-numbers.dots {
    min-width: 2.5em;
}
.wp-block-kadence-query-pagination .pagination .page-numbers.next svg,
.wp-block-kadence-query-pagination .pagination .page-numbers.prev svg {
    position: relative;
    top: 3px;
}

@media (max-width: 767px) {
    .wp-block-kadence-query-filter.blog-category-filter {
        width: 100%;
    }

    .wp-block-kadence-query-filter.blog-category-filter .kb-filter {
        min-width: 100%;
    }
}

body .kb-query-basic-style .kadence-filter-wrap select,
body .kb-query-basic-style .kadence-filter-wrap select:focus {
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='10' viewBox='0 0 15 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 2L7.5 8L13.5 2' stroke='%23161816' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.wp-block-kadence-header.header-desktop-sticky
    .item-is-stuck:not(.kb-header-row-layout-contained) {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}

.force-fullwidth {
    width: 100%;
}

.nowrap-text {
    white-space: nowrap;
}

body .kt-socialstyle-style_03 a {
    border-radius: 0;
    border: 0;
}

body .kb-dynamic-list.kb-dynamic-list-style-pill {
    column-gap: 8px;
}

body .kb-dynamic-list.kb-dynamic-list-style-pill .kb-dynamic-list-item {
    padding: 0;
    border-radius: 100px;
}

body .kb-dynamic-list.kb-dynamic-list-style-pill a {
    display: inline-block;
    padding: 8px 16px;
}

.acac-amenities-selector-filter {
    display: flex;
    flex-direction: column;
    max-width: 400px;
}

.acac-amenities-selector-dropdown,
.facetwp-facet-membership_location select {
    height: 58px;
    font-size: 1.5rem;
    font-weight: 600;
}

.acac-amenities-selector-list #acac-amenities-list {
    margin: 36px 0 0 0;
    list-style-position: inside;
    column-count: 1;
}

@media (min-width: 767px) {
    .acac-amenities-selector-list #acac-amenities-list {
        column-count: 2;
        column-gap: 40px;
    }
}

#acac-amenities-list li {
    margin-bottom: 16px;
}

.facetwp-facet-membership_location select {
    min-width: 100%;
}

@media (min-width: 768px) {
    .facetwp-facet-membership_location select {
        min-width: 470px;
    }
}

.query-col-3 .facetwp-template {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 20px;
    row-gap: 40px;
    margin: 0;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .query-col-3 .facetwp-template {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1025px) {
    .query-col-3 .facetwp-template {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 72px;
    }
}

.wp-block-query .membership .wp-block-list li:not(:last-child) {
    margin-bottom: 12px;
}

.wp-block-query .membership .wp-block-list {
    margin-bottom: 0;
}

.wp-block-post.membership > .wp-block-kadence-column,
.wp-block-post.membership > .wp-block-kadence-column > .kt-inside-inner-col {
    height: 100%;
}

@media (min-width: 768px) {
    .column-count2 {
        column-count: 2;
        column-gap: 40px;
    }
}

.column-count2 li {
    margin-bottom: 16px;
}

.column-count2 li::marker {
    color: var(--global-palette1);
}

.hbspt-form {
    background-color: #f1f1f1;
    padding: 60px 40px 40px;
}

@media (max-width: 767px) {
    .hbspt-form {
        padding: 60px 30px 30px;
    }
}

.hs-form .field {
    margin-bottom: 20px;
}

.hs-form label {
    font-size: 14px;
    line-height: 16px;
    color: #434446;
}

.hbspt-form .hs-form ul.no-list,
.hbspt-form .hs-form ul.inputs-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hs_email {
    clear: both;
}

input[type="text"].hs-input,
input[type="email"].hs-input {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 2px;
    padding: 6px 10px;
    color: #434446;
    font-weight: 700;
    font-size: 18px;
    line-height: 21px;
}

input[required] {
    border-right: 6px #99ca3c solid !important;
}

body .hbspt-form ul.inputs-list:not(.hs-error-msgs) {
    display: grid;
    gap: 8px;
}

@media screen and (min-width: 768px) {
    body .hbspt-form ul.inputs-list:not(.hs-error-msgs) {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }

    .hs_firstname,
    .hs_lastname {
        width: 48%;
        float: left;
    }

    .hs_firstname {
        margin-right: 4%;
    }
}

body .hbspt-form ul.inputs-list li.hs-form-checkbox .hs-form-checkbox-display {
    display: grid;
    grid-template-columns: 20px auto;
    align-items: flex-start;
}

.hbspt-form .hs-form input[type="checkbox"] {
    margin: 3px;
}

.hs-form {
    position: relative;
}

.hs-form:after {
    content: "Mandatory";
    height: 16px;
    font-size: 14px;
    border-left: 3px #99ca3c solid;
    position: absolute;
    left: 0;
    top: -25px;
    padding-left: 10px;
    line-height: 16px;
}

.hs_submit .actions {
    text-align: right;
}

body .hbspt-form .hs-form p {
    margin-bottom: 15px;
}

.page-anchor-link-underline {
    position: relative;
}
.page-anchor-link-underline:hover:after {
    content: '';
    width: 100%;
    height: 4px;
    background-color: var(--global-palette1);
    position: absolute;
    bottom: -8px;
}

/* Splide */

.query-slider .kb-query-grid-wrap {
    display: flex;
    gap: 0;
}


.query-slider:not(.is-overflow) .splide__list {
    justify-content: center;
}

.query-slider .splide__pagination,
.acac-classes-slider .splide__pagination,
.acac-events-slider .splide__pagination {
    bottom: -25px;
    padding: 10px 0 0;
}

.query-slider .splide__pagination .splide__pagination__page,
.acac-classes-slider .splide__pagination .splide__pagination__page,
.acac-events-slider .splide__pagination .splide__pagination__page {
    background: transparent;
    width: 12px;
    height: 12px;
    border: 2px solid #000000;
    border-radius: 100px;
    opacity: 1;
    transition: .25s;
}

.acac-class-calendar--dark .acac-classes-slider .splide__pagination .splide__pagination__page,
.acac-events-calendar--dark .acac-events-slider .splide__pagination .splide__pagination__page {
    border-color: #ffffff;
}

.query-slider .splide__pagination .splide__pagination__page:hover,
.acac-classes-slider .splide__pagination .splide__pagination__page:hover,
.acac-events-slider .splide__pagination .splide__pagination__page:hover {
    background: #000000;
}

.query-slider .splide__pagination .splide__pagination__page.is-active,
.acac-classes-slider .splide__pagination .splide__pagination__page.is-active,
.acac-events-slider .splide__pagination .splide__pagination__page.is-active {
    width: 26px;
    background: #000000;
    transform: scale(1);
}

.acac-class-calendar--dark .acac-classes-slider .splide__pagination .splide__pagination__page.is-active,
.acac-class-calendar--dark .acac-classes-slider .splide__pagination .splide__pagination__page:hover,
.acac-events-calendar--dark .acac-events-slider .splide__pagination .splide__pagination__page.is-active,
.acac-events-calendar--dark .acac-events-slider .splide__pagination .splide__pagination__page:hover {
    background: #ffffff;
}

.query-slider .splide__arrows .splide__arrow,
.acac-classes-slider .splide__arrows .splide__arrow,
.acac-events-slider .splide__arrows .splide__arrow {
    background: #ffffff;
    width: 48px;
    height: 48px;
    border-radius: 4px;
    box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, .15);
}

.acac-classes-slider .splide__arrows .splide__arrow,
.acac-events-slider .splide__arrows .splide__arrow {
    border: 2px solid var(--global-palette1);
    opacity: 1;
}

.acac-class-calendar--dark .acac-classes-slider .splide__arrows .splide__arrow,
.acac-events-calendar--dark .acac-events-slider .splide__arrows .splide__arrow {
    background-color: transparent;
}

.query-slider .splide__arrows .splide__arrow svg,
.acac-classes-slider .splide__arrows .splide__arrow svg,
.acac-events-slider .splide__arrows .splide__arrow svg {
    display: none;
}

.query-slider .splide__arrows .splide__arrow:before,
.acac-classes-slider .splide__arrows .splide__arrow:before,
.acac-events-slider .splide__arrows .splide__arrow:before {
    content: '';
    width: 22px;
    height: 22px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.query-slider .splide__arrows .splide__arrow--prev,
.acac-classes-slider .splide__arrows .splide__arrow--prev,
.acac-events-slider .splide__arrows .splide__arrow--prev {
    left: 0;
}

.query-slider .splide__arrows .splide__arrow--prev:before,
.query-slider .splide__arrows .splide__arrow--next:before,
.acac-classes-slider .splide__arrows .splide__arrow--prev:before,
.acac-classes-slider .splide__arrows .splide__arrow--next:before,
.acac-events-slider .splide__arrows .splide__arrow--prev:before,
.acac-events-slider .splide__arrows .splide__arrow--next:before,
.acac-class-calendar--dark .acac-classes-slider .splide__arrows .splide__arrow:hover:before,
.acac-class-calendar--dark .acac-classes-slider .splide__arrows .splide__arrow:focus:before,
.acac-events-calendar--dark .acac-events-slider .splide__arrows .splide__arrow:hover:before,
.acac-events-calendar--dark .acac-events-slider .splide__arrows .splide__arrow:focus:before {
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='25' viewBox='0 0 26 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0749 23.25L1.64648 12.25L11.0749 1.25' stroke='%23161816' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M1.77821 12.25L23.7778 12.25' stroke='%23161816' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.acac-class-calendar--dark .acac-classes-slider .splide__arrows .splide__arrow--prev:before,
.acac-class-calendar--dark .acac-classes-slider .splide__arrows .splide__arrow--next:before,
.acac-events-calendar--dark .acac-events-slider .splide__arrows .splide__arrow--prev:before,
.acac-events-calendar--dark .acac-events-slider .splide__arrows .splide__arrow--next:before {
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='25' viewBox='0 0 26 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0749 23.25L1.64648 12.25L11.0749 1.25' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M1.77821 12.25L23.7778 12.25' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.query-slider .splide__arrows .splide__arrow--next,
.acac-classes-slider .splide__arrows .splide__arrow--next,
.acac-events-slider .splide__arrows .splide__arrow--next {
    right: 0;
}

.query-slider .splide__arrows .splide__arrow--next:before,
.acac-classes-slider .splide__arrows .splide__arrow--next:before,
.acac-events-slider .splide__arrows .splide__arrow--next:before {
    transform: rotate(180deg);
}

.query-slider .splide__arrows .splide__arrow:hover,
.query-slider .splide__arrows .splide__arrow:focus,
.acac-classes-slider .splide__arrows .splide__arrow:hover,
.acac-classes-slider .splide__arrows .splide__arrow:focus,
.acac-events-slider .splide__arrows .splide__arrow:hover,
.acac-events-slider .splide__arrows .splide__arrow:focus {
    background: var(--global-palette1);
}

.query-slider .kb-query-item h3 .kb-svg-icon-wrap {
    transform: translateX(-40px);
    opacity: 0;
    transition: all .25s ease-in-out;
}

.query-slider .kb-query-item:hover h3 .kb-svg-icon-wrap {
    transform: translateX(0px);
    opacity: 1;
}

@media (min-width: 1800px) {
    .query-slider .splide__arrows .splide__arrow--prev {
        left: -58px;
    }
    
    .query-slider .splide__arrows .splide__arrow--next {
        right: -58px;
    }
}

@media (min-width: 1025px) {
    .acac-classes-slider .splide__arrows .splide__arrow--prev,
    .acac-events-slider .splide__arrows .splide__arrow--prev {
        left: -96px;
    }
    
    .acac-classes-slider .splide__arrows .splide__arrow--next,
    .acac-events-slider .splide__arrows .splide__arrow--next {
        right: -96px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .acac-classes-slider .splide__arrows .splide__arrow--prev,
    .acac-events-slider .splide__arrows .splide__arrow--prev {
        left: -64px;
    }
    
    .acac-classes-slider .splide__arrows .splide__arrow--next,
    .acac-events-slider .splide__arrows .splide__arrow--next {
        right: -64px;
    }
}

@media (max-width: 768px) {
    .query-slider .splide__arrows,
    .acac-classes-slider .splide__arrows,
    .acac-events-slider .splide__arrows {
        display: none;
    }
    
    .query-slider .splide__pagination,
    .acac-classes-slider .splide__pagination,
    .acac-events-slider .splide__pagination {
        bottom: -16px;
    }
    
    .query-slider .kb-query-item h3 .kb-svg-icon-wrap {
        transform: translateX(0px);
        opacity: 1;
    }
}

.acac-classes-slider,
.acac-events-slider {
    margin-bottom: 30px;
    padding-bottom: 30px;
}


/* Calendar  */

.calendar-hero {
    position: relative;
    margin-bottom: 40px;
    padding-top: 72px;
    padding-bottom: 48px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

@media screen and (min-width: 1025px) {
    .calendar-hero {
        margin-bottom: 60px;
        flex-direction: row;
        gap: 72px;
        align-items: center;
    }
}

.calendar-hero::before {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background-color: var(--global-palette3);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.calendar-hero .calendar-hero__title {
    margin-bottom: 0;
    font-size: clamp(2.25rem, 1.5458rem + 3.0047vw, 4.25rem);
    color: var(--global-palette9);
}

.calendar-hero__search {
    position: relative;
    background-color: var(--global-palette9);
    padding: 6px;
    border-radius: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    height: auto;
}

@media screen and (min-width: 768px) {
    .calendar-hero__search {
        flex-direction: row;
        align-items: center;
        column-gap: 12px;
        height: 62px;
        border-radius: 134px;
        padding: 6px 6px 6px 28px;
    }
}

.calendar-hero__search::before {
    content: "";
    display: block;
    width: 20px;
    height: 24px;
    position: absolute;
    top: 19px;
    left: 28px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M14.375 8.125C14.375 4.6875 11.5625 1.875 8.125 1.875C4.6875 1.875 1.875 4.6875 1.875 8.125C1.875 11.5625 4.6875 14.375 8.125 14.375C11.5625 14.375 14.375 11.5625 14.375 8.125ZM13.1641 14.4922C11.7969 15.5859 10.0391 16.25 8.125 16.25C3.63281 16.25 0 12.6172 0 8.125C0 3.63281 3.63281 0 8.125 0C12.6172 0 16.25 3.63281 16.25 8.125C16.25 10.0391 15.5859 11.7969 14.4922 13.1641L19.7266 18.3984C20.0781 18.75 20.0781 19.375 19.7266 19.7266C19.375 20.0781 18.75 20.0781 18.3984 19.7266L13.1641 14.4922Z' fill='%231B1A18'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
@media (max-width: 767px) {
    .calendar-hero__search::before {
        left: 10px;
    }
}

input[type="search"].calendar-search__input {
    flex-grow: 1;
    border: none;
    border-radius: 50px;
    background-color: transparent;
    font-size: 1.125rem;
    color: var(--global-palette3);
    padding-left: 10px;
    margin: 0 0 0 20px;
    height: 46px;
    outline: 0 !important;
}

.calendar
    button:not(.calendar__this-week-button):not(
        .calendar__subscribe-button
    ):not(.calendar__event-button),
.calendar
    button:not(.calendar__this-week-button):not(
        .calendar__subscribe-button
    ):not(.calendar__event-button):hover,
.calendar
    button:not(.calendar__this-week-button):not(
        .calendar__subscribe-button
    ):not(.calendar__event-button):focus {
    padding: 0;
    border: none;
    background-color: transparent;
    text-transform: none;
    font-weight: 700;
}

/* Club Automation Integration CSS */

.acac-calendar-content {
    position: relative;
}

.acac-classes-list {
    display: flex;
    overflow-x: auto;
    gap: 0;
}

.calendar__header {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
    margin-bottom: 36px;
}

.calendar__nav {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    column-gap: 24px;
    row-gap: 10px;
    flex-wrap: wrap;
    margin-right: auto;
}

@media screen and (min-width: 1025px) {
    .calendar__header {
        flex-direction: row;
        justify-content: start;
        align-items: center;
        column-gap: 24px;
    }
}

.calendar__this-week-button {
    border: 2px solid #afb1b0;
    font-size: 1rem;
    padding: 10px 20px;
}

.calendar__current-week {
    font-size: 1.75rem;
}

.calendar__download-button {
    text-align: left;
}

.calendar__download-button::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 14px;
    height: 18px;
    margin-right: 8px;
    background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='18' viewBox='0 0 14 18' fill='none'%3E%3Cpath d='M1.125 18C0.492188 18 0 17.5078 0 16.875C0 16.2422 0.492188 15.75 1.125 15.75H12.375C13.0078 15.75 13.5 16.2422 13.5 16.875C13.5 17.5078 13.0078 18 12.375 18H1.125ZM7.55859 13.1836C7.10156 13.6055 6.39844 13.6055 5.94141 13.1836L1.44141 8.68359C1.01953 8.22656 1.01953 7.52344 1.44141 7.06641C1.89844 6.64453 2.60156 6.64453 3.05859 7.06641L5.625 9.66797V1.125C5.625 0.492188 6.11719 0 6.75 0C7.38281 0 7.875 0.492188 7.875 1.125V9.66797L10.4414 7.06641C10.8984 6.64453 11.6016 6.64453 12.0586 7.06641C12.4805 7.52344 12.4805 8.22656 12.0586 8.68359L7.55859 13.1836Z' fill='%2399CA3C'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.calendar__download-button:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.calendar__subscribe {
    position: relative;
}

.calendar__subscribe-button {
    border: 1px solid #808483;
    border-radius: 4px;
    height: 42px;
    padding: 0 38px 0 14px;
    font-weight: 600;
    text-transform: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M0.851562 0.850007L4.85156 4.85001L8.85156 0.850007' stroke='%23161816' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right 14px center;
    background-repeat: no-repeat;
    background-size: 10px 6px;
}

.calendar__subscribe-button:hover,
.calendar__subscribe-button:focus,
.calendar__subscribe-button[aria-expanded="true"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M0.851562 0.850007L4.85156 4.85001L8.85156 0.850007' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right 14px center;
    background-repeat: no-repeat;
    background-size: 10px 6px;
    background-color: #000;
    border-color: #000;
    color: #fff;
}

.calendar__subscribe-button[aria-expanded="true"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M9 5L5 1L0.999999 5' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.calendar__subscribe-menu[aria-hidden="true"] {
    display: none;
}

.calendar__subscribe-menu[aria-hidden="false"] {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
}

.calendar__subscribe-menu {
    position: absolute;
    top: 48px;
    left: 0;
    width: 100%;
    max-width: 300px;
    background-color: #fff;
    border: 1px solid #c6c8c7;
    border-radius: 4px;
    padding: 14px;
    z-index: 1000;
}

.calendar__subscribe-option {
    color: #000;
    text-decoration: none;
}

.calendar__subscribe-option:hover {
    text-decoration: underline;
}

.calendar__main {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 32px;
}

@media screen and (min-width: 1280px) {
    .calendar__main {
        grid-template-columns: 1fr 6fr;
        column-gap: 48px;
    }
}

.calendar__sidebar-title {
    font-size: 1.25rem;
    font-weight: 400;
}

.calendar__selections {
    display: flex;
    flex-wrap: wrap;
    row-gap: 24px;
    column-gap: 24px;
}

.calendar__selections:not(:has(.calendar__selected-filter)) {
    display: none;
}

.calendar__selections,
.calendar__filters {
    border-top: 1px solid #d8d9d9;
    padding: 16px 0;
}

.calendar__selections-title {
    font-size: 1rem;
}

.calendar__clear-filters-button {
    margin-left: auto;
    font-size: 1rem;
}

.calendar__clear-filters-button,
.calendar__clear-filters-button:hover,
.calendar__clear-filters-button:focus {
    font-weight: 500;
    text-transform: uppercase;
}

.calendar__clear-filters-button:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.calendar__clear-filters-button::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='18' viewBox='0 0 17 18' fill='none'%3E%3Cpath d='M16.0312 6.78125H11.5312C11.2188 6.78125 10.9688 6.59375 10.8438 6.3125C10.7188 6.03125 10.7812 5.71875 11 5.5L12.4688 4.03125C10.0938 2.21875 6.6875 2.375 4.53125 4.53125C2.1875 6.875 2.1875 10.6875 4.53125 13.0312C6.875 15.375 10.6875 15.375 13.0312 13.0312C13.2812 12.7812 13.5 12.5 13.7188 12.2188C14.0312 11.75 14.6562 11.6562 15.0938 11.9688C15.5625 12.2812 15.6562 12.9062 15.3438 13.3438C15.0938 13.75 14.7812 14.0938 14.4375 14.4375C11.3125 17.5625 6.25 17.5625 3.125 14.4375C0 11.3125 0 6.25 3.125 3.125C6.0625 0.1875 10.75 0 13.875 2.625L15.5 1C15.7188 0.78125 16.0312 0.71875 16.3125 0.84375C16.5938 0.96875 16.7812 1.21875 16.7812 1.53125V6.03125C16.7812 6.4375 16.4375 6.78125 16.0312 6.78125Z' fill='%23353636'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.calendar ul.calendar__selected-filters {
    list-style: none;
    width: 100%;
    margin-left: 0;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: 8px;
    font-weight: 600;
    font-size: 0.875rem;
}

.calendar__selected-filter {
    width: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 12px;
    border: 1px solid #696d6c;
    border-radius: 6px;
    background-color: #f2f3f2;
    padding: 11px;
}

.calendar__remove-filter-button::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M1.35938 0.28125L4.59375 3.51562L7.80469 0.28125C8.08594 0 8.57812 0 8.85938 0.28125C9.16406 0.585938 9.16406 1.05469 8.85938 1.35938L5.64844 4.57031L8.85938 7.78125C9.16406 8.08594 9.16406 8.55469 8.85938 8.85938C8.57812 9.14062 8.08594 9.14062 7.80469 8.85938L4.59375 5.625L1.35938 8.85938C1.07812 9.14062 0.585938 9.14062 0.304688 8.85938C0 8.55469 0 8.08594 0.304688 7.78125L3.51562 4.57031L0.304688 1.35938C0 1.05469 0 0.585938 0.304688 0.28125C0.585938 0 1.07812 0 1.35938 0.28125Z' fill='%23353636'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.calendar ul.calendar__filters {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
    margin-top: 0;
    padding-top: 0;
}

.calendar__filter {
    border-bottom: 1px solid #d8d9d9;
}

.calendar button.calendar__filter-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-align: left;
    text-transform: uppercase !important;
    font-size: 1.125rem;
    padding: 12px 0 !important;
    border-radius: 0;
    cursor: pointer;
}

.calendar__filter-button::after {
    content: "+";
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
}

.calendar__selected-filters-count {
    margin-left: 4px;
    margin-right: auto;
}

.calendar__filter-button[aria-expanded="true"]::after {
    content: "−";
}

.calendar__filter-options {
    padding: 12px 0 24px;
}

.calendar__filter-options[aria-hidden="true"] {
    display: none;
}

.calendar__filter-options[aria-hidden="false"] {
    display: block;
}

.calendar__checkbox:not(:last-child) {
    margin-bottom: 10px;
}

.calendar__checkbox label {
    margin-left: 8px;
    line-height: 1.2;
}

.calendar__checkbox input[type="checkbox"] {
    accent-color: #000;
}

/* Filter fieldsets for grouped options (e.g., club by region) */
.calendar__filter-fieldset {
    border: none;
    padding: 0;
    margin: 0 0 16px 0;
}

.calendar__filter-fieldset:last-child {
    margin-bottom: 0;
}

.calendar__filter-legend {
    font-weight: 600;
    font-size: 1rem;
    color: #4b4e4d;
    padding: 0;
    margin-bottom: 10px;
}

/* Location select filter (events calendar) */
.calendar__filter--select {
    padding: 16px 0;
    border-bottom: 1px solid #d8d9d9;
}

.calendar__filter-label {
    display: block;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 8px;
}

.calendar__filter-select {
    width: 100%;
    padding: 10px 12px;
    font-size: 1rem;
    border: 1px solid #4b4e4d;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}

.calendar__filter-select:focus {
    outline: none;
    border-color: #000;
}

.calendar__events {
    overflow: auto;
    max-height: calc(100vh - 200px);
    -webkit-overflow-scrolling: touch;
}

/* Replicate MAC OS scrollbars for Windows */

.calendar__events::-webkit-scrollbar {
    background-color: #fff;
    width: 16px;
}

.calendar__events::-webkit-scrollbar-track {
    background-color: #fff;
}

.calendar__events::-webkit-scrollbar-thumb {
    background-color: #babac0;
    border-radius: 16px;
    border: 4px solid #fff;
}

.calendar__events::-webkit-scrollbar-button {
    display: none;
}

.calendar__table {
    min-width: 1024px;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 6px 0;
}

.calendar__table th {
    position: sticky;
    top: 0;
}

.calendar__table th,
.calendar__table td {
    width: calc(100% / 7);
    vertical-align: top;
}

.calendar__weekday {
    background-color: #4b4e4d;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    padding: 10px 8px;
    border-bottom: 4px solid #99ca3c;
}

.calendar__weekday-date {
    margin-top: 2px;
    font-size: 1.75rem;
    font-weight: 800;
}

/* Event buttons */
.calendar__event-button,
.class-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-height: 155px;
    padding: 12px 12px 16px;
    border: none;
    border-bottom: 1px solid #99ca3c;
    border-radius: 0;
    background-color: #fff;
    transition: background-color 0.2s ease;
    font-family: "Inter", sans-serif;
    font-size: 1rem;
    text-align: left;
    text-transform: none;
    padding: 15px;
}
.calendar__event-button:nth-child(odd) {
    background-color: #fff;
}

.calendar__event-button:nth-child(even) {
    background-color: #f7f8f7;
}

.calendar__event-button:hover {
    background-color: #e8e8e8;
}

.class-card {
    border-bottom: none;
    padding-left: 0;
    padding-right: 0;
    background-color: transparent;
}

.acac-class-calendar--dark .class-card * { 
    color: var(--global-palette9);
}

.calendar__event-button.calendar__event-button--has-fee {
    border: 2px solid var(--global-palette-highlight);
}

.calendar__event-time,
.class-card__time {
    font-weight: 600;
    font-size: .875rem;
    letter-spacing: 0.01em;
    line-height: 1.1;
    color: #4b4e4d;
    margin-bottom: 4px;
}

.calendar__event-title,
.class-card__title {
    font-weight: 800;
    font-family: "Poppins", sans-serif;
    line-height: 1.3;
    color: #1b1a18;
    margin-bottom: 8px;
}

.calendar__event-title {
    color: #68990c;
    letter-spacing: 0.02em;
}

.class-card__title {
    padding-bottom: 10px;
    border-bottom: 1px solid #99ca3c;
    width: 100%;
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.calendar__event-location,
.calendar__event-hall,
.calendar__event-instructor,
.class-card__type,
.class-card__hall,
.class-card__instructor {
    color: #353636;
    margin-bottom: 2px;
}

.class-card__type {
    font-weight: 600;
    font-size: 0.875rem;
    color: #99ca3c;
}

.calendar__event-location {
    font-weight: 600;
}

.calendar__event-hall,
.calendar__event-instructor,
.class-card__hall,
.class-card__instructor {
    font-size: 0.875rem;
    font-weight: 400;
}

/* Modal styles */
.calendar__modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 8000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.calendar__modal[aria-hidden="true"] {
    display: none;
}

.calendar__modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.calendar__modal-content {
    position: relative;
    background-color: #fff;
    padding: 16px;
    margin: 16px;
    max-width: 1286px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 0px 64px rgba(0, 0, 0, 0.14);
}

@media screen and (min-width: 768px) {
    .calendar__modal-content {
        padding: 24px 24px 14px;
    }
}

@media screen and (min-width: 1025px) {
    .calendar__modal-content {
        padding: 48px 48px 38px;
    }
}

.calendar__modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 30px;
    height: 30px;
    padding: 4px;
    cursor: pointer;
    border-radius: 0;
}

.calendar__modal-close,
.calendar__modal-close:hover,
.calendar__modal-close:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M9.91206 0.366117C10.4002 -0.122039 11.1917 -0.122039 11.6798 0.366117C12.168 0.854272 12.168 1.64573 11.6798 2.13388L2.13388 11.6798C1.64573 12.168 0.854272 12.168 0.366116 11.6798C-0.122039 11.1917 -0.122039 10.4002 0.366116 9.91206L9.91206 0.366117Z' fill='%23161816'/%3E%3Cpath d='M11.6798 9.91206C12.168 10.4002 12.168 11.1917 11.6798 11.6798C11.1917 12.168 10.4002 12.168 9.91206 11.6798L0.366117 2.13388C-0.122038 1.64573 -0.122038 0.854272 0.366117 0.366116C0.854273 -0.122039 1.64573 -0.122039 2.13388 0.366117L11.6798 9.91206Z' fill='%23161816'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px;
    background-color: #fff;
    border: 1px solid #d8d9d9;
}

@media screen and (min-width: 768px) {
    .calendar__modal-close {
        top: 24px;
        right: 24px;
    }
}

@media screen and (min-width: 1025px) {
    .calendar__modal-close {
        top: 48px;
        right: 48px;
    }
}

.calendar__modal-close:hover {
    background-color: #f0f0f0;
    color: #333;
}

/* Modal grid layout */
.calendar__modal-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media screen and (min-width: 768px) {
    .calendar__modal-grid {
        grid-template-columns: 1fr 2fr;
        gap: 40px;
    }

    .calendar__modal-grid--no-image {
        grid-template-columns: 1fr;
    }
}

/* Modal image */
.calendar__modal-image-wrapper {
    aspect-ratio: 420 / 492;
    overflow: hidden;
    background-color: #f2f3f2;
}

.calendar__modal-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Modal details */

@media screen and (min-width: 768px) {
    .calendar__modal-class-type,
    .calendar__modal-title {
        padding-right: 40px;
    }
}

.calendar__modal-class-type {
    font-size: clamp(1.25rem, 1.162rem + 0.3756vw, 1.5rem);
    line-height: 1.3;
}

.calendar__modal-title {
    font-size: clamp(1.875rem, 1.4789rem + 1.6901vw, 3rem);
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.4;
    color: #1b1a18;
    margin: 0 0 16px;
}

.calendar__modal-location-time-wrapper {
    background-color: #1b1a18;
    color: #fff;
    padding: 16px;
    font-size: clamp(1.125rem, 1.081rem + 0.1878vw, 1.25rem);
    line-height: 1.5;
}

@media screen and (min-width: 768px) {
    .calendar__modal-location-time-wrapper {
        padding: 8px 20px;
    }
}

.calendar__modal-location {
    position: relative;
    padding-right: 20px;
    margin-right: 16px;
    font-weight: 800;
}

@media screen and (min-width: 1025px) {
    .calendar__modal-location {
        display: inline-block;
    }

    .calendar__modal-location::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        width: 1px;
        height: 22px;
        background-color: #99ca3c;
    }
}

.calendar__modal-time {
    display: inline-block;
    text-transform: uppercase;
}

.calendar__modal-meta {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 10px;
    border: 1px solid #d8d9d9;
    border-top: none;
    margin-bottom: 16px;
    background-color: #f7f8f7;
    padding: 16px;
    font-size: clamp(1rem, 0.958rem + 0.1878vw, 1.125rem);
    line-height: 1.2;
}

@media screen and (min-width: 768px) {
    .calendar__modal-meta {
        grid-template-columns: repeat(4, auto);
        column-gap: 20px;
        margin-bottom: 24px;
        padding: 12px 20px;
    }
}

@media screen and (min-width: 1025px) {
    .calendar__modal-meta {
        column-gap: 36px;
    }
}

.calendar__modal-label {
    margin-bottom: 8px;
}

.calendar__modal-value {
    display: block;
    font-weight: 800;
}

.calendar__modal-description {
    margin: 16px 0;
    font-size: clamp(1rem, 0.958rem + 0.1878vw, 1.125rem);
    line-height: 1.6;
}

.calendar__modal-register-button:not(:last-child) {
    margin-bottom: 30px;
}

@media screen and (min-width: 1025px) {
    .calendar__modal-register-button:not(:last-child) {
        margin-bottom: 48px;
    }
}

.calendar__modal-additonal-link {
    display: inline-block;
    margin-bottom: 10px;
    margin-right: 24px;
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: 0.01em;
    line-height: 1;
    text-decoration: none;
    color: #1b1a18;
    text-transform: uppercase;
}

.calendar__modal-additonal-link::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M5.80078 10.8008L10.8008 5.80078L5.80078 0.800781' stroke='%23527C04' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M0.800781 5.80078L10.8008 5.80078' stroke='%23527C04' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.calendar__modal-additonal-link:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
    color: #527c04;
}

/* Individual day column loaders */
@keyframes calendar-spin {
    to {
        transform: rotate(360deg);
    }
}

.calendar__day--loading {
    background-color: #f7f8f7;
    min-height: 300px;
}

.calendar__day-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    min-height: 200px;
}

.calendar__day-loader-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #e5e5e5;
    border-top-color: var(--global-palette1);
    border-radius: 50%;
    animation: calendar-spin 1s linear infinite;
}

/* No results message */
.calendar__no-results {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .calendar__no-results {
        padding: 80px 20px;
    }
}

.calendar__no-results-text {
    font-weight: 600;
    color: var(--global-palette3);
    margin: 0 0 8px 0;
    font-size: clamp(2rem, 1.875rem + 0.5263vw, 2.5rem);
}

.calendar__no-results-suggestion {
    color: var(--global-palette4);
    margin: 0;
}


.acac-classes-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.acac-filter-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-bottom: 38px;
}

@media screen and (max-width: 768px) {
    .acac-filter-group {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        margin-bottom: 28px;
    }
}

.acac-filter-group select {
    height: 46px;
    padding-left: 16px;
    border-radius: 4px;
    border: 2px solid var(--global-palette7);
    font-weight: 700;
    letter-spacing: 0.01em;
}

.acac-filter-group .acac-full-schedule-link {
    margin-left: auto;
    text-decoration: none;
}

@media (max-width: 640px) {
    .acac-filter-group .acac-full-schedule-link {
        margin-left: 0;
        text-align: center;
    }
}

.acac-schedule-link-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.acac-calendar-content:has(.splide__pagination) + .acac-schedule-link-wrapper {
    margin-top: 60px;   
}

.acac-schedule-link-wrapper .acac-full-schedule-link {
    text-decoration: none;
}

.event-card {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}

.event-card *:empty {
    display: none;
}

.event-card__date {
    align-self: start;
    display: flex;
    flex-direction: row;
    column-gap: 6px;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    background-color: #4B4E4D;
    font-weight: 800;
    font-size: 1.25rem;
    line-height: 1;
    color: var(--global-palette9);
    text-transform: uppercase;
}

.event-card__content {
    padding: 10px 0;
}

.event-card__meta {
    margin-bottom: 10px;
}

.event-card__location {
    position: relative;
    margin-right: 13px;
    color: #77A02C;
    text-transform: uppercase;
    font-weight: 500;
}

@media screen and (min-width: 768px) {
    .event-card__location::after {
        content: "";
        display: inline-block;
        vertical-align: middle;
        margin-left: 13px;
        width: 1px;
        height: 16px;
        background-color: var(--global-palette7);
    }
}

.event-card__time {
    font-weight: 700;
    color: var(--global-palette2);
}

.event-card__title {
    margin-bottom: 4px;
    font-weight: 800;
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--global-palette3);
}

.event-card__register {
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    color: #77A02C;
}

.event-card__register:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
    color: #77A02C;
}

.event-card__description {
    margin-bottom: 16px;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: var(--global-palette4);
    line-clamp: 3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-card__register::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 14px;
    height: 14px;
    margin-left: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='12' viewBox='0 0 13 12' fill='none'%3E%3Cpath d='M6.38461 11L11 6L6.38462 1' stroke='%2377A02C' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M11 6L1 6' stroke='%2377A02C' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (min-width: 768px) {
    .event-card {
        flex-direction: row;
        column-gap: 22px;
    }

    .event-card__date {
        align-self: stretch;
        flex-shrink: 0;
        flex-direction: column;
        row-gap: 4px;
        padding: 12px 6px;
        width: 72px;
        height: 80px;
        text-align: center;
    }

    .event-card__month {
        font-size: 1rem;
        letter-spacing: 0.02em;
    }

    .event-card__day {
        font-size: 2.5rem;
    }

    .event-card__content {
        padding: 0;
    }
}

.acac-events-calendar--dark .event-card__date {
    background-color: var(--global-palette9);
    color: #000;
}

.acac-events-calendar--dark .event-card__time,
.acac-events-calendar--dark .event-card__title,
.acac-events-calendar--dark .event-card__description {
    color: var(--global-palette9);
}

.acac-events-calendar--dark .event-card__location,
.acac-events-calendar--dark .event-card__register,
.acac-events-calendar--dark .event-card__register:hover {
    color: var(--global-palette1);
}

.acac-events-calendar--dark .event-card__register::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='12' viewBox='0 0 13 12' fill='none'%3E%3Cpath d='M6.38461 11L11 6L6.38462 1' stroke='%2399CA3C' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M11 6L1 6' stroke='%2399CA3C' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Footer Location Selector Start */
.acac-location-selector {
    max-width: 478px;
}

.acac-location-selector > select.acac-location-dropdown {
    font-size: 1.25rem;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    width: 100%;
}
/* Footer Location Selector End */
.modal-dropdown-wrapper {
    display: flex;
    row-gap: 24px;
    flex-direction: column;
    align-items: flex-end;
}
.modal-dropdown-wrapper select.modal-selector {
    border-radius: 4px;
    min-height: 50px;
    width: 100%;
}
button.modal-trigger-button {
    background: var(--global-palette1);
}
button.modal-trigger-button:hover,
button.modal-trigger-button:focus {
    background: var(--global-palette2);
    border-color: var(--global-palette2);
    color: var(--global-palette9);
}