/**
 * Swiper 8.2.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 29, 2022
 */

@font-face {
    font-family: swiper-icons;
    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

* {
    box-sizing: border-box;
}

*::-webkit-scrollbar {
    width: 2px;
    background: #E5ECFE;
}

*::-webkit-scrollbar-button {
    background: #7F73FA;
}

*::-webkit-scrollbar-track {
    border-radius: 1px;
    background: #7F73FA;
}

*::-webkit-scrollbar-track-piece {
    background-color: #E5ECFE;
    border: 1px solid #E5ECFE;
}

*::-webkit-scrollbar-thumb {
    border-radius: 2px;
    width: 100%;
    background: #7F73FA;
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--blue) transparent;
}

html {
    font-size: calc(100vw / 192);
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide, .swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 120rem
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered > .swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: .1rem;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: .1rem;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: .1rem;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: .1rem;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 4.4rem
}

.swiper-button-next, .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0 - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 1rem;
    right: auto
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 1rem;
    left: auto
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    content: 'next'
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 1rem;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, .8rem));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, .8rem));
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
    right: 1rem;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 0.6rem) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 0.8rem
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 0.4rem)
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, .25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 0.4rem;
    left: 0;
    top: 0
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
    width: 0.4rem;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 1rem;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, .1)
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 1%;
    bottom: 0.3rem;
    z-index: 50;
    height: 0.5rem;
    width: 98%
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
    position: absolute;
    right: 0.3rem;
    top: 1%;
    z-index: 50;
    width: 0.5rem;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, .5);
    border-radius: 1rem;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 4.2rem;
    height: 4.2rem;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -2.1rem;
    margin-top: -2.1rem;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 0.4rem solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid > .swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(5rem)
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}


/**** modal-video.min.css ****/
@keyframes modal-video {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes modal-video-inner {
    from {
        transform: translate(0, 10rem)
    }
    to {
        transform: translate(0, 0)
    }
}

.modal-video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000000;
    cursor: pointer;
    opacity: 1;
    animation-timing-function: ease-out;
    animation-duration: 0.3s;
    animation-name: modal-video;
    transition: opacity 0.3s ease-out;
}

.modal-video-close {
    opacity: 0;
}

.modal-video-close .modal-video-movie-wrap {
    transform: translate(0, 10rem);
}

.modal-video-body {
    max-width: 96rem;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

.modal-video-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

@media (orientation: landscape) {
    .modal-video-inner {
        padding: 1rem 6rem;
        box-sizing: border-box;
    }
}

.modal-video-movie-wrap {
    width: 100%;
    height: 0;
    position: relative;
    padding-bottom: 56.25%;
    background-color: #333;
    animation-timing-function: ease-out;
    animation-duration: 0.3s;
    animation-name: modal-video-inner;
    transform: translate(0, 0);
    transition: transform 0.3s ease-out;
}

.modal-video-movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.modal-video-close-btn {
    position: absolute;
    z-index: 2;
    top: -4.5rem;
    right: 0;
    display: inline-block;
    width: 3.5rem;
    height: 3.5rem;
    overflow: hidden;
    border: none;
    background: transparent;
}

@media (orientation: landscape) {
    .modal-video-close-btn {
        top: 0;
        right: -4.5rem;
    }
}

.modal-video-close-btn:before, .modal-video-close-btn:after {
    content: '';
    position: absolute;
    height: 0.2rem;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: -0.1rem;
    background: #fff;
    border-radius: 0.5rem;
    margin-top: -0.6rem;
}

.modal-video-close-btn:before {
    transform: rotate(45deg);
}

.modal-video-close-btn:after {
    transform: rotate(-45deg);
}

.modal-video-link {
    cursor: pointer;
}


/**** A modern CSS reset ***/
*, *::before, *::after {
    box-sizing: border-box
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
    margin: 0
}

ul[role="list"], ol[role="list"] {
    list-style: none
}

html:focus-within {
    scroll-behavior: smooth
}

body {
    min-height: 100vh;
    font-size: 1.6rem;
    line-height: 1.5
}

a:not([class]) {
    text-decoration-skip-ink: auto
}

img, picture {
    max-width: 100%;
    display: block
}

input, button, textarea, select {
    font: inherit
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto
    }

    /**, *::before, *::after {*/
    /*    animation-duration: .01ms !important;*/
    /*    animation-iteration-count: 1 !important;*/
    /*    transition-duration: .01ms !important;*/
    /*    scroll-behavior: auto !important*/
    /*}*/
}

p {
    margin-top: 0;
    margin-bottom: 1em;
}

fieldset {
    border: none;
    padding: 0;
    margin: 0
}

:root {
    --blue: #CE0024;
    /*--black: #000000;*/
    --black: #454545;
    --light: #F5F5F5;
    --lightgrey: #ccc;
    --grey: #CE0024;
}

input[type="text"]:focus {
    outline: none;
}

input[type="button"]:focus {
    outline: none;
}

input, textarea {
    outline: none;
}

input:active, textarea:active {
    outline: none;
}

:focus {
    outline: none;
}

a:focus {
    outline: none;
}

textarea {
    resize: none;
}

textarea {
    resize: vertical;
}

textarea {
    resize: horizontal;
}

/* input#search-area118:focus { outline: none; }  */
button:focus {
    outline: none;
}

button:active, button:focus {
    outline: none !important;
}

button::-moz-focus-inner {
    border: 0 !important;
}

body {
    font-family: 'Roboto', sans-serif;
    color: var(--black);
}

a {
    color: var(--blue);
    text-decoration: none;
    /*transition: .3s;*/
}

a:hover {
    color: var(--grey);
    text-decoration: none;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
    font-family: 'Gilroy', sans-serif;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 1em;
}

.h1, h1 {
    font-size: 4rem;
}

.h2, h2 {
    font-size: 3.6rem;
}

.h3, h3 {
    font-size: 2rem;
}

.h4, h4 {
    font-size: 1.8rem;
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

li {
    margin-bottom: 1.5rem;
}

.btn-primary {
    color: #fff;
	background: var(--blue);
    border: none;
    border-radius: none;
    padding: 1.3rem 3.0rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.6rem;
    line-height: 150%;
    white-space: nowrap;
    cursor: pointer;
    transition: 0.3s;
}

.btn-primary:hover {
    color: #fff;
    background: var(--grey);
}

.btn-primary-o {
    color: var(--blue);
    border: .1rem solid var(--blue);
    background: #fff;
}

.btn-primary-big {
    font-size: 1.8rem;
    padding: 1.5rem 3.5rem;
}

.text-center {
    text-align: center;
}

.bg-grey {
    background: var(--light);
}

/* Отступы якорей */
.anchor {
    position: relative;
}

.anchor #catalog, .anchor #history, .anchor #partners, .anchor #contacts {
    position: absolute;
    top: -12rem;
}


a.link-hover-effect {
    display: inline-block;
    line-height: 1;
    text-decoration: none; /* Убираем подчеркивание */
    cursor: pointer;
}

a.link-hover-effect:after {
    background-color: var(--grey); /* Цвет линии при наведении на нее курсора мыши */
    display: block;
    content: "";
    height: .2rem; /* Высота линии */
    width: 0%;
    transition: width .2s ease-in-out;
}

a.link-hover-effect:hover:after,
a.link-hover-effect:focus:after {
    width: 100%;
}


/***** header + nav *****/
.site-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    color: #000;
}

.nothome .site-header {
    position: static;
    /*background: url(../img/bg-banner.jpg) top center no-repeat;*/
}

.header {
    padding: 2rem 0 2rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4.5rem;
}

.logo {
    /* margin-right:auto; */
    max-width: 24rem;
}

.header-adres {
    display: flex;
    gap: 1.6rem;
    align-items: center;
    margin: 0 auto;
}

.header-contact {
    text-align: right;
}

.contact-tel {
    font-family: 'Gilroy', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 110%;
}

.contact-time {
    font-size: 1.4rem;
    white-space: nowrap;
}


.header-contact a {
    color: #000;
}

.header-contact a:hover {
    color: var(--grey);
}

.header-mes {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    /*margin-left: auto;*/
}

.navbar .header-mes, .navbar .header-contact {
    display: none;
}

.header-mes a {
    width: 2.8rem;
    height: 2.8rem;
    transition: transform 0.2s;
}

.header-mes a:hover {
    transform: scale(1.2);
}

.header-callback {
    transform: scale(0);
    transition: transform 1.4s;
    color: var(--blue);
    background: #fff;
}

.header-callback._active {
    transform: scale(1);
}

