.text-shadow {
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.overflow-hidden {
    overflow: hidden;
}

.text-balance {
    text-wrap: balance;
}

.justify-content-space-between {
    justify-content: space-between;
}

.text-clamp-3,
.text-clamp-3 a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.text-wrap-balance {
    text-wrap: balance;
}

.height-100 {
    height: 100%;
}

.width-100 {
    width: 100%;
}

:where(.wp-site-blocks) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

.events_widget .em.pixelbones h3 {
    --font-size: 5px !important;
}

.wp-block-navigation-submenu li {
    min-width: 280px;
    font-size: 0.9rem !important;
}

.leaflet-container {
    z-index: 1;
}

header {
    background: #ffffff;
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s ease;

    animation: add-border linear both;
    animation-timeline: scroll();
    animation-range: 0px 50px; /* Starts at 0px, finished by 50px scroll */
}

header.wp-block-template-part {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0);
    z-index: 99;
}

.wp-block-site-logo img {
    /* Apply the scroll animation */
    animation: shrink-logo linear both;
    animation-timeline: scroll();
    animation-range: 0px 50px; /* Matches your header border timing */
}

.scale-60 img {
    /* Apply the scroll animation */
    animation: shrink-logo-60 linear both;
    animation-timeline: scroll();
    animation-range: 0px 50px; /* Matches your header border timing */
}

.bg-lines {
    background: url(assets/images/bg-lines.svg);
    background-repeat: repeat-x;
    background-position: center;

}
@keyframes shrink-logo-60 {
    to {
        width: 80%;
    }
}

@keyframes shrink-logo {
    to {
        width: 70%;
    }
}

@keyframes add-border {
    to {
        border-bottom: 1px solid #efefefef;
    }
}

@media screen and (max-width: 600px) {
    header.wp-block-template-part {
        top: 0;
    }

    .wp-block-site-logo img {
        width: 135px;
    }
}

/* 1. The UL (Flex Container) */
ul.query-slider__wrapper.wp-block-post-template {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important; /* Align everything to the left */
    gap: 10px !important; /* This is your actual gap */
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Hide scrollbars */
ul.query-slider__wrapper::-webkit-scrollbar { display: none; }
ul.query-slider__wrapper { -ms-overflow-style: none; scrollbar-width: none; }

/* 2. The LI (The Slide) */
ul.query-slider__wrapper > li.wp-block-post {
    /* This is the fix: auto width allows the slide to be exactly as wide as your 180px image */
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start !important;
}

/* 3. The Inner Group and its children */
.query-slider__item {
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
    display: block !important;
}

/* Neutralize WordPress centering margins on children */
.query-slider__item > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
}

/* Remove extra bottom margin from the image container */
.query-slider__item .wp-block-post-featured-image {
    margin-bottom: 8px !important;
}

    /* GRAVITY FORMS */

    /* Hide required descritpion on small forms */
.gf-small-form_wrapper .gform_required_legend {
    display: none;
}

/* Sets the spacing between form elements */
.gf-small-form {
    --gf-form-gap-y: 20px;
    --gf-icon-ctrl-checkbox: #000000;
}

/* Submenu links */
.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    padding: 1em 1em;
}
