@charset "UTF-8";

@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
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

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

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

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

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

.swiper-horizontal {
    touch-action: pan-y
}

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

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

.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-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

.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-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

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

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

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

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

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

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

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

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

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

.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-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px 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(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.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: 1px;
    width: var(--swiper-virtual-size)
}

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

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (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 svg,
.swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-lock {
    display: none
}

.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:after,
.swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

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

.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: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    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, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-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: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    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, 6px) 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: 8px
}

.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, 4px)
}

.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-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, 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: var(--swiper-pagination-progressbar-size, 4px);
    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: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, 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: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    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;
    touch-action: none
}

.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 {
    pointer-events: auto
}

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

.swiper.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-prev {
    pointer-events: auto;
    visibility: visible
}

.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(50px)
}

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

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

.swiper.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-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-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.swiper-cards {
    overflow: visible
}

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

@font-face {
    src: url(../fonts/Onest.ttf) format("truetype");
    font-family: Onest;
    font-weight: 100 900;
    font-display: swap
}

@font-face {
    font-family: icomoon;
    src: url(../fonts/icomoon/icomoon.ttf) format("truetype"), url(../fonts/icomoon/icomoon.svg) format("svg"), url(../fonts/icomoon/icomoon.eot) format("embedded-opentype"), url(../fonts/icomoon/icomoon.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

.icon {
    display: inline-flex
}

[class*=" icon-"],
[class^=icon-] {
    font-family: icomoon !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-grain12:before {
    content: "\e901"
}

.icon-grain11:before {
    content: "\e903"
}

.icon-grain10:before {
    content: "\e904"
}

.icon-grain9:before {
    content: "\e902"
}

.icon-grain8:before {
    content: "\e905"
}

.icon-grain7:before {
    content: "\e906"
}

.icon-grain6:before {
    content: "\e908"
}

.icon-grain5:before {
    content: "\e907"
}

.icon-grain4:before {
    content: "\e909"
}

.icon-grain3:before {
    content: "\e90a"
}

.icon-grain2:before {
    content: "\e90c"
}

.icon-grain1:before {
    content: "\e90b"
}

.icon-doc:before {
    content: "\e917"
}

.icon-storage:before {
    content: "\e918"
}

.icon-car:before {
    content: "\e90d"
}

.icon-silo:before {
    content: "\e91a"
}

.icon-micro:before {
    content: "\e90e"
}

.icon-hands:before {
    content: "\e90f"
}

.icon-logo-icon:before {
    content: "\e900"
}

.icon-logo-mono:before {
    content: "\e916"
}

.icon-wa:before {
    content: "\e914"
}

.icon-tg:before {
    content: "\e915"
}

.icon-call:before {
    content: "\e91b"
}

.icon-calc:before {
    content: "\e91c"
}

.icon-pin:before {
    content: "\e91d"
}

.icon-route:before {
    content: "\e91e"
}

.icon-dots:before {
    content: "\e920"
}

.icon-wave-arrow:before {
    content: "\e91f"
}

.icon-right-long:before {
    content: "\e921"
}

.icon-down:before {
    content: "\e922"
}

.icon-right:before {
    content: "\e923"
}

.icon-close:before {
    content: "\e924"
}

.icon-menu:before {
    content: "\e925"
}

:root {
    --color1: #009846;
    --color2: #E8C206;
    --color3: #F6F6F6;
    --color4: #393939;
    --offset: 3rem
}

@media (max-width:1023px) {
    :root {
        --offset: 2rem
    }
}

.common {
    font-size: 10px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%
}

.common * {
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    -webkit-tap-highlight-color: transparent;
    outline: 0
}

.common__body {
    font-family: Onest, sans-serif;
    margin: 0;
    font-size: 16px;
    color: #000;
    position: relative
}

img {
    -o-object-fit: contain;
    object-fit: contain
}

iframe,
img {
    display: block;
    max-width: 100%;
    border: none
}

.app {
    display: flex;
    flex-flow: column nowrap;
    min-height: 100vh;
    position: relative;
    width: 100%;
    overflow-x: clip;
    z-index: 1;
    background: var(--color3)
}

.app button,
.app label {
    cursor: pointer
}

.app button,
.app input,
.app select,
.app textarea {
    -webkit-appearance: none;
    appearance: none;
    outline: 0;
    border: none;
    background: 0 0;
    font-family: inherit;
    font-size: 16px;
    box-shadow: none;
    border-radius: 0;
    padding: 0
}

.app input::-webkit-input-placeholder,
.app select::-webkit-input-placeholder,
.app textarea::-webkit-input-placeholder {
    font-size: inherit;
    font-weight: 400;
    color: inherit;
    opacity: .5
}

.app input:-moz-placeholder,
.app select:-moz-placeholder,
.app textarea:-moz-placeholder {
    font-size: inherit;
    font-weight: 400;
    color: inherit;
    opacity: .5
}

.app input::-moz-placeholder,
.app select::-moz-placeholder,
.app textarea::-moz-placeholder {
    font-size: inherit;
    font-weight: 400;
    color: inherit;
    opacity: .5
}

.app input:-ms-input-placeholder,
.app select:-ms-input-placeholder,
.app textarea:-ms-input-placeholder {
    font-size: inherit;
    font-weight: 400;
    color: inherit;
    opacity: .5
}

.app textarea {
    overflow: auto
}

.app select::-ms-expand,
.app textarea::-ms-expand {
    display: none
}

.app input[type=number] {
    -moz-appearance: textfield
}

.app input[type=submit] {
    border: none
}

.app input::-webkit-inner-spin-button,
.app input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    display: none
}

.app a {
    text-decoration: none;
    color: inherit
}

.app .anchor {
    top: -10px;
    position: absolute
}

.app .main {
    width: 100%;
    flex-grow: 1
}

.app .hidden {
    display: none !important
}

.app .link-full {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    cursor: pointer
}

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

.app .section {
    position: relative
}

.app .section__decor {
    pointer-events: none;
    position: absolute;
    left: -46rem;
    bottom: -15rem;
    z-index: -1
}

.app .section__bg {
    position: absolute;
    height: 100%;
    top: 0;
    right: 0;
    pointer-events: none;
    -o-object-position: left center;
    object-position: left center;
    -o-object-fit: cover;
    object-fit: cover;
    max-width: 42%
}

.app .section__btns {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin-top: 6rem
}

.app .section__title {
    margin-bottom: 6rem
}

.app .inner {
    max-width: calc(1290px + var(--offset) * 2);
    padding-left: var(--offset);
    padding-right: var(--offset);
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.app .swiper-slide {
    display: block;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    overflow: hidden
}

@media (max-width:1600px) {
    .app .section__decor {
        left: -25%
    }
}

@media (max-width:1200px) {
    .app .section__bg {
        height: 30rem;
        max-width: 100%
    }
}

@media (max-width:767px) {
    .app .section__bg {
        margin: -5rem 0 -10rem auto;
        position: static
    }
}

@media (max-width:530px) {
    .app .section__title {
        margin-bottom: 4rem
    }

    .app .section__btns {
        margin-top: 3rem
    }

    .app .section__decor {
        bottom: -10rem;
        left: -40%
    }
}

.app .contact {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 8px
}

.app .contact i.icon {
    font-size: 2rem
}

.app .btn {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    padding: 5px 3rem;
    min-height: 5.6rem;
    text-align: center;
    transition: all .5s;
    cursor: pointer;
    width: -moz-fit-content;
    width: fit-content;
    color: #fff;
    background: var(--color1);
    border-radius: 8px 0 8px 0;
    font-weight: 500
}

.app .btn._alt {
    background: var(--color2);
    color: #000
}

.app .btn._alt:disabled
{
    opacity: .666;
}

.app .btn._small {
    font-size: 14px;
    min-height: 4rem;
    padding: 5px 2rem
}

.app .btn._border {
    border: 1px solid;
    color: var(--color1);
    background: 0 0
}

.app .tab {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
    padding: 10px 3rem;
    border-radius: 8px;
    min-height: 5rem;
    font-size: 18px;
    background: #fff
}

.app .tabs {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 8px
}

@media (max-width:530px) {
    .app .tab {
        font-size: 16px;
        padding: 10px 2rem;
        min-height: 4rem
    }
}

.app .input {
    display: block;
    border-radius: 4px;
    height: 5.6rem;
    border: 1px solid #e9e9e9;
    padding: 0 2rem;
    color: inherit;
    width: 100%
}

.app textarea.input {
    height: 9.5rem;
    resize: none;
    padding-top: 15px
}

.app .input-wrap {
    position: relative;
    width: 100%
}

.app .input-wrap__unit {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 2rem;
    top: 0;
    height: 100%;
    color: #919191;
    font-size: 14px;
    text-transform: uppercase;
    z-index: 1
}

.app .checkbox {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 15px
}

.app .checkbox input {
    display: none
}

.app .checkbox input[type=radio]~.checkbox__mask {
    border-radius: 100%
}

.app .checkbox input[type=radio]~.checkbox__mask:after {
    content: none
}

.app .checkbox input[type=radio]:checked~.checkbox__mask {
    background: var(--color1);
    border-color: var(--color1);
    box-shadow: inset 0 0 0 4px #fff
}

.app .checkbox input:checked~.checkbox__mask:after {
    opacity: 1
}

.app .checkbox__mask {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    width: 2.4rem;
    height: 2.4rem;
    min-width: 2.4rem;
    border-radius: 2px;
    border: 1px solid;
    padding-bottom: 2px;
    padding-left: 2px;
    transition: all .5s
}

.app .checkbox__mask:after {
    content: "✔";
    transition: all .5s;
    opacity: 0
}

.app .select {
    position: relative;
    z-index: 3;
    max-width: 100%;
    color: var(--color4);
    min-width: 0;
    width: 100%
}

.app .select._disabled {
    pointer-events: none
}

.app .select._disabled .select__main {
    background: #e9e9e9;
    color: #a9a9a9
}

.app .select._active {
    z-index: 15
}

.app .select._active .select__options {
    display: grid
}

.app .select._active .select__main:after {
    transform: rotate(180deg)
}

.app .select__main {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    width: 100%;
    padding: 10px 2rem;
    transition: all .5s;
    min-height: 5.6rem;
    border: 1px solid #e9e9e9;
    border-radius: 6px
}

.app .select__main i.icon {
    font-size: 18px;
    color: #a7a7a7
}

.app .select__main.input input {
    padding: 0
}

.app .select__main._active:after {
    content: none
}

.app .select__main:after {
    content: "\e922";
    font-family: icomoon;
    transition: all .5s;
    cursor: pointer;
    font-size: 2rem;
    color: #a7a7a7
}

.app .select__input {
    display: none;
    text-overflow: ellipsis;
    align-self: stretch;
    padding: 0;
    width: 100%;
    resize: none;
    font-size: inherit
}

.app .select__input._keyboard {
    display: block
}

.app .select__options {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: max-content;
    min-width: 100%;
    background: #fff;
    display: none;
    overflow-y: auto;
    z-index: 5;
    padding: 15px 2.5rem;
    gap: 15px;
    border-radius: 6px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .2);
    max-height: 30rem
}

.app .select__options::-webkit-scrollbar-track {
    background: var(--color9);
    border-radius: 2rem
}

.app .select__options::-webkit-scrollbar {
    width: 5px;
    height: 5px
}

.app .select__options::-webkit-scrollbar-thumb {
    background: var(--color2);
    border-radius: 2rem
}

.app .select__option {
    transition: all .5s;
    cursor: pointer
}

.app .select__option._choosed {
    pointer-events: none;
    color: var(--color2)
}

.app .select__option._hidden {
    display: none
}

.app .select__value {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    flex-grow: 1;
    overflow: hidden
}

.app .select__placeholder {
    pointer-events: none;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

.app .irs {
    position: relative;
    display: block;
    padding-bottom: 2rem;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    height: 3.4rem
}

.app .irs-line {
    position: relative;
    display: block;
    overflow: hidden;
    outline: 0 !important;
    top: 12px;
    height: 10px;
    cursor: pointer;
    width: 100%;
    background: #e9e9e9;
    border-radius: 5rem
}

.app .irs-bar {
    position: absolute;
    display: block;
    left: 0;
    width: 0;
    top: 12px;
    height: 10px;
    background: linear-gradient(90deg, #e8c206 0, #009846 100%);
    cursor: pointer;
    border-radius: 5rem
}

.app .irs-handle {
    position: absolute;
    display: block;
    box-sizing: border-box;
    z-index: 1;
    top: 0;
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 100%;
    cursor: pointer;
    background: var(--color1);
    box-shadow: 0 0 0 3px #fff
}

.app .irs-from,
.app .irs-single,
.app .irs-to {
    position: absolute;
    display: block;
    left: 0;
    cursor: default;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    top: 12px;
    z-index: 2;
    color: #fff
}

.app .irs-hidden-input {
    position: absolute !important;
    display: block !important;
    top: 0 !important;
    left: 0 !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    outline: 0 !important;
    z-index: -9999 !important;
    background: 0 0 !important;
    border-style: solid !important;
    border-color: transparent !important
}

.app .irs-bar--single {
    border-radius: 4rem
}

.app .irs-min {
    left: 0
}

.app .irs-max {
    right: 0
}

.app .irs-max,
.app .irs-min {
    position: absolute;
    bottom: 0;
    color: var(--color1)
}

.app .range {
    display: grid;
    grid-template-columns: 30rem 40rem auto;
    gap: 15px 3rem;
    align-items: center
}

.app .range._fall .range__input:after {
    content: " с."
}

.app .range__input {
    width: -moz-fit-content;
    width: fit-content;
    background: #f4f4f4;
    border-radius: 6px 0 6px 0;
    border: 1px solid #e9e9e9;
    padding: 10px
}

.app .range__input input {
    width: 4rem;
    padding: 0;
    text-align: center
}

.app .range__input:after {
    content: " %";
    color: #a7a7a7
}

.app .irs-line:after {
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, #e8c206 0, #009846 100%);
    z-index: 1;
    border-radius: 5rem;
    position: absolute
}

.app .irs-bar {
    background: 0 0
}

@media (max-width:1023px) {
    .app .range {
        grid-template-columns: 1fr auto
    }

    .app .range__label {
        grid-column: span 2
    }
}

@media (max-width:530px) {
    .app .range {
        gap: 5px 15px
    }

    .app .range__label {
        font-size: 14px
    }
}

.app h1,
.app h2,
.app h3,
.app h4,
.app h5,
.app h6,
.app ol,
.app p,
.app ul {
    font-weight: inherit;
    font-size: inherit;
    margin: 0
}

.app ol,
.app ul {
    padding-left: 1em
}

.app p {
    line-height: 1.4
}

.app .h1,
.app .text h1 {
    text-transform: uppercase;
    font-size: 4.8rem;
    line-height: 1.2
}

.app .h2,
.app .text h2 {
    font-size: 3.2rem;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1.2
}

.app .h3,
.app .text h3 {
    font-size: 2.4rem;
    text-transform: uppercase;
    line-height: 1.2
}

.app .h4,
.app .text h4 {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.2
}

.app .h5,
.app .text h5 {
    font-weight: 600;
    font-size: 18px
}

.app .link {
    border-bottom: 1px solid
}

.app .page-header {
    padding-bottom: 4rem;
    display: grid;
    gap: 2rem
}

.app .bg {
    background: #fff
}

.app .bg2 {
    background: var(--color1);
    color: #fff
}

.app .full-img {
    width: 100%
}

.app .color {
    color: var(--color1)
}

.app .pt-100 {
    padding-top: 10rem
}

.app .pb-100 {
    padding-bottom: 10rem;
    z-index: 1;
}

.app .pt-40 {
    padding-top: 4rem
}

.app .pb-60 {
    padding-bottom: 6rem
}

.app .pt-60 {
    padding-top: 6rem
}

.app .semibold {
    font-weight: 600
}

.app .fz-14 {
    font-size: 14px
}

.app .fz-20 {
    font-size: 2rem
}

.app .map {
    width: 100%;
    height: 65rem;
    max-height: 80vh
}

.app .text-cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    grid-gap: 4rem 4rem
}

.app .text {
    display: grid;
    gap: 2rem
}

.app .text ol,
.app .text ul {
    display: grid;
    gap: 6px
}

.app .text ol li::marker,
.app .text ul li::marker {
    color: var(--color1)
}

.app .text._bg {
    background: var(--color3);
    padding: 3rem 6rem
}

@media (max-width:1023px) {
    .app .text._bg {
        padding: 3rem
    }
}

@media (max-width:767px) {
    .app .h1 {
        font-size: 3.6rem
    }

    .app .pt-100 {
        padding-top: 5rem
    }

    .app .pb-100 {
        padding-bottom: 5rem
    }
}

@media (max-width:530px) {
    .app .page-header {
        padding-bottom: 3rem
    }

    .app .text._bg {
        margin: 0 calc(0px - var(--offset))
    }

    .app .full-img {
        margin: 0 calc(0px - var(--offset));
        max-width: calc(100% + var(--offset) * 2);
        width: calc(100% + var(--offset) * 2)
    }

    .app .h1 {
        font-size: 3.2rem
    }

    .app .h2 {
        font-size: 2.6rem
    }
}

.app .megamenu._active .megamenu__drop {
    display: block
}

.app .megamenu._active .megamenu__btn {
    color: var(--color1)
}

.app .megamenu__btn {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    transition: all .5s
}

.app .megamenu__btn i.icon {
    font-size: 2.7rem
}

.app .megamenu__drop {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    display: none;
    padding-bottom: 3rem
}

.app .megamenu__drop:after {
    content: "";
    width: 100%;
    height: 2.5rem;
    bottom: 100%;
    left: 0;
    display: block;
    position: absolute
}

.app .megamenu__inner {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
    grid-gap: 0 0
}

.app .megamenu__inner i.icon {
    font-size: 7rem
}

.app .megamenu__inner a {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 2rem;
    aspect-ratio: 1/1;
    align-content: center;
    border: 1px solid #d4d3d3;
    margin: 0 -1px -1px 0;
    background: #fff
}

@media (min-width:1023px) {
    .app .megamenu:hover .megamenu__drop {
        display: block
    }

    .app .megamenu:hover .megamenu__btn {
        color: var(--color1)
    }
}

@media (max-width:767px) {
    .app .megamenu {
        min-width: 0
    }

    .app .megamenu__drop {
        position: static;
        padding: 0;
        margin-top: 15px
    }

    .app .megamenu__inner {
        padding: 0;
        font-size: 12px;
        grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr))
    }

    .app .megamenu__inner i.icon {
        font-size: 5rem
    }

    .app .megamenu__inner a {
        padding: 10px;
        gap: 10px
    }
}

.app .social {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem
}

.app .social a {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    background: #2d2d2d;
    width: 4rem;
    min-width: 4rem;
    height: 4rem
}

.app .number {
    display: grid;
    gap: 10px
}

.app .number b {
    font-size: 18px;
    font-weight: 600
}

.app .number p {
    color: #656565;
    font-size: 14px
}

.app .number__value {
    font-size: 6rem;
    font-weight: 600;
    color: var(--color1);
    border-bottom: 1px solid #d3d3d3;
    padding-bottom: 15px;
    margin-bottom: 5px;
    line-height: .9
}

.app .number__value small {
    font-size: 3rem;
    font-weight: 500
}

.app .numbers {
    display: grid;
    gap: 5rem
}

@media (max-width:767px) {
    .app .number__value {
        font-size: 5rem
    }
}

@media (max-width:530px) {
    .app .numbers {
        gap: 3rem
    }
}

.app .category._active img {
    display: block
}

.app .category._active .category__link {
    border-color: var(--color1);
    color: var(--color1)
}

.app .category._active .category__link:after {
    opacity: 1
}

.app .category img {
    position: absolute;
    top: 0;
    right: 0;
    background: #f1ece3;
    border-radius: 30rem 0 30rem 0;
    padding: 10rem 0;
    max-width: 63rem;
    display: none
}

.app .category__link {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
    padding: 2rem 0;
    border-bottom: 1px solid #d4d3d3;
    width: 100%;
    max-width: 41rem;
    transition: all .5s
}

.app .category__link i.icon {
    font-size: 5rem
}

.app .category__link span {
    flex-grow: 1
}

.app .category__link:after {
    content: "\e921";
    font-family: icomoon;
    font-size: 2.4rem;
    opacity: 0;
    color: var(--color1)
}

.app .categories {
    position: relative
}

.app .categories__title {
    margin-bottom: 2rem;
    margin-top: 4rem
}

.app .categories__title:first-child {
    margin-top: 0
}

.app .categories__title:last-child {
    margin-bottom: 0
}

@media (max-width:1200px) {
    .app .category img {
        max-width: 50%
    }
}

@media (max-width:1023px) {
    .app .category._active+.category {
        border-top: 1px solid #d4d3d3
    }

    .app .category img {
        position: static;
        margin: 2.5rem auto
    }

    .app .category__link {
        max-width: initial
    }
}

@media (max-width:767px) {
    .app .category img {
        max-width: 100%;
        padding: 4rem 0
    }
}

@media (max-width:530px) {
    .app .category img {
        border-radius: 15rem 0 15rem 0
    }

    .app .category__link {
        padding: 15px 0
    }

    .app .category__link i.icon {
        font-size: 4rem
    }
}

.app .breadcrumbs {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 5px 15px;
    padding-top: 4rem;
    padding-bottom: 4rem
}

.app .breadcrumbs a:not(:last-child):after {
    content: "•";
    margin-left: 15px
}

@media (max-width:530px) {
    .app .breadcrumbs {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

.app .step {
    display: grid;
    gap: 2rem;
    padding: 3rem;
    position: relative;
    align-content: start
}

.app .step i.icon {
    font-size: 8rem;
    color: var(--color1)
}

.app .step:after {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    content: "\e91f";
    font-size: 4.8rem;
    color: var(--color1);
    position: absolute;
    font-family: icomoon;
    right: 6.5rem;
    height: 100%;
    top: 0
}

.app .steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr)
}

@media (max-width:1023px) {
    .app .step {
        padding: 2rem
    }

    .app .steps {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:530px) {
    .app .step {
        padding: 2.2rem 0;
        gap: 15px 2rem;
        grid-template-columns: auto 1fr;
        align-items: center
    }

    .app .step i.icon {
        font-size: 6rem;
        grid-row: span 2
    }

    .app .step:after {
        content: none
    }

    .app .steps {
        grid-template-columns: initial
    }
}

.app .description {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem
}

.app .description__main {
    display: grid;
    gap: 6rem;
    grid-auto-rows: auto 1fr auto auto
}

.app .description__text {
    display: grid;
    gap: 4rem;
    font-size: 2rem;
    align-content: start
}

@media (max-width:1023px) {
    .app .description {
        grid-template-columns: initial
    }
}

@media (max-width:767px) {
    .app .description {
        gap: 7rem
    }
}

@media (max-width:530px) {
    .app .description__main {
        gap: 4rem
    }

    .app .description__text {
        font-size: 18px
    }
}

.app .form {
    display: grid;
    gap: 3rem;
    max-width: 85rem;
    width: 100%
}

.app .form__row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    grid-gap: 3rem 3rem;
    align-items: end;
    justify-self: stretch
}

.app .form__row._fit {
    grid-template-columns: repeat(3, 30rem)
}

.app .form__label {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
    text-align: left
}

.app .form__item {
    display: grid;
    gap: 15px;
    grid-auto-rows: auto 5.6rem;
    position: relative
}

.app .form__item[data-calc=footnote] {
    min-height: 5.6rem;
    align-items: center
}

.app .form__item .suggestions-wrapper {
    position: absolute;
    top: 100%;
    left: 0
}

.app .form__item._auto {
    grid-auto-rows: initial
}

.app .form__bottom {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 2rem
}

@media (max-width:1200px) {
    .app .form__row._fit {
        grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr))
    }
}

