.root { position: relative; } .viewport { overflow: hidden; } .container { display: grid; grid-auto-flow: column; grid-auto-columns: 85%; gap: var(--Space-x2); } .item { min-width: 0; } .buttonWrapper { position: absolute; top: 50%; z-index: 1; &.previous { left: 0; transform: translate(-50%, -50%); } &.next { right: 0; transform: translate(50%, -50%); } } .dots { display: flex; justify-content: center; gap: var(--Space-x1); margin-top: var(--Space-x3); } .dot { height: 8px; width: 8px; border-radius: var(--Corner-Radius-lg); background: var(--UI-Grey-40); transition: width 0.3s ease; } .dot[data-active="true"] { width: 22px; background: var(--UI-Text-Medium-contrast); } @media screen and (max-width: 767px) { .buttonWrapper { display: none; } } @media screen and (min-width: 768px) { .container { grid-auto-columns: calc(50% - var(--Space-x2) / 2); } } @media screen and (min-width: 1024px) { .container { grid-auto-columns: calc(33.33% - var(--Space-x2) * 2 / 3); } }