#ravel-past-events{
    position:relative;
    overflow:hidden;
    background:#050505;
    padding:100px 0;
}

#ravel-past-events *{
    box-sizing:border-box;
}

#ravel-past-events::before{
    content:'';
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        90deg,
        #050505 0%,
        transparent 8%,
        transparent 92%,
        #050505 100%
    );
    z-index:50;
    pointer-events:none;
}

#ravel-past-events .rpe-bg-grid{
    position:absolute;
    inset:0;

    background:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);

    background-size:50px 50px;

    animation:rpeGridMove 100s linear infinite;
}

@keyframes rpeGridMove{
    from{
        transform:translateY(0);
    }
    to{
        transform:translateY(50px);
    }
}

#ravel-past-events .rpe-bg-glow{
    position:absolute;
    width:1000px;
    height:1000px;
    left:50%;
    top:-300px;
    transform:translateX(-50%);
    background:
    radial-gradient(
        circle,
        rgba(255,0,120,.15),
        transparent 70%
    );
    filter:blur(30px);
}

#ravel-past-events .rpe-hero-title{
    position:relative;
    z-index:10;
    text-align:center;
    margin-bottom:70px;
    color:white;
}

#ravel-past-events .rpe-hero-title span{
    color:#ff0066;
    letter-spacing:5px;
}

#ravel-past-events .rpe-hero-title h2{
    font-size:72px;
    margin:10px 0;
    font-weight:900;
}

#ravel-past-events .rpe-hero-title p{
    opacity:.7;
}

#ravel-past-events .rpe-marquee-row{
    position:relative;
    margin:28px 0;
    overflow:hidden;
}

#ravel-past-events .rpe-marquee-track{
    display:flex;
    gap:24px;
    width:max-content;
    will-change:transform;
    transform:translate3d(0,0,0);
}

#ravel-past-events .rpe-marquee-track.reverse{
    animation-direction:reverse;
}

#ravel-past-events .rpe-marquee-track.forward{
    animation-direction:normal;
}

#ravel-past-events .rpe-marquee-track.speed1{
    animation:rpeMarquee 65s linear infinite;
}

#ravel-past-events .rpe-marquee-track.speed2{
    animation:rpeMarquee 65s linear infinite;
}

#ravel-past-events .rpe-marquee-track.speed3{
    animation:rpeMarquee 65s linear infinite;
}

#ravel-past-events .rpe-marquee-track.speed4{
    animation:rpeMarquee 65s linear infinite;
}


#ravel-past-events .rpe-poster{
    width:280px;
    flex-shrink:0;
    position:relative;
    border-radius:24px;
    overflow:hidden;
    background:#111;
    transition:
    transform .35s ease,
    box-shadow .35s ease;
}

#ravel-past-events .rpe-poster img{
    width:100%;
    display:block;
    transform:translateZ(0);
    transition:
    transform .4s ease,
    filter .4s ease;
}

#ravel-past-events .rpe-poster::before{
    content:'';
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.85),
        transparent
    );
    opacity:0;
    transition:.35s;
    z-index:2;
}

#ravel-past-events .rpe-poster::after{
    content:'';
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        120deg,
        transparent 20%,
        rgba(255,255,255,.2) 50%,
        transparent 80%
    );
    transform:translateX(-150%);
    transition:1s;
    z-index:3;
}

#ravel-past-events .rpe-poster:hover{
    z-index:999;
    transform:
    translateY(-10px)
    scale(1.08);
    box-shadow:
    0 25px 50px rgba(0,0,0,.45),
    0 0 25px rgba(255,0,100,.25);
}

#ravel-past-events .rpe-poster:hover img{
    transform:scale(1.06);
}

#ravel-past-events .rpe-poster:hover::before{
    opacity:1;
}

#ravel-past-events .rpe-poster:hover::after{
    transform:translateX(150%);
}

@media(max-width:768px){

    #ravel-past-events .rpe-hero-title h2{
        font-size:42px;
    }

    #ravel-past-events .rpe-poster{
        width:190px;
    }
    #ravel-past-events .rpe-bg-glow{
        display:none;
    }

    #ravel-past-events .rpe-bg-grid{
        display:none;
    }

}


#ravel-past-events .rpe-marquee-track{
    will-change:transform;
    transform:translate3d(0,0,0);
    backface-visibility:hidden;
}

@keyframes rpeMarquee{
    from{
        transform:translate3d(0,0,0);
    }
    to{
        transform:translate3d(-50%,0,0);
    }
}