@media (max-width:1023px) {
    .app .form__row {
        gap: 3rem 2rem
    }
}

@media (max-width:767px) {
    .app .form__row {
        grid-template-columns: initial
    }

    .app .form__row._fit {
        grid-template-columns: initial
    }

    .app .form__item {
        grid-auto-rows: initial
    }
}

@media (max-width:530px) {
    .app .form .btn {
        width: 100%
    }

    .app .form__bottom {
        display: grid;
        gap: 3rem
    }
}

.app .catalog {
    display: grid;
    gap: 2rem
}

.app .catalog__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 7.5rem;
    margin-bottom: 8rem
}

.app .catalog__list:last-child {
    margin-bottom: 0
}

.app .catalog__item {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
    padding: 4rem 0;
    border-top: 1px solid #d4d3d3;
    border-bottom: 1px solid #d4d3d3;
    margin-bottom: -1px;
    transition: all .5s
}

.app .catalog__item:hover {
    color: var(--color1)
}

.app .catalog__item i.icon {
    font-size: 7rem;
    color: var(--color1)
}

@media (max-width:1023px) {
    .app .catalog__list {
        gap: 0 5rem;
        grid-template-columns: 1fr 1fr
    }

    .app .catalog__item {
        padding: 2rem 0
    }
}

@media (max-width:767px) {
    .app .catalog__item i.icon {
        font-size: 5rem
    }
}

