.marquee-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 2.217rem; font-size: 1.874rem; font-weight: 600; margin-inline: 0.618rem; } .marquee-button { all: unset; position: relative; color: hsl(var(--accent-400)); &::before { content: ""; position: absolute; bottom: 3px; left: 2px; right: 2px; height: 3px; background-color: hsl(var(--accent-400) / 0.3); z-index: -1; } } .marquee { position: relative; width: 100%; margin-block: 1.618rem; } .marquee-content { width: 100%; height: 100%; overflow: hidden; display: flex; } .marquee-item { flex: 1 0 100%; transition: transform 0.3s cubic-bezier(0.46, 0.03, 0.52, 0.96); transform: translateX(var(--scroll)); display: flex; justify-content: center; padding-inline: 0.5rem; } .marquee-item-spacing { width: calc(100svw - 12rem); max-width: 75rem; aspect-ratio: 16 / 9; display: flex; justify-content: space-between; } .marquee-item-content { border-radius: 6px; } .marquee-scroll { position: absolute; width: 100%; display: flex; justify-content: center; align-items: center; transition: background-color 0.3s, opacity 0.3s; z-index: 10; user-select: none; align-items: stretch; pointer-events: none; padding-inline: 1rem; } .marquee-scroll-arrow { max-width: 8rem; font-size: 2rem; pointer-events: all; display: flex; flex-direction: column; justify-content: center; align-items: center; & > div { width: 2.5rem; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; opacity: 0.5; transition: opacity 0.3s ease; } &:hover { cursor: pointer; & > div { opacity: 0.9; } } } #marquee-scroll-left { left: -4rem; } #marquee-scroll-right { right: -4rem; } @media not (min-width: 40rem) { .marquee-item-spacing { width: 100%; align-items: center; } .marquee-scroll-arrow { height: unset; & > div { background-color: #55555580; border-radius: 0.2rem; } } #marquee-scroll-left { left: 1rem; } #marquee-scroll-right { right: 1rem; } }