.events-banner-wrapper {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px 0;
    background-color: #000;
}

.events-banner-track {
    display: flex;
    align-items: center;
    animation: eventsBannerScroll 20s linear infinite;
    /* Ensuring enough width to look continuous */
    min-width: 200%;
}

.events-banner-wrapper:hover .events-banner-track {
    animation-play-state: paused;
}

.events-banner-item {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    color: #fff;
    padding: 0 15px;
}

.events-banner-item a {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.events-banner-item a:hover {
    opacity: 0.8;
}

.events-banner-separator {
    margin: 0 10px;
    opacity: 0.5;
}

@keyframes eventsBannerScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}