@media (max-width:530px) {
    .app .catalog {
        gap: 2.5rem
    }

    .app .catalog__list {
        gap: 0;
        margin-bottom: 2.5rem
    }

    .app .catalog__item {
        display: grid;
        justify-items: center;
        text-align: center;
        justify-content: center;
        border: 1px solid #d4d3d3;
        margin: 0 -1px -1px 0;
        aspect-ratio: 1/1;
        background: #fff
    }
}


.app .main-banner {
    min-height: 70rem;
    position: relative;
    display: grid;
    color: #fff;
    overflow: hidden;
    isolation: isolate;
}

.app .main-banner:after {
    position: absolute;
    inset: 0;
    content: "";
    background:
      linear-gradient(0deg, rgba(0,0,0,.1), rgba(0,0,0,.1)),
      linear-gradient(180deg, rgba(0,0,0,0) 56%, rgba(0,0,0,.3) 100%);
    z-index: 1;
    pointer-events: none;
}

.app .main-banner__bg {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    z-index: 0;
    background: #000;
}

.app .main-banner__inner {
    position: relative;
    z-index: 2;
    padding-top: 6rem;
    padding-bottom: 18.5rem;
    display: grid;
    align-content: end;
    gap: 4rem;
}

.app .main-banner {
    min-height: 70rem;
    position: relative;
    display: grid;
    color: #fff
}

