:root {
    --fz: .2778vw;
    --font: "Manrope", sans-serif;
    --font-cormorant: "Cormorant Garamond", serif;
    --container: 100vw;
    --container-padding: 15rem;
    --container-margin: calc(0.5 * (100vw - var(--container)) + var(--container-padding));
    --container-margin-minus: calc(var(--container) / 2 - 50vw - var(--container-padding));
    --z-header: 9999;
    --text-margin: 12rem;
    --text-fz: 14rem;
    --text-lh: 1.3;
    --text-li-margin: 8rem;
    --text-head-margin: 20rem;
    --c-brown: #212f4a;
    --c-beige: #F9F5F2;
    --c-beige-2: #DCD6D3;
    --c-beige-3: #BAB2AF;
    --c-gold: #BB967A;
    --c-gold-2: #BB967A;
    --c-gold-new: #BE8E6D;
    --c-gray: #BDBCBB;
    --c-gray-2: #8D8A87;
    --c-card-color: #F2EEEB;
    --c-brown-2: #493C3A;
    --c-brown-3: #5B4F4E;
    --c-brown-4: #544745;
    --c-error: #E0362B;
    --c-logo: #B49B89;
    --link-color: var(--c-brown);
    --link-color-active: var(--c-gold-new);
    --link-border-color: currentColor;
    --link-bg: transparent;
    --link-bg-active: transparent;
    --link-transition: color .3s ease-in-out;
    --link-icon-color: var(--link-color);
    --link-padding: 0;
    --link-height: 1px;
    --link-transition-function: .3s ease-out;
    --link-transition: color var(--link-transition-function), background var(--link-transition-function), background-size var(--link-transition-function);
    --btn-bg: var(--c-brown);
    --btn-color: var(--c-beige);
    --btn-transition: .25s ease-out;
    --btn-svg: var(--c-beige);
    --btn-svg-bg: var(--c-brown-4);
    --btn-gap: 28rem;
    --button-bg: var(--c-brown);
    --button-bg-hover: var(--c-brown-3);
    --button-bg-active: var(--c-brown-3);
    --button-color: #fff;
    --button-color-active: #fff;
    --button-border-width: 0px;
    --button-border: transparent;
    --button-border-active: transparent;
    --button-transition: .25s ease-out;
    --swiper-theme-color: #007aff
}

body.compensate-for-scrollbar {
    overflow: hidden;
    -ms-overflow-style: none
}

.fancybox-active {
    height: auto
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden
}

.fancybox-container {
    backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: 0;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992
}

.fancybox-container * {
    box-sizing: border-box
}

.fancybox-bg,
.fancybox-inner,
.fancybox-outer,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto
}

.fancybox-bg {
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71)
}

.fancybox-is-open .fancybox-bg {
    opacity: .87;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1)
}

.fancybox-caption,
.fancybox-infobar,
.fancybox-navigation .fancybox-button,
.fancybox-toolbar {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s, visibility .25s;
    visibility: hidden;
    z-index: 99997
}

.fancybox-show-caption .fancybox-caption,
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-nav .fancybox-navigation .fancybox-button,
.fancybox-show-toolbar .fancybox-toolbar {
    opacity: 1;
    transition: opacity .25s, visibility;
    visibility: visible
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.fancybox-toolbar {
    right: 0;
    top: 0
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translate3d(0, 0, 0);
    z-index: 99994
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden
}

.fancybox-slide {
    backface-visibility: hidden;
    display: none;
    height: 100%;
    left: 0;
    outline: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px 44px 0;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994
}

.fancybox-slide::before {
    content: "";
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--current,
.fancybox-slide--next,
.fancybox-slide--previous {
    display: block
}

.fancybox-slide--next {
    z-index: 99995
}

.fancybox-slide--image {
    padding: 44px 0 0;
    overflow: visible
}

.fancybox-slide--image::before {
    display: none
}

.fancybox-slide--html {
    padding: 6px 6px 0
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0 0 44px;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    backface-visibility: hidden;
    background: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 99995
}

.fancybox-slide--html .fancybox-content {
    margin: 0 0 6px
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in
}

.fancybox-can-pan .fancybox-content,
.fancybox-can-swipe .fancybox-content {
    cursor: grab
}

.fancybox-is-grabbing .fancybox-content {
    cursor: grabbing
}

.fancybox-container [data-selectable=true] {
    cursor: text
}

.fancybox-image,
.fancybox-spaceball {
    background: 0 0;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    width: 100%
}

.fancybox-spaceball {
    z-index: 1
}

.fancybox-slide--iframe .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--video .fancybox-content {
    height: calc(100% - 44px);
    overflow: visible;
    padding: 0;
    width: 100%
}

.fancybox-slide--video .fancybox-content {
    background: #000
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff
}

.fancybox-iframe,
.fancybox-video {
    background: 0 0;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    vertical-align: top;
    width: 100%
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0
}

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px
}

.fancybox-button,
.fancybox-button:link,
.fancybox-button:visited {
    color: #ccc
}

.fancybox-button:hover {
    color: #fff
}

.fancybox-button:focus {
    outline: 0
}

.fancybox-button.fancybox-focus {
    outline: dotted 1px
}

.fancybox-button.disabled,
.fancybox-button.disabled:hover,
.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: 0
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0
}

.fancybox-button--fsenter svg:nth-child(2),
.fancybox-button--play svg:nth-child(2) {
    display: none
}

.fancybox-button--fsexit svg:nth-child(1),
.fancybox-button--pause svg:nth-child(1) {
    display: none
}

.fancybox-close-small {
    background: 0 0;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none
}

.fancybox-navigation .fancybox-button {
    background: 0 0;
    height: 100px;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px
}

.fancybox-navigation .fancybox-button div {
    background: rgba(30, 30, 30, .6);
    height: 100%;
    padding: 7px
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    padding: 31px 26px 31px 6px
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0
}

.fancybox-caption {
    bottom: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 25px 44px;
    right: 0
}

.fancybox-caption::before {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAEtCAQAAABjBcL7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUKM+Vk8EOgDAIQ0vj/3+xBw8qIZZueFnIKC90MCAI8DlrkHGeqqGIU6lVigrBtpCWqeRWoHDNqs0F7VNVBVxmHRlvoVqjaYkdnDIaivH2HqZ5+oZj3JUzWB+cOz4G48Bg+tsJ/tqu4dLC/4Xb+0GcF5BwBC0AA53qAAAAAElFTkSuQmCC);
    background-repeat: repeat-x;
    background-size: contain;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: -25px;
    z-index: -1
}

.fancybox-caption::after {
    border-bottom: 1px solid rgba(255, 255, 255, .3);
    content: "";
    display: block;
    left: 44px;
    position: absolute;
    right: 44px;
    top: 0
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline
}

.fancybox-loading {
    animation: .8s linear infinite fancybox-rotate;
    background: 0 0;
    border: 6px solid rgba(100, 100, 100, .5);
    border-radius: 100%;
    border-top-color: #fff;
    height: 60px;
    left: 50%;
    margin: -30px 0 0 -30px;
    opacity: .6;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 60px;
    z-index: 99999
}

@keyframes fancybox-rotate {
    from {
        transform: rotate(0)
    }

    to {
        transform: rotate(359deg)
    }
}

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1)
}

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.fancybox-fx-fade.fancybox-slide--next,
.fancybox-fx-fade.fancybox-slide--previous {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1)
}

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    transform: rotate(-360deg)
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    transform: rotate(360deg)
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    transform: rotate(0)
}

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0)
}

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg)
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg)
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translate3d(0, 0, 0) scale(1)
}

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px
}

.fancybox-share p {
    margin: 0;
    padding: 0
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    white-space: nowrap
}

.fancybox-share__button:link,
.fancybox-share__button:visited {
    color: #fff
}

.fancybox-share__button:hover {
    text-decoration: none
}

.fancybox-share__button--fb {
    background: #3b5998
}

.fancybox-share__button--fb:hover {
    background: #344e86
}

.fancybox-share__button--pt {
    background: #bd081d
}

.fancybox-share__button--pt:hover {
    background: #aa0719
}

.fancybox-share__button--tw {
    background: #1da1f2
}

.fancybox-share__button--tw:hover {
    background: #0d95e8
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px
}

.fancybox-share__button svg path {
    fill: #fff
}

.fancybox-share__input {
    background: 0 0;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0;
    outline: 0;
    padding: 10px 15px;
    width: 100%
}

.fancybox-thumbs {
    background: #fff;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    width: 212px;
    z-index: 99995
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: relative;
    white-space: nowrap;
    width: 100%
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px
}

.fancybox-thumbs__list a {
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px
}

.fancybox-thumbs__list a::before {
    border: 4px solid #4ea7f9;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .2s cubic-bezier(.25, .46, .45, .94);
    z-index: 99991
}

.fancybox-thumbs__list a:focus::before {
    opacity: .5
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
    opacity: 1
}

@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
}

: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);
    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: 1s linear infinite swiper-preloader-spin
}

.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-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide,
.swiper-fadeNew.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide,
.swiper-fadeNew .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide,
.swiper-fadeNew .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active,
.swiper-fadeNew .swiper-slide-active,
.swiper-fadeNew .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

* {
    box-sizing: border-box;
    outline: 0 !important;
    -webkit-tap-highlight-color: transparent
}

::after,
::before {
    box-sizing: border-box
}

img {
    max-width: 100%
}

.clearfix:after,
.clearfix:before,
.container:after,
.container:before {
    content: "";
    display: table
}

.clearfix:after,
.container:after {
    clear: both
}

.clearfix,
.container {
    *zoom: 1;
    width: 100%
}

html {
    scroll-behavior: smooth;
    font-size: calc(1 * var(--fz))
}

body {
    font-family: var(--font);
    margin: 0;
    padding: 0;
    font-size: 16rem;
    line-height: 1;
    overflow-x: hidden;
    position: relative;
    font-weight: 500;
    color: var(--c-brown);
    transition: opacity .5s ease-in-out;
    opacity: 0;
    background: var(--c-beige)
}

body.is-loaded {
    opacity: 1
}

html.lenis,
html.lenis body {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

.lenis.lenis-smooth iframe {
    pointer-events: none
}

.lenis.lenis-smooth [data-lenis-prevent] iframe {
    pointer-events: initial
}



button,
input,
label,
legend,
textarea {
    font-family: var(--font)
}

button::-webkit-input-placeholder,
input::-webkit-input-placeholder,
label::-webkit-input-placeholder,
legend::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    font-family: var(--font)
}

button:-moz-placeholder,
input:-moz-placeholder,
label:-moz-placeholder,
legend:-moz-placeholder,
textarea:-moz-placeholder {
    font-family: var(--font)
}

button::-moz-placeholder,
input::-moz-placeholder,
label::-moz-placeholder,
legend::-moz-placeholder,
textarea::-moz-placeholder {
    font-family: var(--font)
}

button:-ms-input-placeholder,
input:-ms-input-placeholder,
label:-ms-input-placeholder,
legend:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    font-family: var(--font)
}

a {
    transition: .2s
}

a:focus {
    color: inherit
}

a:active,
a:hover {
    text-decoration: none
}

footer,
header,
section {
    position: relative;
    z-index: 5
}

.ico {
    display: inline-block;
    vertical-align: top
}

.ico-center {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto
}

.list-vert {
    display: inline-block;
    vertical-align: top;
    padding: 0;
    margin: 0
}

.list-vert li {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    list-style: none
}

.list-vert li:last-child {
    margin-bottom: 0
}

.list-hor {
    display: inline-block;
    vertical-align: top;
    padding: 0;
    margin: 0
}

.list-hor li {
    display: inline-block;
    vertical-align: top;
    float: left;
    list-style: none
}

.list-hor li:last-child {
    margin-right: 0
}

.img-item {
    font-size: 0 !important;
    line-height: 1 !important
}

.img-pos {
    position: relative;
    overflow: hidden
}

.img-pos img,
.img-pos video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.button-item {
    border: none;
    padding: 0;
    background: 0 0;
    cursor: pointer
}

.container {
    position: relative;
    z-index: 5;
    max-width: var(--container);
    padding: 0 var(--container-padding);
    margin: 0 auto
}

.home-title {
    display: none !important
}

.pfl-bg,
.pfl-img {
    transition: opacity .5s
}

.pfl-bg.pfl-lazy,
.pfl-bg[data-lazy],
.pfl-img.pfl-lazy,
.pfl-img[data-lazy] {
    opacity: 0
}

[href*=savefrom] {
    display: none !important
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none !important;
    text-decoration: none !important;
    color: var(--btn-color);
    transition: var(--btn-transition);
    background: var(--btn-bg);
    position: relative;
    z-index: 1;
    border-radius: 8rem;
    padding: 6rem 6rem 6rem var(--btn-gap);
    gap: var(--btn-gap);
    font-weight: 600
}

.btn--text {
    position: relative;
    display: inline-flex;
    font-size: 16rem;
    line-height: 1.25;
    letter-spacing: -.02em;
    overflow: hidden
}

.btn--text span:nth-child(2) {
    position: absolute;
    top: 0;
    bottom: auto;
    left: 0;
    right: auto
}

.btn--icon {
    display: inline-flex;
    position: relative;
    width: 44rem;
    height: 44rem;
    align-items: center;
    justify-content: center;
    border-radius: 8rem;
    background: var(--btn-svg-bg);
    overflow: hidden
}

