.parallax {
    --parallax-image-width: 100%;
    --parallax-progress: 50;
    position: relative;
    overflow-y: hidden;
}
.parallax-body {
    position: relative;
}
.parallax-gradient,
.parallax-img {
    --parallax-scale: 2;
    --parallax-speed: 0.5;
    height: calc(100% * var(--parallax-scale));
    position: absolute;
    top: 0;
    transform: translateY(calc(-1% * var(--parallax-speed) * (100 - var(--parallax-progress))));
}
.parallax-gradient {
    left: 0;
    width: 100%;
}
.parallax-img {
    left: calc((100% - var(--parallax-image-width)) / 2);
    object-fit: var(--parallax-image-fit, cover);
    width: var(--parallax-image-width);
}
.parallax-scale-3 {
    --parallax-scale: 3;
    --parallax-speed: 0.625;
}
.parallax-scale-4 {
    --parallax-scale: 4;
    --parallax-speed: 0.75;
}
.parallax-scale-5 {
    --parallax-scale: 5;
    --parallax-speed: 0.8;
}