.app .main-banner .h1 {
    max-width: 80rem;
    width: 100%
}

.app .main-banner:after {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    content: "";
    background: linear-gradient(0deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .1)), linear-gradient(180deg, rgba(0, 0, 0, 0) 56%, rgba(0, 0, 0, .3) 100%);
    z-index: -1
}

.app .main-banner__bg {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    pointer-events: none;
    z-index: -2
}

.app .main-banner__inner {
    padding-top: 6rem;
    padding-bottom: 18.5rem;
    display: grid;
    align-content: end;
    gap: 4rem
}

@media (max-width:1023px) {
    .app .main-banner__inner {
        padding-bottom: 6rem
    }
}

@media (max-width:767px) {
    .app .main-banner {
        min-height: 55rem
    }
}

@media (max-width:530px) {
    .app .main-banner .h1 {
        font-size: 2rem;
        line-height: 1.5
    }

    .app .main-banner__inner {
        padding-bottom: 3.5rem;
        gap: 2rem
    }
}

.app .locations {
    position: relative
}

.app .locations__header {
    display: grid;
    gap: 3rem;
    justify-items: center;
    text-align: center;
    height: 9rem;
    position: relative;
    z-index: 2
}

.app .locations__popup {
    background: #fff;
    padding: 2rem;
    gap: 2rem;
    position: absolute;
    width: 30rem;
    right: 25%;
    top: 35%;
    display: none
}