.btn--icon svg {
    width: 22rem;
    height: 22rem;
    fill: var(--btn-svg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto
}

.btn_light {
    --btn-bg: var(--c-beige);
    --btn-color: var(--c-brown);
    --btn-svg: var(--c-brown);
    --btn-svg-bg: var(--c-beige-2)
}

.btn[disabled] {
    pointer-events: none;
    opacity: .75
}

.btn:active,
.btn:focus {
    color: var(--btn-color)
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    min-height: 50rem;
    border-radius: 8rem;
    text-decoration: none !important;
    color: var(--button-color);
    transition: var(--button-transition);
    background: var(--button-bg);
    border: var(--button-border-width) solid var(--button-border);
    position: relative;
    z-index: 1;
    padding: 0 20rem;
    font-size: 14rem;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: -.02em
}

.button[disabled] {
    pointer-events: none;
    opacity: .75
}

.bid_dark .form .button,
.button_light,
.form_dark .button {
    --button-bg: var(--c-beige);
    --button-bg-hover: var(--c-beige-2);
    --button-bg-active: var(--c-beige-2);
    --button-color: var(--c-brown);
    --button-color-active: var(--c-brown)
}

.button_transparent {
    --button-bg: transparent;
    --button-bg-hover: transparent;
    --button-bg-active: var(--c-brown);
    --button-color: var(--c-brown);
    --button-color-active: #fff;
    --button-border-width: 1px;
    --button-border: var(--c-gray);
    --button-border-active: var(--button-bg-active)
}

.button.--active,
.button:active {
    background: var(--button-bg-active);
    color: var(--button-color-active);
    border-color: var(--button-border-active)
}

.link-outer {
    text-decoration: none !important;
    color: var(--link-color)
}

.link,
.servpage__alert--text a,
.text a:not(.btn) {
    text-decoration: none !important;
    color: var(--link-color);
    transition: var(--link-transition)
}

.link--outer {
    text-decoration: none !important;
    color: var(--link-color)
}

.link-hover,
.link-under,
.servpage__alert--text a,
.text a:not(.btn) {
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0 var(--link-height);
    background-repeat: no-repeat;
    padding-bottom: var(--link-padding);
    background-position: 0 100%
}

.link-under,
.servpage__alert--text a,
.text a:not(.btn) {
    background-size: 100% var(--link-height)
}

.link-bg {
    background: var(--link-bg)
}

.link:active,
.link:focus,
.servpage__alert--text a:active,
.servpage__alert--text a:focus,
.text a:active:not(.btn),
.text a:focus:not(.btn) {
    color: var(--link-color)
}

.marquee {
    position: relative;
    white-space: nowrap
}

.marquee--scroll {
    position: relative;
    display: flex;
    width: 140%;
    margin-left: -20%
}

.marquee--content {
    position: relative;
    display: flex;
    will-change: transform
}

[anim-title-custom] .word,
[anim-title] .word {
    display: inline-flex;
    overflow: hidden;
    word-break: initial
}

[anim-title-custom] .char,
[anim-title] .char {
    position: relative;
    display: inline-block;
    will-change: transform
}

.title {
    font-size: 34rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: -.03em;
    font-family: var(--font-cormorant);
    text-transform: uppercase
}

.title h1,
.title h2 {
    margin: 0;
    padding: 0;
    font-weight: inherit;
    font-size: inherit
}

.title strong {
    font-weight: inherit;
    color: var(--c-gold-new)
}

.title-prj {
    font-size: 30rem;
    line-height: .9
}

.title-xs {
    font-size: 26rem;
    line-height: .9;
    letter-spacing: -.03em
}

.title-sm {
    line-height: .96;
    letter-spacing: -.04em
}

.title-about {
    font-size: 47rem;
    letter-spacing: -.05em;
    font-weight: 400
}

.titlemod {
    display: flex;
    flex-flow: column;
    gap: 24rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.titlemod--sub {
    color: var(--c-gray-2)
}

.titlemod--data {
    display: flex;
    flex-flow: column;
    gap: 12rem
}

.form--inp {
    position: relative;
    z-index: 1
}

.form--input,
.form--textarea {
    width: 100%;
    background: 0 0;
    transition: border-color .3s ease-in-out, background-color 999999s ease-in-out;
    border-radius: 0;
    border: 1px solid var(--c-gray);
    margin-bottom: 12rem;
    border-radius: 8rem;
    font-size: 16rem;
    line-height: 1.25;
    letter-spacing: -.01em;
    color: var(--c-dark)
}

.form--input::-webkit-input-placeholder,
.form--textarea::-webkit-input-placeholder {
    color: var(--c-gray-2)
}

.form--input:-moz-placeholder,
.form--textarea:-moz-placeholder {
    color: var(--c-gray-2)
}

.form--input::-moz-placeholder,
.form--textarea::-moz-placeholder {
    color: var(--c-gray-2)
}

.form--input:-ms-input-placeholder,
.form--textarea:-ms-input-placeholder {
    color: var(--c-gray-2)
}

.form--input:-webkit-autofill,
.form--input:-webkit-autofill:focus,
.form--input:-webkit-autofill:hover,
.form--textarea:-webkit-autofill,
.form--textarea:-webkit-autofill:focus,
.form--textarea:-webkit-autofill:hover {
    border: 1px solid var(--c-gray);
    -webkit-text-fill-color: var(--c-dark);
    -webkit-transition: border-color .3s ease-in-out, background-color 999999s ease-in-out;
    transition: border-color .3s ease-in-out, background-color 999999s ease-in-out
}

.form--input:focus,
.form--textarea:focus {
    border-color: var(--c-gray-2)
}

.form--input.error,
.form--input.invalid,
.form--textarea.error,
.form--textarea.invalid {
    border-color: var(--c-error) !important;
    animation: .5s ease-in form-error
}

.form--input {
    text-overflow: ellipsis;
    height: 60rem;
    padding: 0 20rem
}

.form--input[name=message] {
    display: block;
    width: 5px;
    height: 3px;
    margin-bottom: -3px;
    opacity: .01;
    position: absolute;
    top: 0;
    left: 0
}

.form--textarea {
    padding: 10rem 20rem
}

.form--textarea[contenteditable]~textarea {
    display: none
}

.form--agree {
    --link-color: var(--c-gray-2);
    --link-color-active: var(--c-gray-2);
    --link-border-color: var(--c-gray-2);
    display: flex;
    margin-top: 10rem;
    font-size: 12rem;
    line-height: 1.4;
    color: var(--c-gray-2);
    cursor: pointer;
    font-weight: 500
}

.form--agree input {
    display: none
}

.form--agree input:checked~span:after {
    opacity: 1
}

.form--agree input.error~span {
    --link-color: var(--c-error);
    --link-color-active: var(--c-error);
    --link-border-color: var(--c-error);
    color: var(--c-error);
    animation: .5s ease-in form-error
}

.form--agree>span {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding-left: 24rem
}

.form--agree>span:after,
.form--agree>span:before {
    content: "";
    display: inline-block;
    vertical-align: top;
    position: absolute;
    left: 0;
    top: 2rem;
    width: 14rem;
    height: 14rem
}

.form--agree>span:before {
    border-radius: 3rem;
    border: 1px solid var(--c-gray-2)
}

.form--agree>span:after {
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='%23423432' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11.342 1.63523C11.5434 1.8241 11.5536 2.14052 11.3648 2.34197L5.73977 8.34197C5.55444 8.53966 5.24536 8.55374 5.04282 8.37371L1.66782 5.37371C1.46143 5.19025 1.44284 4.87421 1.6263 4.66782C1.80976 4.46143 2.1258 4.44284 2.33219 4.6263L5.34326 7.30281L10.6352 1.65803C10.8241 1.45657 11.1405 1.44637 11.342 1.63523Z'/%3E%3C/svg%3E%0A");
    opacity: 0;
    background-size: 12rem 12rem;
    background-repeat: no-repeat;
    background-position: center center
}

.form--submit {
    margin-top: 40rem;
    min-height: 64rem;
    font-size: 16rem;
    font-weight: 600
}

.bid_dark .form .form--input,
.bid_dark .form .form--textarea,
.form_dark .form--input,
.form_dark .form--textarea {
    border-color: var(--c-brown-3);
    color: var(--c-beige)
}

.bid_dark .form .form--input:-webkit-autofill,
.bid_dark .form .form--textarea:-webkit-autofill,
.form_dark .form--input:-webkit-autofill,
.form_dark .form--input:-webkit-autofill:focus,
.form_dark .form--input:-webkit-autofill:hover,
.form_dark .form--textarea:-webkit-autofill,
.form_dark .form--textarea:-webkit-autofill:focus,
.form_dark .form--textarea:-webkit-autofill:hover {
    border-color: var(--c-brown-3);
    -webkit-text-fill-color: var(--c-beige)
}

.bid_dark .form .form--input::-webkit-input-placeholder,
.bid_dark .form .form--textarea::-webkit-input-placeholder,
.form_dark .form--input::-webkit-input-placeholder,
.form_dark .form--textarea::-webkit-input-placeholder {
    color: var(--c-gray-2)
}

.bid_dark .form .form--input:-moz-placeholder,
.bid_dark .form .form--textarea:-moz-placeholder,
.form_dark .form--input:-moz-placeholder,
.form_dark .form--textarea:-moz-placeholder {
    color: var(--c-gray-2)
}

.bid_dark .form .form--input::-moz-placeholder,
.bid_dark .form .form--textarea::-moz-placeholder,
.form_dark .form--input::-moz-placeholder,
.form_dark .form--textarea::-moz-placeholder {
    color: var(--c-gray-2)
}

.bid_dark .form .form--input:-ms-input-placeholder,
.bid_dark .form .form--textarea:-ms-input-placeholder,
.form_dark .form--input:-ms-input-placeholder,
.form_dark .form--textarea:-ms-input-placeholder {
    color: var(--c-gray-2)
}

.bid_dark .form .form--input:focus,
.bid_dark .form .form--textarea:focus,
.form_dark .form--input:focus,
.form_dark .form--textarea:focus {
    border-color: var(--c-beige-3)
}

.bid_dark .form .form--agree>span:after,
.form_dark .form--agree>span:after {
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='%23F9F5F2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11.342 1.63523C11.5434 1.8241 11.5536 2.14052 11.3648 2.34197L5.73977 8.34197C5.55444 8.53966 5.24536 8.55374 5.04282 8.37371L1.66782 5.37371C1.46143 5.19025 1.44284 4.87421 1.6263 4.66782C1.80976 4.46143 2.1258 4.44284 2.33219 4.6263L5.34326 7.30281L10.6352 1.65803C10.8241 1.45657 11.1405 1.44637 11.342 1.63523Z'/%3E%3C/svg%3E%0A")
}

@keyframes form-error {

    0%,
    100% {
        transform: none
    }

    20%,
    60% {
        transform: translateX(-15px)
    }

    40%,
    80% {
        transform: translateX(15px)
    }
}

.fancy--close {
    width: 34rem;
    height: 34rem;
    border-radius: 8rem;
    position: absolute;
    top: 20rem;
    right: 20rem;
    border: 1px solid var(--c-gray-2);
    background: 0 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--c-beige);
    transition: .3s ease-out;
    cursor: pointer
}

.fancy--close svg {
    width: 14rem;
    height: 14rem;
    fill: currentColor;
    transition: .3s ease-in-out
}

.fancy--nav {
    width: 34rem;
    height: 34rem;
    border-radius: 8rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid var(--c-gray-2);
    background: 0 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--c-beige);
    transition: .3s ease-out;
    cursor: pointer;
    z-index: 99997;
    opacity: 0
}

.fancy--nav svg {
    width: 14rem;
    height: 14rem;
    fill: currentColor
}

.fancy--nav[disabled] {
    opacity: .5
}

.fancy--prev {
    left: 20rem
}

.fancy--next {
    right: 20rem
}

.fancybox-navigation .fancy--nav {
    opacity: 0;
    visibility: hidden
}

.fancybox-show-nav .fancybox-navigation .fancy--nav {
    opacity: 1;
    visibility: visible
}

.fancybox-bg {
    background: #212f4a
}

.fancybox-is-open .fancybox-bg {
    opacity: .8
}

.fancybox-image {
    border-radius: 8rem
}

.fancybox-fx-slide-in-up.fancybox-slide--next,
.fancybox-fx-slide-in-up.fancybox-slide--previous {
    transform: translateY(150rem);
    opacity: 0
}

.fancybox-fx-slide-in-up.fancybox-slide--current {
    transform: translateY(0);
    opacity: 1
}

.modal {
    background: var(--c-beige);
    border-radius: 8rem;
    padding: 60rem 16rem;
    max-width: 328rem;
    width: 100%
}

.modal .fancybox-button {
    display: none
}

.modal--close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 16rem;
    right: 16rem;
    border-radius: 8rem;
    border: 1px solid var(--c-gray);
    padding: 0;
    cursor: pointer;
    background: 0 0;
    transition: .3s ease-in-out;
    color: var(--c-brown);
    width: 34rem;
    height: 34rem
}

.modal--close svg {
    display: inline-block;
    fill: currentColor;
    width: 12rem;
    height: 12rem;
    transition: .3s ease-in-out
}

.modal--form {
    margin-top: 32rem
}

.modal--text {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    margin-top: 12rem
}

.nav--item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: .35s ease-out;
    border: 1px solid var(--c-gray);
    border-radius: 8rem;
    color: var(--c-brown);
    background: 0 0;
    width: 40rem;
    height: 40rem;
    cursor: pointer
}

.nav--item svg {
    fill: currentColor;
    width: 20rem;
    height: 20rem
}

.nav--item[disabled] {
    opacity: .75;
    pointer-events: none
}

.nav--item_light {
    border-color: var(--c-brown-3);
    color: var(--c-beige)
}

.nav--scrollbar {
    margin-top: 22rem;
    background: var(--c-gray)
}

.nav--scrollbar .swiper-scrollbar-drag {
    height: 1px;
    background: var(--c-brown)
}

.text {
    font-size: var(--text-fz);
    line-height: var(--text-lh);
    letter-spacing: -.02em;
    word-break: break-word
}

.text>* {
    margin-bottom: 0
}

.text>:last-child {
    margin-bottom: 0 !important
}

.text h1,
.text h2,
.text h3,
.text h4,
.text h5,
.text h6 {
    font-weight: 500;
    line-height: 1;
    margin-bottom: var(--text-head-margin);
    color: var(--dark)
}

.text h1+h3,
.text h1+h4,
.text h1+h5,
.text h1+h6,
.text h1:first-child,
.text h2+h3,
.text h2+h4,
.text h2+h5,
.text h2+h6,
.text h2:first-child,
.text h3+h3,
.text h3+h4,
.text h3+h5,
.text h3+h6,
.text h3:first-child,
.text h4+h3,
.text h4+h4,
.text h4+h5,
.text h4+h6,
.text h4:first-child,
.text h5+h3,
.text h5+h4,
.text h5+h5,
.text h5+h6,
.text h5:first-child,
.text h6+h3,
.text h6+h4,
.text h6+h5,
.text h6+h6,
.text h6:first-child {
    margin-top: 0
}

.text h2,
.text h3 {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    margin-top: 32rem;
    margin-bottom: 20rem
}

.text h4 {
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    margin-top: 32rem;
    margin-bottom: 16rem
}

.text h5 {
    font-size: 16rem;
    line-height: 1.2;
    letter-spacing: -.02em;
    margin-top: 32rem;
    margin-bottom: 12rem
}

.text h6 {
    font-size: 14rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.02em;
    margin-top: 24rem;
    margin-bottom: 12rem
}

.text p {
    font-size: var(--text-fz);
    margin: 0 0 var(--text-margin)
}

.text ol {
    margin: 0 0 var(--text-margin);
    padding: 0;
    list-style: none;
    counter-reset: myCounter1;
    display: flex;
    flex-flow: column;
    gap: var(--text-li-margin)
}

.text ol li {
    position: relative;
    padding-left: 30rem
}

.text ol li:before {
    counter-increment: myCounter1;
    content: counter(myCounter1) ".";
    display: inline-block;
    vertical-align: top;
    position: absolute;
    left: 0;
    top: 0;
    color: currentColor
}

.text ol li ol,
.text ol li ul {
    margin-top: var(--text-li-margin);
    margin-bottom: 0
}

.text ol li>ol {
    counter-reset: myCounter2
}

.text ol li>ol>li {
    padding-left: 30rem
}

.text ol li>ol>li:before {
    counter-increment: myCounter2;
    content: counter(myCounter1) "." counter(myCounter2) "."
}

.text ol li>ol>li>ol {
    counter-reset: myCounter3
}

.text ol li>ol>li>ol>li {
    padding-left: 40rem
}

.text ol li>ol>li>ol>li:before {
    counter-increment: myCounter3;
    content: counter(myCounter1) "." counter(myCounter2) "." counter(myCounter3)
}

.text ol li>ol>li>ol>li ol {
    list-style: auto;
    list-style-position: inside
}

.text ol li>ol>li>ol>li ol li {
    padding-left: 0
}

.text ol li>ol>li>ol>li ol li:before {
    display: none
}

.text ol li>ol>li>ol>li ol ol {
    padding-left: 20rem
}

.text ul {
    display: flex;
    flex-flow: column;
    gap: var(--text-li-margin);
    list-style: none;
    padding: 0;
    margin: 0 0 var(--text-margin)
}

.text ul li {
    position: relative;
    padding-left: 17rem
}

.text ul li ol,
.text ul li ul {
    margin-top: var(--text-li-margin);
    margin-bottom: 0
}

.text ul li ul li:before {
    background: 0 0;
    border: 1px solid currentColor
}

.text ul li:before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(var(--text-fz) * var(--text-lh) * .5);
    margin-top: -2rem;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background: currentColor
}

.text blockquote {
    --text-margin: 12rem;
    position: relative;
    padding-top: 40rem;
    margin: 32rem 0 20rem
}

.text blockquote:before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  viewBox='0 0 27 26' fill='%23423432'%3E%3Cpath d='M6.528 25.536c-2.048 0-3.648-.704-4.8-2.112C.576 21.952 0 19.776 0 16.896c0-3.008.672-5.888 2.016-8.64C3.424 5.504 5.408 2.784 7.968.096 8.032.032 8.128 0 8.256 0c.192 0 .32.096.384.288.128.128.16.288.096.48C7.2 2.816 6.144 4.8 5.568 6.72c-.512 1.856-.768 3.936-.768 6.24 0 1.728.224 3.072.672 4.032a9.066 9.066 0 0 0 1.824 2.592l-3.648.672c-.064-1.088.224-1.92.864-2.496.704-.576 1.6-.864 2.688-.864 1.344 0 2.368.384 3.072 1.152.768.768 1.152 1.824 1.152 3.168 0 1.408-.448 2.496-1.344 3.264-.832.704-2.016 1.056-3.552 1.056Zm14.784 0c-2.048 0-3.648-.704-4.8-2.112-1.088-1.472-1.632-3.648-1.632-6.528 0-3.072.672-5.984 2.016-8.736 1.344-2.752 3.328-5.44 5.952-8.064.064-.064.16-.096.288-.096.192 0 .32.096.384.288.128.128.16.288.096.48C22.08 2.816 21.024 4.8 20.448 6.72c-.512 1.856-.768 3.936-.768 6.24 0 1.728.192 3.104.576 4.128a7.858 7.858 0 0 0 1.824 2.496l-3.552.672c-.064-1.088.224-1.92.864-2.496.64-.576 1.536-.864 2.688-.864 1.344 0 2.368.384 3.072 1.152.768.768 1.152 1.824 1.152 3.168 0 1.408-.448 2.496-1.344 3.264-.832.704-2.048 1.056-3.648 1.056Z'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    display: inline-block;
    vertical-align: top;
    position: absolute;
    left: 0;
    top: 0;
    width: 27rem;
    height: 26rem
}

.text table {
    border-collapse: collapse;
    min-width: 100%;
    border: none
}

.text table th,
.text table thead {
    background: var(--c-beige-2);
    text-align: left;
    font-weight: 500
}

.text table td,
.text table th {
    padding: 20rem;
    vertical-align: top
}

.text table td>:last-child,
.text table th>:last-child {
    margin-bottom: 0
}

.text table td {
    background: var(--c-card-color)
}

.text table tr+tr td {
    border-top: 1px solid var(--c-gray)
}

.text table h6 {
    margin-bottom: 8rem
}

.text img {
    height: auto
}

.ggborder {
    padding-left: 20rem;
    border-left: solid #212f4a;
    margin: 32rem 0
}

.ggaccordion {
    border-top: 1px solid #bdbcbb;
    border-bottom: 1px solid #bdbcbb;
    margin: 20rem 0 32rem;
    padding: 15rem 0
}

.ggaccordion.--active .ggaccordion--icon:before {
    transform: scaleY(-1) translateY(-1px)
}

.ggaccordion+.ggaccordion {
    border-top: none;
    margin-top: -32rem
}

.ggaccordion--head {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.ggaccordion--title {
    font-size: 16rem;
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: -.03em;
    margin-right: 5rem
}

.ggaccordion--title h2 {
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    margin: 0 !important;
    padding: 0 !important
}

.ggaccordion--icon {
    margin-left: auto;
    width: 24rem;
    height: 24rem;
    min-width: 24rem;
    border: 1px solid #bdbcbb;
    border-radius: 8rem;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    line-height: 0;
    padding: 0
}

.ggaccordion--icon:before {
    content: "";
    display: inline-block;
    width: 12rem;
    height: 12rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23423432'%3E%3Cpath fill-rule='evenodd' d='M13.225 6.38a.6.6 0 0 0-.849 0L8 10.756 3.625 6.38a.6.6 0 1 0-.849.849l4.8 4.8a.6.6 0 0 0 .849 0l4.8-4.8a.6.6 0 0 0 0-.849Z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    transition: .3s ease-out
}

.ggaccordion--inner {
    padding-top: 15rem
}

.ggaccordion--inner>:last-child {
    margin-bottom: 0
}

.ggbg {
    background: #f2eeeb;
    padding: 20rem;
    margin: 32rem 0
}

.ggbg--title {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    font-weight: 500;
    margin-bottom: 16rem
}

.ggbg--title:empty {
    display: none !important
}

.ggbg--data>:last-child {
    margin-bottom: 0
}

.ggutp {
    border-top: 1px solid var(--c-gray);
    border-bottom: 1px solid var(--c-gray);
    margin: 40rem 0;
    padding: 40rem 0;
    display: flex;
    flex-flow: column;
    gap: 40rem
}

.ggutp .utp--nums {
    margin-top: 0;
    gap: 20rem;
    flex: 0 0 100%;
    max-width: 100%
}

.ggutp .utp--list,
.ggutp .utp--nums:first-child {
    margin-top: 0
}

.ggutp .utp__num {
    border: none;
    padding: 0
}

.breadcrumbs {
    --link-color: var(--c-gray-2);
    font-size: 14rem;
    line-height: 1.25;
    font-weight: 500;
    color: var(--c-brown);
    display: flex;
    flex-wrap: wrap;
    gap: 4rem 0rem;
    list-style: none;
    padding: 0;
    margin: 0 0 20rem
}

.breadcrumbs li:after {
    content: "/";
    margin: 0 8rem;
    color: var(--link-color)
}

.breadcrumbs li:last-child:after {
    display: none
}

.breadcrumbs_light,
.prjtop .breadcrumbs,
.vacancytop .breadcrumbs {
    color: var(--c-beige)
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12rem;
    margin-top: 40rem
}

.pagination--item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    border: 1px solid var(--c-gray);
    border-radius: 6rem;
    color: rgba(66, 52, 50, .8);
    transition: .3s ease-in-out;
    min-width: 38rem;
    min-height: 38rem;
    text-decoration: none !important;
    padding: 0 5rem
}

.pagination--item svg {
    width: 10rem;
    height: 14rem;
    fill: var(--c-brown);
    transition: .3s ease-in-out
}

.pagination--item[disabled] {
    pointer-events: none
}

.pagination--prev {
    padding: 0 17rem;
    margin-right: 28rem
}

.pagination--next {
    padding: 0 17rem;
    margin-left: 28rem
}

.pagination--current {
    border-color: var(--c-brown);
    background: var(--c-brown);
    color: var(--c-beige)
}

.accordion--head {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.accordion--data {
    overflow: hidden;
    max-height: 0;
    transition: max-height .45s ease-in-out;
    will-change: max-height
}

.social {
    display: flex;
    flex-wrap: wrap;
    gap: 12rem
}

.social--link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42rem;
    height: 42rem;
    border: 1px solid var(--c-brown);
    border-radius: 8rem;
    transition: .3s ease-in-out;
    color: var(--c-brown)
}