.navbar-collapse {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.navbar-collapse .offcanvas-close {
    display: none;
}

.navbar-nav {
    padding: 0;
    list-style-type: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.7rem;
    margin: 0 auto;
}

.navbar-nav li {
    margin-bottom: 0;
}

.navbar-nav a {
    font-size: 1.4rem;
    color: #000;
    white-space: nowrap;
    /*text-transform: uppercase;*/
    transition: color 0.3s;
}

.navbar-nav a:hover, .navbar-nav .current.active a {
    color: var(--grey);
}

.navbar-nav a {
    display: inline-block;
    line-height: 1;
    text-decoration: none; /* Убираем подчеркивание */
    cursor: pointer;
}

.navbar-nav a:after {
    background-color: var(--lightgrey); /* Цвет линии при наведении на нее курсора мыши */
    display: block;
    content: "";
    height: 0.2rem; /* Высота линии */
    width: 0;
    transition: width .2s;
}

.navbar-nav a:hover:after,
.navbar-nav a:focus:after {
    width: 100%;
}

.dropdown-menu {
    position: absolute;
    float: left;
    text-align: left;
    list-style: none;
    border: none;
    border-radius: 0;
    min-width: 25rem;
    box-shadow: 0 1.0rem 1.5rem rgba(0, 0, 0, 0.2);
    margin-top: 0;
    padding: 0;
}

.dropdown:hover > .dropdown-menu {
    display: block;
}

.dropdown-item.active, .dropdown-item:active {
    background: #af2592;
}


/*** end nav ***/

/** banner **/
.main-slider {
    position: relative;
    /*background: url(/../images/design/main.png) top right no-repeat;*/
    background: #F6F6F6;
    margin-bottom: 5rem;
    background-size: contain;
}

/*.main-slider:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f6f6f6;
}

.main-slider:before {
    content: '';
    position: absolute;
    top: 15rem;
    left: 9rem;
    z-index: 1;
    display: block;
    width: 9.1rem;
    height: 9.1rem;
    background: url(/../images/design/main3.png) center center no-repeat;
    background-size: contain;
}*/

.banner {
    position: relative;
    padding-top: 11rem;
    padding-bottom: 4rem;
}

.banner .container {
    position: relative;
    z-index: 2;
}

.banner-decoration {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 37.6vw; /* This value is in vw, so it's already responsive */
    height: auto;
    pointer-events: none;
}

.banner-decoration-2 {
    position: absolute;
    top: 2rem;
    right: 1.5rem;
    z-index: 1;
    display: block;
    width: 21.92vw; /* This value is in vw, so it's already responsive */
    height: auto;
    pointer-events: none;
}

.banner__content {
    width: 100%;
    display: flex;
    margin: 0 0 6rem 0;
    align-items: flex-start;
}

.banner__content-left {
    position: relative;
    margin: 0 24px 0 0;
    padding: 0 0 20px 20px;
}


.banner__content-right {
    padding: 5rem 0 0;
    margin: 0 0 0 auto;
    flex:0 0 480px;
}

.banner__content-left:before {
    content: '';
    width: 286px;
    height: 191px;
    background: #CE0024;
    position: absolute;
    z-index: -1;
    left: 0px;
    bottom: 0px;
}

.banner__mainimage {
    display: block;
    margin: 0 0 4px 0;
}

.banner__buttonimage {
    display: block;
    width: 198px;
    margin: 0 0 0 auto;
}

.banner__title {
    font-size: 7rem;
    line-height: 108%;
    font-weight: bold;
    color: #000;
    text-align: start;
    margin: 0 0 3rem;
    max-width: 70.2rem;
}

.banner__title span {
    color: #897DFF;
}

.banner__subtitle {
    font-size: 24px;
    line-height: 37.74px;
    text-align: start;
    color: #303030;
    max-width: 70.2rem;
    margin: 0 0 4rem;
	word-break-after: break-all;
	font: Roboto;
    width: 100%;
    max-width: 422px;
}

.banner__button {
    margin: 0;
    display: block;
    width: 22rem;
    height: 5.8rem;
    font-size: 2rem;
    transition: transform 1.4s;
    transform: scale(0) translateY(-10rem);
    padding: 1rem 2rem;
}

.banner__button._active {
    transform: none;
}

.banner__profits {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
}

.banner__profit {
    flex: 0 0 calc(25% - 3.6rem);
    margin: 0 0 3rem;
    background: #fff url('/images/check-grey.png') 2.4rem center / 4rem no-repeat;
    padding: 2.4rem 2rem 2.4rem 8rem;
    box-shadow: 0 0 0.5rem 0 transparent;
    transform: translateY(10rem) scale(0);
    
}

.banner__profit-title {
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 2.4rem;
    color: #303030;
    margin: 0 0 4px 0;
}

.banner__profit-text {
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2rem;
    color: #666;
}

.banner__profit:first-child {
    transition: transform 0.4s;
}

.banner__profit:nth-child(2) {
    transition: transform 0.8s;
}

.banner__profit:nth-child(3) {
    transition: transform 1s;
}

.banner__profit:nth-child(4) {
    transition: transform 1.2s;
}

.banner__profit._active {
    transform: translateY(0) scale(1);
}

@media (max-width: 991px) {
    .banner__content-right {
        flex:0 0 380px;
    }
    .banner__title {
        font-weight: 600;
        font-size: 6rem;
        line-height: 7rem;
    }

    .banner__profit {
        flex: 0 0 calc(50% - 3rem);
    }
}

@media (max-width: 767px) {
    .banner__content {
        display: block;
    }
    .banner__content-left {
        margin: 0 0 20px 0;
    }
}

@media (max-width: 430px) {
    .banner__title {
        font-weight: 600;
        font-size: 4rem;
        line-height: 5.2rem;
    }

    .banner__profits {
        margin: 0;
    }

    .banner__profit {
        flex: 100%;
        margin: 0 0 3rem 0;
    }
    .banner__content-left {
        padding: 0;
    }
    .banner__content-left:before {
        left: -15px;
        bottom: -15px;
        width: 140px;
        height: 140px;
    }
}


/*.banner-title {
max-width:690px;
margin-bottom:20px;
color:#000;
font-weight:400;
}
.banner-title span{
font-weight:600;
}
.banner-subtitle {
max-width:640px;
font-size: 20px;
margin-bottom:40px;
}

.banner-plus {
display:grid;	
grid-template-columns:repeat(2,1fr);
gap:30px 50px;
margin-top:60px;
max-width:440px;
}

.banner-plus-item {
	display:flex;
	gap:30px;
	align-items:center;
	max-width:200px;
}
.banner-plus-img {
flex:none;
}
.banner-plus-title {
color:#000
font-size: 18px;
}

.banner-form {
max-width:420px;
margin:0 auto;
padding:30px 50px;
background: rgba(255, 255, 255, 0.8);
backdrop-filter: blur(5px);


border-image-source: linear-gradient(154.32deg, #FFFFFF 2.24%, rgba(255, 255, 255, 0) 83.76%);
border-image-slice: 1;
border-radius: 10px;
box-shadow:0 0 2px rgba(255,255,255,0.5);
}
.banner-form .form-title {
font-size: 20px;
color:#000;
}
.banner-form .form-subtitle {
color:#000;
}
.banner-form .form-agree {
    margin-top: 15px;
    font-size: 15px;
	color:#ccc;
	line-height:1.2;
}
.banner-form .btn {
	width:100%;
}*/


.breadcrumb {
    background: none;
}

.breadcrumb a {

}

.breadcrumb span {
    color: #777;
    font-size: 1.4rem;
    margin-right: 0.7rem;
}

.breadcrumb .divider img {
    filter: grayscale(100%);
    margin-right: 0.5rem;
    margin-bottom: 0.2rem;
}

.main-content {
    padding: 5rem 0;
}

section, .section {
    padding: 8rem 0;
}

.section-title {
    margin-bottom: 6rem;
    margin-top: 0;
    font-size: 4rem;
    line-height: 180%;
    font-weight: bold;
    text-align: start;
}

.section-title span {
    font-weight: bold;
}

.projects-wrap {
    padding-bottom: 11.3rem;
}

.projects {
    display: grid;
    grid-template-columns: repeat(auto-fit, 36rem);
    justify-content: space-between;
    gap: 7rem 9.7rem;
}

.project-item {
    padding-bottom: 3rem;
    max-width: 36rem;
    background: #F5F5F5;
    box-shadow: 0 0 0.5rem 0 transparent;
    transition: box-shadow 0.2s;
    transform: scale(0.8);
}

.project-item:hover {
    box-shadow: 0 .4rem 1.4rem 0 rgba(1, 1, 1, 0.2);
}

.project-item:nth-child(1) {
    transition: box-shadow 0.2s, transform 0.5s;
}

.project-item:nth-child(2) {
    transition: box-shadow 0.2s, transform 1s;
}

.project-item:nth-child(3) {
    transition: box-shadow 0.2s, transform 0.6s;
}

.project-item:nth-child(4) {
    transition: box-shadow 0.2s, transform 0.8s;
}

.project-item:nth-child(5) {
    transition: box-shadow 0.2s, transform 0.4s;
}

.project-item:nth-child(6) {
    transition: box-shadow 0.2s, transform 1s;
}

.project-item._active {
    transform: scale(1);
}

.project-img {
    height: auto;
}

.project-btn {
    display: block;
    margin-left: 3rem;
    margin-top: 2rem;
    padding: 0;
    width: 16.9rem;
    height: 5.2rem;
    font-weight: 900;
    font-size: 1.4rem;
    line-height: 150%;
    white-space: nowrap;
    background: #fff;
    color: #303030;
    position: relative;
}

.project-btn:after {
    content: '';
    width: 46px;
    height: 36px;
    border-top: 2px solid #CE0024;
    border-right: 2px solid #CE0024;
    position: absolute;
    top: -1px;
    right: -1px;
}

.project-descr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2.5rem;
    padding: 0 1.5rem 0 3rem;
    font-weight: 700;
    font-size: 2.8rem;
}