.app .locations__popup._active {
    display: grid
}

.app .locations__close {
    font-size: 2.4rem;
    position: absolute;
    top: 2rem;
    right: 2rem
}

.app .locations__img g[data-map-id] {
    cursor: pointer
}

.app .locations__img ._active .st3 {
    fill: var(--color2)
}

.app .locations__img ._active .st4 {
    fill: var(--color1)
}

@media (max-width:1200px) {
    .app .locations__popup {
        right: var(--offset);
        top: 40%
    }
}

@media (max-width:1023px) {
    .app .locations__header {
        height: auto;
        margin-bottom: 2.5rem
    }

    .app .locations__popup {
        position: relative;
        margin: 0 auto;
        width: 100%;
        right: initial;
        top: initial
    }
}

@media (max-width:767px) {
    .app .locations__img {
        margin: 0 -5rem
    }
}

@media (max-width:530px) {
    .app .locations__img {
        margin: 0 -15rem 0 -5rem
    }
}

.app .banner {
    position: relative;
    overflow: hidden
}

.app .banner p {
    max-width: 50%
}

.app .banner__inner {
    display: grid;
    gap: 4rem;
    position: relative
}

.app .banner__bg {
    position: absolute;
    right: -45rem;
    bottom: -10rem;
    z-index: -1;
    width: 95rem;
    aspect-ratio: 1/.916;
    pointer-events: none
}

