|
.carousel.carousel { |
|
margin-top: calc(80 * var(--variable-px)); |
|
transform: translate(0); |
|
|
|
.carousel-slide { |
|
display: flex; |
|
white-space: nowrap; |
|
touch-action: pan-y pinch-zoom; |
|
cursor: grab; |
|
|
|
img { |
|
position: relative; |
|
display: inline-block; |
|
user-select: none; |
|
flex: 0 0 auto; |
|
height: auto; |
|
padding: 0 20px; |
|
|
|
&:first-child, |
|
&:last-child { |
|
--fade-factor: Min(calc(var(--over-slide-factor, 0) / 1.5 + 0.5), 1); |
|
|
|
filter: Invert(calc(var(--fade-factor) / 2)) Brightness(calc(1 + var(--fade-factor))) Grayscale(var(--fade-factor)); |
|
} |
|
|
|
&:first-child { |
|
margin-left: -20px; |
|
} |
|
|
|
&:last-child { |
|
margin-right: -20px; |
|
} |
|
} |
|
} |
|
|
|
&:not(.dragging, .jostling) .carousel-slide img { |
|
transition: transform 500ms; |
|
} |
|
|
|
.carousel-slide:not(.torn) { |
|
overflow: hidden; |
|
} |
|
|
|
.carousel-slide.torn { |
|
position: fixed; |
|
top: 0; |
|
z-index: -1; |
|
|
|
-webkit-mask-repeat: no-repeat; |
|
mask-repeat: no-repeat; |
|
-webkit-mask-size: contain; |
|
mask-size: contain; |
|
|
|
&.left { |
|
padding-left: 160px; |
|
margin-left: -160px; |
|
-webkit-mask-image: url("https://static.graphite.rs/textures/torn-edge-left__2.png"); |
|
mask-image: url("https://static.graphite.rs/textures/torn-edge-left__2.png"); |
|
-webkit-mask-position: top left; |
|
mask-position: top left; |
|
} |
|
|
|
&.right { |
|
padding-right: 160px; |
|
margin-right: -160px; |
|
-webkit-mask-image: url("https://static.graphite.rs/textures/torn-edge-right__2.png"); |
|
mask-image: url("https://static.graphite.rs/textures/torn-edge-right__2.png"); |
|
-webkit-mask-position: top right; |
|
mask-position: top right; |
|
} |
|
} |
|
|
|
.screenshot-details { |
|
display: flex; |
|
margin: 20px 0; |
|
gap: 20px 40px; |
|
|
|
@media screen and (max-width: 800px) { |
|
flex-wrap: wrap; |
|
justify-content: center; |
|
} |
|
|
|
.carousel-controls { |
|
display: flex; |
|
align-items: center; |
|
flex: 0 0 auto; |
|
|
|
button { |
|
outline: none; |
|
background: none; |
|
border: none; |
|
padding: 0; |
|
color: inherit; |
|
cursor: pointer; |
|
|
|
svg { |
|
display: block; |
|
} |
|
|
|
+ button { |
|
margin-left: 20px; |
|
} |
|
} |
|
|
|
.direction { |
|
fill: currentColor; |
|
} |
|
|
|
.dot { |
|
width: 16px; |
|
height: 16px; |
|
box-sizing: border-box; |
|
border-radius: 50%; |
|
border: 2px solid currentColor; |
|
|
|
&.active { |
|
border: none; |
|
background: var(--color-crimson); |
|
} |
|
} |
|
} |
|
|
|
.screenshot-description { |
|
display: flex; |
|
align-items: center; |
|
min-height: calc(2em * 1.5); |
|
|
|
p + p { |
|
margin: 0; |
|
} |
|
|
|
p:not(.active) { |
|
display: none; |
|
} |
|
} |
|
} |
|
|
|
&.center { |
|
.screenshot-details { |
|
justify-content: center; |
|
} |
|
} |
|
|
|
&.window-size-1 .carousel-slide img { |
|
width: 100%; |
|
} |
|
|
|
&.window-size-2 .carousel-slide img { |
|
width: calc((100% / 2) - 10px); |
|
padding: 0 10px; |
|
|
|
&:first-child { |
|
margin-left: -10px; |
|
} |
|
|
|
&:last-child { |
|
margin-right: -10px; |
|
} |
|
} |
|
|
|
&.window-size-3 .carousel-slide img { |
|
width: calc((100% / 3) - 10px * (4 / 3)); |
|
padding: 0 10px; |
|
|
|
&:first-child { |
|
margin-left: -10px; |
|
} |
|
|
|
&:last-child { |
|
margin-right: -10px; |
|
} |
|
} |
|
|
|
@media screen and (max-width: 1000px) { |
|
margin-left: calc(-1 * var(--page-edge-padding)); |
|
margin-right: calc(-1 * var(--page-edge-padding)); |
|
|
|
.screenshot-details { |
|
margin-left: var(--page-edge-padding); |
|
margin-right: var(--page-edge-padding); |
|
} |
|
} |
|
|
|
@media screen and (max-width: /* The value of --max-width-plus-padding: */ 1280px) { |
|
.carousel-slide.torn { |
|
display: none; |
|
} |
|
} |
|
} |
|
|