.social--link svg {
    fill: currentColor;
    width: 24rem;
    height: 24rem
}

.social-sm .social--link {
    width: 32rem;
    height: 32rem
}

.social-sm .social--link svg {
    width: 22rem;
    height: 22rem
}

.social-light .social--link {
    border-color: var(--c-brown-3);
    color: var(--c-beige)
}

.page__tabs {
    --button-bg: transparent;
    --button-bg-active: var(--c-brown);
    --button-color: var(--c-brown);
    --button-color-active: var(--c-beige);
    --button-border-width: 1px;
    --button-border: var(--c-gray);
    --button-border-active: var(--c-brown);
    display: flex;
    flex-wrap: wrap;
    gap: 12rem;
    margin-bottom: 32rem
}

.card {
    --link-bg: var(--c-card-color);
    --link-bg-active: var(--c-brown);
    --link-color: var(--c-brown);
    --link-color-active: var(--c-beige);
    transition: var(--link-transition), background .28s ease-out
}

.card--icon {
    display: flex;
    align-self: flex-start;
    border-radius: 8rem;
    transition: var(--link-transition-function)
}

.card--icon span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32rem;
    height: 32rem;
    border-radius: 8rem;
    border: 1px solid var(--c-beige-3);
    background: var(--link-bg);
    transition: var(--link-transition-function)
}

.card--icon svg {
    width: 15rem;
    height: 15rem;
    fill: var(--c-brown)
}

.video {
    position: relative
}

.video--play {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: top;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90rem;
    height: 90rem;
    margin: -45rem 0 0 -45rem;
    border-radius: 50%;
    color: var(--c-brown);
    background: var(--c-beige);
    transition: .3s ease-out;
    will-change: transform
}

.video--play svg {
    display: inline-block;
    width: 24rem;
    height: 24rem;
    fill: currentColor;
    will-change: transform
}

.fixed,
.header,
.mmenu--header {
    padding: 20rem 0 32rem;
    position: relative;
    z-index: 999
}

.fixed .container,
.header .container,
.mmenu--header .container {
    display: flex;
    align-items: center
}

.fixed--logo,
.header--logo,
.mmenu--header--logo {
    font-size: 0
}

.fixed--logo svg,
.header--logo svg,
.mmenu--header--logo svg {
    width: 140rem;
    height: 39rem;
    fill: var(--link-color)
}

.fixed--menu,
.header--menu,
.mmenu--header--menu {
    display: flex;
    flex-wrap: wrap
}

.fixed--menu-2,
.header--menu-2,
.mmenu--header--menu-2 {
    margin-left: auto;
    flex: initial
}

.fixed--links,
.header--links,
.mmenu--header--links {
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12rem;
    margin-left: auto
}

.fixed--mmenu,
.header--mmenu,
.mmenu--header--mmenu {
    margin-left: 5rem
}

.fixed_light,
.header_light,
.hello .header,
.mmenu--header_light,
.prjtop .header,
.vacancytop .header {
    --link-color: var(--c-beige)
}

.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: var(--c-beige);
    z-index: 9999
}

.headlink {
    --link-color-active: var(--c-gold-new);
    display: inline-flex;
    align-items: center;
    color: var(--c-brown);
    text-decoration: none !important;
    gap: 9rem
}

.headlink--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36rem;
    height: 36rem;
    border-radius: 50%;
    border: 1px solid var(--c-beige-2);
    transition: .3s ease-in-out;
    color: #fff;
}

.headlink--icon svg {
    display: inline-block;
    fill: var(--link-color);
    color: #fff;
    width: 15rem;
    height: 15rem
}

.headlink .email-icon-main {
    fill: var(--c-brown)
}

.headlink .email-icon-arr {
    fill: var(--c-beige)
}

.fixed_light .headlink,
.header_light .headlink,
.headlink_light,
.hello .header .headlink,
.mmenu--header_light .headlink,
.prjtop .header .headlink,
.vacancytop .header .headlink {
    color: var(--c-beige)
}

.fixed_light .headlink .headlink--icon,
.header_light .headlink .headlink--icon,
.headlink_light .headlink--icon,
.hello .header .headlink .headlink--icon,
.mmenu--header_light .headlink .headlink--icon,
.prjtop .header .headlink .headlink--icon,
.vacancytop .header .headlink .headlink--icon {
    border-color: var(--c-brown-3)
}

.fixed_light .headlink .email-icon-main,
.header_light .headlink .email-icon-main,
.headlink_light .email-icon-main,
.hello .header .headlink .email-icon-main,
.mmenu--header_light .headlink .email-icon-main,
.prjtop .header .headlink .email-icon-main,
.vacancytop .header .headlink .email-icon-main {
    fill: var(--c-beige)
}

.fixed_light .headlink .email-icon-arr,
.header_light .headlink .email-icon-arr,
.headlink_light .email-icon-arr,
.hello .header .headlink .email-icon-arr,
.mmenu--header_light .headlink .email-icon-arr,
.prjtop .header .headlink .email-icon-arr,
.vacancytop .header .headlink .email-icon-arr {
    fill: var(--c-brown)
}

.footer {
    --link-color: var(--c-beige);
    --link-color-active: var(--c-gold-new);
    --btn-gap: 24rem;
    font-size: 16rem;
    line-height: 1.25;
    letter-spacing: -.01em;
    color: var(--c-beige);
    position: relative;
    padding-top: 60rem;
    padding-bottom: 8rem
}

.footer:before {
    content: "";
    display: inline-block;
    vertical-align: top;
    position: absolute;
    top: 0;
    right: 8rem;
    bottom: 8rem;
    left: 8rem;
    background: var(--c-brown);
    border-radius: 8rem;
    z-index: 1
}

.footer--top {
    font-family: var(--font-cormorant);
    font-size: 47rem;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 400;
    color: var(--c-beige);
    display: flex;
    flex-flow: column;
    text-transform: uppercase
}

.footer--top span {
    will-change: transform
}

.footer--top span:first-child {
    color: var(--c-gold-2);
    align-self: flex-start
}

.footer--top span:last-child {
    margin-bottom: 0
}

.footer--order {
    margin-top: 29rem
}

.footer--content {
    margin-top: 60rem;
    display: flex;
    flex-flow: column
}

.footer--name {
    color: var(--c-gray-2);
    margin-top: 24rem;
    margin-bottom: 8rem
}

.footer--name:first-child {
    margin-top: 0
}

.footer--val {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: 8rem
}

.footer--phones {
    margin-top: 24rem
}

.footer--menu {
    margin-top: 40rem;
    display: flex;
    flex-flow: column;
    gap: 16rem;
    word-wrap: break-word
}

.footer--links {
    margin-top: 40rem
}

.footer--bottom {
    --link-color: var(--c-gray-2);
    display: flex;
    flex-flow: column;
    margin-top: 40rem;
    border-top: 1px solid var(--c-brown-3);
    font-size: 12rem;
    line-height: 1.4;
    letter-spacing: -.01em;
    color: var(--c-gray-2);
    padding: 21rem 0 16rem;
    gap: 12rem
}

.footer--dev {
    --link-color: var(--c-beige);
    margin-top: 40rem
}

.footer--dev svg {
    fill: currentColor;
    width: 70rem;
    height: 38rem
}

.fancy-mmenu .fancybox-slide {
    padding: 0 !important
}

.fancy-mmenu .fancybox-bg {
    display: none !important
}

.mmenu {
    width: 100%;
    margin: 0 !important;
    padding: 0;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transition: .35s ease-in-out;
    vertical-align: top;
    transform-origin: center 0;
    background: var(--c-beige)
}