.app .banner__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    margin-left: 1px;
}

.app .banner__bg:after {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    content: "";
    z-index: 2;
    background: url(../img/cover.svg) left bottom no-repeat;
    background-size: cover
}

@media (max-width:1600px) {
    .app .banner__bg {
        right: initial;
        left: 50%;
        width: 70rem;
        bottom: -5rem
    }
}

@media (max-width:1023px) {
    .app .banner p {
        max-width: 60%
    }

    .app .banner__bg {
        width: 70%;
        left: initial;
        right: -10rem;
        bottom: -5rem
    }
}

@media (max-width:530px) {
    .app .banner p {
        max-width: 85%
    }

    .app .banner__inner {
        gap: 3rem
    }

    .app .banner__bg {
        width: 100%;
        right: -15rem
    }
}

.app .total {
    padding-left: 6rem;
    padding-right: 6rem;
    text-align: center;
    display: grid;
    justify-items: center;
    font-size: 14px
}

.app .total .form {
    justify-items: center
}

.app .total__label {
    font-size: 18px
}

.app .total__value {
    font-size: 4.8rem;
    font-weight: 500
}

.app .total__resulr {
    display: grid;
    gap: 10px
}

@media (max-width:1023px) {
    .app .total {
        padding-left: 4rem;
        padding-right: 4rem
    }
}

