/*-- -------------------------- -->
<---    Marquee Cards (Images)  -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #marquee-cards-img {
        padding: var(--sectionPadding);
        background: var(--white);
        overflow: hidden;
        position: relative;
        z-index: 2;
    }

    #marquee-cards-img .cs-container {
        width: 100%;
        max-width: 100%;
        margin: 0 auto clamp(2.5rem, 5vw, 4rem);
        padding: 0 1rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    #marquee-cards-img .cs-header {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    #marquee-cards-img .cs-title {
        font-family: var(--headerFont);
        font-size: var(--headerFontSize);
        color: var(--navy);
        line-height: 1.1;
        margin: 0;
        max-width: 22ch;
    }

    #marquee-cards-img .cs-text {
        font-family: var(--bodyFont);
        font-size: clamp(0.9rem, 1.4vw, 1.05rem);
        font-weight: 300;
        line-height: 1.7;
        color: var(--silver);
        margin: 0;
        max-width: 36.25rem;
    }

    #marquee-cards-img .cs-track-wrapper {
        width: 100%;
        overflow: hidden;
        margin-bottom: 1rem;
    }

    #marquee-cards-img .cs-track-wrapper:last-child {
        margin-bottom: 0;
    }

    #marquee-cards-img .cs-track {
        display: flex;
        gap: 1rem;
        width: max-content;
    }

    #marquee-cards-img .cs-track-left {
        animation: marquee-img-left 50s linear infinite;
    }

    #marquee-cards-img .cs-track-right {
        animation: marquee-img-right 60s linear infinite;
    }

    #marquee-cards-img .cs-card {
        width: clamp(260px, 28vw, 340px);
        height: 13.75rem;
        flex-shrink: 0;
        position: relative;
        overflow: hidden;
        border-radius: 0.5rem;
        border: 1px solid rgba(0, 0, 0, 0.08);
    }

    #marquee-cards-img .cs-card-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top;
        display: block;
        transition: transform 0.4s ease;
    }

    #marquee-cards-img .cs-card:hover .cs-card-img {
        transform: scale(1.05);
    }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #marquee-cards-img .cs-container {
        padding: 0 6vw;
    }

    #marquee-cards-img .cs-header {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 3.75rem;
    }

    #marquee-cards-img .cs-title {
        font-size: clamp(2.5rem, 4vw, 3.5rem);
        max-width: 18ch;
        flex-shrink: 0;
    }

    #marquee-cards-img .cs-text {
        max-width: 30rem;
        padding-bottom: 0.25rem;
    }

    #marquee-cards-img .cs-card {
        height: 15rem;
    }

    #marquee-cards-img .cs-track {
        gap: 1.25rem;
    }

    #marquee-cards-img .cs-track-wrapper {
        margin-bottom: 1.25rem;
    }
}

/* Animations */
@keyframes marquee-img-left {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes marquee-img-right {
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}