.project-descr span {
    font-weight: 300;
    font-size: 2rem;
    line-height: 140%;
    color: #454545;
}

.project-descr .project-descr-price {
    font-weight: 700;
    font-size: 2.8rem;
    white-space: nowrap;
}

.projects .project-item:nth-child(n+7) {
    display: none;
}

.projects-more-btns {
    margin-top: 5rem;
    text-align: center;
}

.more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    cursor: pointer;
}

.more-btn span {
    text-decoration: underline;
}

.more-btn img {
    transition: 0.3s;
}

.more-btn:hover img {
    transform: rotate(360deg);
}


.plus-wrap {
    position: relative;
    padding-bottom: 10.4rem;
}

/*.plus-wrap:before {
    content: '';
    position: absolute;
    top: 80%;
    left: 36%;
    z-index: 1;
    display: block;
    width: 12.5rem;
    height: 12.5rem;
    background: url(/../images/advintages/advintages-elips.png) center center no-repeat;
    background-size: contain;
    transform: translate(-50%, -50%);
}*/

.plus {
    position: relative;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px;
}

.plus-item {
    display: flex;
    align-items: flex-start;
    padding: 2rem;
    background: #fff;
    flex: 0 0 calc(33.333% - 40px);
    margin: 20px;
}

.plus-item:nth-child(1) {
    transform: scale(0) translateX(-10rem);
    transition: transform 0.8s;
}

.plus-item:nth-child(4) {
    transform: scale(0) translateX(-10rem);
    transition: transform 1s;
}

.plus-item:nth-child(7) {
    transform: scale(0) translateX(-10rem);
    transition: transform 1.2s;
}

.plus-item:nth-child(2) {
    transform: scale(0);
    transition: transform 0.8s;
}

.plus-item:nth-child(5) {
    transform: scale(0);
    transition: transform 1s;
}

.plus-item:nth-child(8) {
    transform: scale(0);
    transition: transform 1.2s;
}

.plus-item:nth-child(3) {
    transform: scale(0) translateX(10rem);
    transition: transform 0.8s;
}

.plus-item:nth-child(6) {
    transform: scale(0) translateX(10rem);
    transition: transform 1s;
}

.plus-item:nth-child(9) {
    transform: scale(0) translateX(10rem);
    transition: transform 1.2s;
}

.plus-item._active {
    transform: scale(1) translate(0, 0);
}

.plus-img {
    margin: 0 20px 0 0;
}

.plus-title {
    font-family: 'Gilroy', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 10px;
    line-height: 120%;
}

.plus-descr {
    font-size: 1.6rem;
    line-height: 125%;
    font-weight: 300;
}

.plus-info {
    flex: 1;
}


.numbers-wrap {
    padding-top: 5rem;
    background: url(/../images/design/fon11.jpg) top center no-repeat;
    box-shadow: inset 0 0.4rem 25rem rgba(255, 255, 255, 0.25);
    color: #000;
    background-size: cover;
}

.numbers-wrap .section-title {
    margin-bottom: 5rem;
}

.numbers {
    display: grid;
    grid-template-columns: repeat(auto-fit, 27rem);
    justify-content: space-between;
    gap: 5rem;
    max-width: 100rem;
    margin: 0 auto;
}

.numbers-item {
    padding-left: 3rem;
}

.numbers-title {
    font-weight: 600;
    font-size: 2rem;
    font-family: 'Gilroy';
    text-transform: uppercase;
    line-height: 1;
}

.numbers-title span {
    font-size: 8rem;
}

.numbers-descr {
    font-size: 1.8rem;
    width: 13rem;
}

.steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 10rem;
}

.step-item {
    background: #FAFAFA;
    border-radius: 1rem;
    padding: 2rem;
    display: flex;
    gap: 3rem;
    align-items: flex-start;
}

.step-img {
    max-width: 40%;
}

.step-img img {
    border-radius: 1rem;
}

.step-title {
    font-family: 'Gilroy', sans-serif;
    font-weight: 600;
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.step-descr {
    font-weight: 300;
    font-size: 1.8rem;
}

.step-item-form {
    padding: 2rem;
}

.step-item-form .step-title {
    font-family: 'Gilroy', sans-serif;
    font-weight: 600;
    font-size: 3rem;
    margin-bottom: 1.5rem;
}

.step-item-form .step-descr {
    font-weight: 400;
    font-size: 1.8rem;
    margin-bottom: 2rem;
}

.about {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
    align-items: center;
    background: #F5F5F5;
    background-size: cover;
}

.abour-info {
    padding: 6.5rem 10.6rem 6.5rem 7.1rem;
    min-width: 37.7vw;
}

.abour-img {
    position: relative;
    display: flex;
    align-items: center;
    width: 28.64vw;
    height: 100%;
}

.abour-img:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background: #CBDCFF;
}

.about-title {
    font-weight: 700;
    font-size: 2.8rem;
    line-height: 121%;
}

.about-list-item {
    display: flex;
    margin-bottom: 1.5rem;
    transform: translateX(-8rem);
    opacity: 0;
}

.about-list-item:nth-child(1) {
    transition: transform 1s, opacity 1s;
}

.about-list-item:nth-child(2) {
    transition: transform 1.4s, opacity 1.4s;
}

.about-list-item:nth-child(3) {
    transition: transform 1.8s, opacity 1.8s;
}

.about-list-item:nth-child(4) {
    transition: transform 2.2s, opacity 2.2s;
}

.about-list-item._active {
    opacity: 1;
    transform: translate(0, 0);
}

.about-list-item img {
    flex: none;
    margin-right: 2rem;
}

.about-list-item span {
    font-weight: 600;
}

