.portfolio {
    position: relative;
}

.portfolio-btn {
    margin-top: 10px;
}

.portfolio-list {
    position: relative;
    margin-top: 24px;
    margin-left: calc(-1 * var(--uasoft-content-padding));
    width: calc(100% + (var(--uasoft-content-padding) * 2));
}

.portfolio-swiper .swiper-slide {
    width: 273px;
}

@media screen and (max-width: 1024px) {
    .portfolio-swiper .swiper-slide-active .portfolio-item-bottom {
        transform: translateY(0);
    }

    .portfolio-swiper .swiper-slide-active .portfolio-item-image::after {
        height: 100%;
    }
}

@media screen and (min-width: 768px) {
    .portfolio {
        background-image: url('../../../assets/images/block-bg-world.svg');
        background-size: 400px;
        background-repeat: no-repeat;
        background-position: right -160px top 0;
        padding-top: 120px;
    }

    .portfolio-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .portfolio-list {
        margin-top: 70px;
    }
}

@media screen and (min-width: 1024px) {
    .portfolio-list {
        width: 100%;
        margin-left: 0;
    }

    .portfolio-swiper .swiper-wrapper {
        flex-wrap: wrap;
        gap: 36px;
        transform: none !important;
    }

    .portfolio-swiper .swiper-slide {
        width: calc((100% - 72px) / 3) !important;
        margin: 0 !important;
    }
}

@media screen and (min-width: 1280px) {
    .portfolio {
        background-size: 26.13vw;
        background-position: right calc(50% - -8vw) top 0;
        padding-top: 10.25vw;
        padding-bottom: 280px;
    }

    .portfolio .container {
        position: relative;
        z-index: 3;
    }

    .portfolio-tor {
        position: absolute;
        left: 0;
        bottom: 0;
        z-index: 2;
        width: 100%;
        height: 100%;
        background: url('images/portfolio-tor-1.webp') no-repeat left 0 bottom 0, url('images/portfolio-tor-2.webp') no-repeat right 0 bottom 70px;
    }
}