.before-after-photo {
    --image-width: 700px;
    position: relative;
    width: var(--image-width);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    user-select: none;
}

.before-after-photo-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: var(--image-width);
    object-fit: cover;
    user-drag: none;
    -webkit-user-drag: none;
    user-select: none;
}

.before-after-photo-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;

    clip-path: polygon(
    0% 0%,
    100% 0%,
    80% 100%,
    0% 100%
    );
}


.before-after-photo-overlay .before-img {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--image-width);
    height: 100%;
    object-fit: cover;
}

.before-after-photo-handle {
    position: absolute;
    top: 0;
    left: calc(var(--overlay-width) - 75px);
    transform: translateX(-40%);
    height: 100%;
    width: 160px;
    cursor: ew-resize;
    z-index: 4;    
}

.before-after-photo .separator-line {
    position: absolute;
    width: 2px;
    background: white;
    pointer-events: none;
    transform-origin: top left;
    z-index: 2;
}

.before-after-photo-arrows {
    position: absolute;

    pointer-events: none;
    transform-origin: center;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.before-after-photo-arrows svg {
    width: 30px;
    height: 30px;
}

.before-after-photo,
.before-after-photo-handle {
    touch-action: none;
}

@media (max-width: 1440px) {
    .before-after-photo {
        --image-width: 500px;
    }

    .gradient-for-home-page .maxi-title {
        font-size: 4rem;
    }

    .gradient-for-home-page .slogan {
        font-size: 2rem;
    }
}

@media (max-width: 1024px) {
    .before-after-photo {   
        --image-width: 100%;
    }

    .gradient-for-home-page > * {
        padding-left: 30px;
    }

    .gradient-for-home-page .maxi-title {
        font-size: 3rem;
        margin-bottom: 3px;
    }

    .gradient-for-home-page .slogan {
        margin: 0;
        font-size: 1.6rem;
    }
}

@media (max-width: 768px) {
    .before-after-photo .separator-line {
        width: 5px;
    }


    .gradient-for-home-page > * {
        padding-left: 20px;
    }

    .gradient-for-home-page .maxi-title {
        font-size: 2.5rem;
        margin-bottom: 0;
    }

    .gradient-for-home-page .slogan {
        margin: 0;
        font-size: 1rem;
    }
}