.about-info-subtitle {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.about-info-descr {
    margin-bottom: 2rem;
    line-height: 150%;
}

.abour-img img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/** faq **/
.faq {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.faq-item {
    padding: 3rem 2rem;
    border-radius: 0.6rem 0.6rem 0 0;
    border-bottom: 0.1rem solid #DCDEE4;
    transform: scale(0) translateY(5rem);
}

.faq-item:nth-child(1) {
    transition: transform 1.6s;
}

.faq-item:nth-child(2) {
    transition: transform 1.4s;
}

.faq-item:nth-child(3) {
    transition: transform 1.2s;
}

.faq-item:nth-child(4) {
    transition: transform 1s;
}

.faq-item:nth-child(5) {
    transition: transform .8s;
}

.faq-item:nth-child(6) {
    transition: transform .6s;
}

.faq-item._active {
    transform: scale(1) translateY(0);
}

.faq-item.open {
    background: var(--light);
    transition: 0.3s;
}

.faq-title {
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    width: 100%;
    transition: color 0.2s;
    border: none;
    background: transparent;
    cursor: pointer;
}

.faq-title:hover, .faq-title:focus, .faq-title:active {
    color: var(--blue);
}

.faq-title:after {
    content: "+";
    display: flex;
    flex: none;
    width: 3.2rem;
    height: 3.2rem;
    font-size: 2.2rem;
    align-items: center;
    justify-content: center;
    background: var(--blue);
    color: #fff;
    border-radius: 100%;
    line-height: 1px;
}

.faq-item.open .faq-title:after {
    content: "-";
    background: var(--grey);
}

.faq-descr {
    display: none;
    color: grey;
    padding-right: 5rem;
}


.form3 {
    background: url(/images/design/fon11.jpg) top center no-repeat;
    background-attachment: fixed;
    background-size: cover;
    border-radius: 1rem;
    padding: 6rem 12rem;
}

.form3 form {
    padding: 4rem;
    background: #fff;
    border-radius: 1rem;
}

.form3 .form-title {
    text-align: center;
    margin-bottom: 5rem;
}

.form3 .jdscf-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.form3 .form-subtitle {
    margin-bottom: 0;
    text-align: left;
}

.form3-descr {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    line-height: 150%;
    font-weight: 300;
}

.form3-descr img {
    margin-right: 1.9rem;
    width: 2.7rem;
    height: 3.4rem;
}

.form3 .submit-wrap {
    padding-top: 2rem;
}

.form3 .form-agree {
    font-size: 1.2rem;
    padding-left: 1.5rem;
    line-height: 1.2;
}

.form3 .btn {
    width: 100%;
}

.swiper {
    padding-bottom: 3rem;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 0;
}

.swiper-button-next, .swiper-button-prev {
    width: 4rem;
    height: 4rem;
}

.swiper-button-next:after, .swiper-button-prev:after {
    border: 0.2rem solid var(--blue);
    border-radius: 100%;
    background: var(--blue);
    width: 4rem;
    height: 4rem;
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.reviews .swiper-slide img {
    margin: 0 auto;
}

.reviews .wf-zoom-image {
    width: 100%;
}

.wf-mediabox-numbers ol {
    display: none;
}

.review-btn {
    margin-top: 3rem;
    text-align: center;
    text-decoration: underline;
    cursor: pointer;
}

input[type="text"], input[type="email"], textarea {
    background: #FFFFFF;
    border: 0.1rem solid #D7DADD;
    box-sizing: border-box;
   
    width: 100%;
    margin-bottom: 1.5rem;
    padding: 1.8rem 1.6rem;
}

label {
    font-style: normal;
    font-weight: normal;
    color: #333333;
}

.form-agree {
    margin-top: 1.5rem;
    font-size: 1.5rem;
}

.form-title {
    margin-bottom: 2rem;
    text-align: center;
}

.form-subtitle {
    margin-bottom: 2rem;
    text-align: center;
}

.form1 {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 1rem;
    padding: 4rem 7rem;
    color: #666;
    max-width: 105rem;
    margin: 0 auto;
}

.form1-inner {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 5rem;
    align-items: center;
}

.form1 .form-title, .form1 .form-subtitle {
    color: #000;
}

.form1 .jdscf-row {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.form1 input[type="text"] {
    margin-bottom: 0;
    font-size: 1.8rem;
}

.form1 .btn-primary {
    width: 100%;
}


/*** footer ***/

.footer {
    padding: 5rem 0 2rem;
    background: #252525;
    color: #fff;
    font-size: 1.4rem;
}

.footer a {
    color: #fff;
    transition: color 0.2s;
}

.footer a:hover {
    color: var(--lightgrey);
}

.footer .contact-tel {
    margin-bottom: 1.2rem;
}

.logo-footer-wrap {
    margin-bottom: 2.2rem;
}

.logo-footer {
    display: block;
}

.logo-footer img {
    display: block;
    width: 20.2rem;
    height: auto;
}

.footer-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 8.4rem;
    justify-content: space-between;
    font-size: 1.4rem;
    line-height: 179%;
}

.footer-menu {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer-copy {
    font-size: 1.2rem;
    text-align: center;
    margin-top: 5rem;
}

.footer-contact {
    margin-bottom: 1.5rem;
}

.footer-mes {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.footer-mes svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: #fff;
    transition: fill 0.2s;
}

.footer-mes a {
    width: 3.7rem;
    height: 3.7rem;
    opacity: 0;
    transform: scale(0) translateY(5rem);
}

.footer-mes a:first-child {
    transition: opacity 1.2s, transform 1.2s;
}

.footer-mes a:last-child {
    transition: opacity 1.6s, transform 1.6s;
}

.footer-mes a._active {
    opacity: 1;
    transform: none;
}

.footer-mes a:hover svg, .footer-mes a:focus svg, .footer-mes a:active svg {
    fill: var(--lightgrey);
}

.footer-item5 button {
    opacity: 0;
    transform: scale(0) translateY(5rem);
    transition: opacity 1.2s, transform 1.2s;
    color: var(--blue);
    background: #fff;
    margin: 0 0 10px 0;
    width: 100%;
}

.footer-item5 button._active {
    opacity: 1;
    transform: none;
}

.underfooter {
    background: var(--dark);
    color: #ddd;
    text-align: center;
    font-size: 1.2rem;
}

.totop {
    position: fixed;
    z-index: 10;
    bottom: 2rem;
    right: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    padding: 1.2rem;
    border: 0.2rem solid var(--blue);
    color: #fff;
    background: var(--blue);
   
    font-size: 3rem;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.totop:hover {
    color: #fff;
    background: var(--grey);
}


/***** media ********/

/******************** media **********************/
.container {
    max-width: 130.5rem;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (max-width: 991px) {
    .navbar-nav {
        margin: 2rem 0 3rem 0;
        gap: 2rem;
        flex-direction: column;
    }

    .h1, h1 {
        font-size: 3rem;
    }

    .h2, h2 {
        font-size: 2.4rem;
    }

    .h3, h3, .h4, h4 {
        font-size: 2rem;
    }

    section, .section {
        padding: 3rem 0;
    }

    .header {
        padding-top: 1.5rem;
    }

    .logo img {
        max-width: 20rem;
    }

    .banner {
        padding-top: 10rem;
        padding-bottom: 6rem;
    }

    .banner-plus .services, .steps {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .form1-inner, .form3 .jdscf-row {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .plus-wrap {
        padding-top: 3rem;
    }

    .form1 {
        padding: 3rem 2rem;
    }

    .btn-primary-big {
        font-size: 1.6rem;
        padding: 1rem 2.5rem;
    }

    .banner-form {
        padding: 2rem;
    }

    .section-title {
        font-size: 3rem;
        margin-bottom: 3rem;
        text-align: center;
    }

    .projects {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-content: space-between;
        gap: 1.5rem;
    }

    .project-btn {
        padding: 0.5rem 1.5rem;
        font-size: 1.4rem;
    }

    .form1 .form-title {
        font-size: 2.4rem;
    }

    .numbers {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-content: space-between;
        gap: 2rem;
    }

    .numbers-title span {
        font-size: 5rem;
    }

    .numbers-wrap {
        padding-top: 4rem;
    }

    .numbers-item {
        padding-left: 1.5rem;
    }

    .step-descr {
        font-weight: 400;
        font-size: 1.5rem;
    }

    .step-item-form {
        text-align: center;
    }

    .about {
        /*grid-template-columns: 1fr;*/
        gap: 2rem;
        padding: 2rem;
    }

    .form3 {
        padding: 3rem;
    }

    .form3 form {
        padding: 2rem;
    }

    .footer-inner {
        gap: 2rem 5rem;
        justify-content: center;
    }

    .footer-item1 {
        /*width: 100%;*/
    }

    .footer-mes {
        justify-content: space-around;
    }
}


/*** max-width: 991px **/

@media (max-width: 640px) {

    .header .logo {
        width: 100%;
    }

    .banner-plus, .services, .plus, .steps {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .klients {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
        gap: 1rem;
    }

    .klient-img {
        width: 15rem;
        height: 15rem;
    }

}

.navbar-toggler {
    display: none;
    padding: 0.4rem 0.7rem;
    background: var(--blue);
    box-shadow: 0 .4rem 1.4rem 0 rgba(87, 75, 206, 0.48);
    color: #fff;
    border: none;
    position: fixed;
    top: 1.5rem;
    flex-shrink: 0;
    right: 1rem;
    width: 5rem;
    height: 5rem;
    z-index: 9;
    font-size: 2rem;
    border-radius: 0.5rem;
    transition: background-color 0.2s;
}

.navbar-toggler:hover, .navbar-toggler:focus, .navbar-toggler:active {
    background: var(--grey);
}

@media (max-width: 991px) {

    .navbar-toggler {
        display: block;
    }

    .offcanvas-collapse {
        display: block;
        position: fixed;
        top: 0;
        bottom: 0;
        left: -30rem;
        width: 30rem;
        padding-top: 3rem;
        padding-right: 1rem;
        padding-left: 1rem;
        overflow-y: auto;
        visibility: hidden;
        z-index: 9999;
        background-color: #fff;
        box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.2);
        transition: visibility 0.3s ease-in-out, transform 0.3s ease-in-out;
    }

    .offcanvas-collapse.open {
        visibility: visible;
        transform: translateX(30rem);
    }

    .offcanvas-close {
        position: absolute;
        font-size: 2.5rem;
        font-weight: 700;
        cursor: pointer;
        color: #aaa;
        border: none;
        background-color: transparent;
        right: 0;
        top: 0;
        padding: 0 1.5rem;
    }

    .offcanvas-open {
        overflow: hidden;
    }

    .navbar .header-mes {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 3rem;
    }
    .navbar .header-contact{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3rem;
        margin: 0;
    }
}

.top3 {
    background: url(/../images/callback/callback.png) center center no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.howwework {
    position: relative;
    padding-bottom: 13.8rem;
}

/*.howwework:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    display: block;
    width: 11.66vw; 
    max-width: 22.4rem;
    height: 22.13vw; /
    max-height: 42.5rem;
    background: url("/../images/works/work-bgd.png") no-repeat;
    background-size: contain;
}*/

.howwework__title {
}

.howwework__items {
    display: flex;
    gap: 2.3rem;
}

.howwework__item {
    flex: 0 1 100%;
    position: relative;
    padding-top: 2rem;
    opacity: 0;
}

.howwework__item:nth-child(1) {
    transition: opacity 1s;
}

.howwework__item:nth-child(2) {
    transition: opacity 1.4s;
}

.howwework__item:nth-child(3) {
    transition: opacity 1.8s;
}

.howwework__item:nth-child(4) {
    transition: opacity 2.2s;
}

.howwework__item._active {
    opacity: 1;
}

.howwework__item-arrow {
    position: absolute;
    top: 0;
    right: -34%;
    z-index: 1;
    display: block;
    width: 9.32vw; /* This value is in vw, so it's already responsive */
    height: auto;
}

.howwework__item:nth-child(4) .howwework__item-arrow {
    display: none;
}

.howwework__item-number {
    font-weight: 900;
    font-size: 16.6rem;
    line-height: 123%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    position: relative;
    text-shadow: 2px 0 #CE0024, -2px 0 #CE0024, 0 2px #CE0024, 0 -2px #CE0024,
               1px 1px #CE0024, -1px -1px #CE0024, 1px -1px #CE0024, -1px 1px #CE0024;
}

.howwework__item-title {
    font-weight: 700;
    font-size: 2rem;
    line-height: 155%;
    margin: 0 0 2rem 0;
    padding-left: 5.2rem;
}

.howwework__item-text {
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 143%;
    padding-left: 5.2rem;
}

.howwework__item-button {
    margin: 3rem 0 0 0;
}

@media (max-width: 991px) {
    .howwework__item {
        flex: 0 0 calc(50% - 3rem);
    }
}

@media (max-width: 584px) {
    .howwework__items {
        margin: 0;
    }

    .howwework__item {
        flex: 0 0 100%;
        max-width: 100%;
        margin: 0 0 4rem 0;
    }

    /*.howwework__item:last-child:after {*/
    /*    content: '';*/
    /*    width: calc(100% - 10.7rem);*/
    /*    height: 0.1rem;*/
    /*    background: #D3D3D3;*/
    /*    position: absolute;*/
    /*    top: 3.5rem;*/
    /*    right: 0;*/
    /*}*/
}


.partners {
    padding: 9rem 0 8.5rem 16.04vw; /* 16.04vw оставлено без изменений, так как это относительная единица */
    background: #F5F5F5;
}

.partners .container {
    max-width: 100%;
}

.partners-slide {
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 9.9rem;
    padding: 2.7rem 4rem;
    background: #fff;
    border-radius: 1rem;
}

.partners-button-next, .partners-button-prev {
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: calc(50% - 3rem);
    z-index: 99;
}

.partners-button-next {
    right: -0.5rem;
}

.partners-button-prev {
    left: -0.5rem;
}

.partners-button-next:after, .partners-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size); /* Оставлено без изменений, так как это переменная */
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    border: 0.2rem solid var(--blue);
    border-radius: 100%;
    background: var(--blue);
    width: 4rem;
    height: 4rem;
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.howtofind {
    position: relative;
    padding: 6rem 0 4rem;
}

.howtofind .section-title {
}

.howtofind__content {
    position: relative;
}

.howtofind__map {
    position: relative;
    z-index: 1;
}

.howtofind__info {
    background: #FFFFFF;
    box-shadow: 0 0.4rem 4rem rgba(98, 92, 160, 0.4);
    position: absolute;
    top: -11rem;
    right: 5rem;
    padding: 4rem;
    z-index: 2;
    max-width: 28rem;
    transform: translateY(10rem);
    opacity: 0;
    transition: opacity 1.6s, transform 1.6s;
}

.howtofind__info._active {
    opacity: 1;
    transform: none;
}

.howtofind__info-section {
    margin: 0 0 2rem 0;
}

.howtofind__info-section:first-child {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.howtofind__info-title {
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 171%;
    color: #828282;
}

.howtofind__info-phone {
    font-weight: 600;
    font-size: 1.8rem;
    line-height: 133%;
    color: #010101;
    transition: 0.4s;
}

.howtofind__info-phone:hover {
    color: #7266F3;
}

.howtofind__info-email {
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 126%;
    color: #010101;
    transition: 0.4s;
}

.howtofind__info-email:hover {
    color: #7266F3;
}

.howtofind__mes {
    display: flex;
    align-items: center;
}

.howtofind__mes a {
    margin: 0 0.6rem 0 0;
    transition: transform 0.2s;
}

.howtofind__mes a:hover, .howtofind__mes a:focus, .howtofind__mes a:active {
    transform: scale(1.2);
}

.howtofind__info-address, .howtofind__info-shedule {
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.6rem;
}

@media (max-width: 767px) {
    .howtofind__info {
        right: 2rem;
        top: 0;
        bottom: 0;
        margin: auto;
        padding: 15px;
        height: max-content;
    }
}

/*@media (max-width: 479px) {*/
/*    .howtofind__info {*/
/*        position: relative;*/
/*        top: unset;*/
/*        bottom: unset;*/
/*        left: unset;*/
/*        right: unset;*/
/*        max-width: 100%;*/
/*        box-shadow: none;*/
/*        padding: 2rem 1.5rem;*/
/*        height: auto;*/
/*    }*/
/*}*/


.modal {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    visibility: hidden;
    overflow-y: auto;
}

.modal.show {
    visibility: visible;
}

.modal.show .modal__body {
    transform: translate(0, 0);
}

.modal.show .modal__underlay {
    backdrop-filter: blur(0.5rem);
    background: rgba(0, 0, 0, 0.5);
}

.modal__underlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    backdrop-filter: blur(0);
    background: rgba(0, 0, 0, 0);
    transition: all 0.3s linear 0.4s;
}

.modal__body {
    position: absolute;
    z-index: 2;
    top: 8rem;
    left: 0;
    right: 0;
    margin: auto;
    width: calc(100% - 3rem);
    max-width: 98rem;
    background: #fff;
    transition: 0.4s linear;
    transform: translate(0, -100%);
}

.modal__close {
    position: absolute;
    width: 3rem;
    height: 3rem;
    top: 0.8rem;
    right: 0.8rem;
    cursor: pointer;
}

.modal__close:before, .modal__close:after {
    content: '';
    width: 1.5rem;
    height: 0.2rem;
    background: #8f9cb5;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: 0.4s;
    opacity: 0.6;
}

.modal__close:before {
    transform: rotate(45deg);
}

.modal__close:after {
    transform: rotate(-45deg);
}

.modal__close:hover:after, .modal__close:hover:before {
    opacity: 1;
}

.modal__close--bg {
    top: 0;
    right: 0;
    background: #2B3868;
}

#modal-media .modal__close--bg {
    background: #CE0024;
}

.modal__close--bg:before, .modal__close--bg:after {
    background: #fff;
}

.modal__close--bg:hover {
    background: #fff;
}

.modal__close--bg:hover:before, .modal__close--bg:hover:after {
    background: #fff;
}

.modal__content img {
    max-height: calc(100vh - 16rem);
}

.hover-zoom {
    cursor: zoom-in;
}

#modal-callback .modal__body, #modal-productbuy .modal__body {
    max-width: 53rem; /* For modal-callback */
}

@media (max-width: 1170px) {
    #modal-callback .modal__body, #modal-productbuy .modal__body {
        margin: 0 auto;
    }
}


.mcf {
    padding: 4.5rem 3rem 2.5rem;
}

@media (max-width: 419px) {
    .mcf {
        padding: 4rem 1rem;
    }
}

.mcf__title {
    font-family: "Gilroy", sans-serif;
    font-weight: 500;
    font-size: 3.6rem;
    line-height: 1.2;
    margin: 0 0 2rem;
    text-align: center;
}

.mcf__subtitle {
    margin: 0 0 2rem 0;
}

.mcf__label {
    position: relative;
    display: block;
    margin: 0 0 1rem;
}

.mcf__label .mcf__input {
    background: #FFFFFF;
    border: 0.1rem solid #D7DADD;
    box-sizing: border-box;
    
    width: 100%;
    padding: 1.8rem 1.6rem;
}

.mcf__label .mcf__input:hover, .mcf__label .mcf__input:focus, .mcf__label .mcf__input:active {
    outline: none;
    border-color: var(--grey);
}

/*.mcf__label .mcf__input::placeholder {
    color: transparent;
}*/

.msf__label-span {
    position: absolute;
    top: 40%;
    left: 1.6rem;
    z-index: 1;
    font-size: 1.6rem;
    line-height: 1;
    transform: translateY(-50%);
    transition: color 0.2s, top 0.2s;
    display: none;
}

input:focus + .msf__label-span {
    top: 10%;
    font-size: 1rem;
}

.mcf__buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.mcf__button {
    color: #fff;
    background: var(--blue);
    box-shadow: 0 .4rem 1.4rem 0 rgba(87, 75, 206, 0.48);
    border: none;
    
    padding: 1.3rem 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: bold;
    margin: 0 1rem 1.5rem;
    border: 0.1rem solid var(--blue);
    transition: background-color 0.2s;
    text-transform: math-auto;
}

.mcf__button._call {
    background: #fff;
    color: var(--blue);
}

.mcf__button:hover {
    color: #fff;
    background: var(--grey);
}

.mcf__note {
    font-size: 1.4rem;
    line-height: 1.8rem;
    color: #828282;
}

.mcf__thanks, .mcf__error {
    color: #1B1B20;
    margin: auto;
    font-size: 2.6rem;
    line-height: 3.2rem;
    text-align: center;
    margin: 0 0 2rem;
    display: none;
}

body.noscroll {
    overflow: hidden;
}

.magnet {
    padding: 17.6rem 0;
    background: url('/images/magnet-bg.jpg') center center / cover no-repeat;
    background-attachment: fixed;
}

.magnet__content {
    position: relative;
    background: #fff;
    padding: 6.6rem 12.7rem;
    color: #666;
    max-width: 127.7rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.magnet__content-decore {
    position: absolute;
    bottom: -10rem;
    left: -22.5rem;
    z-index: 1;
    display: block;
    width: 16.82vw;
    max-width: 32.3rem;
    height: auto;
}

@media (max-width: 991px) {
    .magnet__content {
        padding: 3rem 6.5rem;
    }
}

@media (max-width: 767px) {
    .magnet__content {
        flex-wrap: wrap;
    }
}

.about-wrap {
    padding-bottom: 11.8rem;
}

.about-wrap .section-title {
    margin-bottom: 6rem;
}

.magnet__title {
    flex: 0 0 63%;
    max-width: 63%;
    color: #000;
}

@media (max-width: 991px) {
    .magnet__title {
        flex: 0 0 56%;
        max-width: 56%;
    }
}

@media (max-width: 767px) {
    .magnet__title {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.magnet__title-text {
    font-weight: 700;
    font-size: 3.8rem;
    margin-bottom: 4.1rem;
    text-align: left;
    line-height: 126%;
}

@media (max-width: 991px) {
    .magnet__title-text {
        font-size: 2.4rem;
    }
}

.magnet__note {
    display: block;
    max-width: 51rem;
    font-size: 2.2rem;
    text-align: left;
    margin-bottom: 0;
    font-weight: 300;
    line-height: 155%;
}

.magnet__form {
    flex: 0 0 33%;
    max-width: 33%;
    transform: scale(0.4) translate(8rem, 0);
    transition: transform 1.2s;
}

.magnet__form._active {
    transform: scale(1) translate(0, 0);
}

@media (max-width: 991px) {
    .magnet__form {
        flex: 0 0 40%;
        max-width: 40%;
    }
}

@media (max-width: 767px) {
    .magnet__form {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.magnet__form input {
    margin: 0 0 2rem 0;
    transition: border 0.2s;
}

#magnet-name {
    margin: 0;
}

label[for="magnet-name"] {
    position: relative;
    display: block;
    margin-bottom: 2rem;
}

/*label[for="magnet-name"] input::placeholder {
    color: transparent;
}*/

label[for="magnet-name"] span {
    position: absolute;
    top: 50%;
    left: 1.6rem;
    z-index: 1;
    transform: translateY(-50%);
    transition: color 0.2s, top 0.2s;
    display: none;
}

label[for="magnet-name"] input:focus + span {
    top: 10%;
    font-size: 1rem;
}

.magnet__form input:hover, .magnet__form input:focus {
    border-color: var(--grey);
}

.magnet__form .btn {
    width: 100%;
}

.magnet__form-agreement {
    margin-top: 1.5rem;
    font-size: 1.5rem;
}

.magnet__thanks, .magnet__error {
    display: none;
    font-weight: 600;
    font-size: 3rem;
    text-align: center;
    margin: auto;
    color: #000;
}


.reviews-wrap {
    position: relative;
    padding-bottom: 14.2rem;
    background: #E5ECFE;
}

.reviews-decor {
    position: absolute;
    top: -20%;
    left: 0;
    z-index: 1;
    display: block;
    width: 10.78vw; /* Оставлено без изменений, так как это относительная единица */
    height: auto;
    transition: transform 1.2s;
    transform: translateX(-100%);
}

.reviews-decor._active {
    transform: translateX(0);
}

.reviews-slider {
    position: relative;
    z-index: 1;
    padding: 3.4rem 10.1rem 3.4rem 9.7rem;
    border-radius: 1rem;
    box-shadow: 0 0.4rem 5.2rem 0 rgba(0, 0, 0, 0.08);
    background: #fff;
}

.reviews-slider:before, .reviews-slider:after {
    content: '';
    position: absolute;
    top: 0;
    z-index: 5;
    display: block;
    width: 9.7rem;
    height: 100%;
    border-radius: 1rem 0 0 1rem; /* For :before */
    background: #fff;
}

.reviews-slider:after {
    border-radius: 0 1rem 1rem 0; /* For :after */
    right: 0;
    left: auto;
}

.reviews-slider:before {
    left: 0;
    border-radius: 1rem 0 0 1rem;
}

.reviews {
    position: relative;
    margin: 0 auto;
}

.reviews-slider-button {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 5rem;
    height: 5rem;
    background: #717EF3;
    border: none;
    transform: translateY(-50%);
    box-shadow: 0 0 0.5rem 0 transparent;
    transition: box-shadow 0.2s;
    cursor: pointer;
}

.reviews-slider-button:hover, .reviews-slider-button:focus, .reviews-slider-button:active {
    box-shadow: 0 0 0.5rem #999;
}

.reviews-slider-prev {
    left: -2.7rem;
}

.reviews-slider-next {
    right: -2.7rem;
}

.reviews-slider-button img {
    display: block;
    max-width: 30%;
}

.reviews-wrap .swiper-pagination {
    bottom: 9rem;
}

.reviews-wrap .swiper-pagination span {
    width: 1.5rem;
    height: 1.5rem;
    background: #fff;
    transition: background-color 0.2s;
    opacity: 1;
}

.reviews-wrap .swiper-pagination span:hover, .reviews-wrap .swiper-pagination span:focus, .reviews-wrap .swiper-pagination span:active {
    background: #BBB4FF;
}

.reviews-wrap .swiper-pagination .swiper-pagination-bullet-active {
    background: #BBB4FF;
}

.reviews .swiper-slide img {
    margin-bottom: 2.5rem;
    height: 100%;
    border-radius: 1rem;
}

.reviews .reviews-content img {
    height: auto;
}

.reviews-content {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 1.3rem;
    grid-row-gap: 1.3rem;
}

.reviews-content img {
    grid-area: 1 / 1 / 3 / 2;
    display: block;
    margin: 0;
    width: 3.2rem;
    height: 3.2rem;
}

.reviews-content-name {
    grid-area: 1 / 2 / 2 / 3;
    margin: 0;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
}

.reviews-content-review {
    grid-area: 2 / 2 / 3 / 3;
    margin: 0;
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 125%;
    color: #454545;
}

.faq-wrap {
    padding-top: 9rem;
    padding-bottom: 11rem;
}


.haveq {
    padding-top: 14.8rem;
    padding-bottom: 24.0rem;
    background: url('/images/magnet-bg-2.jpg') top center / cover no-repeat;
    background-attachment: fixed;
}

.haveq__content {
    margin: 0 auto;
    padding: 5.6rem 15.1rem;
    max-width: 95vw;
    background: #fff;
    box-shadow: 0 .4rem 5.2rem 0 rgba(60, 26, 158, 0.21);
    opacity: 0;
    transform: scale(0.5) translateY(5rem);
    transition: opacity 2s, transform 2s;
}

.haveq__content._active {
    transform: none;
    opacity: 1;
}

@media (max-width: 991px) {
    .haveq__content {
        padding: 3.0rem 1.5rem;
    }
}

.haveq__title {
    text-align: center;
    margin-bottom: 3.2rem;
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 128%;
    white-space: nowrap;
}

.haveq__title br {
    display: none;
}

.haveq__form {
    padding: 4.0rem;
    background: #fff;
    border-radius: 1.0rem;
}

@media (max-width: 991px) {
    .haveq__form {
        padding: 2.0rem 1.5rem;
    }
}

.haveq__form-content {
    display: flex;
}

@media (max-width: 767px) {
    .haveq__form-content {
        flex-wrap: wrap;
    }
}

.haveq__inputs {
    display: flex;
    flex: 0 0 66%;
    align-items: flex-start;
    max-width: 66%;
    margin: 0 3.0rem 0 0;
}

@media (max-width: 767px) {
    .haveq__inputs {
        flex: 0 0 100%;
        max-width: 100%;
        flex-wrap: wrap;
        margin: 0 0 1.5rem 0;
    }
}

.haveq__input-wrapper {
    position: relative;
    width: 50%;
}

.haveq__input-wrapper label {
    position: absolute;
    top: 50%;
    left: 1.6rem;
    z-index: 1;
    transition: top 0.2s, font-size 0.2s;
    transform: translateY(-50%);
    pointer-events: none;
    display: none;
}

input:focus + label {
    top: 10%;
    font-size: 1.0rem;
}

.haveq__input-wrapper input {
    margin-bottom: 0;
    transition: border 0.2s;
}

.haveq__input-wrapper input:hover, .haveq__input-wrapper input:focus {
    border-color: var(--grey);
}

/*.haveq__input-wrapper input::placeholder {
    color: transparent;
}

.haveq__input-wrapper #haveqphone::placeholder {
    color: inherit;
}*/

@media (max-width: 767px) {
    .haveq__input-wrapper {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.haveq__input-wrapper:first-child {
    margin: 0 3.0rem 0 0;
}

.haveq__button-wrapper {
    padding: 0;
}

@media (max-width: 767px) {
    .haveq__button-wrapper {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0;
    }
}

.haveq .btn {
    width: 100%;
}

.haveq__agreement {
    font-size: 1.2rem;
    margin-top: 1.5rem;
    line-height: 1.2;
}

.haveq__form-call {
}

@media (max-width: 767px) {
    .haveq__form-call {
        margin: 1.2rem 0 0 0;
    }
}

.haveq__thanks, .haveq__error {
    display: none;
    font-weight: 600;
    font-size: 3.0rem;
    text-align: center;
    margin: auto;
    color: #000;
}

.debug {
    display: none;
}

@media (max-width: 1400px) {
    .header {
        gap: 2.0rem;
    }

    .projects {
        gap: 3.9rem;
    }

    .plus {
       
    }

    .howtofind .section-title {
        left: 9vw;
    }

    .howtofind__info {
        right: 14.3rem;
    }
}

@media (max-width: 1200px) {
    html {
        font-size: calc(100vw / 120);
    }

    .reviews {
        max-width: 90vw;
    }

    .howwework__item {
        flex: 0 1 calc(25% - 3rem);
    }

    .howwework__item-arrow {
        right: -23%;
    }

    .projects {
        gap: 3.7rem;
    }
}

@media (max-width: 991px) {
    html {
        font-size: calc(100vw / 99.1);
    }

    .navbar-collapse .offcanvas-close {
        display: block;
    }

    .logo {
        margin-right: auto;
        max-width: 24rem;
    }

    .header-callback {
        margin-right: 6rem;
    }

    .project-item {
        max-width: unset;
    }

    .project-img {
        width: 100%;
    }

    .howtofind .section-title {
        top: -5.6rem;
    }

    .plus {
        grid-template-columns: repeat(auto-fit, 30%);
    }

    .plus-item {
        align-items: center;
        padding: 1rem;
        flex:0 0 calc(50% - 40px);
    }

    .howwework__items {
        gap: 2rem;
    }

    .howwework__item {
        flex: 0 1 calc(25% - 2rem);
    }

    .howwework__item-number {
        font-size: 10.6rem;
    }
}

@media (max-width: 767px) {
    html {
        font-size: calc(100vw / 76.7);
    }

    .header {
        gap: 1rem;
    }

    .plus {
        gap: unset;
    }

    .howwework__items {
        flex-wrap: wrap;
    }

    .howwework__item {
        flex: 0 1 calc(50% - 2rem);
    }

    .howwework__item-arrow {
        display: none;
    }

    .magnet__content {
        gap: 2rem;
        justify-content: center;
        max-width: 50rem;
    }

    .magnet__title {
        max-width: 40rem;
    }

    .magnet__title-text {
        text-align: center;
    }

    .magnet__note {
        text-align: center;
    }

    .magnet__form {
        max-width: 40rem;
    }

    .banner__button {
        margin: 0 0 7.4rem;
    }

    .about {
        grid-template-columns: repeat(1, auto);
        max-width: 50rem;
        margin: 0 auto;
    }

    .abour-img {
        width: 100%;
        height: auto;
        justify-content: center;
    }

    .abour-img img {
        margin-left: 0;
    }

    .haveq__inputs {
        gap: 2rem;
    }

    .btn-primary-big {
        height: 6.2rem;
    }

    .haveq__title {
        white-space: normal;
        max-width: 40rem;
        margin: 0 auto 3.2rem auto;
    }

    .haveq__form {
        max-width: 42rem;
        margin: 0 auto;
    }

    .howtofind__info {
        right: 1.3rem;
    }

    .haveq__content {
        max-width: 50rem;
    }

    .abour-info {
        padding: 0;
        min-width: unset;
    }

    .footer-item4 {
        display: flex;
        align-items: center;
    }

    .footer-mes {
        flex-direction: row;
        margin: 0;
        align-items: center;
    }
}

@media (max-width: 576px) {
    html {
        font-size: calc(100vw / 57.6);
    }

    .header-callback {
        display: none;
    }

    .plus {
       display: block;
       margin: 0;
    }

    .plus-item {
        margin: 0 0 20px 0;
    }

    .howwework__items {
        justify-content: center;
    }

    .howwework__item {
        flex: 0 1 100%;
        max-width: 37rem;
    }

    .howwework__item-title {
        padding: 0;
        text-align: center;
    }

    .howwework__item-text {
        padding-left: 0;
        text-align: center;
    }

    .partners {
        padding: 9rem 1rem;
    }

    .projects {
        grid-template-columns: repeat(1, 1fr);
        gap: 3rem;
    }

    .reviews {
        max-width: 85vw;
    }

    .faq {
        grid-template-columns: 1fr;
    }

    .header-contact {
        margin-right: 6rem;
    }

    .footer-inner {
        gap: 2rem 4rem;
        justify-content: space-between;
    }

    .footer-inner > div {
        width: 46%;
    }
}

@media (max-width: 480px) {
    html {
        font-size: calc(100vw / 48);
    }

    .header-mes {
        display: none;
    }

    .banner__title {
        font-size: 3rem;
        line-height: 4.2rem;
        text-align: center;
    }

    .banner__subtitle {
        text-align: center;
    }

    .banner__button {
        margin: 0 auto 7.4rem;
    }

    .magnet__note {
        font-size: 1.8rem;
    }

    .section-title {
        line-height: 136%;
    }

    .howwework {
        padding-bottom: 3.8rem;
    }

    .magnet {
        padding: 9.6rem 0;
    }

    .reviews-wrap {
        padding-bottom: 8.2rem;
    }

    .reviews-wrap .swiper-pagination {
        bottom: 3rem;
    }

    .faq-wrap {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .partners {
        padding: 5rem 1rem;
    }

    .haveq {
        padding-top: 8rem;
        padding-bottom: 12rem;
    }

    .howtofind .section-title {
        top: -4.3rem;
    }

    .main-slider {
        margin-bottom: 0;
    }

    .projects-wrap {
        padding-bottom: 5rem;
    }

    .plus-wrap {
        padding-bottom: 5rem;
    }

    .howwework__item {
        margin-bottom: 0;
    }

}

@media (max-width: 360px) {
    html {
        font-size: calc(100vw / 36);
    }

    .logo img {
        max-width: 12rem;
    }

    .header-contact {
        display: none;
    }

    .banner__title {
        padding-top: 1rem;
        font-size: 2.8rem;
        line-height: 3.2rem;
        text-align: center;
        max-width: 29rem;
        margin: 0 auto 3rem auto;
    }

    .banner__subtitle {
        font-size: 1.8rem;
    }

    .section-title {
        font-size: 2.6rem;
        line-height: 1.4;
    }

    .magnet__content {
        padding: 2rem;
    }

    .reviews-slider {
        padding: 2rem;
    }

    .reviews-slider:before, .reviews-slider:after {
        width: 2rem;
    }

    .haveq__title {
        font-size: 2.6rem;
    }

    .form3-descr {
        font-size: 1.8rem;
    }

    .haveq__form {
        padding: 2rem 0;
    }

    .howtofind .section-title {
        top: -3.6rem;
    }

    .howtofind__info {
        position: static;
        margin-bottom: 2.5rem;
    }

    .howtofind .section-title {
        position: static;
    }

}

.models {
    padding: 60px 0;
}
.models__content {
    display: flex;
}
.models__content-left {
    flex: 0 0 520px;
    padding: 0 40px 0 0;
}
.models__pretitle {
    font-size: 16px;
    color: #666;
}
.models__title {
    margin: 0 0 20px 0;
    text-align: left;
}
.models__text {
    font-size: 18px;
    margin: 0 0 30px 0;
}
.models__prebutton {
    margin: 0 0 5px 0;
}
.models__button {
}
.modal-engage {
}
.models__content-right {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}
.models__image {
    margin: 0 10px 20px;
    flex:0 0 calc(25% - 20px);
}

.models__image img {
    display: block;
    margin: auto;
}

@media (max-width: 991px) {
    .models__content {
        display: block;
    }

    .models__content-left {
        margin: 0 0 36px 0;
        padding: 0;
    }
}

@media (max-width: 480px) {
    .models__image {
        flex:0 0 calc(50% - 20px);
    }
}

.modal__content-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery {
}
.gallery__content {
    margin: 0 0 30px 0;
}
.gallery__items {
    margin: 0 0px 30px -15px;
}
.gallery__item {
    padding: 0 0 0 15px;
    cursor: pointer;
}
.gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery__controls {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery__dots {
    flex:0 1 calc(100% - 100px);
}
.gallery__dots .slick-dots {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.gallery__dots .slick-dots li {
    font-size: 0;
    border:1px solid #CE0024;
    background: #fff;
    margin: 5px;
    width: 10px;
    height: 10px;
    cursor: pointer;
}
.gallery__dots .slick-dots li button {
    display: none;
}
.gallery__dots .slick-dots li.slick-active {
    background: #CE0024;
}
.gallery__next, .gallery__prev {
    flex:0 0 40px;
    max-width: 40px;
    font-size: 30px;
    color: #CE0024;
    font-weight: bold;
    cursor: pointer;
    transition: .4s;
    border: 2px solid #CE0024;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.gallery__next:before, .gallery__prev:before {
    content: '';
    width: 15px;
    height: 15px;
    border-top: 2px solid #CE0024;
    transition: .4s;
}
.gallery__next:hover, .gallery__prev:hover {
    background: #CE0024;
    color: #fff;
}
.gallery__next:hover:before, .gallery__prev:hover:before {
    border-color: #fff;
}
.gallery__prev:before {
    border-left: 2px solid #CE0024;
    transform: rotate(-45deg);
}

.gallery__next:before {
    border-right: 2px solid #CE0024;
    transform: rotate(45deg);
}
.gallery__next {
    margin: 0 0 0 10px;
    padding: 0 5px 0 0;
}
.gallery__prev {
    margin: 0 10px 0 0;
    padding: 0 0 0 5px;
}

.table-wrapper {
    width: 100%;
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table th, table td {
    border: 1px solid #CE0024;
    text-align: center;
    padding: 5px;
}

table th {

}

table td {

}

/* HELL */
#modal-media .modal__body {
  background: none;
}

#modal-media .popup-gallery__item img{
  margin: auto;
}

.popup-gallery .modal__close {
  z-index: 9;
}

.popup-gallery__prev,
.popup-gallery__next {
    position: absolute;
    width: 50px;
    height: 50px;
    background: #CE0024;
    border: 2px solid #CE0024;
    top: 0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
    z-index: 9999;
    transition: .4s;
}
.popup-gallery__prev {
    left: -28px;
}
.popup-gallery__next {
    right: -28px;
}
.popup-gallery__prev:after,
.popup-gallery__next:after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: .4s;
}
.popup-gallery__prev:after {
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(-45deg);
    left: 20px;
}
.popup-gallery__next:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    right: 20px;
}

.popup-gallery__prev:hover,
.popup-gallery__next:hover {
    background: #fff;
}

.popup-gallery__prev:hover:after,
.popup-gallery__next:hover:after {
    border-color: #CE0024;
}

@media (max-width: 991px) {
  .popup-gallery__prev {
      left: 28px;
      opacity: 0.6;
  }
  .popup-gallery__next {
      right: 28px;
      opacity: 0.6;
  }
}

@media (max-width: 584px) {
    .popup-gallery__prev {
        left: 0;
        width: 30px;
        height: 30px;
    }
    .popup-gallery__next {
        right: 0;
        width: 30px;
        height: 30px;
    }
    .popup-gallery__prev:after {
        width: 15px;
        height: 15px;
        left: 10px;
    }
    .popup-gallery__next:after {
        width: 15px;
        height: 15px;
        right: 10px;
    }
}

.magnet__content-new {
    display: flex;
}

.magnet__title-new {
    flex: 0 0 65%;
}

.magnet__title-text-new {
    font-weight: 700;
    font-size: 3.5rem;
    margin-bottom: 2rem;
    text-align: left;
    line-height: 126%;
}

.magnet__note-new {
    display: block;
    font-size: 2rem;
    text-align: left;
    margin-bottom: 0;
    font-weight: 300;
    line-height: 135%;
}

ul.default-list li {
    padding: 0 0 0 32px;
    position: relative;
    line-height: 160%;
}

ul.default-list li:before {
    content: url('/images/check-red.png');
    width: 24px;
    height: 24px;
    position: absolute;
    top: 0;
    left: 0;
}

.magnet__form-new {
    flex: 0 0 35%;
    padding: 6rem 0 0 30px;
}


/*@media (max-width: 991px) {
    .magnet__form-new {
        flex: 0 0 40%;
        max-width: 40%;
    }
}*/

@media (max-width: 767px) {
    .magnet__content-new {
        display: block;
    }
    .magnet__form-new {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0;
    }
}

.magnet__form-new input {
    margin: 0 0 2rem 0;
    transition: border 0.2s;
}

#magnet-name-new {
    margin: 0;
}

label[for="magnet-name-new"] {
    position: relative;
    display: block;
    margin-bottom: 2rem;
}

/*label[for="magnet-name"] input::placeholder {
    color: transparent;
}*/

label[for="magnet-name-new"] span {
    position: absolute;
    top: 50%;
    left: 1.6rem;
    z-index: 1;
    transform: translateY(-50%);
    transition: color 0.2s, top 0.2s;
    display: none;
}

label[for="magnet-name-new"] input:focus + span {
    top: 10%;
    font-size: 1rem;
}

.magnet__form-new input:hover, .magnet__form-new input:focus {
    border-color: var(--grey);
}

.magnet__form-new .btn {
    width: 100%;
}

.magnet__form-agreement-new {
    margin-top: 1.5rem;
    font-size: 1.5rem;
}

.magnet__thanks-new, .magnet__error-new {
    display: none;
    font-weight: 600;
    font-size: 3rem;
    text-align: center;
    margin: auto;
    color: #000;
}