.mmenu.--active {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.mmenu--inner {
    display: flex !important;
    flex-flow: column;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    padding: 0 0 60rem
}

.mmenu--inner>.container {
    flex: auto;
    display: flex;
    flex-flow: column
}

.mmenu--list {
    display: flex;
    flex-flow: column;
    margin: 27rem 0 20rem;
    padding: 0;
    gap: 20rem;
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em
}

.mmenu--list span {
    display: inline-block;
    vertical-align: middle;
    margin-right: 20rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.mmenu--bottom {
    display: flex;
    flex-flow: column;
    gap: 20rem;
    margin-top: auto;
    font-size: 16rem;
    line-height: 1.25;
    letter-spacing: -.01em
}

.mmenu--phones {
    display: flex;
    flex-flow: row;
    flex-wrap: wrap;
    gap: 12rem
}

.mmenu--btn {
    display: inline-flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    gap: 4rem;
    width: 32rem;
    height: 32rem;
    position: relative
}

.mmenu--btn span {
    display: inline-block;
    vertical-align: top;
    height: 1px;
    background: var(--link-color);
    border-radius: .7rem;
    width: 100%;
    will-change: transform;
    transform-origin: center center;
    position: relative
}

.pagetop {
    padding-bottom: 40rem
}

.pagetop--title {
    margin-top: 60rem
}

.pagetop--text {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: .01em;
    margin-top: 16rem
}

.pagetop--button {
    margin-top: 32rem
}

.news--list {
    display: flex;
    flex-wrap: wrap;
    gap: 32rem 0
}

.news--list .news__item {
    flex: 0 0 100%;
    max-width: 100%
}

.news__item {
    display: flex;
    flex-flow: column;
    padding: 16rem;
    background: var(--c-card-color);
    border-radius: 8rem
}

.news__item--img {
    padding-bottom: 74.3243243243%;
    margin-bottom: 20rem
}

.news__item--img img {
    border-radius: 8rem;
    transition: var(--link-transition-function);
    will-change: transform
}

.news__item--date {
    font-size: 14rem;
    line-height: 1.3;
    color: var(--c-gray);
    margin-bottom: 8rem;
    letter-spacing: -.02em
}

.news__item--name {
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em
}

.news__item--icon {
    padding-top: 32rem;
    margin-top: auto
}

.newsmod {
    padding: 55rem 0
}

.newsmod--list {
    margin-top: 40rem
}

.newsmod--button {
    margin-top: 40rem;
    text-align: center
}

.newsmod-nomore .newsmod--button {
    display: none
}

.newspage {
    padding-bottom: 45rem
}

.newspage--top {
    border-top: 1px solid var(--c-gray);
    border-bottom: 1px solid var(--c-gray);
    display: flex;
    flex-flow: column;
    gap: 24rem;
    padding: 24rem 0
}

.newspage--date {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.newspage--img {
    display: flex
}

.newspage--image {
    width: 100%;
    padding-bottom: 73.1707317073%
}

.newspage--image img {
    border-radius: 8rem
}

.newspage--content {
    margin-top: 60rem
}

.newspage--links {
    --link-color: var(--c-brown);
    --link-color-active: var(--c-brown);
    --link-padding: 4rem;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: 20rem;
    font-size: 16rem;
    line-height: 1.25;
    letter-spacing: -.01em;
    margin-top: 32rem
}

.newspage--gallery {
    margin-top: 80rem
}

.newspage--slider {
    margin: 0 -10rem
}

.newspage--slider .swiper-slide {
    padding: 0 10rem;
    width: auto
}

.newspage--slider .swiper-scrollbar {
    margin-left: 10rem;
    margin-right: 10rem
}

.newspage--slide {
    display: flex;
    padding-bottom: 320rem;
    width: 280rem
}

.newspage--slide img {
    border-radius: 8rem
}

.newspage--nav {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 12rem;
    margin-top: 40rem
}

.newspage--nav .swiper-button-lock,
.newspage--nav.--disabled {
    display: none !important
}

.newspage--media {
    margin-top: 80rem;
    display: flex
}

.newspage--video {
    padding-bottom: 320rem;
    width: 100%
}

.newspage--video img {
    border-radius: 8rem
}

.newspage--images {
    display: none !important
}

.article--list {
    display: flex;
    flex-wrap: wrap;
    gap: 20rem 0
}

.article--list .article__item {
    flex: 0 0 100%;
    max-width: 100%
}

.article__item {
    display: flex;
    flex-flow: column;
    padding: 16rem;
    background: var(--c-card-color);
    border-radius: 8rem;
    min-height: 210rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.article__item--name {
    font-size: 18rem;
    line-height: 1.15;
    margin-bottom: 8rem;
    letter-spacing: -.02em
}

.article__item--text {
    color: var(--c-gray-2)
}

.article__item--icon {
    padding-top: 60rem;
    margin-top: auto
}

.opinion {
    padding-bottom: 55rem
}

.opinion--list {
    display: flex;
    flex-wrap: wrap;
    gap: 20rem 0
}

.opinion--list .opinion__item {
    flex: 0 0 100%;
    max-width: 100%
}

.opinion--more {
    --link-color-active: var(--c-brown);
    --link-padding: 4rem;
    text-align: center;
    margin-top: 32rem;
    font-size: 16rem;
    line-height: 1.25;
    letter-spacing: -.01em
}

.opinion--more.--hidden {
    display: none
}

.opinion--mod .opinion--list {
    margin-top: 40rem
}

.opinion__item {
    display: flex;
    flex-flow: column;
    padding: 16rem;
    background: var(--c-card-color);
    border-radius: 8rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.opinion__item.--hidden {
    display: none !important
}

.opinion__item--name {
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em
}

.opinion__item--text {
    color: var(--c-gray-2);
    margin-top: 8rem
}

.opinion__item--text:empty {
    display: none
}

.opinion__item--icon {
    align-self: flex-start;
    padding-top: 60rem;
    margin-top: auto
}

.project--list {
    display: flex;
    flex-flow: column;
    gap: 32rem
}

.project__item {
    display: flex;
    flex-flow: column;
    padding: 16rem;
    border-radius: 8rem;
    gap: 20rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    flex: 0 0 100%;
    max-width: 100%;
    position: relative
}

.project__item--img {
    display: flex
}

.project__item--image {
    padding-bottom: 74.3243243243%;
    border-radius: 8rem;
    width: 100%
}

.project__item--image img {
    transition: var(--link-transition-function);
    will-change: transform
}

.project__item--data {
    display: flex;
    flex-flow: column;
    position: relative
}

.project__item--bottom {
    display: flex;
    flex-flow: column;
    gap: 10rem
}

.project__item--col {
    display: flex;
    flex-flow: column;
    gap: 4rem
}

.project__item--capt {
    color: var(--c-gray-2)
}

.project__item--name {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    margin-top: 22rem
}

.project__item--icon {
    padding-top: 32rem
}

.projectmod {
    padding: 55rem 0
}

.projectmod--list {
    display: flex;
    flex-flow: column;
    gap: 32rem;
    margin-top: 40rem
}

.projectmod--button {
    margin-top: 40rem;
    text-align: center
}

.projectmod__item {
    --link-transition-function: .35s ease-out;
    display: flex;
    flex-flow: column;
    padding: 16rem;
    border-radius: 8rem;
    gap: 24rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.projectmod__item--top {
    display: flex;
    flex-flow: column;
    gap: 20rem
}

.projectmod__item--img {
    display: flex
}

.projectmod__item--image {
    padding-bottom: 74.3243243243%;
    width: 100%;
    border-radius: 8rem
}

.projectmod__item--image img {
    transition: var(--link-transition-function);
    will-change: transform
}

.projectmod__item--info {
    display: flex;
    flex-flow: column;
    gap: 10rem
}

.projectmod__item--col {
    display: flex;
    flex-flow: column;
    gap: 4rem
}

.projectmod__item--capt {
    color: var(--c-gray-2)
}

.projectmod__item--bottom {
    margin-top: auto;
    display: flex;
    flex-flow: column
}

.projectmod__item--name {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em
}

.projectmod__item--icon {
    display: flex;
    padding-top: 32rem
}

.prjtop {
    --container-padding: 24rem;
    color: var(--c-beige);
    position: relative;
    padding: 8rem 0 16rem
}

.prjtop:before {
    content: "";
    display: inline-block;
    vertical-align: top;
    position: absolute;
    top: 8rem;
    left: 8rem;
    right: 8rem;
    bottom: 0;
    background: var(--c-brown);
    border-radius: 8rem;
    z-index: 1;
    pointer-events: none
}

.prjtop--content {
    margin-top: 61rem
}

.prjtop--data {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    display: flex;
    flex-flow: column
}

.prjtop--text {
    margin-top: 16rem
}

.prjtop--info {
    padding-top: 32rem;
    display: flex;
    flex-flow: column;
    gap: 16rem
}

.prjtop--col {
    display: flex;
    flex-flow: column;
    gap: 6rem
}

.prjtop--capt {
    color: #8d8a87
}

.prjtop--img {
    margin-top: 40rem;
    display: flex
}

.prjtop--image {
    width: 100%;
    padding-bottom: 89.7435897436%;
    border-radius: 8rem
}

.prjtop--status {
    display: flex;
    flex-flow: column;
    padding: 16rem;
    background: var(--c-card-color);
    border-radius: 8rem;
    gap: 4rem;
    color: var(--c-brown);
    position: absolute;
    z-index: 5;
    right: 8rem;
    bottom: 8rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.prjtop--status span:first-child {
    color: #8d8a87
}

.prjservice {
    --link-color: var(--c-brown);
    padding-top: 110rem;
    padding-bottom: 55rem
}

.prjservice--sub {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    color: var(--c-gray-2)
}

.prjservice--list {
    margin-top: 40rem
}

.prjservice--item {
    display: flex;
    flex-flow: column;
    border-top: 1px solid var(--c-gray);
    padding: 24rem 5rem 24rem 0;
    gap: 12rem;
    font-size: 20rem;
    line-height: 1.15
}

.prjservice--item:last-child {
    border-bottom: 1px solid var(--c-gray)
}

.prjbyserv {
    padding-top: 110rem;
    padding-bottom: 32rem
}

.prjbyserv--cont {
    padding-top: 40rem;
    position: relative
}

.prjbyserv--nav {
    display: none;
    gap: 12rem;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-100%)
}

.prjbyserv--nav .swiper-button-lock {
    visibility: hidden;
    pointer-events: none
}

.prjbyserv--slider {
    margin: 0 -8rem
}

.prjbyserv--slider .swiper-slide {
    padding: 0 8rem;
    display: flex;
    height: auto
}

.prjbyserv--slider .projectmod__item {
    width: 100%
}

.page-service-list .pagetop {
    padding-bottom: 32rem
}

.service__main {
    padding: 55rem 0
}

.service__main--list {
    margin-top: 40rem
}

.service__main.--margin-xl {
    padding-bottom: 110rem
}

.servbasic--list {
    display: flex;
    flex-flow: column;
    gap: 20rem
}

.servbasic--item {
    display: flex;
    flex-flow: column;
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em;
    padding: 16rem;
    border-radius: 8rem
}

.servbasic--name {
    margin-bottom: 60rem
}

.servbasic--icon {
    display: flex
}

.servbasic--more {
    margin-top: 40rem;
    text-align: center
}

.servall {
    padding: 55rem 0
}

.servall--data {
    margin-top: 40rem
}

.servall--tabs {
    display: flex;
    gap: 12rem;
    white-space: nowrap
}

.servall--content {
    margin-top: 20rem
}

.servall--pane {
    display: none
}

.servall--pane.--active {
    display: block
}

.servall--list {
    display: flex;
    flex-flow: column;
    gap: 16rem
}

.servall--item {
    padding: 16rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    border-radius: 8rem
}

.servall--item.--hidden {
    display: none
}

.servall--more {
    --link-color-active: var(--c-brown);
    --link-padding: 4rem;
    text-align: center;
    margin-top: 32rem;
    font-size: 16rem;
    line-height: 1.25;
    letter-spacing: -.01em
}

.servall--more.--hidden {
    display: none
}

.service-search-fail .servpage__alert-fail {
    display: flex
}

.service-search-fail .servall,
.service-search-fail .servpage--main {
    display: none
}

.service-search-success .servpage__alert-success {
    display: flex
}

.service-search-success .servall,
.service-search-success .servpage--main {
    display: none
}

.service-search-success .servpage--result {
    display: flex
}

.servpage__alert {
    display: none;
    flex-flow: column;
    gap: 20rem;
    margin-top: 32rem
}

.servpage__alert--text {
    --link-color: var(--c-gray-2);
    --link-color-active: var(--c-brown);
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    color: var(--c-brown-3)
}

.servpage__alert--text strong {
    display: inline-block;
    vertical-align: top;
    color: var(--c-brown);
    font-weight: inherit
}

.servpage {
    padding-bottom: 55rem
}

.servpage--result {
    display: none;
    margin-top: 32rem
}

.servpage--main {
    display: flex;
    flex-flow: column;
    margin-top: 32rem;
    gap: 30rem
}

.servpage--tabs {
    display: flex;
    white-space: nowrap;
    gap: 12rem
}

.servpage .--disable {
    display: none
}

.servsearch--inp {
    position: relative
}

.servsearch--input {
    height: 60rem;
    border: 1px solid var(--c-gray);
    border-radius: 8rem;
    padding: 0 45rem 0 20rem;
    color: var(--c-brown);
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    width: 100%;
    background: 0 0;
    transition: .3s ease-out
}

.servsearch--search {
    position: absolute;
    top: 50%;
    right: 20rem;
    transform: translateY(-50%);
    width: 20rem;
    height: 20rem;
    fill: var(--c-gray-2)
}

.bid {
    padding: 55rem 0
}

.bid--cont {
    display: flex
}

.bid--img {
    display: none
}

.bid--image {
    width: 100%;
    padding-bottom: 83.908045977%
}

.bid--image img {
    border-radius: 8rem
}

.bid--data {
    display: flex;
    flex-flow: column
}

.bid--sub {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    color: var(--c-gray-2);
    margin-bottom: 24rem
}

.bid--form {
    margin-top: 40rem
}

.bid_dark {
    background: var(--c-brown);
    color: var(--c-beige);
    padding: 110rem 0
}

.bid_dark+section {
    padding-top: 110rem
}

.gallery {
    padding: 55rem 0;
    overflow: hidden
}

.gallery--top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between
}

.gallery--nav {
    display: flex;
    gap: 12rem
}

.gallery--nav.--disabled {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.gallery--slider {
    margin: 40rem -10rem 0
}

.gallery--slider .swiper-wrapper {
    overflow: visible
}

.gallery--slider .swiper-slide {
    padding: 0 10rem;
    width: auto
}

.gallery--slider .swiper-scrollbar {
    margin-left: 10rem;
    margin-right: 10rem
}

.gallery--slide {
    display: inline-flex;
    padding-bottom: 114.2857142857%;
    width: 280rem
}

.gallery--slide img {
    border-radius: 8rem
}

.hello {
    --container-padding: 24rem;
    color: var(--c-beige);
    position: relative;
    padding: 8rem 0 24rem;
    display: flex;
    flex-flow: column
}

.hello:before {
    content: "";
    display: inline-block;
    vertical-align: top;
    position: absolute;
    top: 8rem;
    left: 8rem;
    right: 8rem;
    bottom: 8rem;
    background: var(--c-brown);
    border-radius: 8rem;
    z-index: 1;
    pointer-events: none
}

.hello--container {
    flex: auto;
    display: flex;
    flex-flow: column;
    padding-top: 28rem
}

.hello--content {
    display: flex;
    flex-flow: column;
    width: 100%
}

.hello--left {
    display: flex
}

.hello--left .swiper-slide {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start
}

.hello--text {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    margin-top: 16rem
}

.hello--right {
    margin-top: 40rem;
    display: flex
}

.hello--right .swiper {
    width: 100%
}

.hello--image {
    padding-bottom: 89.7435897436%
}

.hello--image img {
    border-radius: 8rem
}

.hello--bottom {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 10;
    margin-top: 59rem
}

.hello--arrows {
    display: flex;
    align-items: center;
    gap: 12rem
}

.hello--work {
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.hello--work span:first-child {
    color: var(--c-gray-2)
}

.hello__left {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: flex
}

.hello__left--slide {
    width: 100%;
    min-width: 100%;
    flex: 0 0 100%;
    display: flex;
    flex-flow: column;
    justify-content: center
}

.hello__right {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    border-radius: 8rem
}

.hello__right--slide {
    width: 100%;
    min-width: 100%;
    flex: 0 0 100%;
    padding-bottom: 89.7435897436%;
    overflow: hidden;
    will-change: transform
}

.hello__right--slide img {
    border-radius: 8rem
}

.utp {
    padding-top: 40rem;
    padding-bottom: 50rem;
    overflow: hidden
}

.utp--content {
    margin-top: 40rem;
    display: flex;
    flex-flow: column
}

.utp--list {
    display: flex;
    gap: 16rem;
    padding-bottom: 24rem
}

.utp--list .utp__item {
    min-width: 280rem
}

.utp--nums {
    margin-top: 60rem;
    display: flex;
    flex-flow: column;
    gap: 32rem
}

.utp__item {
    min-height: 127rem;
    display: flex;
    flex-flow: column;
    padding: 16rem;
    border-radius: 8rem;
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em;
    background: var(--c-card-color)
}

.utp__item--icon {
    margin-bottom: auto
}

.utp__item--icon img,
.utp__item--icon svg {
    width: 34rem;
    height: 34rem
}

.utp__item--text {
    margin-top: 20rem
}

.utp__num {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    padding-top: 20rem;
    border-top: 1px solid var(--c-gray)
}

.utp__num:first-child {
    border-top: none;
    padding-top: 0
}

.utp__num--num {
    font-size: 120rem;
    line-height: 1;
    letter-spacing: -.1em;
    font-weight: 300;
    color: var(--c-gold);
    overflow: hidden
}

.utp__num--num .word {
    overflow: visible
}

.utp__num--text {
    margin-top: 4rem
}

.clients {
    overflow: hidden;
}

.clients--marquee+.clients--marquee {
    margin-top: 38rem
}

.clients--item {
    margin-right: 31rem;
    transition: .3s ease-out;
    position: relative
}

.clients--item svg {
    height: 50rem;
    width: auto
}

.clients--item svg circle,
.clients--item svg path {
    fill: var(--c-logo);
    transition: .3s ease-out
}

.clients--item img {
    height: 50rem;
    width: auto;
    max-width: initial
}

.textpage--cont {
    border-top: 1px solid var(--c-gray);
    padding-top: 24rem;
    display: flex;
    flex-flow: column;
    gap: 40rem
}

.textpage--nav {
    --link-color: var(--c-gray-2);
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: 8rem;
    letter-spacing: -.02em;
    font-size: 16rem;
    line-height: 1.3
}

.textpage--nav span {
    margin-bottom: 4rem;
    font-size: 18rem;
    line-height: 1.15
}

.textpage--nav a.--active {
    color: var(--link-color-active)
}

.textpage--sub {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    color: var(--c-gray-2)
}

.textpage+section {
    padding-top: 110rem
}

.textpage-project {
    padding: 55rem 0
}

.textpage-project .textpage--cont {
    padding-top: 0;
    border: none
}

.coop {
    padding-bottom: 55rem
}

.coop--cont {
    border-top: 1px solid var(--c-gray);
    padding-top: 32rem;
    display: flex;
    flex-flow: column
}

.coop--sub {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    color: var(--c-gray-2);
    margin-bottom: 24rem
}

.review {
    overflow: hidden;
    padding: 55rem 0
}

.review--cont {
    margin-top: 40rem;
    position: relative
}

.review--nav {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    gap: 12rem
}

.review--slider {
    margin: 0 calc(-.25 * var(--container-padding));
    overflow: visible
}

.review--slider .swiper-wrapper {
    overflow: visible;
    align-items: stretch
}

.review--slider .swiper-slide {
    padding: 0 calc(.25 * var(--container-padding));
    opacity: .75;
    transition: opacity .3s ease-out;
    height: auto !important;
    display: flex;
    align-items: flex-start
}

.review--slider .swiper-slide.swiper-slide-active {
    opacity: 1
}

.review--slider .swiper-scrollbar {
    margin-left: calc(.25 * var(--container-padding));
    margin-right: calc(.25 * var(--container-padding))
}

.review__slide {
    display: flex;
    flex-flow: column;
    background: var(--c-card-color);
    border-radius: 8rem;
    padding: 16rem
}

.review__slide--info {
    display: flex;
    justify-content: space-between;
    gap: 10rem
}

.review__slide--logo {
    flex: 0 0 163rem;
    max-width: 163rem
}

.review__slide--link {
    --link-color: var(--c-gray-2);
    flex: auto;
    text-align: right;
    font-size: 14rem;
    line-height: 1.15;
    letter-spacing: -.03em
}

.review__slide--data {
    margin-top: 34rem;
    display: flex;
    flex-flow: column
}

.review__slide--text {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 20
}

.review__slide--author {
    padding-top: 32rem;
    display: flex;
    flex-flow: column;
    gap: 4rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    margin-top: auto
}

.review__slide--exp {
    color: var(--c-gray-2)
}

.thread {
    padding: 50rem 0;
    font-size: 80rem;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.05em;
    font-family: var(--font-cormorant);
    overflow: hidden;
    text-transform: uppercase
}

.thread--cont {
    display: flex;
    flex-flow: column
}

.thread--line {
    position: relative;
    display: flex
}

.thread--line:last-child {
    margin-bottom: 0
}

.thread--top {
    justify-content: flex-start
}

.thread--top .thread--img {
    top: -15rem
}

.thread--bottom .thread--img {
    top: 9rem
}

.thread--img {
    display: none;
    width: 200rem;
    padding-bottom: 250rem;
    position: absolute;
    z-index: 2
}

.thread--img img {
    border-radius: 8rem
}

.thread--text {
    white-space: nowrap;
    position: relative;
    z-index: 1
}

.thread--text span {
    display: inline-block;
    vertical-align: top;
    position: relative;
    will-change: transform
}

.thread--double {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    z-index: 3
}

.about {
    padding-bottom: 55rem
}

.about .container {
    display: flex;
    flex-flow: column
}

.about--title {
    margin-top: 40rem
}

.about--data {
    display: flex;
    flex-flow: column;
    margin-top: 40rem;
    border-top: 1px solid var(--c-gray);
    padding-top: 32rem;
    gap: 24rem
}

.about--sub {
    color: var(--c-gray-2);
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.about--text {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em
}

.about--img {
    display: flex;
    margin-top: 40rem
}

.about--image {
    width: 100%;
    padding-bottom: 460rem;
    border-radius: 8rem
}

.about--image img {
    border-radius: 8rem
}

.aboutmod {
    padding: 55rem 0
}

.aboutmod--data {
    display: flex;
    flex-flow: column
}

.aboutmod--cont {
    margin-top: 12rem;
    display: flex;
    flex-flow: column;
    gap: 12rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.aboutmod--button {
    margin-top: 40rem;
    text-align: center
}

.aboutmod--video {
    margin-top: 40rem;
    padding-bottom: 140.243902439%;
    border-radius: 8rem
}

.aboutmod--video img,
.aboutmod--video video {
    border-radius: 8rem;
    will-change: transform
}

.docs {
    padding: 55rem 0
}

.docs--cont {
    display: flex;
    flex-flow: column;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.docs--sub {
    margin-bottom: 24rem;
    color: var(--c-gray-2)
}

.docs--text {
    margin-top: 12rem
}

.docs--list {
    margin-top: 40rem;
    display: flex;
    flex-wrap: wrap;
    gap: 16rem
}

.docs--item {
    --link-color: var(--c-card-color);
    display: flex;
    padding: 16rem;
    flex: 0 0 calc(50% - 8rem);
    max-width: calc(50% - 8rem);
    border-radius: 8rem
}

.docs--img {
    padding-bottom: 141.1290322581%;
    width: 100%
}

.docs--img img {
    border-radius: 8rem
}

.partner {
    padding: 55rem 0;
    overflow: hidden
}

.partner--cont {
    margin-top: 40rem;
    position: relative
}

.partner--nav {
    display: none;
    gap: 12rem;
    position: absolute;
    top: 0;
    right: 0
}

.partner--slider {
    margin: 0 -8rem;
    overflow: visible
}

.partner--slider .swiper-slide {
    padding: 0 8rem;
    display: flex;
    height: auto
}

.partner--slider .swiper-scrollbar {
    margin: 25rem 8rem 0
}

.partner__item {
    display: flex;
    flex-flow: column;
    background: var(--c-card-color);
    padding: 16rem;
    border-radius: 8rem;
    height: 279rem;
    width: 280rem
}

.partner__item--logo {
    display: flex;
    align-items: flex-start;
    height: 76rem
}

.partner__item--logo img {
    max-height: 76rem
}

.partner__item--name {
    margin-top: 24rem;
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em
}

.partner__item--num {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.03em;
    padding-top: 5rem;
    margin-top: auto
}

.progress {
    padding: 55rem 0 110rem
}

.progress .container {
    display: flex;
    flex-flow: column
}

.progress--text {
    margin-top: 40rem;
    padding-top: 32rem;
    border-top: 1px solid var(--c-gray);
    position: relative
}

.progress--nums {
    display: flex;
    flex-flow: column;
    margin-top: 60rem;
    gap: 31rem
}

.progress--utplist {
    margin-top: 59rem;
    display: flex;
    gap: 16rem
}

.progress--utplist .utp__item {
    flex: 0 0 280rem;
    max-width: 280rem;
    min-width: 280rem
}

.appeal {
    padding: 110rem 0;
    background: var(--c-brown);
    color: var(--c-beige);
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.appeal--cont {
    margin-top: 40rem;
    display: flex;
    flex-flow: column
}

.appeal--sub {
    margin-bottom: 32rem;
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em
}

.appeal--items {
    gap: 24rem;
    display: flex;
    flex-flow: column
}

.appeal--item {
    border-top: 1px solid var(--c-brown-3);
    padding-top: 24rem
}

.appeal--img {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    margin-top: 60rem
}

.appeal--image {
    padding-bottom: 437rem
}

.appeal--image img {
    border-radius: 8rem
}

.appeal--exp {
    margin-top: 16rem;
    color: var(--c-gray-2)
}

.appeal--name {
    margin-top: 4rem
}

.section-aside+.presentation {
    padding-top: 110rem
}

.presentation {
    padding: 55rem 0
}

.presentation--cont {
    margin-top: 40rem;
    display: flex;
    flex-flow: column;
    gap: 24rem
}

.presentation--image {
    padding-bottom: 184rem;
    width: 100%;
    border: solid #352a28;
    border-radius: 8rem
}

.presentation--image img {
    border-radius: 8rem
}

.presentation--data {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32rem
}

.presentation--text {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.presentation--link {
    --link-color-active: var(--c-brown);
    --link-padding: 4rem;
    font-size: 16rem;
    line-height: 1.25;
    letter-spacing: -.01em
}

.contact {
    padding-bottom: 55rem
}

.contact--list {
    display: flex;
    flex-flow: column;
    gap: 20rem
}

.contact--item {
    display: flex;
    flex-flow: column;
    padding: 16rem;
    background: var(--c-card-color);
    border-radius: 8rem;
    position: relative
}

.contact--icon {
    width: 42rem;
    height: 42rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--c-beige-3);
    border-radius: 8rem;
    margin-bottom: 60rem
}

.contact--icon svg {
    fill: currentColor;
    width: 22rem;
    height: 22rem
}

.contact--name {
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em;
    color: var(--c-gray-2);
    margin-bottom: 16rem
}

.contact--data {
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em;
    display: flex;
    flex-flow: column;
    gap: 8rem
}

.contact--social {
    order: 3;
    margin-top: 32rem
}

.contact--map {
    margin-top: 82rem;
    height: 420rem;
    border-radius: 8rem;
    overflow: hidden
}

.contact--map iframe,
.contact--map>ymaps {
    border-radius: 8rem;
    height: 100% !important
}

.contact--map iframe>ymaps,
.contact--map>ymaps>ymaps {
    height: 100% !important
}

.vacancytop {
    --container-padding: 24rem;
    color: var(--c-beige);
    position: relative;
    padding: 8rem 0 16rem;
    min-height: calc(100vh - 16rem);
    display: flex;
    flex-flow: column
}

.vacancytop:before {
    content: "";
    display: inline-block;
    vertical-align: top;
    position: absolute;
    top: 8rem;
    left: 8rem;
    right: 8rem;
    bottom: 0;
    background: var(--c-brown);
    border-radius: 8rem;
    z-index: 1;
    pointer-events: none
}

.vacancytop>.container {
    display: flex;
    flex-flow: column;
    flex: auto
}

.vacancytop--content {
    display: flex;
    flex-flow: column;
    flex: auto;
    gap: 16rem;
    margin-top: 40rem
}

.vacancytop--bottom {
    display: flex;
    flex-flow: column;
    flex: auto;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.vacancytop--text {
    margin-bottom: 16rem
}

.vacancytop--arrow {
    display: none;
    align-items: center;
    justify-content: center;
    width: 70rem;
    height: 70rem;
    border: 1px solid var(--c-brown-3);
    border-radius: 8rem
}

.vacancytop--arrow svg {
    fill: currentColor;
    width: 24rem;
    height: 24rem
}

.vacancytop--team {
    display: flex;
    flex-flow: column;
    gap: 12rem;
    margin-top: auto
}

.vacancytop--team img {
    height: 60rem
}

.vacancy {
    padding: 55rem 0
}

.vacancy--empty {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    margin-top: 13rem
}

.vacancy--list {
    margin-top: 40rem
}

.vacancy--item {
    border-top: 1px solid var(--c-gray);
    position: relative
}

.vacancy--item:last-child {
    border-bottom: 1px solid var(--c-gray)
}

.vacancy--num {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    top: 20rem;
    position: absolute;
    left: 0
}

.vacancy--head {
    padding: 20rem 0;
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    position: relative;
    padding-right: 35rem
}

.vacancy--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27rem;
    height: 27rem;
    border: 1px solid var(--c-gray);
    border-radius: 8rem;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

.vacancy--icon svg {
    fill: var(--c-brown);
    width: 11rem;
    height: 11rem
}

.vacancy--icon path {
    transition: .3s ease-in-out;
    transform-origin: center center
}

.vacancy--data .text h2,
.vacancy--data .text h3,
.vacancy--data .text h4 {
    margin-top: 24rem
}

.vacancy--data .text h2:first-child,
.vacancy--data .text h3:first-child,
.vacancy--data .text h4:first-child {
    margin-top: 0
}

.vacancy--inner {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: 40rem;
    padding-bottom: 23rem
}

.vacancy .--active .vacancy--icon path:nth-child(1) {
    transform: scaleY(0) rotate(-90deg)
}

.demand {
    padding: 110rem 0 55rem
}

.demand--cont {
    margin-top: 40rem;
    display: flex;
    flex-flow: column;
    gap: 16rem
}

.demand--sub {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em
}

.hr {
    padding: 55rem 0
}

.hr--cont {
    display: flex;
    flex-flow: column;
    gap: 40rem;
    margin-top: 40rem
}

.hr--data {
    display: flex;
    flex-flow: column;
    gap: 32rem
}

.hr--item {
    border-top: 1px solid var(--c-gray);
    padding-top: 24rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.hr--num {
    margin-bottom: 20rem
}

.hr--name {
    margin-bottom: 16rem;
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em
}

.hr--img {
    display: flex
}

.hr--image {
    padding-bottom: 420rem;
    width: 100%
}

.hr--image img {
    border-radius: 8rem
}

.sitemap {
    padding-top: 32rem
}

.sitemap--title {
    font-size: 20rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    margin-bottom: 24rem
}

.sitemap--list {
    display: flex;
    flex-flow: column;
    gap: 20rem;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em
}

.sitemap--list li {
    display: flex;
    flex-flow: column;
    gap: 16rem
}

.sitemap--list ul {
    display: flex;
    flex-flow: column;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 16rem;
    font-size: 14rem;
    line-height: 1.3;
    letter-spacing: -.02em
}

.sitemap--list>li>ul {
    padding-left: 33rem
}

.sitemap--list>li>ul ul {
    padding-left: 24rem
}

.page-nf {
    min-height: 100vh;
    display: flex;
    flex-flow: column
}

.page-nf .footer {
    display: none !important
}

.page-nf main {
    flex: auto;
    display: flex;
    flex-flow: column
}

.nf {
    --link-border-color: var(--c-brown-3);
    --link-color: var(--c-gray-2);
    --link-color-active: var(--c-brown);
    --link-height: 1px;
    flex: auto;
    display: flex;
    padding: 20rem 0 52rem !important
}

.nf .container {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    text-align: center
}

.nf--num {
    font-weight: 300;
    font-size: 120rem;
    line-height: 1;
    letter-spacing: -.1em;
    transform: translateX(-6rem)
}

.nf--text {
    margin-top: 20rem;
    font-size: 18rem;
    line-height: 1.15;
    letter-spacing: -.02em
}

@media (min-width:768px) {
    :root {
        --fz: .13021vw
    }

    .title {
        font-size: 44rem
    }

    .title-prj {
        font-size: 32rem
    }

    .title-sm {
        font-size: 36rem;
        letter-spacing: -.03em
    }

    .title-about {
        font-size: 80rem
    }

    .titlemod {
        flex-flow: row;
        justify-content: space-between
    }

    .titlemod--sub {
        flex: 0 0 30%;
        max-width: 30%
    }

    .titlemod--data {
        flex: 0 0 66.66%;
        max-width: 66.66%;
        gap: 18rem
    }

    .titlemod-vert {
        flex-flow: column;
        gap: 39rem
    }

    .titlemod-vert .titlemod--sub {
        flex: 0 0 100%;
        max-width: 100%
    }

    .titlemod-vert .titlemod--data {
        max-width: 1395rem;
        flex: 0 0 100%;
        max-width: min(100%, 1395rem);
        padding-left: 0
    }

    .modal {
        max-width: 600rem;
        padding: 60rem 40rem
    }

    .text table td,
    .text table th {
        padding: 20rem 10rem
    }

    .ggutp .utp--nums {
        flex-flow: row
    }

    .ggutp .utp--list {
        flex: 0 0 100%;
        max-width: 100%
    }

    .ggutp .utp__item {
        min-height: 140rem
    }

    .ggutp .utp__num {
        flex: 0 0 45%;
        max-width: 45%
    }

    .ggutp .utp__num--num {
        white-space: nowrap
    }

    .breadcrumbs {
        font-size: 12rem
    }

    .headlink--icon {
        border-color: var(--c-brown);
        background: var(--c-brown);
        color: #fff;
    }

    .headlink--icon svg {
        fill: #fff
    }

    .headlink_noticon .headlink--icon {
        display: none
    }

    .fixed_light .headlink .headlink--icon,
    .header_light .headlink .headlink--icon,
    .headlink_light .headlink--icon,
    .hello .header .headlink .headlink--icon,
    .mmenu--header_light .headlink .headlink--icon,
    .prjtop .header .headlink .headlink--icon,
    .vacancytop .header .headlink .headlink--icon {
        border-color: var(--c-brown)
    }

    .footer {
        font-size: 12rem
    }

    .footer--top {
        font-size: 85rem
    }

    .footer--top span:nth-child(2) {
        text-align: right;
        padding-right: 10rem;
        align-self: flex-end
    }

    .footer--order {
        display: none
    }

    .footer--content {
        flex-flow: row
    }

    .footer--column1 {
        flex: 0 0 22%;
        max-width: 22%
    }

    .footer--column2 {
        flex: 0 0 20%;
        max-width: 20%;
        padding-left: 6rem
    }

    .footer--column3 {
        flex: 0 0 24%;
        max-width: 24%;
        padding-left: 12rem
    }

    .footer--column4 {
        flex: auto;
        padding-left: 10rem
    }

    .footer--name {
        margin-bottom: 12rem
    }

    .footer--phones {
        margin-top: 0
    }

    .footer--menu {
        margin-top: 0;
        gap: 10rem
    }

    .footer--links {
        margin-top: 0
    }

    .footer .social {
        margin-top: 20rem
    }

    .footer--bottom {
        flex-flow: row;
        gap: 0
    }

    .footer--sitemap {
        text-align: right
    }

    .pagetop--text {
        letter-spacing: -.02em
    }

    .news--content {
        border-top: 1px solid var(--c-gray);
        padding-top: 40rem
    }

    .news--list {
        gap: 16rem
    }

    .news--list .news__item {
        flex: 0 0 calc(50% - 8rem);
        max-width: calc(50% - 8rem)
    }

    .news__item--name {
        flex: auto
    }

    .newspage {
        padding-bottom: 100rem
    }

    .newspage--top {
        padding: 40rem 0;
        flex-flow: row;
        gap: 0
    }

    .newspage--date {
        flex: 0 0 calc(25% + 6rem);
        max-width: calc(25% + 6rem);
        padding-right: 20rem
    }

    .newspage--img {
        flex: auto;
        max-width: 70%;
        width: 70%
    }

    .newspage--content {
        margin-left: calc(25% + 6rem);
        width: 70%
    }

    .newspage--links {
        flex-flow: row;
        flex-wrap: wrap
    }

    .newspage--slide {
        padding-bottom: 100%
    }

    .newspage--media {
        margin-left: calc(25% + 6rem);
        width: 70%
    }

    .newspage--video {
        padding-bottom: 68.4326710817%
    }

    .article--content {
        border-top: 1px solid var(--c-gray);
        padding-top: 40rem
    }

    .article--list {
        gap: 16rem
    }

    .article--list .article__item {
        flex: 0 0 calc(50% - 8rem);
        max-width: calc(50% - 8rem)
    }

    .opinion--content {
        border-top: 1px solid var(--c-gray);
        padding-top: 40rem
    }

    .opinion--list {
        gap: 16rem
    }

    .opinion--list .opinion__item {
        flex: 0 0 calc(50% - 8rem);
        max-width: calc(50% - 8rem)
    }

    .opinion__item--icon {
        margin-top: auto
    }

    .project--list {
        gap: 14rem
    }

    .project__item {
        --link-bg: transparent;
        flex-flow: row;
        justify-content: space-between;
        gap: 0;
        align-items: flex-start
    }

    .project__item:after,
    .project__item:before {
        content: "";
        display: none;
        vertical-align: top;
        position: absolute;
        top: -8rem;
        left: 0;
        right: 0;
        height: 1px;
        background: #bdbcbb
    }

    .project__item:before {
        display: inline-block
    }

    .project__item:last-child:after {
        display: inline-block;
        top: auto;
        bottom: -8rem
    }

    .project__item--img {
        margin-bottom: 0;
        flex: 0 0 25%;
        max-width: 25%
    }

    .project__item--data {
        align-self: stretch;
        flex: 0 0 70%;
        max-width: 70%;
        padding-right: 32rem
    }

    .project__item--bottom {
        flex-flow: row;
        order: 2;
        margin-top: auto;
        gap: 24rem
    }

    .project__item--col {
        gap: 6rem
    }

    .project__item--icon {
        position: absolute;
        right: 0;
        bottom: 0;
        padding-top: 0
    }

    .project__item--name {
        order: 1;
        margin-top: 0;
        margin-bottom: 20rem;
        max-width: 751rem;
        font-size: 18rem
    }

    .projectmod {
        padding: 75rem 0
    }

    .projectmod--list {
        flex-flow: row;
        flex-wrap: wrap;
        gap: 16rem
    }

    .projectmod--list .projectmod__item {
        flex: 0 0 calc(50% - 8rem);
        max-width: calc(50% - 8rem)
    }

    .projectmod__item--top {
        flex-flow: row;
        justify-content: space-between;
        gap: 0
    }

    .projectmod__item--img {
        flex: 0 0 35%;
        max-width: 35%;
        align-self: flex-start
    }

    .projectmod__item--info {
        flex: 0 0 60%;
        max-width: 60%;
        gap: 17rem
    }

    .projectmod__item--name {
        font-size: 18rem;
        flex: auto
    }

    .projectmod__item--bottom {
        flex-flow: row;
        justify-content: space-between;
        align-items: flex-end;
        gap: 10rem;
        margin-top: auto
    }

    .projectmod__item--icon {
        flex: 0 0 44rem;
        min-width: 44rem;
        align-self: flex-end
    }

    .prjtop {
        padding-bottom: 30rem
    }

    .prjtop--content {
        display: flex
    }

    .prjtop--data {
        order: 2;
        flex: 0 0 65%;
        max-width: 65%;
        padding-left: 30rem
    }

    .prjtop--img {
        order: 1;
        flex: 0 0 35%;
        max-width: 35%;
        margin-top: 0
    }

    .prjtop--status {
        left: 12rem;
        bottom: 12rem;
        right: auto
    }

    .prjtop--info {
        margin-top: auto;
        flex-flow: row;
        justify-content: space-between
    }

    .prjservice--item {
        flex-flow: row;
        justify-content: space-between
    }

    .prjservice--num {
        flex: 0 0 25%;
        max-width: 25%
    }

    .prjservice--name {
        letter-spacing: -.03em;
        flex: 0 0 70%;
        max-width: 70%
    }

    .prjbyserv {
        padding-top: 150rem;
        padding-bottom: 0
    }

    .prjbyserv .title {
        max-width: 80%
    }

    .service__main {
        padding: 75rem 0
    }

    .service__main.--margin-xl {
        padding-bottom: 150rem
    }

    .servbasic--list {
        flex-flow: row;
        flex-wrap: wrap;
        gap: 15rem
    }

    .servbasic--list .servbasic--item {
        flex: 0 0 calc(33.333% - 10rem);
        max-width: calc(33.333% - 10rem)
    }

    .servbasic--item {
        font-size: 16rem
    }

    .servbasic--icon {
        margin-top: auto
    }

    .servbasic--more {
        margin-top: 60rem
    }

    .servall--content {
        margin-top: 30rem
    }

    .servall--list {
        flex-flow: row;
        flex-wrap: wrap
    }

    .servall--item {
        flex: 0 0 calc(50% - 8rem);
        max-width: calc(50% - 8rem)
    }

    .servpage {
        padding-bottom: 75rem
    }

    .servsearch--inp {
        max-width: 596rem
    }

    .bid--cont {
        gap: 30rem
    }

    .bid--data {
        flex: auto
    }

    .bid--title {
        margin-top: auto
    }

    .bid--form {
        max-width: 846rem
    }

    .bid_dark {
        padding: 150rem 0
    }

    .bid_dark+section {
        padding-top: 150rem
    }

    .gallery--slide {
        width: 209rem
    }

    .hello--container {
        padding-top: 0
    }

    .hello--content {
        flex-flow: row;
        justify-content: space-between
    }

    .hello--left {
        flex: 0 0 55%;
        max-width: 55%
    }

    .hello--right {
        flex: 0 0 45%;
        max-width: 45%;
        margin-top: 0;
        margin-right: calc(-1 * var(--container-padding) + 8rem);
        border-radius: 8rem 0 0 8rem;
        overflow: hidden
    }

    .hello--image img {
        border-radius: 8rem 0 0 8rem
    }

    .hello--bottom {
        align-items: flex-end
    }

    .hello--arrows {
        flex: 0 0 25%;
        max-width: 25%
    }

    .hello--button {
        margin-left: auto
    }

    .hello__right,
    .hello__right--slide img {
        border-radius: 8rem 0 0 8rem
    }

    .utp {
        padding: 100rem 0 75rem
    }

    .utp--content {
        flex-flow: row;
        justify-content: space-between;
        margin-top: 80rem
    }

    .utp--list {
        order: 2;
        flex: 0 0 60%;
        max-width: 60%;
        flex-wrap: wrap;
        gap: 12rem
    }

    .utp--list .utp__item {
        flex: 0 0 calc(50% - 6rem);
        max-width: calc(50% - 6rem);
        min-width: 0
    }

    .utp--nums {
        order: 1;
        flex: 0 0 35%;
        max-width: 35%;
        margin-top: 0
    }

    .utp__item {
        font-size: 16rem
    }

    .utp__num--num {
        font-size: 80rem
    }

    .clients {
        padding: 75rem 0
    }

    .clients--marquee:nth-child(n+2) {
        display: none
    }

    .clients--item {
        margin-right: 60rem
    }

    .clients--item svg {
        height: 60rem
    }

    .textpage--cont {
        flex-flow: row;
        justify-content: center;
        align-items: flex-start;
        gap: 0
    }

    .textpage--nav {
        position: sticky;
        top: 90rem;
        font-size: 14rem;
        max-width: 25%;
        margin-right: auto
    }

    .textpage--nav span {
        font-size: 16rem
    }

    .textpage--nav+.textpage--text {
        max-width: 70%
    }

    .textpage--sub {
        margin-right: auto;
        flex: 0 0 25%
    }

    .textpage--sub+.textpage--text {
        max-width: 70%
    }

    .textnav {
        margin-right: auto
    }

    .review .titlemod--data {
        padding-right: 110rem
    }

    .review--nav {
        transform: translateY(calc(-100% - 40rem))
    }

    .review--slider .swiper-slide {
        width: auto
    }

    .review__slide {
        flex-flow: row;
        justify-content: space-between;
        width: 90vw;
        padding: 24rem
    }

    .review__slide--info {
        flex-flow: column;
        flex: 0 0 20%;
        max-width: 20%
    }

    .review__slide--data {
        flex: 0 0 70%;
        max-width: 70%
    }

    .review__slide--logo {
        margin-bottom: 30rem;
        flex: initial;
        max-width: 100%
    }

    .review__slide--link {
        margin-top: auto;
        flex: initial;
        max-width: 100%;
        text-align: left
    }

    .review__slide--data {
        margin-top: 0
    }

    .review__slide--text {
        font-size: 16rem;
        -webkit-line-clamp: 10
    }

    .thread {
        font-size: 180rem
    }

    .thread--img {
        display: block;
        width: 150rem;
        padding-bottom: 200rem
    }

    .thread--top .thread--img {
        left: 510rem
    }

    .thread--top .thread--double {
        clip-path: polygon(510rem 0, 660rem 0, 660rem 100%, 510rem 100%)
    }

    .thread--bottom .thread--img {
        left: 120rem
    }

    .thread--bottom .thread--double {
        clip-path: polygon(120rem 0, 270rem 0, 270rem 100%, 120rem 100%)
    }

    .about {
        padding-bottom: 75rem
    }

    .about--data {
        flex-flow: row;
        justify-content: space-between;
        gap: 0
    }

    .about--sub {
        flex: 0 0 30%;
        max-width: 30%
    }

    .about--text {
        flex: 0 0 66.66%;
        max-width: 66.66%;
        font-size: 18rem
    }

    .about--image {
        padding-bottom: 46.8409586057%
    }

    .aboutmod .titlemod-vert {
        gap: 32rem
    }

    .aboutmod--cont {
        flex-flow: row
    }

    .aboutmod--video {
        order: 3
    }

    .docs--cont {
        flex-flow: row;
        justify-content: space-between
    }

    .docs--sub {
        flex: 0 0 25%;
        max-width: 25%
    }

    .docs--data {
        flex: 0 0 70%;
        max-width: 70%
    }

    .partner .title {
        margin-right: 80rem
    }

    .partner--cont {
        margin-top: 60rem
    }

    .partner--nav {
        display: inline-flex;
        transform: translateY(calc(-100% - 60rem))
    }

    .partner__item {
        width: 100%
    }

    .progress {
        padding: 75rem 0 150rem
    }

    .progress--text {
        padding-left: 33.33%
    }

    .progress--text:before {
        content: "";
        display: inline-block;
        vertical-align: top;
        position: absolute;
        width: 16rem;
        height: 16rem;
        border-radius: 50%;
        background: var(--c-gray);
        left: 0;
        top: 32rem
    }

    .progress--nums {
        flex-flow: row;
        justify-content: space-between
    }

    .progress--nums .utp__num {
        padding-top: 0;
        border-top: none;
        max-width: 40%
    }

    .appeal {
        padding: 150rem 0
    }

    .appeal--cont {
        flex-flow: row;
        justify-content: space-between
    }

    .appeal--text {
        flex: 0 0 45%;
        display: flex;
        flex-flow: column;
        align-items: flex-start
    }

    .appeal--items {
        flex: auto;
        flex-flow: column;
        justify-content: center;
        align-items: flex-start;
        padding-bottom: 70rem
    }

    .appeal--img {
        margin-top: 0;
        flex: 0 0 45%;
        max-width: 45%
    }

    .section-aside+.presentation {
        padding-top: 150rem
    }

    .presentation {
        padding-bottom: 75rem
    }

    .presentation--cont {
        flex-flow: row;
        justify-content: space-between
    }

    .presentation--img {
        flex: 0 0 40%;
        max-width: 40%
    }

    .presentation--image {
        padding-bottom: 56.1917443409%
    }

    .presentation--data {
        justify-content: flex-end;
        align-items: flex-start;
        flex: 0 0 55%;
        max-width: 55%
    }

    .contact--list {
        flex-flow: row;
        flex-wrap: wrap;
        gap: 16rem
    }

    .contact--item {
        flex: 0 0 calc(50% - 8rem);
        max-width: calc(50% - 8rem)
    }

    .contact--social {
        position: absolute;
        right: 16rem;
        bottom: 16rem;
        flex-flow: column;
        margin-top: 0
    }

    .contact--social+.contact--data {
        max-width: calc(100% - 50rem)
    }

    .vacancytop--content {
        gap: 32rem
    }

    .vacancytop--title {
        max-width: 500rem
    }

    .vacancytop--team {
        flex-flow: row;
        align-items: center;
        gap: 20rem;
        margin-bottom: 0;
        flex: 0 0 50%;
        max-width: 50%
    }

    .vacancytop--team img {
        height: 90rem
    }

    .vacancytop--text {
        margin-bottom: 0;
        font-size: 18rem
    }

    .vacancy {
        padding-top: 75rem
    }

    .vacancy--item {
        padding-left: 40rem
    }

    .demand {
        padding-top: 140rem;
        padding-bottom: 75rem
    }

    .demand--cont {
        flex-flow: row;
        justify-content: space-between;
        margin-top: 60rem
    }

    .demand--sub {
        flex: 0 0 30%;
        max-width: 30%;
        font-size: 18rem
    }

    .demand--text {
        flex: 0 0 60%;
        max-width: 60%
    }

    .hr {
        padding: 75rem 0
    }

    .hr--cont {
        flex-flow: row;
        justify-content: space-between;
        align-items: flex-start;
        margin-top: 60rem
    }

    .hr--data {
        order: 2;
        flex: auto
    }

    .hr--img {
        order: 1;
        flex: 0 0 32.5%;
        max-width: 32.5%
    }

    .hr--image {
        padding-bottom: 147.6510067114%
    }

    .nf--text br {
        display: none
    }
}

@media (min-width:992px) {
    :root {
        --fz: .10081vw;
        --container-padding: 42rem
    }

    .title {
        font-size: 54rem
    }

    .title-prj {
        font-size: 40rem
    }

    .title-sm {
        font-size: 44rem
    }

    .title-about {
        font-size: 120rem
    }

    .titlemod--sub {
        flex: 0 0 35%;
        max-width: 35%
    }

    .titlemod--data {
        flex: 0 0 60%;
        max-width: 60%;
        padding-left: 12rem
    }

    .titlemod--text {
        max-width: 720rem
    }

    .form--agree {
        font-size: 14rem;
        max-width: 560rem
    }

    .modal {
        padding: 80rem;
        max-width: 800rem
    }

    .modal--close {
        top: 40rem;
        right: 40rem
    }

    .modal--form,
    .modal--form .form--submit {
        margin-top: 40rem
    }

    .modal--text {
        margin-top: 24rem;
        max-width: 532rem
    }

    .modal-success {
        padding-top: 133rem;
        padding-bottom: 133rem
    }

    .ggaccordion {
        padding: 20rem 0
    }

    .ggaccordion--title {
        font-size: 18rem;
        margin-right: 10rem
    }

    .ggaccordion--icon {
        width: 30rem;
        height: 30rem;
        min-width: 30rem
    }

    .ggaccordion--icon:before {
        width: 16rem;
        height: 16rem
    }

    .ggaccordion--inner {
        padding-top: 20rem
    }

    .ggbg {
        padding: 24rem
    }

    .ggbg--title {
        font-size: 24rem
    }

    .ggutp {
        margin: 60rem 0;
        padding: 60rem 0
    }

    .ggutp .utp__item {
        min-height: 160rem
    }

    .ggutp .utp__num {
        flex: initial;
        max-width: initial;
        font-size: 18rem
    }

    .ggutp .utp__num--num {
        font-size: 120rem
    }

    .ggutp .utp__num--text {
        margin-top: 7rem
    }

    .breadcrumbs {
        font-size: 14rem
    }

    .pagination {
        margin-top: 60rem
    }

    .page__tabs {
        margin-bottom: 60rem
    }

    .footer {
        font-size: 14rem
    }

    .footer:before {
        left: 12rem;
        right: 12rem;
        bottom: 8rem
    }

    .footer--top {
        font-size: 120rem
    }

    .footer--top span {
        margin-bottom: -20rem
    }

    .footer--top span:first-child {
        margin-left: -10rem
    }

    .footer--column1 {
        flex: 0 0 24%;
        max-width: 24%;
        padding-right: 20rem
    }

    .footer--column2 {
        flex: 0 0 20%;
        max-width: 20%;
        padding-left: 6rem
    }

    .footer--column3 {
        flex: 0 0 21%;
        max-width: 21%;
        padding-left: 12rem
    }

    .footer--name {
        margin-top: 32rem
    }

    .footer--menu {
        gap: 10rem
    }

    .footer--dev svg {
        width: 90rem;
        height: 48rem
    }

    .footer--bottom {
        font-size: 12rem;
        letter-spacing: -.02em;
        padding: 25rem 0
    }

    .news--list {
        gap: 15rem
    }

    .news--list .news__item {
        flex: 0 0 calc(33.333% - 10rem);
        max-width: calc(33.333% - 10rem)
    }

    .newspage {
        padding-bottom: 100rem
    }

    .newspage--top {
        padding: 60rem 0
    }

    .newspage--image {
        padding-bottom: 76.1589403974%
    }

    .newspage--content {
        margin-top: 60rem
    }

    .newspage--links {
        --link-color: var(--c-gray-2);
        --link-padding: 6rem;
        margin-top: 23rem
    }

    .newspage--gallery {
        margin-top: 120rem
    }

    .newspage--slider {
        margin: 0 -12rem
    }

    .newspage--slider .swiper-slide {
        padding: 0 12rem;
        width: 100%
    }

    .newspage--slide {
        width: 100%
    }

    .newspage--nav {
        display: flex
    }

    .newspage--media {
        margin-top: 120rem
    }

    .article--list {
        gap: 15rem
    }

    .article--list .article__item {
        flex: 0 0 calc(33.333% - 10rem);
        max-width: calc(33.333% - 10rem)
    }

    .article__item--icon {
        padding-top: 40rem
    }

    .opinion--list {
        gap: 15rem
    }

    .opinion--list .opinion__item {
        flex: 0 0 calc(33.333% - 10rem);
        max-width: calc(33.333% - 10rem)
    }

    .opinion--mod .opinion--list {
        margin-top: 60rem
    }

    .project__item {
        padding: 24rem;
        font-size: 13rem
    }

    .project__item--img {
        flex: 0 0 200rem;
        max-width: 200rem
    }

    .project__item--data {
        flex: 0 0 500rem;
        max-width: 500rem;
        padding-right: 44rem
    }

    .project__item--name {
        font-size: 18rem
    }

    .project__item--bottom {
        gap: 5%
    }

    .project__item--col {
        flex: 0 0 50%;
        max-width: 50%
    }

    .project__item--col:last-child {
        flex: 0 0 45%;
        max-width: 45%
    }

    .projectmod {
        padding: 100rem 0
    }

    .projectmod__item {
        font-size: 13rem;
        padding: 24rem
    }

    .projectmod__item--image img {
        border-radius: 12rem
    }

    .projectmod__item--name {
        font-size: 18rem
    }

    .prjtop {
        --container-padding: 42rem;
        padding-bottom: 40rem
    }

    .prjtop--content {
        margin-top: 80rem
    }

    .prjtop--data {
        padding-left: 60rem
    }

    .prjtop--col {
        flex: 0 0 calc(50% - 18rem);
        max-width: calc(50% - 18rem)
    }

    .prjservice {
        padding-top: 120rem;
        padding-bottom: 130rem
    }

    .prjservice--list {
        margin-top: 60rem
    }

    .prjservice--item {
        padding: 24rem 0 32rem
    }

    .prjservice--name {
        padding-left: 12rem
    }

    .prjbyserv {
        padding-top: 200rem;
        padding-bottom: 100rem
    }

    .prjbyserv .title {
        max-width: 70%
    }

    .prjbyserv--cont {
        padding-top: 60rem
    }

    .prjbyserv--nav {
        display: inline-flex
    }

    .prjbyserv--slider .swiper-slide {
        width: 100%
    }

    .prjbyserv--slider .swiper-scrollbar {
        display: none
    }

    .service__main {
        padding: 100rem 0
    }

    .service__main--list {
        margin-top: 60rem
    }

    .service__main.--margin-xl {
        padding-bottom: 200rem
    }

    .servpage__alert {
        border-top: 1px solid var(--c-gray);
        margin-top: 60rem;
        padding-top: 33rem
    }

    .servpage {
        padding-bottom: 129rem
    }

    .servpage--result {
        margin-top: 60rem
    }

    .servpage--main {
        gap: 0;
        border-top: 1px solid var(--c-gray);
        margin-top: 60rem;
        padding-top: 33rem
    }

    .servpage--title {
        order: 1
    }

    .servpage--tabs {
        order: 2;
        margin-top: 60rem
    }

    .servpage--list {
        order: 3;
        margin-top: 33rem
    }

    .bid {
        padding: 130rem 0
    }

    .bid--cont {
        gap: 40rem
    }

    .bid--img {
        flex: 0 0 45%;
        max-width: 45%;
        display: flex;
        align-self: flex-start
    }

    .bid_dark+section {
        padding-top: 200rem
    }

    .gallery--slider {
        margin: 60rem -5rem 0;
        border-radius: 8rem;
        overflow: hidden
    }

    .gallery--slider .swiper-slide {
        padding: 0 5rem
    }

    .gallery--slide {
        width: 219rem
    }

    .hello {
        --container-padding: 42rem;
        min-height: 100vh
    }

    .hello:before {
        top: 12rem;
        right: 12rem;
        left: 12rem;
        bottom: 12rem
    }

    .hello--container {
        flex-flow: row;
        padding-bottom: 109rem;
        position: initial
    }

    .hello--content {
        flex-flow: row;
        justify-content: space-between
    }

    .hello--left {
        flex: 0 0 60%;
        max-width: 60%;
        padding-right: 70rem
    }

    .hello--right {
        margin-top: 0;
        position: absolute;
        top: 12rem;
        right: 12rem;
        bottom: 12rem;
        left: 60%;
        width: auto;
        margin-right: 0;
        max-width: 100%;
        flex: initial
    }

    .hello--image img {
        border-radius: 0 8rem 8rem 0
    }

    .hello--text {
        font-size: 16rem;
        max-width: 580rem
    }

    .hello--bottom {
        position: absolute;
        left: var(--container-padding);
        right: var(--container-padding);
        bottom: 0;
        bottom: 50rem
    }

    .hello--work {
        flex: 0 0 25%;
        max-width: 25%;
        font-size: 16rem;
        gap: 8rem
    }

    .hello__right,
    .hello__right--slide img {
        border-radius: 0 8rem 8rem 0
    }

    .utp {
        padding: 100rem 0 130rem
    }

    .utp--content {
        margin-top: 120rem
    }

    .utp--list {
        flex: 0 0 55%;
        max-width: 55%
    }

    .utp--nums {
        flex: 0 0 35%;
        max-width: 35%
    }

    .utp__num--num {
        font-size: 120rem
    }

    .clients {
        padding: 130rem 0
    }

    .clients--item {
        margin-right: 80rem
    }

    .textpage--withnav {
        padding-top: 40rem
    }

    .textpage--nav {
        top: 100rem
    }

    .textpage--text {
        max-width: 70%
    }

    .textpage+section {
        padding-top: 200rem
    }

    .coop {
        padding-bottom: 75rem
    }

    .coop--cont {
        flex-flow: row;
        justify-content: space-between;
        padding-top: 40rem
    }

    .coop--sub {
        flex: 0 0 35%;
        max-width: 35%
    }

    .coop--data {
        flex: 0 0 60%;
        max-width: 60%
    }

    .review__slide {
        padding: 32rem;
        width: 80vw
    }

    .review__slide--info {
        flex: 0 0 150rem;
        max-width: 150rem
    }

    .review__slide--data {
        flex: 0 0 65%;
        max-width: 65%
    }

    .thread {
        font-size: 240rem;
        padding: 165rem 0
    }

    .thread--line {
        margin-bottom: -30rem
    }

    .thread--img {
        width: 200rem;
        padding-bottom: 250rem
    }

    .thread--top .thread--img {
        left: 660rem
    }

    .thread--top .thread--double {
        clip-path: polygon(660rem 0, 860rem 0, 860rem 100%, 660rem 100%)
    }

    .thread--bottom .thread--img {
        left: 180rem;
        top: 20rem
    }

    .thread--bottom .thread--double {
        clip-path: polygon(180rem 0, 380rem 0, 380rem 100%, 180rem 100%)
    }

    .about {
        padding-bottom: 100rem
    }

    .about--sub {
        flex: 0 0 35%;
        max-width: 35%
    }

    .about--text {
        flex: 0 0 60%;
        max-width: 60%;
        padding-left: 12rem
    }

    .about--utplist {
        order: 3
    }

    .aboutmod--cont {
        gap: 24rem
    }

    .aboutmod--video {
        padding-bottom: 46.8409586057%
    }

    .partner--slider {
        margin: 0 -12rem
    }

    .partner--slider .swiper-slide {
        padding: 0 12rem
    }

    .partner--slider .swiper-scrollbar {
        margin: 42rem 12rem 0
    }

    .progress {
        padding: 100rem 0 200rem
    }

    .progress .title {
        max-width: 906rem
    }

    .progress--utplist {
        order: 3
    }

    .progress--utplist .utp__item {
        flex: 0 0 calc(25% - 18rem);
        max-width: calc(25% - 18rem);
        min-width: 0
    }

    .progress--nums {
        order: 2
    }

    .appeal {
        padding: 200rem 0
    }

    .section-aside+.presentation {
        padding-top: 200rem
    }

    .presentation {
        padding-bottom: 100rem
    }

    .presentation--cont {
        margin-top: 60rem
    }

    .presentation--data {
        gap: 40rem;
        flex: 0 0 calc(60% + 12rem);
        max-width: calc(60% + 12rem);
        padding-right: 100rem
    }

    .presentation--link {
        --link-color: var(--c-gray-2);
        font-size: 18rem
    }

    .contact {
        padding-bottom: 0
    }

    .contact--item {
        padding: 32rem
    }

    .contact--social {
        right: 32rem;
        bottom: 32rem
    }

    .vacancytop {
        --container-padding: 42rem;
        min-height: calc(100vh - 12rem)
    }

    .vacancytop--title {
        max-width: 570rem;
        flex: auto
    }

    .vacancytop--bottom {
        flex: initial;
        flex-flow: row;
        justify-content: space-between;
        align-items: flex-end
    }

    .vacancytop--team {
        order: 1
    }

    .vacancytop--text {
        order: 3;
        flex: 0 0 50%;
        max-width: 50%
    }

    .vacancy {
        padding-top: 100rem
    }

    .vacancy--empty,
    .vacancy--list {
        margin-top: 62rem
    }

    .vacancy--item {
        padding-left: 35%
    }

    .demand {
        padding-top: 180rem;
        padding-bottom: 100rem
    }

    .demand--text {
        flex: 0 0 50%;
        max-width: 50%
    }

    .hr {
        padding: 100rem 0
    }

    .hr--img {
        flex: 0 0 32.5%;
        max-width: 32.5%
    }

    .hr--data {
        flex: 0 0 50%;
        max-width: 50%;
        margin: 0 auto
    }

    .sitemap {
        padding-top: 40rem
    }

    .sitemap--title {
        font-size: 24rem;
        margin-bottom: 32rem
    }

    .sitemap--list {
        font-size: 20rem
    }

    .sitemap--list ul {
        gap: 8rem;
        font-size: 18rem
    }

    .sitemap--list>li {
        gap: 12rem
    }

    .sitemap--list>li>ul {
        padding-left: 60rem
    }

    .sitemap--list>li>ul ul {
        padding-left: 40rem
    }

    .sitemap--list>li>ul li {
        gap: 8rem
    }

    .nf {
        padding: 40px 0 153px !important
    }

    .nf--num {
        font-size: 180rem;
        transform: translateX(-10rem)
    }

    .nf--text {
        margin-top: 30rem;
        font-size: 20rem
    }
}

@media (min-width:1200px) {
    :root {
        --fz: .05208vw;
        --btn-gap: 40rem;
        --text-fz: 20rem;
        --text-lh: 1.3;
        --text-margin: 16rem;
        --text-li-margin: 12rem
    }


    .btn {
        padding: 8rem 8rem 8rem var(--btn-gap);
        gap: var(--btn-gap)
    }

    .btn--text {
        font-size: 20rem
    }

    .btn--icon {
        width: 62rem;
        height: 62rem
    }

    .btn--icon svg {
        width: 32rem;
        height: 32rem
    }

    .button {
        min-height: 63rem;
        padding: 0 30rem;
        font-size: 18rem;
        line-height: 1.25;
        letter-spacing: -.01em
    }

    .title {
        font-size: 96rem;
        line-height: .9
    }

    .title-sm {
        font-size: 76rem;
        line-height: 1;
        letter-spacing: -.02em
    }

    .title-prj {
        font-size: 66rem;
        line-height: 1;
        letter-spacing: -.02em
    }

    .title-about {
        font-size: 210rem;
        line-height: .9
    }

    .titlemod {
        font-size: 20rem
    }

    .titlemod--sub {
        flex: 0 0 40%;
        max-width: 40%
    }

    .titlemod--data {
        flex: 0 0 50%;
        max-width: 50%
    }

    .form--input {
        height: 69rem;
        margin-bottom: 16rem;
        padding: 0 24rem;
        font-size: 20rem
    }

    .form--agree {
        margin-top: 6rem
    }

    .form--submit {
        min-height: 73rem;
        font-size: 20rem;
        padding: 0 40rem;
        margin-top: 60rem
    }

    .fancy--close {
        top: 40rem;
        right: 40rem;
        width: 52rem;
        height: 52rem
    }

    .fancy--close svg {
        width: 24rem;
        height: 24rem
    }

    .fancy--nav {
        width: 70rem;
        height: 70rem
    }

    .fancy--nav svg {
        width: 32rem;
        height: 32rem
    }

    .fancy--prev {
        left: 42rem
    }

    .fancy--next {
        right: 42rem
    }

    .modal {
        max-width: 1006rem
    }

    .modal--close {
        width: 52rem;
        height: 52rem
    }

    .modal--close svg {
        width: 20rem;
        height: 20rem
    }

    .modal--text {
        font-size: 20rem
    }

    .nav--item {
        width: 56rem;
        height: 56rem
    }

    .nav--item svg {
        width: 24rem;
        height: 24rem
    }

    .nav--scrollbar {
        margin-top: 40rem
    }

    .text h2 {
        margin: 60rem 0 24rem;
        font-size: 34rem
    }

    .text h3 {
        margin: 60rem 0 24rem;
        font-size: 30rem
    }

    .text h4 {
        margin: 60rem 0 20rem;
        font-size: 26rem;
        letter-spacing: -.02em
    }

    .text h5 {
        margin: 32rem 0 16rem;
        font-size: 23rem
    }

    .text h6 {
        margin: 32rem 0 16rem;
        font-size: 20rem
    }

    .text p+ul {
        margin-top: 20rem
    }

    .text ul {
        margin-bottom: 20rem
    }

    .text ul li {
        padding-left: 24rem
    }

    .text ul li:before {
        width: 8rem;
        height: 8rem
    }

    .text ol li {
        padding-left: 24rem
    }

    .text ol li>ol>li {
        padding-left: 45rem
    }

    .text ol li>ol>li>ol>li {
        padding-left: 60rem
    }

    .text table td,
    .text table th {
        padding: 20rem
    }

    .text p+table {
        margin-top: 40rem
    }

    .text blockquote {
        margin: 60rem 0
    }

    .ggborder {
        margin: 60rem 0;
        padding-left: 28rem
    }

    .ggaccordion {
        margin: 40rem 0 60rem;
        padding: 25rem 0
    }

    .ggaccordion+.ggaccordion {
        margin-top: -60rem
    }

    .ggaccordion--title {
        font-size: 24rem
    }

    .ggaccordion--icon {
        width: 36rem;
        height: 36rem;
        min-width: 36rem
    }

    .ggaccordion--icon:before {
        width: 16rem;
        height: 16rem
    }

    .ggaccordion--inner {
        padding-top: 25rem
    }

    .ggbg {
        margin: 60rem 0;
        padding: 32rem
    }

    .ggbg--title {
        font-size: 30rem
    }

    .ggutp .utp--nums {
        padding-right: 42rem
    }

    .ggutp .utp__item {
        min-height: 240rem
    }

    .ggutp .utp__num {
        font-size: 22rem
    }

    .ggutp .utp__num--num {
        font-size: 200rem
    }

    .pagination {
        margin-top: 80rem
    }

    .pagination--item {
        min-width: 46rem;
        min-height: 46rem;
        font-size: 20rem
    }

    .social--link {
        width: 52rem;
        height: 52rem
    }

    .social--link svg {
        width: 30rem;
        height: 30rem
    }

    .social-sm .social--link {
        width: 42rem;
        height: 42rem
    }

    .social-sm .social--link svg {
        width: 24rem;
        height: 24rem
    }

    .card--icon span {
        width: 44rem;
        height: 44rem
    }

    .card--icon svg {
        width: 20rem;
        height: 20rem
    }

    .video--play {
        width: 120rem;
        height: 120rem;
        margin: -60rem 0 0 -60rem
    }

    .fixed--mmenu,
    .header--mmenu,
    .mmenu--header--mmenu {
        display: none
    }

    .fixed,
    .header,
    .mmenu--header {
        padding: 32rem 0 40rem;
        font-size: 18rem;
        line-height: 1.25;
        letter-spacing: -.03em
    }

    .fixed--logo,
    .header--logo,
    .mmenu--header--logo {
        flex: 0 0 25%;
        max-width: 25%
    }

    .fixed--logo svg,
    .header--logo svg,
    .mmenu--header--logo svg {
        width: 250rem;
        height: 68rem
    }

    .fixed--menu,
    .header--menu,
    .mmenu--header--menu {
        flex: 0 0 25%;
        max-width: 25%;
        gap: 0 42rem;
        padding-left: 5rem
    }

    .fixed--menu-2,
    .header--menu-2,
    .mmenu--header--menu-2 {
        flex: initial;
        max-width: initial;
        justify-content: flex-end
    }

    .fixed--links,
    .header--links,
    .mmenu--header--links {
        margin: 0;
        flex: 0 0 29%;
        max-width: 29%;
        gap: 42rem
    }

    .headlink--icon {
        width: 40rem;
        height: 40rem;
        color: #fff;
    }

    .headlink--icon svg {
        width: 20rem;
        height: 20rem
    }

    .footer {
        --btn-gap: 40rem;
        padding-top: 9rem;
        font-size: 18rem
    }

    .footer--top {
        font-size: 210rem;
        line-height: .9
    }

    .footer--top span {
        margin-bottom: -20rem
    }

    .footer--top span:first-child {
        margin-left: -10rem
    }

    .footer--content {
        margin-top: 110rem
    }

    .footer--column1 {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0
    }

    .footer--column2 {
        flex: 0 0 25%;
        max-width: 25%;
        padding-left: 6rem
    }

    .footer--column3 {
        flex: 0 0 28%;
        max-width: 28%;
        padding-left: 12rem
    }

    .footer--column4 {
        flex: auto;
        padding-left: 10rem
    }

    .footer--menu {
        display: block;
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: 10rem;
        column-gap: 10rem;
        margin-bottom: -14rem;
        padding-right: 80rem
    }

    .footer--menu a {
        width: 80.2%;
        display: inline-flex;
        margin-bottom: 14rem
    }

    .footer--bottom {
        margin-top: 100rem;
        font-size: 14rem
    }

    .page-cooperation .pagetop {
        padding-bottom: 87rem
    }

    .pagetop {
        padding-bottom: 100rem
    }

    .pagetop--title {
        margin-top: 180rem
    }

    .pagetop--text {
        margin-top: 32rem;
        font-size: 20rem;
        max-width: 800rem
    }

    .pagetop--button {
        margin-top: 40rem
    }

    .news--list {
        gap: 24rem
    }

    .news--list .news__item {
        flex: 0 0 calc(33.333% - 16rem);
        max-width: calc(33.333% - 16rem)
    }

    .news__item {
        padding: 32rem;
        min-height: 646rem
    }

    .news__item--img {
        padding-bottom: 60.1503759398%
    }

    .news__item--date {
        font-size: 20rem;
        margin-bottom: 12rem
    }

    .news__item--name {
        font-size: 26rem
    }

    .news__item--icon {
        padding-top: 40rem
    }

    .newsmod {
        padding: 130rem 0
    }

    .newsmod--list {
        margin-top: 60rem
    }

    .newsmod--button {
        margin-top: 80rem
    }

    .newspage {
        padding-bottom: 130rem
    }

    .newspage--date {
        font-size: 20rem
    }

    .newspage--content,
    .newspage--img {
        max-width: 906rem
    }

    .newspage--text h2,
    .newspage--text h3,
    .newspage--text h4 {
        margin-top: 40rem
    }

    .newspage--links {
        font-size: 18rem;
        gap: 32rem
    }

    .newspage--gallery {
        margin-top: 140rem
    }

    .newspage--media {
        max-width: 906rem;
        margin-top: 140rem
    }

    .article--list {
        gap: 24rem
    }

    .article--list .article__item {
        flex: 0 0 calc(33.333% - 16rem);
        max-width: calc(33.333% - 16rem)
    }

    .article__item {
        padding: 32rem;
        min-height: 384rem;
        font-size: 20rem
    }

    .article__item--name {
        font-size: 26rem;
        margin-bottom: 16rem
    }

    .opinion+.bid {
        padding-top: 205rem
    }

    .opinion--list {
        gap: 24rem
    }

    .opinion--list .opinion__item {
        flex: 0 0 calc(33.333% - 16rem);
        max-width: calc(33.333% - 16rem)
    }

    .opinion--more {
        --link-color: var(--c-gray-2);
        margin-top: 60rem;
        font-size: 18rem
    }

    .opinion__item {
        padding: 32rem;
        min-height: 354rem;
        font-size: 20rem
    }

    .opinion__item--name {
        font-size: 26rem
    }

    .opinion__item--text {
        margin-top: 16rem
    }

    .opinion__item--icon {
        padding-top: 40rem
    }

    .project {
        margin-top: 9rem
    }

    .project--list+.pagination {
        margin-top: 90rem
    }

    .project__item {
        padding: 32rem;
        font-size: 20rem
    }

    .project__item--img {
        flex: 0 0 380rem;
        max-width: 380rem
    }

    .project__item--data {
        flex: 0 0 874rem;
        max-width: 874rem;
        padding-right: 60rem
    }

    .project__item--name {
        font-size: 30rem
    }

    .project__item--bottom {
        gap: 24rem
    }

    .project__item--col {
        flex: 0 0 440rem;
        max-width: 440rem
    }

    .project__item--col:last-child {
        flex: 0 0 365rem;
        max-width: 365rem
    }

    .projectmod {
        padding: 130rem 0
    }

    .projectmod--list {
        gap: 24rem;
        margin-top: 60rem
    }

    .projectmod--list .projectmod__item {
        flex: 0 0 calc(50% - 12rem);
        max-width: calc(50% - 12rem)
    }

    .projectmod--button {
        margin-top: 80rem
    }

    .projectmod__item {
        font-size: 20rem;
        padding: 32rem;
        min-height: 546rem
    }

    .projectmod__item--img {
        flex: 0 0 380rem;
        max-width: 380rem
    }

    .projectmod__item--info {
        flex: 0 0 342rem;
        max-width: 342rem
    }

    .projectmod__item--name {
        font-size: 30rem;
        max-width: 660rem
    }

    .prjtop {
        --container-padding: 52rem
    }

    .prjtop:before {
        top: 12rem;
        left: 12rem;
        right: 12rem
    }

    .prjtop .header {
        padding-top: 36rem
    }

    .prjtop--content {
        margin-top: 120rem
    }

    .prjtop--data {
        flex: 0 0 53.15%;
        max-width: 53.15%
    }

    .prjtop--img {
        flex: 0 0 46.85%;
        max-width: 46.85%;
        margin-left: -12rem
    }

    .prjtop--image {
        padding-bottom: 61.2941176471%
    }

    .prjtop--status {
        font-size: 20rem;
        padding: 24rem
    }

    .prjtop--data {
        padding-left: 81rem;
        font-size: 20rem
    }

    .prjtop--text {
        max-width: 660rem;
        margin-top: 24rem
    }

    .prjservice--sub {
        font-size: 20rem
    }

    .prjservice--item {
        font-size: 30rem;
        padding: 32rem 0 60rem
    }

    .prjservice--name {
        flex: 0 0 50%;
        max-width: 50%;
        padding-left: 12rem
    }

    .prjbyserv {
        padding-top: 260rem;
        padding-bottom: 130rem
    }

    .prjbyserv .title {
        max-width: 1061rem
    }

    .prjbyserv--slider {
        margin: 0 -12rem
    }

    .prjbyserv--slider .swiper-slide {
        padding: 0 12rem
    }

    .prjbyserv+.bid {
        padding-top: 130rem
    }

    .service__main {
        padding: 130rem 0
    }

    .service__main.--margin-xl {
        padding-bottom: 260rem
    }

    .servbasic--icon {
        width: 44rem;
        height: 44rem
    }

    .servbasic--icon svg {
        width: 20rem;
        height: 20rem
    }

    .servbasic--list {
        gap: 24rem
    }

    .servbasic--list .servbasic--item {
        flex: 0 0 calc(33.333% - 16rem);
        max-width: calc(33.333% - 16rem)
    }

    .servbasic--item {
        padding: 32rem;
        font-size: 26rem;
        min-height: 298rem
    }

    .servbasic--more {
        margin-top: 82rem
    }

    .servall {
        padding: 130rem 0
    }

    .servall--data {
        margin-top: 60rem
    }

    .servall--content {
        margin-top: 40rem
    }

    .servall--list {
        gap: 24rem
    }

    .servall--item {
        flex: 0 0 calc(33.333% - 16rem);
        max-width: calc(33.333% - 16rem);
        padding: 24rem;
        font-size: 20rem;
        min-height: 100rem
    }

    .servall--more {
        --link-color: var(--c-gray-2);
        margin-top: 60rem;
        font-size: 18rem
    }

    .servpage__alert--text {
        font-size: 20rem
    }

    .servpage__alert--result {
        font-size: 18rem
    }

    .servsearch--input {
        height: 80rem;
        padding: 0 60rem 0 24rem;
        font-size: 18rem
    }

    .servsearch--search {
        width: 24rem;
        height: 24rem
    }

    .service__main.--margin-xl+.bid:not(.bid_dark) {
        padding-top: 0
    }

    .review+.bid {
        padding-top: 130rem
    }

    .bid {
        padding: 260rem 0
    }

    .bid--cont {
        gap: 60rem
    }

    .bid--img {
        flex: 0 0 47.4%;
        max-width: 47.4%
    }

    .bid--sub {
        font-size: 20rem
    }

    .bid_dark {
        padding: 280rem 0
    }

    .bid_dark+section {
        padding-top: 260rem
    }

    .gallery {
        padding-top: 130rem;
        padding-bottom: 130rem
    }

    .gallery--slider {
        margin: 60rem -12rem 0
    }

    .gallery--slider .swiper-slide {
        padding: 0 12rem
    }

    .gallery--slide {
        width: 441rem;
        padding-bottom: 100%
    }

    .hello {
        --container-padding: 52rem
    }

    .hello .header {
        padding-top: 36rem
    }

    .hello--left {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 70rem
    }

    .hello--right {
        left: 50%
    }

    .hello--text {
        font-size: 20rem;
        margin-top: 24rem
    }

    .hello--work {
        font-size: 20rem
    }

    .utp {
        padding-top: 208rem;
        padding-bottom: 130rem
    }

    .utp .title {
        max-width: 1400rem
    }

    .utp--content {
        margin-top: 160rem
    }

    .utp--list {
        flex: 0 0 906rem;
        max-width: 906rem;
        gap: 24rem;
        margin-top: 33rem
    }

    .utp--list .utp__item {
        flex: 0 0 calc(50% - 12rem);
        max-width: calc(50% - 12rem)
    }

    .utp--nums {
        flex: 0 0 609rem;
        max-width: 609rem;
        gap: 60rem
    }

    .utp__item {
        font-size: 26rem;
        min-height: 360rem;
        padding: 32rem
    }

    .utp__item--icon img,
    .utp__item--icon svg {
        width: 66rem;
        height: 66rem
    }

    .utp__num {
        padding-top: 30rem;
        font-size: 20rem
    }

    .utp__num--num {
        font-size: 240rem;
        color: var(--c-gold-new)
    }

    .utp__num--text {
        margin-top: 16rem;
        max-width: 520rem
    }

    .clients {
        padding-top: 266rem;
        padding-bottom: 238rem
    }

    .clients--item {
        margin-right: 120rem
    }

    .clients--item svg {
        height: 80rem
    }

    .page-politic .pagetop--title {
        max-width: 1371rem
    }

    .page-pricelist .textpage--cont {
        padding-top: 40rem
    }

    .textpage-project {
        padding: 130rem 0
    }

    .textpage--cont {
        padding-top: 60rem
    }

    .textpage--withnav {
        padding-top: 40rem
    }

    .textpage--nav {
        font-size: 18rem;
        line-height: 1.15;
        letter-spacing: -.01em;
        gap: 12rem;
        max-width: 440rem;
        top: 142rem
    }

    .textpage--nav span {
        font-size: 30rem;
        letter-spacing: -.03em;
        margin-bottom: 8rem
    }

    .textpage--nav+.textpage--text {
        margin-right: 155rem
    }

    .textpage--text {
        max-width: 906rem !important
    }

    .textpage--sub {
        font-size: 20rem
    }

    .textpage--sub+.textpage--text {
        margin-right: 155rem
    }

    .textpage+section {
        padding-top: 260rem
    }

    .coop {
        padding-bottom: 130rem
    }

    .coop--sub {
        font-size: 20rem
    }

    .coop--data {
        flex: 0 0 906rem;
        max-width: 906rem;
        margin-right: 155rem
    }

    .review {
        padding: 130rem 0
    }

    .review--cont {
        margin-top: 58rem
    }

    .review--nav {
        transform: translateY(calc(-100% - 58rem))
    }

    .review--slider {
        margin: 0 calc(-.5 * var(--container-padding))
    }

    .review--slider .swiper-slide {
        padding: 0 calc(.5 * var(--container-padding));
        align-items: initial
    }

    .review--slider .swiper-scrollbar {
        margin-left: calc(.5 * var(--container-padding));
        margin-right: calc(.5 * var(--container-padding))
    }

    .review__slide {
        padding: 40rem;
        width: 1550rem
    }

    .review__slide--info {
        flex: 0 0 200rem;
        max-width: 200rem
    }

    .review__slide--data {
        flex: 0 0 890rem;
        max-width: 890rem
    }

    .review__slide--link {
        font-size: 20rem
    }

    .review__slide--text {
        font-size: 30rem;
        line-height: 34rem;
        letter-spacing: -.03em
    }

    .review__slide--author {
        padding-top: 60rem;
        font-size: 20rem
    }

    .thread {
        font-size: 360rem;
        padding-top: 258rem;
        padding-bottom: 251rem
    }

    .thread--line {
        margin-bottom: -70rem
    }

    .thread--top .thread--img {
        left: 1282rem;
        top: -27px
    }

    .thread--top .thread--double {
        clip-path: polygon(1282rem 0, 1568rem 0, 1568rem 100%, 1282rem 100%)
    }

    .thread--bottom .thread--img {
        left: 353rem;
        top: 30rem
    }

    .thread--bottom .thread--double {
        clip-path: polygon(353rem 0, 639rem 0, 639rem 100%, 353rem 100%)
    }

    .thread--img {
        width: 286rem;
        padding-bottom: 367rem
    }

    .about {
        padding-bottom: 130rem
    }

    .about--title {
        margin-top: 180rem
    }

    .about--data {
        margin-top: 100rem
    }

    .about--sub {
        flex: 0 0 40%;
        max-width: 40%;
        font-size: 20rem
    }

    .about--text {
        flex: 0 0 50%;
        max-width: 50%;
        font-size: 30rem
    }

    .about--img {
        margin-top: 100rem
    }

    .aboutmod {
        padding: 130rem 0
    }

    .aboutmod .titlemod--sub {
        font-size: 20rem;
        line-height: 1.15;
        letter-spacing: -.02em
    }

    .aboutmod--data {
        margin-top: 49rem
    }

    .aboutmod--cont {
        font-size: 20rem;
        margin-left: calc(50% + 12rem)
    }

    .aboutmod--col {
        flex: 0 0 calc(50% - 12rem);
        max-width: calc(50% - 12rem);
        padding-right: 2rem
    }

    .aboutmod--button {
        margin-left: calc(50% + 12rem);
        margin-top: 80rem;
        text-align: left
    }

    .aboutmod--video {
        margin-top: 140rem
    }

    .docs {
        padding: 130rem 0
    }

    .docs--cont {
        font-size: 20rem
    }

    .docs--sub {
        flex: 0 0 40%;
        max-width: 40%
    }

    .docs--data {
        flex: 0 0 50%;
        max-width: 50%;
        padding-left: 12rem
    }

    .docs--text {
        max-width: 528rem;
        margin-top: 20rem
    }

    .docs--list {
        gap: 24rem;
        margin-top: 59rem
    }

    .docs--item {
        flex: 0 0 calc(33.333% - 16rem);
        max-width: calc(33.333% - 16rem)
    }

    .partner {
        padding: 130rem 0
    }

    .partner__item {
        min-height: 406rem;
        padding: 32rem
    }

    .partner__item--logo {
        height: 102rem
    }

    .partner__item--logo img {
        max-height: 102rem
    }

    .partner__item--name {
        font-size: 26rem;
        margin-top: 42rem
    }

    .partner__item--num {
        font-size: 20rem
    }

    .progress {
        padding: 130rem 0 260rem
    }

    .progress--text {
        margin-top: 60rem;
        padding-top: 40rem;
        padding-left: calc(50% + 12rem);
        padding-right: 186rem
    }

    .progress--text:before {
        top: 40rem
    }

    .progress--nums {
        margin-top: 118rem;
        padding-right: 322rem
    }

    .progress--utplist {
        margin-top: 179rem;
        gap: 24rem
    }

    .progress--utplist .utp__item {
        width: 441rem
    }

    .appeal {
        padding: 260rem 0;
        font-size: 20rem
    }

    .appeal .title {
        max-width: 906rem
    }

    .appeal--cont {
        margin-top: 60rem;
        padding-right: 155rem
    }

    .appeal--text {
        flex: 0 0 40%;
        max-width: 40%
    }

    .appeal--sub {
        font-size: 30rem;
        margin-bottom: 0
    }

    .appeal--items {
        gap: 100rem;
        max-width: 620rem;
        padding: 20rem 0 173rem
    }

    .appeal--item {
        padding-top: 32rem
    }

    .appeal--img {
        flex: 0 0 44.7%;
        max-width: 44.7%
    }

    .appeal--image {
        max-width: 751rem;
        padding-bottom: 915rem
    }

    .appeal--exp {
        margin-top: 24rem
    }

    .appeal--name {
        margin-top: 1rem
    }

    .section-aside+.presentation {
        padding-top: 260rem
    }

    .presentation {
        padding-bottom: 130rem
    }

    .presentation--cont {
        padding-right: 310rem
    }

    .presentation--img {
        flex: 0 0 49.3%;
        max-width: 49.3%
    }

    .presentation--image {
        border-width: 4rem
    }

    .presentation--data {
        flex: 0 0 39%;
        max-width: 39%;
        padding-bottom: 6rem;
        padding-right: 0
    }

    .presentation--text {
        font-size: 20rem
    }

    .contact--list {
        gap: 24rem
    }

    .contact--item {
        flex: 0 0 calc(25% - 18rem);
        max-width: calc(25% - 18rem)
    }

    .contact--icon {
        width: 52rem;
        height: 52rem;
        margin-bottom: 120rem
    }

    .contact--icon svg {
        width: 28rem;
        height: 28rem
    }

    .contact--name {
        font-size: 20rem;
        margin-bottom: 20rem
    }

    .contact--data {
        font-size: 30rem
    }

    .contact--data-time {
        font-size: 26rem
    }

    .contact--data-address {
        line-height: 1.29
    }

    .contact--map {
        margin-top: 139rem;
        height: 720rem
    }

    .vacancytop {
        --container-padding: 52rem;
        padding-bottom: 40rem
    }

    .vacancytop:before {
        top: 12rem;
        left: 12rem;
        right: 12rem
    }

    .vacancytop .header {
        padding-top: 36rem
    }

    .vacancytop--content {
        margin-top: 120rem
    }

    .vacancytop--title {
        max-width: 896rem
    }

    .vacancytop--bottom {
        font-size: 20rem
    }

    .vacancytop--text {
        flex: 0 0 586rem
    }

    .vacancytop--arrow {
        order: 2;
        display: inline-flex
    }

    .vacancytop--team {
        flex: 0 0 586rem
    }

    .vacancy {
        padding-top: 130rem
    }

    .vacancy--empty {
        font-size: 30rem
    }

    .vacancy--item {
        padding-left: 930rem;
        padding-bottom: 9rem
    }

    .vacancy--num {
        font-size: 30rem;
        top: 32rem
    }

    .vacancy--head {
        padding: 32rem 131rem 32rem 0;
        font-size: 30rem
    }

    .vacancy--icon {
        width: 43rem;
        height: 43rem;
        top: 33rem;
        transform: none
    }

    .vacancy--icon svg {
        width: 17rem;
        height: 17rem
    }

    .vacancy--inner {
        padding-bottom: 60rem
    }

    .vacancy--button .button {
        min-height: 73rem;
        padding: 0 40rem;
        font-size: 20rem
    }

    .demand {
        padding-top: 220rem;
        padding-bottom: 130rem
    }

    .demand .title {
        max-width: 1540rem
    }

    .demand--sub {
        font-size: 30rem;
        flex: 0 0 30%;
        max-width: 30%
    }

    .demand--text {
        margin-right: 295rem;
        flex: 0 0 34%;
        max-width: 34%;
        padding-left: 13rem
    }

    .hr {
        padding-top: 130rem;
        padding-bottom: 130rem
    }

    .hr .title {
        max-width: 1230rem
    }

    .hr--cont {
        margin-top: 93rem
    }

    .hr--data {
        flex: 0 0 620rem;
        max-width: 620rem;
        margin: 0 auto;
        gap: 80rem
    }

    .hr--item {
        font-size: 20rem;
        padding-top: 34rem
    }

    .hr--num {
        margin-bottom: 60rem
    }

    .hr--name {
        margin-bottom: 20rem;
        font-size: 30rem
    }

    .sitemap--title {
        font-size: 30rem
    }

    .sitemap--list {
        font-size: 26rem
    }

    .sitemap--list ul {
        font-size: 20rem
    }

    .nf {
        --link-padding: 4rem;
        padding: 50px 0 183px !important
    }

    .nf--num {
        font-size: 240rem;
        transform: translateX(-12rem)
    }

    .nf--text {
        margin-top: 40rem;
        font-size: 26rem
    }
}

@media (max-width:1199px) {

    .fixed--menu,
    .header--menu,
    .mmenu--header--menu {
        display: none
    }
}

@media (max-width:991px) {
    .newsmod--list {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding));
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
        padding-bottom: 25rem;
        gap: 20rem
    }

    .newsmod--list::-webkit-scrollbar {
        height: 1px;
        background: 0 0;
        margin-left: 16rem
    }

    .newsmod--list::-webkit-scrollbar-thumb {
        background-color: var(--c-brown)
    }

    .newsmod--list::-webkit-scrollbar-thumb:hover {
        background-color: var(--c-brown)
    }

    .newsmod--list::-webkit-scrollbar-track-piece {
        background-color: var(--c-gray)
    }

    .newsmod--list::-webkit-scrollbar-button:vertical:start:decrement {
        display: none
    }

    .newsmod--list::-webkit-scrollbar-button:vertical:end:increment {
        display: none
    }

    .newsmod--list::-webkit-scrollbar-button:horizontal:start:decrement {
        width: 16rem;
        background: 0 0
    }

    .newsmod--list::-webkit-scrollbar-button:horizontal:end:increment {
        width: 16rem;
        background: 0 0
    }

    .newsmod--list .news__item {
        flex: 0 0 280rem;
        max-width: 280rem
    }

    .newsmod--list .news__item--img {
        padding-bottom: 88.7096774194%
    }

    .servall--tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding));
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
        padding-bottom: 20rem;
        gap: 12rem
    }

    .servall--tabs::-webkit-scrollbar {
        height: 1px;
        background: 0 0;
        margin-left: 16rem
    }

    .servall--tabs::-webkit-scrollbar-thumb {
        background-color: var(--c-brown)
    }

    .servall--tabs::-webkit-scrollbar-thumb:hover {
        background-color: var(--c-brown)
    }

    .servall--tabs::-webkit-scrollbar-track-piece {
        background-color: var(--c-gray)
    }

    .servall--tabs::-webkit-scrollbar-button:vertical:start:decrement {
        display: none
    }

    .servall--tabs::-webkit-scrollbar-button:vertical:end:increment {
        display: none
    }

    .servall--tabs::-webkit-scrollbar-button:horizontal:start:decrement {
        width: 16rem;
        background: 0 0
    }

    .servall--tabs::-webkit-scrollbar-button:horizontal:end:increment {
        width: 16rem;
        background: 0 0
    }

    .servpage--tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding));
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
        padding-bottom: 25rem;
        gap: 12rem
    }

    .servpage--tabs::-webkit-scrollbar {
        height: 1px;
        background: 0 0;
        margin-left: 16rem
    }

    .servpage--tabs::-webkit-scrollbar-thumb {
        background-color: var(--c-brown)
    }

    .servpage--tabs::-webkit-scrollbar-thumb:hover {
        background-color: var(--c-brown)
    }

    .servpage--tabs::-webkit-scrollbar-track-piece {
        background-color: var(--c-gray)
    }

    .servpage--tabs::-webkit-scrollbar-button:vertical:start:decrement {
        display: none
    }

    .servpage--tabs::-webkit-scrollbar-button:vertical:end:increment {
        display: none
    }

    .servpage--tabs::-webkit-scrollbar-button:horizontal:start:decrement {
        width: 16rem;
        background: 0 0
    }

    .servpage--tabs::-webkit-scrollbar-button:horizontal:end:increment {
        width: 16rem;
        background: 0 0
    }

    .gallery--slider .swiper {
        margin: 0 calc(-1 * var(--container-padding));
        padding: 0 var(--container-padding)
    }

    .progress--utplist {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding));
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
        padding-bottom: 25rem
    }

    .progress--utplist::-webkit-scrollbar {
        height: 1px;
        background: 0 0;
        margin-left: 16rem
    }

    .progress--utplist::-webkit-scrollbar-thumb {
        background-color: var(--c-brown)
    }

    .progress--utplist::-webkit-scrollbar-thumb:hover {
        background-color: var(--c-brown)
    }

    .progress--utplist::-webkit-scrollbar-track-piece {
        background-color: var(--c-gray)
    }

    .progress--utplist::-webkit-scrollbar-button:vertical:start:decrement {
        display: none
    }

    .progress--utplist::-webkit-scrollbar-button:vertical:end:increment {
        display: none
    }

    .progress--utplist::-webkit-scrollbar-button:horizontal:start:decrement {
        width: 16rem;
        background: 0 0
    }

    .progress--utplist::-webkit-scrollbar-button:horizontal:end:increment {
        width: 16rem;
        background: 0 0
    }
}

@media all and (max-width:768px) {
    .fancybox-thumbs {
        width: 110px
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px)
    }
}

@media (max-width:767px) {
    .form--submit {
        width: 100%
    }

    .fancybox-image {
        max-width: calc(100% - var(--container-padding) * 2);
        left: var(--container-padding)
    }

    .text-table {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding));
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
        padding-bottom: 25rem
    }

    .text-table::-webkit-scrollbar {
        height: 1px;
        background: 0 0;
        margin-left: 16rem
    }

    .text-table::-webkit-scrollbar-thumb {
        background-color: var(--c-brown)
    }

    .text-table::-webkit-scrollbar-thumb:hover {
        background-color: var(--c-brown)
    }

    .text-table::-webkit-scrollbar-track-piece {
        background-color: var(--c-gray)
    }

    .text-table::-webkit-scrollbar-button:vertical:start:decrement {
        display: none
    }

    .text-table::-webkit-scrollbar-button:vertical:end:increment {
        display: none
    }

    .text-table::-webkit-scrollbar-button:horizontal:start:decrement {
        width: 16rem;
        background: 0 0
    }

    .text-table::-webkit-scrollbar-button:horizontal:end:increment {
        width: 16rem;
        background: 0 0
    }

    .text-table table {
        min-width: 680rem
    }

    .pagination--next,
    .pagination--prev {
        display: none
    }

    .card--icon span {
        border-color: var(--c-brown);
        background: var(--c-brown)
    }

    .card--icon svg {
        fill: var(--c-beige)
    }

    .headlink--text {
        display: none
    }

    .footer {
        --container-padding: 24rem
    }

    .footer--links .btn {
        display: none
    }

    .page-news-page .pagetop--title,
    .page-text .pagetop--title {
        font-size: 30rem
    }

    .page-news-page .pagetop--title {
        line-height: 1
    }

    .prjtop--title,
    .prjtop--title .word {
        word-break: break-word;
        -webkit-hyphens: auto;
        hyphens: auto
    }

    .page-project .service__main {
        padding-bottom: 55rem
    }

    .service__main .servbasic--item:nth-child(n+7) {
        display: none
    }

    .servpage--list {
        gap: 16rem
    }

    .gallery--nav,
    .hello--arrows,
    .hello--bottom,
    .hello--work {
        display: none
    }

    .hello--button {
        --btn-gap: 24rem
    }

    .utp--list {
        overflow-x: auto;
        margin: 0 calc(-1 * var(--container-padding));
        padding-left: var(--container-padding);
        padding-right: var(--container-padding)
    }

    .utp--list::-webkit-scrollbar {
        height: 1px;
        background: 0 0;
        margin-left: 16rem
    }

    .utp--list::-webkit-scrollbar-thumb {
        background-color: var(--c-brown)
    }

    .utp--list::-webkit-scrollbar-thumb:hover {
        background-color: var(--c-brown)
    }

    .utp--list::-webkit-scrollbar-track-piece {
        background-color: var(--c-gray)
    }

    .utp--list::-webkit-scrollbar-button:vertical:start:decrement {
        display: none
    }

    .utp--list::-webkit-scrollbar-button:vertical:end:increment {
        display: none
    }

    .utp--list::-webkit-scrollbar-button:horizontal:start:decrement {
        width: 16rem;
        background: 0 0
    }

    .utp--list::-webkit-scrollbar-button:horizontal:end:increment {
        width: 16rem;
        background: 0 0
    }

    .textpage-politic .textpage--cont {
        border: none;
        padding-top: 0
    }

    .review--nav {
        display: none
    }

    .review .nav--scrollbar {
        margin-top: 24rem
    }

    .thread--double {
        display: none
    }

    .partner--slider .swiper-wrapper {
        height: 574rem
    }

    .partner--slider .swiper-slide {
        width: auto !important;
        height: calc((100% - 16rem)/ 2) !important
    }

    .partner--slider .swiper-slide:nth-child(2n) {
        margin-top: 16rem !important
    }

    .vacancy--num {
        display: none
    }
}