@media (max-width:767px) {
    .app .total {
        padding: 4rem var(--offset)
    }
}

@media (max-width:530px) {
    .app .total {
        text-align: left
    }

    .app .total__result {
        text-align: center
    }
}

.app .calc-page._no-price .calc__result small,
.app .calc-page._no-price .total__result small {
    display: none
}

.app .calc-page._no-price [data-calc=cost_price_no-tax],
.app .calc-page._no-price [data-calc=total_price_no-tax] {
    display: none
}

.app .calc {
    padding: 4rem 6rem;
    display: grid;
    gap: 4rem
}

.app .calc hr {
    border: none;
    border-bottom: 1px solid #e9e9e9;
    min-width: 100%;
    margin: 0 -6rem
}

.app .calc__block {
    display: grid;
    gap: 3rem
}

.app .calc__block .ranges-active {
    display: grid;
    gap: 3rem
}

.app .calc__block .ranges-active:empty {
    display: none
}

.app .calc__result {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
    font-size: 2.4rem;
    font-weight: 500
}

.app .calc__result small {
    font-size: 2rem;
    color: #a7a7a7
}

.app .calc__result i.icon {
    font-size: 2rem;
    margin-right: 10px
}

@media (max-width:767px) {
    .app .calc {
        padding: 4rem var(--offset)
    }
}

@media (max-width:530px) {
    .app .calc {
        gap: 3rem
    }

    .app .calc__block {
        gap: 2em
    }

    .app .calc__block .form__row._fit {
        margin-bottom: 2rem
    }

    .app .calc__block .form__row._fit:last-child {
        margin-bottom: 0
    }
}

@media (max-width:767px) {
    .app .calc-page {
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0
    }

    .app .calc-page .breadcrumbs {
        padding-left: var(--offset);
        padding-right: var(--offset)
    }
}

.app .header {
    background: #fff;
    position: relative;
    z-index: 10
}

.app .header a:not([class*=btn]) {
    transition: all .5s
}

.app .header a:not([class*=btn]):hover {
    color: var(--color1)
}

.app .header__inner {
    display: grid;
    grid-template-columns: 10rem 1fr;
    gap: 0 6rem;
    align-items: end;
    padding-top: 10px;
    padding-bottom: 2.5rem
}

.app .header__menu {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 8rem;
    padding-top: 2.5rem
}

.app .header__menu-list {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 8rem
}

.app .header__top {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9e9e9
}

.app .header__contacts {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 3rem;
    font-size: 14px
}

.app .header__btns {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem
}

.app .header__slogan {
    opacity: .7;
    font-weight: 500;
    font-size: 11px;
    text-transform: uppercase;
    max-width: 27rem;
    line-height: 1.65
}

.app .header__logo {
    grid-row: span 2
}

.app .header__logo img {
    width: 100%
}

.app .header__toggle {
    display: none
}

.app .header-mob {
    display: none
}

@media (max-width:1300px) {
    .app .header__menu {
        gap: 5rem
    }

    .app .header__menu-list {
        gap: 5rem
    }

    .app .header__inner {
        gap: 0 4rem
    }
}

@media (max-width:1200px) {
    .app .header__menu {
        gap: 3.5rem
    }

    .app .header__menu-list {
        gap: 3.5rem
    }

    .app .header__slogan {
        display: none
    }
}

@media (max-width:1023px) {
    .app .header {
        position: fixed;
        top: 5.5rem;
        left: 0;
        width: 100%;
        display: none;
        border-bottom: 1px solid #e9e9e9
    }

    .app .header__logo {
        display: none
    }

    .app .header__inner {
        grid-template-columns: initial
    }

    .app .header__menu {
        font-size: 14px
    }

    .app .header__menu-list {
        gap: 2rem;
        flex-grow: 1;
        justify-content: space-between
    }

    .app .header__toggle:checked~.header {
        display: grid
    }

    .app .header-mob {
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 1px;
        border-bottom: 1px solid #e9e9e9;
        position: fixed;
        top: 0;
        width: 100%;
        background: #e9e9e9;
        z-index: 20
    }

    .app .header-mob i.icon {
        color: var(--color1);
        font-size: 2rem
    }

    .app .header-mob__btn {
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center;
        width: 5.5rem;
        height: 5.5rem;
        background: #fff
    }

    .app .header-mob__logo {
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-start;
        align-items: center;
        flex-grow: 1;
        background: #fff;
        padding: 10px 16px;
        gap: 2rem;
        text-transform: uppercase;
        font-size: 10px;
        font-weight: 500
    }

    .app .header-mob__logo span {
        line-height: 1.65;
        opacity: .7;
        max-width: 30rem
    }

    .app .header-mob__logo img {
        height: 3rem
    }
}

@media (max-width:767px) {
    .app .header {
        height: calc(100% - 5.5rem);
        align-content: start;
        overflow-y: auto
    }

    .app .header .megamenu__btn {
        justify-content: space-between
    }

    .app .header .megamenu__btn i.icon {
        display: none
    }

    .app .header .megamenu__btn:after {
        content: "\e923";
        font-size: 2rem;
        font-family: icomoon
    }

    .app .header__contacts {
        gap: 2.5rem
    }

    .app .header__btns,
    .app .header__contacts,
    .app .header__menu,
    .app .header__menu-list,
    .app .header__top {
        display: grid
    }

    .app .header__top {
        order: 1;
        gap: 9rem;
        padding-bottom: 0;
        border-bottom: none;
        justify-content: stretch
    }

    .app .header__inner {
        gap: 4.5rem;
        padding: 2.5rem var(--offset)
    }

    .app .header__menu-list {
        gap: 2.5rem;
        justify-content: stretch
    }

    .app .header__menu-list a {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center
    }

    .app .header__menu-list a:after {
        content: "\e923";
        font-size: 2rem;
        font-family: icomoon
    }

    .app .header__menu {
        gap: 2.5rem;
        padding-top: 0;
        justify-content: stretch
    }

    .app .header__btns {
        justify-content: stretch
    }

    .app .header-mob__logo span {
        display: none
    }
}

.app .footer {
    background: #222;
    padding-top: 6rem;
    padding-bottom: 4rem;
    color: #919191;
    z-index: 999;
}

.app .footer a {
    color: #fff
}

.app .footer__bottom {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--color4);
    padding-top: 4rem;
    font-size: 14px
}

.app .footer__main {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3rem;
    padding-bottom: 4rem
}

.app .footer__title {
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 2rem
}

.app .footer__logo {
    font-size: 12rem;
    display: flex
}

.app .footer__menu {
    font-size: 14px;
    display: grid;
    gap: 2.5rem 6rem;
    justify-content: start
}

.app .footer__menu[data-grid-col] {
    grid-auto-flow: column
}

.app .footer__col {
    display: grid;
    gap: 2rem
}

.app .footer__contacts {
    display: grid;
    gap: 10px
}

.app .footer__contact {
    display: grid;
    gap: 5px
}

.app .footer__contact small {
    font-size: 14px
}

.app .footer__contact p {
    color: #fff
}

@media (max-width:1023px) {
    .app .footer__menu[data-grid-col] {
        grid-auto-flow: row
    }
}

@media (max-width:767px) {
    .app .footer {
        padding-bottom: 3rem;
        padding-top: 3rem
    }

    .app .footer__col {
        border-bottom: 1px solid var(--color4);
        padding-bottom: 2rem
    }

    .app .footer__col:last-child {
        border-bottom: none
    }

    .app .footer__col._active .footer__menu {
        display: grid
    }

    .app .footer__col._active .footer__title:after {
        transform: rotate(-90deg)
    }

    .app .footer__main {
        display: grid;
        justify-content: stretch;
        padding-bottom: 10px
    }

    .app .footer__bottom {
        display: grid;
        gap: 2rem;
        padding-top: 3rem
    }

    .app .footer__menu {
        display: none;
        padding-bottom: 10px
    }

    .app .footer__title {
        margin-bottom: 10px
    }

    .app .footer__title:not([class*=_not-drop]) {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center
    }

    .app .footer__title:not([class*=_not-drop]):after {
        content: "\e923";
        font-size: 2rem;
        font-family: icomoon;
        transform: rotate(90deg);
        transition: all .5s
    }

    .app .footer__logo {
        font-size: 8rem;
        width: -moz-fit-content;
        width: fit-content
    }

    .app .footer__logo+.footer__col {
        border-top: 1px solid var(--color4);
        padding-top: 3rem
    }
}

.app .popup {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 1000
}

.app .popup.active {
    display: flex
}

.app .popup__close {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    cursor: pointer;
    top: 0;
    right: 0;
    padding: 16px;
    z-index: 15
}

.app .popup__close i.icon {
    font-size: 2rem
}

.app .popup__content {
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 1;
    margin: auto
}

.app .popup__content._bg {
    padding: 5rem;
    background: #fff;
    width: auto
}

.app .popup__scroll {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: flex-start;
    overflow: auto;
    overflow-x: hidden;
    position: relative;
    background: rgba(1, 3, 5, .8);
    padding: 3rem
}

@media (max-width:1200px) {
    .app .popup__content {
        min-width: 28rem
    }

    .app .popup__content._bg {
        padding: 3rem var(--offset)
    }

    .app .popup__scroll {
        padding: 5rem var(--offset)
    }
}

@media (max-width:560px) {
    .app .popup__scroll {
        padding: 0
    }

    .app .popup__content {
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: stretch;
        width: 100%;
        min-height: 100%;
        overflow-y: auto
    }

    .app .popup__content._bg {
        width: 100%
    }
}


.contacts_item
{

}


.contacts_item span
{
    display: block;
    font-weight: 700;
    margin-bottom: 5px;
}

.calc-page .form
{
    gap: unset;
}

.section.bg2.pb-60.pt-60.total
{
    display: grid;
    gap: 3rem;
    width: 100%;
}

.app .formitem {
  overflow: visible;
}

.app .formitem .suggestions-wrapper {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 9999;
}

.app .formitem .suggestions-suggestions,
.app .formitem .suggestions-addon {
  z-index: 9999 !important;
}


.app .formitem {
  overflow: visible;
}

.app .formitem .suggestions-wrapper {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 9999;
}

.app .formitem .suggestions-suggestions,
.app .formitem .suggestions-addon {
  z-index: 9999 !important;
}