@media (max-width:499px) {
    .hidden-xs {
        display: none !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .footer {
        --btn-gap: 16rem
    }

    .footer .btn--text {
        font-size: 13rem
    }
}

@media all and (max-height:576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px
    }

    .fancybox-slide--image {
        padding: 6px 0 0
    }

    .fancybox-slide--image .fancybox-content {
        margin-bottom: 6px
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px
    }
}

@media (hover:hover) {

    .button--outer:hover .button:not(.--active),
    .button:hover:not(.--active) {
        background: var(--button-bg-hover);
        border-color: var(--button-border-active)
    }

    .link--outer:hover,
    .link:hover,
    .servpage__alert--text a:hover,
    .text a:hover:not(.btn) {
        color: var(--link-color-active)
    }

    .link--outer:hover .link,
    .link--outer:hover .servpage__alert--text a,
    .link--outer:hover .text a:not(.btn),
    .link:hover,
    .servpage__alert--text .link--outer:hover a,
    .servpage__alert--text a:hover,
    .text .link--outer:hover a:not(.btn),
    .text a:hover:not(.btn) {
        color: var(--link-color-active)
    }

    .link--outer:hover .link-bg,
    .link-bg:hover {
        background: var(--link-bg-active)
    }

    .form--input:hover,
    .form--textarea:hover {
        border-color: var(--c-gray-2)
    }

    .bid_dark .form .form--input:hover,
    .bid_dark .form .form--textarea:hover,
    .form_dark .form--input:hover,
    .form_dark .form--textarea:hover {
        border-color: var(--c-beige-3)
    }

    .fancy--close:hover {
        border-color: var(--c-beige);
        color: var(--c-beige)
    }

    .fancy--close:hover svg {
        transform: rotate(-90deg)
    }

    .fancy--nav:hover {
        background: var(--c-beige);
        border-color: var(--c-beige);
        color: var(--c-brown)
    }

    .modal--close:hover {
        border-color: var(--c-brown)
    }

    .modal--close:hover svg {
        transform: rotate(-90deg)
    }

    .nav--item:hover {
        border-color: var(--c-brown);
        background: var(--c-brown);
        color: var(--c-beige)
    }

    .nav--item_light:hover {
        border-color: var(--c-beige);
        background: var(--c-beige);
        color: var(--c-brown)
    }

    .pagination--link:hover,
    .pagination--next:hover,
    .pagination--prev:hover {
        border-color: var(--c-brown);
        background: var(--c-brown);
        color: var(--c-beige)
    }

    .pagination--link:hover svg,
    .pagination--next:hover svg,
    .pagination--prev:hover svg {
        fill: var(--c-beige)
    }

    .social--link:hover {
        background: var(--c-brown);
        color: var(--c-beige)
    }

    .social-light .social--link:hover {
        background: var(--c-beige);
        color: var(--c-brown)
    }

    .card:hover .card--icon {
        border-color: var(--link-bg)
    }

    .video:hover .video--play {
        transform: scale(1.1)
    }

    .headlink:hover .headlink--icon {
        border-color: var(--c-gold-new);
        background: var(--c-gold-new)
    }

    .headlink_noticon:hover {
        color: var(--link-color-active)
    }

    .fixed_light .headlink:hover.headlink_noticon,
    .header_light .headlink:hover.headlink_noticon,
    .headlink_light:hover.headlink_noticon,
    .hello .header .headlink:hover.headlink_noticon,
    .mmenu--header_light .headlink:hover.headlink_noticon,
    .prjtop .header .headlink:hover.headlink_noticon,
    .vacancytop .header .headlink:hover.headlink_noticon {
        color: var(--link-color-active)
    }

    .fixed_light .headlink:hover .headlink--icon,
    .header_light .headlink:hover .headlink--icon,
    .headlink_light:hover .headlink--icon,
    .hello .header .headlink:hover .headlink--icon,
    .mmenu--header_light .headlink:hover .headlink--icon,
    .prjtop .header .headlink:hover .headlink--icon,
    .vacancytop .header .headlink:hover .headlink--icon {
        border-color: var(--c-gold-new);
        background: var(--c-gold-new)
    }

    .news__item:hover .news__item--img img,
    .project__item:hover .project__item--img img {
        transform: scale(1.1)
    }

    .project__item:hover .project__item--icon {
        background: var(--c-beige)
    }

    .projectmod__item:hover .projectmod__item--img img {
        transform: scale(1.1)
    }

    .servsearch--input:active,
    .servsearch--input:hover {
        border-color: var(--c-brown)
    }

    .clients--item:hover svg circle,
    .clients--item:hover svg path {
        fill: revert-layer
    }
}

@media (max-width: 768px) {
    .header--logo {
        background-color: #212f4a;
    }
}