@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap";

@font-face {
    font-family: "Gotham Pro";
    src: url(GothamPro-Bold.eot);
    src: local("Gotham Pro Bold"), local(GothamPro-Bold), url(GothamPro-Bold.eot?#iefix) format("embedded-opentype"), url(../fonts/GothamPro-Bold.woff2) format("woff2"), url(../fonts/GothamPro-Bold.woff) format("woff"), url(../fonts/GothamPro-Bold.ttf) format("truetype");
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: "Gotham Pro";
    src: url(GothamPro-Light.eot);
    src: local("Gotham Pro Light"), local(GothamPro-Light), url(../fonts/GothamPro-Light.eot?#iefix) format("embedded-opentype"), url(../fonts/GothamPro-Light.woff2) format("woff2"), url(../fonts/GothamPro-Light.woff) format("woff"), url(../fonts/GothamPro-Light.ttf) format("truetype");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: "Gotham Pro";
    src: url(GothamPro.eot);
    src: local("Gotham Pro"), local(GothamPro), url(../fonts/GothamPro.eot?#iefix) format("embedded-opentype"), url(../fonts/GothamPro.woff2) format("woff2"), url(GothamPro.woff) format("woff"), url(../fonts/GothamPro.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

/* Выстраиваем элементы шапки в ряд (Логотип - Меню - Контакты) */
.header__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Стилизируем меню ПК */
.header__nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 30px;
    /* Расстояние между пунктами меню */
}

.header__nav a {
    text-decoration: none;
    color: #fff;
    /* Замените на цвет вашего сайта */
    font-weight: 500;
    transition: color 0.3s ease;
}

.header__nav a:hover {
    color: #cccccc;
}

/* Скрываем бургер на ПК */
/* .burger-1 {
    display: none;
}
 */

@media (max-width: 992px) {

    /* Скрываем текстовое меню ПК */
    .header__nav {
        display: none;
    }

    /* Возвращаем бургер */
    .burger-1 {
        display: block;
        /* возвращаем его видимость */
    }
}

.title {
    margin-top: 180px
}

.title__top {
    font-size: 20px;
    line-height: 19px;
    background: -o-linear-gradient(345.86deg, #123dd8 21.25%, rgba(15, 43, 116, 0) 220%);
    background: linear-gradient(104.14deg, #123dd8 21.25%, rgba(15, 43, 116, 0) 220%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.title__h2 {
    margin-top: 14px;
    font-weight: 700;
    font-size: 33px;
    line-height: 40px
}

.title__line {
    margin-top: 21px
}

.subtitle {
    font-weight: 300;
    font-size: 17px;
    font-family: Roboto, sans-serif;
    color: #a7a0a0;
    line-height: 20px
}

* {
    padding: 0;
    margin: 0;
    border: 0
}

*,
:after,
:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

:active,
:focus {
    outline: 0
}

a:active,
a:focus {
    outline: 0
}

aside,
footer,
header,
nav,
section {
    display: block
}

body,
html {
    height: 100%;
    min-width: 320px
}

body {
    line-height: 1;
    font-family: "Gotham Pro";
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

button,
input,
textarea {
    font-family: "Gotham Pro"
}

input::-ms-clear {
    display: none
}

button {
    cursor: pointer
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

a,
a:visited {
    text-decoration: none
}

a:hover {
    text-decoration: none
}

ul li {
    list-style: none
}

img {
    vertical-align: top
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: inherit;
    font-size: inherit
}

body,
html {
    overflow-x: hidden
}

body {
    background: #000;
    color: #fff;
    font-size: 14px
}

body._lock {
    overflow: hidden
}

.wrapper {
    width: 100%;
    min-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    left: 0;
    -webkit-transition: left .8s cubic-bezier(0.48, 0, 0.12, 1);
    -o-transition: left .8s cubic-bezier(0.48, 0, 0.12, 1);
    transition: left .8s cubic-bezier(0.48, 0, 0.12, 1)
}

.slick-slider {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
    height: 100%
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    height: 100%;
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir="rtl"] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    position: absolute;
    bottom: 1.4rem;
    left: 0;
    z-index: 2
}

.slick-dots li {
    margin: 0 .5rem
}

.slick-dots li.slick-active button {
    background-color: #fff
}

.slick-dots button {
    width: 11px;
    height: 11px;
    padding: 0;
    background-color: #fff;
    border: 1px solid #fff;
    background: 0 0;
    border-radius: 50%;
    font-size: 0;
    color: transparent;
    cursor: pointer
}

.slick-dots button:focus {
    outline: 0
}

.portfolio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -1rem 2.8rem
}

.portfolio__col {
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
    padding: 1rem
}

.modal {
    display: none;
    width: 100%;
    height: 100%;
    padding: 1rem;
    overflow: auto;
    background: #000000e2;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000
}

.modal.show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.modal__dialog {
    margin: auto;
    position: relative;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: -webkit-transform .2s linear;
    transition: -webkit-transform .2s linear;
    -o-transition: transform .2s linear;
    transition: transform .2s linear;
    transition: transform .2s linear, -webkit-transform .2s linear
}

.modal__dialog--sm {
    max-width: 900px
}

.modal__close {
    width: 34px;
    height: 39px;
    padding: 0;
    background: 0 0;
    border: 0;
    cursor: pointer;
    position: absolute;
    top: .9rem;
    right: 3rem;
    z-index: 1;
    -webkit-transition: -webkit-transform .2s linear;
    transition: -webkit-transform .2s linear;
    -o-transition: transform .2s linear;
    transition: transform .2s linear;
    transition: transform .2s linear, -webkit-transform .2s linear
}

.modal__close:hover {
    -webkit-transform: translateY(-3px);
    -ms-transform: translateY(-3px);
    transform: translateY(-3px)
}

.modal__content {
    padding: 5rem 1rem
}

.modal__title {
    margin-bottom: 3.6rem;
    font-size: 3rem;
    text-transform: uppercase;
    color: #fff;
    font-weight: 700
}

.modal__subtitle {
    text-transform: uppercase;
    font-size: 1.06rem;
    color: #cecece;
    font-weight: 400
}

.modal-work__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 70px 90px 0;
    position: relative
}

.modal-work__txt {
    padding-left: 15px
}

.modal-work__header {
    margin-bottom: 2.2rem
}

.modal-work__title {
    margin-bottom: .2rem;
    font-size: 2.12rem;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase
}

.modal-work__info {
    font-size: 1.2rem;
    color: #9d9d9d;
    text-transform: uppercase
}

.modal-work__info-divider {
    margin: 0 1rem
}

.modal-work__client {
    margin-bottom: 2.2rem
}

.modal-work__client-title {
    margin-bottom: .2rem;
    font-size: 1.06rem;
    color: #bababa;
    font-weight: 700
}

.modal-work__client-company {
    font-size: .94rem;
    font-style: italic;
    color: #a9a9a9
}

.modal-work__text {
    margin-bottom: 8.66rem;
    font-size: .8rem;
    line-height: 2;
    color: #d0d0d0;
    font-weight: 300
}

.modal-work__footer {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 1.8rem 1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

.modal-work__btn {
    padding: 0;
    background: 0 0;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: .94rem;
    color: #2b2a2c;
    text-transform: uppercase
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.mb-0 {
    margin-bottom: 0
}

.hide {
    display: none
}

.card-big {
    width: 100%
}

.card-min {
    width: 100%
}

.screen-1__fon {
    width: 100%;
    position: absolute;
    z-index: -1;
    top: -250px
}

.screen-1__fon img {
    position: relative;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    max-width: 100%;
    opacity: .7
}

.social {
    margin-right: 44px
}

.social__line {
    margin-left: 8px;
    background: #a7a0a0;
    width: 2px;
    height: 70px
}

.social__line:first-child {
    margin-bottom: 37px
}

.social__line:last-child {
    margin-top: 27px
}

.social__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.social__item a {
    margin-top: 9px;
    margin-bottom: 9px;
    display: inline-block;
    will-change: contents;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.social__item a:hover {
    -webkit-transform: translate(3px, 0);
    -ms-transform: translate(3px, 0);
    transform: translate(3px, 0)
}

.nairi {
    margin-top: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.nairi__title img {
    margin-top: 40px;
    margin-left: -8px;
    display: inline-block
}

.nairi__subtitle {
    max-width: 474px;
    padding-right: 10px
}


.nairi__services-list {
    font-weight: 300;
    font-size: 17px;
    font-family: Roboto, sans-serif;
    color: #a7a0a0;
    line-height: 24px;
    margin: 20px 0 30px 0;
    padding-left: 0;
    list-style-type: none;
}

.nairi__services-list li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 15px;
    display: flex;
    align-items: flex-start;
}

.nairi__services-list li:last-child {
    margin-bottom: 0;
}

.nairi__services-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background-color: #113DD8;
    border-radius: 50%;
    flex-shrink: 0;
}


@media (max-width: 575px) {
    .nairi__services-list {
        font-size: 14px;
        line-height: 20px;
        margin: 15px 0 25px 0;
    }

    .nairi__services-list li {
        margin-bottom: 6px;
        padding-left: 14px;
    }

    .nairi__services-list li::before {
        width: 6px;
        height: 6px;
        top: 7px;
    }
}

.nairi__button {
    display: inline-block;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s
}

.nairi__button:hover {
    -o-border-image: -o-linear-gradient(345.86deg, #123dd8 21.25%, rgba(15, 43, 116, 0) 220%);
    border-image: linear-gradient(104.14deg, #123dd8 21.25%, rgba(15, 43, 116, 0) 220%);
    background-color: #123dd8
}

.nairi__right {
    margin-top: 0
}

.nairi__right img {
    max-width: 100%
}

.btn {
    margin-top: 30px
}

.button-parent {
    max-width: 1100px;
    margin: auto;
    text-align: center
}

.button-parent--inner {
    padding: 4em 1em
}

.button-item {
    padding-bottom: 2em
}

.nairi-title__name {
    stroke: #fff;
    fill: none
}

.screen-2 {
    padding-left: 5px
}

.uslugi__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.uslugi__left {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 60%;
    flex: 0 1 60%
}

.uslugi__subtitle {
    padding-top: 20px;
    padding-bottom: 40px
}

.uslugi__right {
    margin-left: 10%;
    position: relative;
    top: -40px
}

.uslugi__right img {
    max-width: 100%
}

/* ==========================================================================
   1. ОСНОВНОЙ ФОН И СЕТКА (КАК В БЛОКЕ ADVANTAGES)
   ========================================================================== */

.diagram-fullscreen-bg {
    background-color: #0d0d0d;
    /* Темно-серый фон (подгоните под свой оттенок) */
    padding: 60px 0;
    width: 100%;
}

.diagram {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

/* ==========================================================================
   2. КАРТОЧКА ДИАГРАММЫ (КРУГ + ТЕКСТ В ОДИН РЯД)
   ========================================================================== */

.diagram__wrapper {
    display: flex;
    flex-direction: row;
    /* Текст располагается справа от круга */
    align-items: center;
    width: auto;
    position: relative;
}

.diagram__wrapper:hover {
    z-index: 10;
    /* Поднимаем карточку при наведении, чтобы тултипы не перекрывались */
}

/* --- Сам круг --- */
.diagram__circle {
    position: relative;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    /* Запрещаем кругу сжиматься, если текст длинный */
}

.diagram__circle svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.diagram__circle-bg {
    fill: none;
    stroke: rgba(255, 255, 255, 0.2);
    stroke-width: 6;
}

.diagram__circle-fill {
    fill: none;
    stroke: #005be3;
    stroke-width: 6;
    stroke-linecap: round;
    stroke-dasharray: 326.73;
    stroke-dashoffset: calc(326.73 - (326.73 * var(--percent) / 100));
    transition: stroke-dashoffset 1.5s ease;
}

.diagram__percent {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

/* --- Текст программы (справа) --- */
.diagram__label {
    color: #fff !important;
    text-align: left;
    margin-top: 0;
    margin-left: 15px;
    /* Отступ текста от синего круга */
    font-size: 16px;
    line-height: 1.3;
}

/* ==========================================================================
   3. ИКОНКА ВОПРОСА
   ========================================================================== */

.diagram__fqa {
    position: absolute;
    bottom: -5px;
    /* Прижимаем к нижнему краю круга */
    right: -5px;
    /* Прижимаем к правому краю круга */
    z-index: 5;
}

.diagram__fqa img {
    width: 16px;
    height: 16px;
    display: block;
}

/* ==========================================================================
   4. ВСПЛЫВАЮЩИЕ ПОДСКАЗКИ (ТУЛТИПЫ) НА ПК
   ========================================================================== */

dfn {
    padding: 0;
    cursor: help;
    font-style: normal;
    position: relative;
}

/* --- Плашка с текстом --- */
dfn::after {
    content: attr(data-info);
    display: block;
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    width: 250px;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.5em;
    padding: 1em;
    background: rgba(30, 30, 30, 0.95);
    color: #fff;
    border-radius: 6px;
    pointer-events: none;
    transition: opacity 250ms, top 250ms;
    z-index: 100;
}

/* --- Треугольник над плашкой --- */
dfn::before {
    content: "";
    display: block;
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    border: solid transparent 6px;
    border-bottom-color: rgba(30, 30, 30, 0.95);
    transition: opacity 250ms, top 250ms;
    z-index: 100;
}

/* --- Анимация появления --- */
dfn:hover {
    z-index: 2;
}

dfn:hover::after,
dfn:hover::before {
    opacity: 1;
}

dfn:hover::after {
    top: 35px;
    /* Смещается вниз при появлении */
}

dfn:hover::before {
    top: 23px;
    /* Смещается вниз при появлении */
}

/* ==========================================================================
   5. АДАПТИВНОСТЬ (ПЛАНШЕТЫ И ТЕЛЕФОНЫ)
   ========================================================================== */

/* 💻 Планшеты (по 2 в ряд) */
@media (max-width: 991px) {
    .diagram {
        justify-content: space-around;
        row-gap: 30px;
    }

    .diagram__wrapper {
        width: 45%;
    }
}

/* 📱 Телефоны (по 2 в ряд, но компактнее) */
@media (max-width: 575px) {
    .diagram {
        justify-content: space-between;
        gap: 20px 10px;
        /* Вертикальный отступ 20px, горизонтальный 10px */
    }

    .diagram__wrapper {
        width: 48%;
        /* 2 колонки */
        justify-content: flex-start;
    }

    /* Уменьшаем круг и шрифты, чтобы влезло в 2 колонки */
    .diagram__circle {
        width: 60px;
        height: 60px;
    }

    .diagram__percent {
        font-size: 14px;
    }

    .diagram__label {
        font-size: 13px;
        margin-left: 10px;
        line-height: 1.2;
    }

    /* Корректируем иконку вопроса */
    .diagram__fqa img {
        width: 14px;
        height: 14px;
    }

    .diagram__fqa {
        bottom: -6px;
        right: -6px;
    }

    /* --- Логика Тултипов для мобильных --- */
    dfn::after {
        width: 200px;
        /* Сужаем плашку */
        top: 20px;
    }

    dfn::before {
        top: 10px;
    }

    /* Левая колонка (1-й и 3-й элементы): подсказка открывается ВПРАВО */
    .diagram__wrapper:nth-of-type(odd) dfn::after {
        left: 0;
        transform: none;
    }

    .diagram__wrapper:nth-of-type(odd) dfn::before {
        left: 8px;
        transform: none;
    }

    /* Правая колонка (2-й и 4-й элементы): подсказка открывается ВЛЕВО */
    .diagram__wrapper:nth-of-type(even) dfn::after {
        right: -10px;
        left: auto;
        transform: none;
    }

    .diagram__wrapper:nth-of-type(even) dfn::before {
        right: 2px;
        left: auto;
        transform: none;
    }
}

/* 📱 Очень узкие экраны (старые смартфоны) */
@media (max-width: 375px) {
    .diagram__circle {
        width: 50px;
        height: 50px;
    }

    .diagram__percent {
        font-size: 12px;
    }

    .diagram__label {
        font-size: 11px;
        margin-left: 8px;
    }

    /* Для супер узких экранов плашку делаем еще меньше */
    dfn::after {
        width: 160px;
    }
}

.polse {
    margin-top: 150px
}

.polse__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-weight: 900;
    font-size: 45px;
    line-height: 53px;
    margin-bottom: 25px
}

.polse__one {
    margin-left: 10px;
    margin-right: 10px;
    background: -o-linear-gradient(345.86deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    background: linear-gradient(104.14deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #123dd8
}

.polse__two {
    margin-left: 10px;
    margin-right: 10px;
    background: -o-linear-gradient(345.86deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    background: linear-gradient(104.14deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #123dd8
}

.beer-slider {
    display: inline-block;
    position: relative;
    overflow: hidden;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: 100%
}

.beer-reveal {
    position: absolute;
    left: 0;
    top: 0;
    right: 50%;
    overflow: hidden;
    z-index: 1;
    opacity: 0;
    -webkit-transition: opacity .35s;
    -o-transition: opacity .35s;
    transition: opacity .35s;
    height: 100%
}

.beer-reveal> :first-child {
    width: 200%;
    max-width: none;
    height: 100%
}

.beer-reveal>img:first-child {
    height: auto
}

.beer-range {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    height: 100%;
    margin: 0;
    left: -1px;
    width: calc(100% + 2px);
    cursor: pointer;
    -webkit-appearance: slider-horizontal !important;
    -moz-appearance: none;
    opacity: 0;
    -ms-touch-action: auto;
    touch-action: auto
}

.beer-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 300vh
}

.beer-range::-moz-range-thumb {
    -webkit-appearance: none;
    height: 300vh
}

.beer-range::-ms-tooltip {
    display: none
}

.beer-handle {
    position: absolute;
    z-index: 2;
    height: 100%;
    width: 15px;
    pointer-events: none;
    background: url(../img/home/before-after/line.svg) center center no-repeat;
    background-size: 100% 100%;
    opacity: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

.beer-handle:before {
    content: "";
    background: url(../img/home/before-after/circle.svg) center center no-repeat;
    background-size: 100% 100%;
    width: 72px;
    position: absolute;
    top: 42%;
    left: 50%;
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
    height: 72px
}

.beer-reveal[data-beer-label]:after,
.beer-slider[data-beer-label]:after {
    content: attr(data-beer-label);
    position: absolute;
    top: 1.5rem;
    line-height: 1;
    padding: .5rem;
    border-radius: .125rem;
    background: rgba(255, 255, 255, 0.75);
    height: 100%
}

.beer-slider[data-beer-label]:after {
    right: 1.5rem
}

.beer-reveal[data-beer-label]:after {
    left: 1.5rem
}

.beer-reveal[data-beer-label=""]:after,
.beer-slider[data-beer-label=""]:after {
    content: none
}

.beer-ready .beer-handle,
.beer-ready .beer-reveal {
    opacity: 1
}

img.img-beer {
    min-width: 100%;
    min-height: 100%;
    max-height: 100%
}

.work__title-wrap {
    text-align: center
}

.work__title-h3 {
    margin-top: 60px;
    text-align: center;
    font-size: 22px;
    line-height: 110.2%;
    text-transform: uppercase;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(-4.9%, rgba(182, 182, 182, 0.79)), color-stop(82.4%, rgba(20, 20, 20, 0.62))), -webkit-gradient(linear, left bottom, left top, from(#cfcfcf), to(#e2e2e2));
    background: -o-linear-gradient(top, rgba(182, 182, 182, 0.79) -4.9%, rgba(20, 20, 20, 0.62) 82.4%), -o-linear-gradient(bottom, #cfcfcf, #e2e2e2);
    background: linear-gradient(180deg, rgba(182, 182, 182, 0.79) -4.9%, rgba(20, 20, 20, 0.62) 82.4%), linear-gradient(0deg, #cfcfcf, #e2e2e2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #e2e2e2
}

.work__title-h3:nth-child(4) {
    margin-top: 150px
}

.services {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.services__item {
    margin-top: 30px;
    background: #040404;
    -webkit-box-shadow: 0 0 7px rgba(136, 136, 136, 0.32);
    box-shadow: 0 0 7px rgba(136, 136, 136, 0.32);
    max-width: 330px;
    padding: 28px 19px 17px 15px
}

.services__top {
    width: 19px;
    height: 19px;
    background: -o-linear-gradient(345.86deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    background: linear-gradient(104.14deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3
}

.services__title {
    font-size: 17px;
    line-height: 136%;
    margin-top: 8px;
    margin-bottom: 6px;
    color: #fff
}

.screen-5 {
    margin-top: 190px;
    background-color: #0e0e0e
}

.advantages {
    padding: 60px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.advantages__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.advantages__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 10px
}

.advantages__title {
    font-weight: 700;
    font-size: 33px;
    line-height: 32px
}

.advantages__subtitle {
    margin-top: 5px
}

.work__all {
    width: 100%;
    text-align: right;
    font-weight: 300;
    font-size: 14px;
    line-height: 16px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    cursor: pointer;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.work__all img {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.work__all:hover img {
    -webkit-transform: translate(3px, 0);
    -ms-transform: translate(3px, 0);
    transform: translate(3px, 0)
}

.work__all span {
    display: inline-block;
    margin-left: 5px
}

.work__all span img {
    vertical-align: middle
}

.portfolio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.portfolio__item {
    padding-top: 50px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding-left: 25px;
    padding-right: 25px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 568px;
    flex: 0 0 568px;
    border: 1px solid #363636;
    height: 600px;
    background: #000
}

.portfolio__item img {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.portfolio__item:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05)
}

.portfolio__title {
    font-weight: 700;
    font-size: 23px;
    line-height: 133.19%;
    color: #fff;
    margin-bottom: 8px
}

.portfolio__img {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 490px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.portfolio__img img {
    max-width: 100%
}

.plan__title {
    text-align: center
}

.plan__wrapper {
    position: relative;
    margin-top: 74px;
    margin-bottom: 190px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.plan__sms {
    font-size: 15px;
    line-height: 192.2%;
    background: #0f0f0f;
    color: #fff;
    border-radius: 13px;
    min-height: 253px;
    max-width: 525px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 15px 40px
}

.plan__center {
    top: -20px;
    position: relative;
    display: block
}

.plan__h {
    background: #123dd8;
    height: 100%;
    width: 4px;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: 0
}

.plan__line-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    height: 100%
}

.plan__line {
    height: 70px;
    width: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 33px;
    line-height: 156.7%;
    background: #000;
    border-radius: 50%;
    border: 5px solid #123dd8;
    color: #fff;
    position: relative;
    z-index: 1
}

.plan__left {
    margin-right: 10px
}

.plan__left div {
    margin-bottom: 300px
}

.plan__left div:nth-child(3) {
    margin-bottom: 0
}

.plan__right {
    margin-left: 10px;
    margin-top: 300px
}

.plan__right div {
    margin-bottom: 300px
}

.sms-active {
    background: #0040a0;
    -webkit-box-shadow: 0 0 15px -1px rgba(154, 154, 154, 0.59);
    box-shadow: 0 0 15px -1px rgba(154, 154, 154, 0.59)
}

.form {
    background: -o-linear-gradient(345.86deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    background: linear-gradient(104.14deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3
}

.form__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 66px;
    padding-top: 40px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.form__left {
    max-width: 70%
}

.form__title-wrap {
    margin-top: 0
}

.form__right {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s
}

.form__right:hover {
    -webkit-transform: translate(17px, 0);
    -ms-transform: translate(17px, 0);
    transform: translate(17px, 0)
}

.form__btn {
    font-weight: 900;
    font-size: 20px;
    line-height: 192.2%;
    padding: 15px 48px;
    background: #fff;
    letter-spacing: .045em;
    text-transform: uppercase;
    color: #005be3
}

.form__subtitle {
    font-weight: 400;
    margin-top: 9px;
    color: #fff;
    line-height: 192.2%;
    font-family: "Gotham Pro"
}

::-webkit-scrollbar {
    width: 6px;
    height: 8px;
    background-color: #151515
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(104.14deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(104.14deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3
}

.topmenu>li {
    float: left;
    position: relative
}

.submenu-link:after {
    color: inherit;
    margin-left: 10px
}

.submenu {
    background: #000;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 5;
    width: 25px;
    opacity: 0;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out
}

.submenu img {
    max-width: 18px
}

.topmenu>li:hover .submenu {
    opacity: 1;
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1)
}


.kroshki {
    padding-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 300
}

.kroshki__item {
    margin-left: 10px;
    margin-right: 10px;
    color: #fff;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.kroshki__item:first-child {
    margin-left: 0
}

.kroshki__item:last-child:after {
    content: " ";
    background: url(../img/icons/arrow-bottom.svg) no-repeat center;
    padding-left: 14px;
    margin-left: 5px
}

.kroshki__item:hover {
    -webkit-transform: translate(0, 5px);
    -ms-transform: translate(0, 5px);
    transform: translate(0, 5px)
}

.about-project__title-wrap,
.awards__title-wrap,
.contacts__title-wrap,
.uslugi__title-wrap {
    margin-top: 80px;
    margin-bottom: 50px
}

.about-project__subtitle {
    max-width: 650px;
    margin-top: -30px
}

.photo-project__item {
    margin-top: 80px
}

.photo-project__item img {
    max-width: 100%
}

.result-project {
    margin-bottom: 140px
}

.result-project__wrapper {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.result-project__left {
    max-width: 660px
}

.result-project__right {
    margin-top: -25px
}

.result-project__txt {
    font-size: 15px;
    line-height: 178.19%;
    color: #fff;
    margin-top: 15px
}

.result-project__item-t {
    background: -o-linear-gradient(345.86deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    background: linear-gradient(104.14deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #123dd8;
    font-family: "Gotham Pro";
    font-weight: 700;
    font-size: 20px;
    line-height: 178.19%;
    text-transform: uppercase
}

.feedback__title-wrap {
    text-align: center
}

.feedback__img {
    width: 80px;
    height: 80px;
    display: block;
    margin: auto;
    margin-top: 42px;
    margin-bottom: 15px
}

.feedback__img img {
    border-radius: 50%;
    width: 80px;
    height: 80px;
    max-width: 100%;
    -o-object-position: center;
    object-position: center;
    -o-object-fit: cover;
    object-fit: cover
}

.feedback__subtitle {
    text-align: center;
    max-width: 600px;
    margin: auto;
    margin-bottom: 140px
}

.feedback-watch {
    margin-top: 14px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.contacts-fon {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    min-width: 100%;
    height: 100%
}

.contacts-fon img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.contacts__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.contacts__subtitle {
    line-height: 194.95%;
    max-width: 640px
}

.contacts__connect {
    margin-top: 20px
}

.contacts__item {
    margin-top: 35px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.contacts__item:hover {
    -webkit-transform: translate(10px, 0);
    -ms-transform: translate(10px, 0);
    transform: translate(10px, 0)
}

.contacts__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.contacts__img img {
    max-width: 100%
}

.contacts__txt {
    margin-left: 15px;
    font-size: 25px;
    line-height: 105.7%;
    letter-spacing: .02em;
    color: #fff
}

.contacts__right {
    margin-top: -90px
}

.contacts__right img {
    max-width: 100%
}

.contacts-home-1 {
    display: block
}

.contacts-home-2 {
    display: none
}

.feedback-watch {
    margin-top: 120px;
    font-size: 23px;
    line-height: 105.7%;
    font-family: "Gotham Pro";
    letter-spacing: .02em;
    color: #fff;
    margin-bottom: 0
}

.feedback-watch span img {
    width: 25px
}

.awards__subtitle {
    max-width: 620px;
    margin-top: -20px
}

.awards__wrap {
    margin-top: 52px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.awards__item {
    margin-top: 12px;
    margin-bottom: 12px;
    cursor: pointer;
    width: 372px;
    max-height: 548px
}

.awards__item img {
    -o-object-fit: cover;
    object-fit: cover;
    max-width: 100%;
    height: 100%
}

.width-b {
    width: 775px
}

.width-b img {
    min-width: 100%;
    max-width: 100%
}

.krest-2 {
    margin-left: 0 !important;
    margin-top: 15px !important
}

.polse__bim {
    position: absolute;
    bottom: 30px;
    right: 30px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 30px;
    background: -o-linear-gradient(345.86deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    background: linear-gradient(104.14deg, #1b3db5 21.25%, rgba(27, 66, 162, 0) 66.61%), #005be3;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #123dd8
}

.point-cloud {
    bottom: 30px;
    left: 30px
}

.screen-3 {
    position: relative
}

.line-active-1 {
    width: 100%
}

.line-active-2 {
    width: 96%
}

.line-active-3 {
    width: 87%
}

._container {
    max-width: 1170px;
    margin: 0 auto
}

.btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 0
}

.btn._fw {
    width: 100%
}

.btn {
    padding: 12px 18px;
    border: 2px solid #123dd8;
    overflow: hidden;
    float: left;
    position: relative
}

[data-type]:before {
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    z-index: -1
}

[data-type]:hover {
    cursor: pointer;
    color: #fff;
    z-index: 8
}

[data-type="pos_aware"]:before {
    content: " ";
    position: absolute;
    bottom: -60px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    display: block;
    width: 40px;
    height: 40px;
    background: -o-linear-gradient(345.86deg, #123dd8 21.25%, rgba(15, 43, 116, 0) 220%);
    background: linear-gradient(104.14deg, #123dd8 21.25%, rgba(15, 43, 116, 0) 220%);
    border-radius: 50px
}

[data-type="pos_aware"]:hover:before {
    -webkit-transform: scale(8.3);
    -ms-transform: scale(8.3);
    transform: scale(8.3)
}

.select {
    position: relative
}

.select__item {
    position: relative
}

.select__title {
    color: #000;
    border: 1px solid #d9d9d9;
    background-color: #fff;
    cursor: pointer;
    border-radius: 4px
}

.select__value {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    height: 30px;
    padding: 0 15px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.select__value span {
    height: 1em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical
}

.select__value:before {
    content: "";
    display: inline-block;
    -webkit-transition: all .3s ease 0;
    -o-transition: all .3s ease 0;
    transition: all .3s ease 0;
    width: 11px;
    height: 7px;
    background: url(../img/icons/select.svg) center/100% no-repeat
}

.select__input {
    width: 100%;
    background-color: transparent;
    height: 100%
}

.select__options {
    color: #000;
    display: none;
    position: absolute;
    top: 29px;
    border-radius: 0 0 4px 4px;
    min-width: 100%;
    left: 0;
    background-color: #fff;
    border-top: 0;
    border: 1px solid #d9d9d9;
    border-top: 0;
    font-size: 14px;
    padding: 10px 0 5px
}

.select__option {
    cursor: pointer;
    padding: 5px 15px;
    margin: 0
}

.select._active {
    z-index: 5
}

.select._active .select__value:before {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.select._active .select__options {
    display: block
}

input[type="email"],
input[type="tel"],
input[type="text"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.input {
    border-radius: 0 !important;
    width: 100%;
    display: block;
    padding: 0 20px
}

textarea.input {
    resize: none;
    padding: 0
}

.checkbox {
    position: relative
}

.checkbox__input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    visibility: hidden
}

.checkbox__input:checked+.checkbox__text:before {
    background: #fff url(../img/icons/check.svg) center no-repeat
}

.checkbox__text {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    font-size: 16px;
    color: #fff;
    letter-spacing: -.3px;
    line-height: calc(20 / 16);
    cursor: pointer
}

.checkbox__text:before {
    content: "";
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin: 0 14px 0 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20px;
    flex: 0 0 20px;
    left: 0;
    top: 0;
    width: 20px;
    height: 18px;
    background: #fff;
    border: 1px solid #a7a9ac
}

.checkbox a {
    color: #fff;
    text-decoration: underline
}

.checkbox._error .checkbox__text:before {
    border: 1px solid #ee1212
}

.options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.options__item {
    position: relative;
    cursor: pointer
}

.options__input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    left: 0;
    top: 0;
    visibility: hidden
}

.options__input:checked+.options__text:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.options__text {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    font-size: 16px;
    color: #fff;
    letter-spacing: -.3px;
    line-height: calc(20 / 16)
}

.options__text:before {
    content: "";
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin: 0 14px 0 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20px;
    flex: 0 0 20px;
    left: 0;
    top: 0;
    border-radius: 50%;
    width: 20px;
    height: 18px;
    background: #fff;
    border: 1px solid #a7a9ac
}

.options__text:after {
    content: "";
    -webkit-transition: all .3s ease 0;
    -o-transition: all .3s ease 0;
    transition: all .3s ease 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #77243a;
    position: absolute;
    left: 5px;
    top: 4px
}

.rating {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    font-size: 40px;
    line-height: .75;
    -webkit-transition: opacity .3s ease 0;
    -o-transition: opacity .3s ease 0;
    transition: opacity .3s ease 0
}

.rating.rating_sending {
    opacity: .2
}

.rating.rating_set .rating__active,
.rating.rating_set .rating__item {
    cursor: pointer
}

.rating__body {
    position: relative
}

.rating__body::before {
    content: "★★★★★";
    display: block
}

.rating__active {
    position: absolute;
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden
}

.rating__active::before {
    content: "★★★★★";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    color: #ffd300
}

.rating__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.rating__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    height: 100%;
    opacity: 0
}

.rating__value {
    font-size: 50%;
    line-height: 1;
    padding: 0 0 0 10px
}

.quantity {
    width: 88px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: 1px solid rgba(166, 166, 166, 0.45)
}

.quantity__button {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30px;
    flex: 0 0 30px;
    position: relative;
    cursor: pointer
}

.quantity__button::after,
.quantity__button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transition: all .3s ease 0;
    -o-transition: all .3s ease 0;
    transition: all .3s ease 0;
    margin: 0 0 0 -4.5px;
    background-color: #a6a6a6;
    width: 9px;
    height: 1px
}

.quantity__button_plus::before {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.quantity__input {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto
}

.quantity__input input {
    height: 100%;
    color: #a6a6a6;
    font-size: 12px;
    width: 100%;
    text-align: center
}

.row:after {
    display: block;
    content: "";
    clear: both
}

.rub:after {
    content: "₽"
}

ol.counter {
    list-style-type: none;
    counter-reset: item
}

ol.counter li {
    position: relative;
    padding: 0 0 0 45px
}

ol.counter li:before {
    counter-increment: item;
    content: counter(item);
    position: absolute;
    left: 0;
    top: 0;
    color: #818181;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 26px;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    border: 1px solid #4274bb
}

.ellipsis {
    display: block;
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis
}

.es {
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis
}

.table {
    display: table;
    font-size: 0;
    width: 100%
}

.trow {
    display: table-row
}

.cell {
    display: table-cell
}

.cell.full {
    width: 100%
}

._ibg {
    position: relative
}

._ibg img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

body.ie ._ibg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}

body.ie ._ibg img {
    width: 0;
    height: 0;
    opacity: 0;
    visibility: hidden
}

._video {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-bottom: 56.25%
}

._video embed,
._video iframe,
._video object,
._video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.videobg embed,
.videobg iframe,
.videobg object,
.videobg video {
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    background-size: cover
}

._more-content {
    -webkit-transition: all .3s ease 0;
    -o-transition: all .3s ease 0;
    transition: all .3s ease 0;
    overflow: hidden
}

._more-link {
    cursor: pointer
}

._more-link span {
    font-style: normal
}

._more-link span:first-child {
    display: block
}

._more-link span:last-child {
    display: none
}

._more-link._active span {
    font-style: normal
}

._more-link._active span:first-child {
    display: none
}

._more-link._active span:last-child {
    display: block
}

#map {
    background: url(../img/icons/loading.gif) center/50px no-repeat
}

._swiper {
    overflow: hidden
}

._swiper .swiper-wrapper {
    width: 100%;
    height: 100%;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
}

._swiper.swiper-container-vertical .swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

._swiper.swiper-container-autoheight .swiper-wrapper {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.swiper-container-initialized .swiper-slide {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

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

.swiper-button-lock {
    display: none !important
}

._tabs-block {
    display: none
}

._tabs-block._active {
    display: block
}

.mirror {
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.nicescroll-rails {
    z-index: 1000 !important
}

._custom-scroll {
    position: fixed;
    right: 0;
    top: 0;
    width: 3px;
    height: 100%;
    z-index: 1000
}

._custom-scroll__line {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 3px 0 0 3px;
    position: relative;
    left: 0;
    top: 0;
    width: 100%
}

.header__content {
    padding-top: 40px !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header__left img {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.header__left img:hover {
    -webkit-transform: translate(0, 3px);
    -ms-transform: translate(0, 3px);
    transform: translate(0, 3px)
}

.header__right {
    /* width: 430px; */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-end;
    margin-top: 8px;
    align-items: center
}

.header__mail {
    color: #fff;
    font-size: 16px;
    font-weight: 300;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.header__mail:hover {
    margin-top: 3px
}

.header__mail:before {
    content: " ";
    padding-bottom: 2px;
    padding-right: 22px;
    margin-right: 5px;
    background: url(../img/icons/mail.svg) center center no-repeat;
    background-size: 22px auto
}

.header__language {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 300
}

.language__item {
    font-size: 17px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 300;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.language__item:hover {
    margin-top: 3px
}

.language__item:nth-child(1) {
    padding-right: 7px
}

.language_active {
    will-change: transform;
    display: inline-block;
    position: relative;
    top: -1px;
    color: #3169f8;
    font-size: 19px;
    text-shadow: 1.3px 0 #074dff
}

.burger {
    width: 36px;
    height: 30px;
    position: relative;
    z-index: 2;
    overflow: hidden;
    margin-top: -2px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    margin-left: 15px;
}

.burger:hover {
    color: #fff
}

.burger label {
    width: 50px;
    height: 42px;
    display: block;
    -webkit-transition: all .35s;
    -o-transition: all .35s;
    transition: all .35s;
    cursor: pointer;

}

.burger input {
    display: none
}

.bar {
    width: 100%;
    height: 1.4px;
    display: block;
    position: absolute;
    left: 0;
    background: #fff;
    border-radius: 10px;
    -webkit-transition: all .35s;
    -o-transition: all .35s;
    transition: all .35s;
    pointer-events: none
}

.bar-1 {
    width: 90%;
    margin-left: 10%;
    top: 4px
}

.bar-2 {
    width: 80%;
    margin-left: 20%;
    top: 11px
}

.bar-3 {
    top: 18px
}

.txt {
    display: none
}

.burger-1.checked .bar-1 {
    margin-left: 0;
    top: 12px;
    width: 100%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.burger-1.checked .bar-2 {
    margin-left: -2px;
    left: -100%
}

.burger-1.checked .bar-3 {
    top: 12px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.icon-menu {
    display: block;
    position: absolute;
    top: 18px;
    right: 10px;
    width: 30px;
    height: 18px;
    cursor: pointer;
    z-index: 5
}

.icon-menu span {
    -webkit-transition: all .3s ease 0;
    -o-transition: all .3s ease 0;
    transition: all .3s ease 0;
    top: calc(50% - 1px);
    left: 0;
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #000
}

.icon-menu span:first-child {
    top: 0
}

.icon-menu span:last-child {
    top: auto;
    bottom: 0
}

.icon-menu._active span {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0)
}

.icon-menu._active span:first-child {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: calc(50% - 1px)
}

.icon-menu._active span:last-child {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    bottom: calc(50% - 1px)
}

.menu {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 400px;
    height: 100vh;
    overflow: hidden;
    padding-left: 0;
    z-index: 2;
    -webkit-transform: translateX(-150%);
    -ms-transform: translateX(150%);
    transform: translateX(150%);
    -webkit-transition: -webkit-transform .6s cubic-bezier(0.48, 0, 0.12, 1);
    transition: -webkit-transform .6s cubic-bezier(0.48, 0, 0.12, 1);
    -o-transition: transform .6s cubic-bezier(0.48, 0, 0.12, 1);
    transition: transform .6s cubic-bezier(0.48, 0, 0.12, 1);
    transition: transform .6s cubic-bezier(0.48, 0, 0.12, 1), -webkit-transform .6s cubic-bezier(0.48, 0, 0.12, 1);
    -webkit-transition-delay: .1s;
    -o-transition-delay: .1s;
    transition-delay: .1s;
    background: #0b0b0b
}

.menu nav {
    height: 100%
}

.menu nav ul {
    height: 100%;
    margin: 0;
    padding: 50px 0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.menu nav ul li {
    width: 100%;
    margin: 0;
    padding: 0;
    padding-right: 86px;
    text-align: center
}

.menu nav ul li a {
    color: #fff;
    width: 100%;
    text-decoration: none;
    display: block;
    padding: 25px 20px;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: all .6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -o-transition: all .6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: all .6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    font-size: 18px
}

.menu nav ul li a:hover {
    background: rgba(29, 29, 29, 0.3);
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px)
}

.wrapper.nav_is_visible {
    left: -300px
}

.wrapper.nav_is_visible .menu {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%)
}

.aboutus_is_visible .aboutus .wrapper,
.clients_is_visible .clients .wrapper,
.contactus_is_visible .contactus .wrapper,
.home_is_visible .home .wrapper {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.aboutus_is_visible .aboutus,
.clients_is_visible .clients,
.contactus_is_visible .contactus,
.home_is_visible .home {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    z-index: 5000
}

.bg {
    -webkit-transition: .6s;
    -o-transition: .6s;
    transition: .6s
}

.bg-dark {
    background: rgba(0, 0, 0, 0.59);
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 1;
    cursor: pointer
}

.burger {
    width: 36px;
    height: 30px;
    position: relative;
    z-index: 2;
    overflow: hidden;
    margin-top: -2px
}

.burger label {
    width: 50px;
    height: 42px;
    display: block;
    -webkit-transition: all .35s;
    -o-transition: all .35s;
    transition: all .35s;
    cursor: pointer
}

.txt {
    display: none
}

.krest {
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 47px;
    margin-left: 10px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.krest:hover {
    -webkit-transform: translate(0, 3px);
    -ms-transform: translate(0, 3px);
    transform: translate(0, 3px)
}

.krest .bar-1 {
    margin-left: 0;
    top: 12px;
    width: 100%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.krest .bar-3 {
    top: 12px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.logo-menu {
    position: relative;
    width: 100%;
    top: 41px;
    right: 120px;
    text-align: right;
    display: block
}

.social-menu {
    top: -70px;
    left: 15px;
    position: relative
}

.blue {
    color: #3169f8
}

.preloader {
    background: #000;
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 1001
}

.red-anim {
    -webkit-animation: 3.6s cubic-bezier(0.03, 0, 0.17, 0.67) reds;
    animation: 3.6s cubic-bezier(0.03, 0, 0.17, 0.67) reds;
    fill: red
}

@-webkit-keyframes reds {
    0% {
        opacity: 0;
        fill: rgba(82, 82, 82, 0.671);
        -webkit-transform: scale(0.72);
        transform: scale(0.72)
    }

    33% {
        fill: rgba(82, 82, 82, 0.671);
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        opacity: 1;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    50% {
        fill: red;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
        -webkit-transform: scale(0.96);
        transform: scale(0.96)
    }
}

@keyframes reds {
    0% {
        opacity: 0;
        fill: rgba(82, 82, 82, 0.671);
        -webkit-transform: scale(0.72);
        transform: scale(0.72)
    }

    33% {
        fill: rgba(82, 82, 82, 0.671);
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        opacity: 1;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    50% {
        fill: red;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
        -webkit-transform: scale(0.96);
        transform: scale(0.96)
    }
}

.blue-anim {
    -webkit-animation: 3.6s cubic-bezier(0.03, 0, 0.17, 0.67) blues;
    animation: 3.6s cubic-bezier(0.03, 0, 0.17, 0.67) blues;
    fill: #09549c
}

@-webkit-keyframes blues {
    0% {
        opacity: 0;
        fill: rgba(82, 82, 82, 0.671);
        -webkit-transform: scale(0.72);
        transform: scale(0.72)
    }

    33% {
        fill: rgba(82, 82, 82, 0.671);
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        opacity: 1;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    50% {
        fill: #09549c;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
        -webkit-transform: scale(0.96);
        transform: scale(0.96)
    }
}

@keyframes blues {
    0% {
        opacity: 0;
        fill: rgba(82, 82, 82, 0.671);
        -webkit-transform: scale(0.72);
        transform: scale(0.72)
    }

    33% {
        fill: rgba(82, 82, 82, 0.671);
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        opacity: 1;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    50% {
        fill: #09549c;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
        -webkit-transform: scale(0.96);
        transform: scale(0.96)
    }
}

.yellow-anim {
    -webkit-animation: 3.6s cubic-bezier(0.03, 0, 0.17, 0.67) yellows;
    animation: 3.6s cubic-bezier(0.03, 0, 0.17, 0.67) yellows;
    fill: #f60
}

@-webkit-keyframes yellows {
    0% {
        opacity: 0;
        fill: rgba(82, 82, 82, 0.671);
        -webkit-transform: scale(0.72);
        transform: scale(0.72)
    }

    33% {
        fill: rgba(82, 82, 82, 0.671);
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        opacity: 1;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    50% {
        fill: #f60;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
        -webkit-transform: scale(0.96);
        transform: scale(0.96)
    }
}

@keyframes yellows {
    0% {
        opacity: 0;
        fill: rgba(82, 82, 82, 0.671);
        -webkit-transform: scale(0.72);
        transform: scale(0.72)
    }

    33% {
        fill: rgba(82, 82, 82, 0.671);
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        opacity: 1;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    50% {
        fill: #f60;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
        -webkit-transform: scale(0.96);
        transform: scale(0.96)
    }
}

.black-gray-anim {
    -webkit-animation: 3.6s cubic-bezier(0.03, 0, 0.17, 0.67) black-grays;
    animation: 3.6s cubic-bezier(0.03, 0, 0.17, 0.67) black-grays;
    fill: #4d4d4d
}

@-webkit-keyframes black-grays {
    0% {
        opacity: 0;
        fill: rgba(82, 82, 82, 0.671);
        -webkit-transform: scale(0.72);
        transform: scale(0.72)
    }

    33% {
        fill: rgba(82, 82, 82, 0.671);
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        opacity: 1;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    50% {
        fill: #4d4d4d;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
        -webkit-transform: scale(0.96);
        transform: scale(0.96)
    }
}

@keyframes black-grays {
    0% {
        opacity: 0;
        fill: rgba(82, 82, 82, 0.671);
        -webkit-transform: scale(0.72);
        transform: scale(0.72)
    }

    33% {
        fill: rgba(82, 82, 82, 0.671);
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        animation-timing-function: cubic-bezier(0.21, 0.02, 0.03, 0.92);
        opacity: 1;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    50% {
        fill: #4d4d4d;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
        -webkit-transform: scale(0.96);
        transform: scale(0.96)
    }
}

.preloader__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.loaded_hiding .preloader {
    -webkit-transition: .3s opacity;
    -o-transition: .3s opacity;
    transition: .3s opacity;
    opacity: 0
}

.loaded .preloader {
    display: none
}

#nlpt {
    -webkit-animation: a-s .5s 1.1s 1 forwards;
    animation: a-s .5s 1.1s 1 forwards;
    background-color: #f1f1f1;
    height: 4px;
    margin: 56px auto 20px;
    opacity: 0;
    overflow: hidden;
    position: relative;
    width: 300px
}

#nlpt::before {
    -webkit-animation: a-lb 20s 1.3s linear forwards;
    animation: a-lb 20s 1.3s linear forwards;
    background-color: #09549c;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    -webkit-transform: translateX(-300px);
    -ms-transform: translateX(-300px);
    transform: translateX(-300px);
    width: 100%
}

@-webkit-keyframes a-s {
    100% {
        opacity: 1
    }
}

@keyframes a-s {
    100% {
        opacity: 1
    }
}

@-webkit-keyframes a-lb {
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes a-lb {
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

.la-i {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 0;
    -webkit-animation: .9s linear 1.2s kf-v;
    animation: .9s linear 1.2s kf-v;
    opacity: 0
}

@-webkit-keyframes kf-v {
    66% {
        -webkit-animation-timing-function: cubic-bezier(0.3, 0, 0.83, 0.83);
        animation-timing-function: cubic-bezier(0.3, 0, 0.83, 0.83);
        opacity: 1
    }
}

@keyframes kf-v {
    66% {
        -webkit-animation-timing-function: cubic-bezier(0.3, 0, 0.83, 0.83);
        animation-timing-function: cubic-bezier(0.3, 0, 0.83, 0.83);
        opacity: 1
    }
}

.la-i div {
    position: absolute;
    z-index: 0;
    -webkit-animation: 1s cubic-bezier(0.17, 0, 0.1, 0.87) 1.2s kf-s;
    animation: 1s cubic-bezier(0.17, 0, 0.1, 0.87) 1.2s kf-s;
    background: #3030303b;
    border-radius: 50%;
    height: 600px;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    width: 100%;
    max-width: 600px
}

@-webkit-keyframes kf-s {
    35% {
        -webkit-animation-timing-function: cubic-bezier(0.17, 0.34, 0.69, 0.78);
        animation-timing-function: cubic-bezier(0.17, 0.34, 0.69, 0.78);
        -webkit-transform: scale(0.88);
        transform: scale(0.88)
    }

    100% {
        -webkit-transform: none;
        transform: none
    }
}

@keyframes kf-s {
    35% {
        -webkit-animation-timing-function: cubic-bezier(0.17, 0.34, 0.69, 0.78);
        animation-timing-function: cubic-bezier(0.17, 0.34, 0.69, 0.78);
        -webkit-transform: scale(0.88);
        transform: scale(0.88)
    }

    100% {
        -webkit-transform: none;
        transform: none
    }
}

.footer {
    margin-top: 200px;
    background: #0b0b0b
}

.footer__content {
    text-align: center
}

.footer__mail-wrap {
    display: inline-block;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.footer__mail-wrap:hover {
    -webkit-transform: translate(0, 3px);
    -ms-transform: translate(0, 3px);
    transform: translate(0, 3px)
}

.footer__logo img {
    margin-top: 18px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.footer__logo img:hover {
    -webkit-transform: translate(0, 3px);
    -ms-transform: translate(0, 3px);
    transform: translate(0, 3px)
}

.footer__social {
    margin-top: 25px
}

.footer__mail-img {
    margin-top: 50px;
    margin-top: 6px
}

.footer__mail-img img {
    margin-top: 16px
}

.footer__mail-txt {
    font-weight: 700;
    font-size: 36px;
    line-height: 105.7%;
    letter-spacing: .02em;
    color: #fff;
    margin-top: 6px
}

.footer__menu {
    margin-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.footer__menu li {
    margin-left: 8px;
    margin-right: 8px;
    font-weight: 300;
    font-size: 15px;
    line-height: 105.7%;
    letter-spacing: .02em;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s
}

.footer__menu li:hover {
    -webkit-transform: translate(0, 3px);
    -ms-transform: translate(0, 3px);
    transform: translate(0, 3px)
}

.footer__menu li a {
    color: #fff
}

.footer__prava {
    padding-bottom: 100px;
    margin-top: 25px
}

.social-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.social-footer__line {
    margin-left: 15px;
    margin-right: 15px;
    border: .6px solid #bdbdbd;
    width: 100px;
    height: 1px;
    background: #000
}

.social-footer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.social-footer__list img {
    vertical-align: middle
}

.social-footer__item {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    margin-left: 10px;
    margin-right: 10px
}

.social-footer__item:hover {
    -webkit-transform: translate(0, 3px);
    -ms-transform: translate(0, 3px);
    transform: translate(0, 3px)
}

.page {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto
}

@media (min-width: 991.98px) {

    .quantity__button:hover::after,
    .quantity__button:hover::before {
        background-color: rgba(0, 0, 0, 0.5)
    }
}

@media (min-width: 992px) {
    .select__option:hover {
        background: #d9d9d9
    }

    .checkbox a:hover {
        text-decoration: none
    }
}

@media (max-width: 1183px) {
    .portfolio__item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 468px;
        flex: 0 0 468px
    }
}

@media (max-width: 1182px) {
    .modal__close {
        right: 2rem
    }

    .modal-work__content {
        padding: 70px 20px 0
    }

    .card-big {
        width: 100%
    }

    .card-min {
        width: 100%
    }

    .services {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .services__item {
        margin-right: 10px;
        margin-left: 10px;
        max-width: 100%;
        -webkit-box-flex: 1;
        -ms-flex: 1 0 40%;
        flex: 1 0 40%
    }

    .awards__item {
        width: 306px;
        max-height: 449.05px
    }

    .width-b {
        width: 640px
    }

    ._container {
        max-width: 970px
    }
}

@media (max-width: 991px) {
    .title {
        margin-top: 80px
    }

    .card-big {
        width: 100%
    }

    .card-min {
        width: 100%
    }

    .nairi {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-top: 70px
    }

    .nairi__right {
        display: none
    }

    .advantages {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .advantages__item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin-top: 15px;
        margin-bottom: 15px
    }

    .portfolio__item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 370px;
        flex: 0 0 370px;
        height: 500px
    }

    .portfolio__img {
        height: 390px
    }

    .form__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding-top: 0
    }

    .form__left {
        max-width: 100%
    }

    .form__right {
        margin-top: 25px;
        -ms-flex-item-align: start;
        align-self: flex-start
    }

    .result-project__left {
        max-width: 500px
    }

    .contacts__img {
        width: 25px
    }

    .contacts__txt {
        font-size: 20px;
        margin-left: 10px
    }

    .awards__item {
        width: 236px;
        max-height: 346.61px
    }

    .width-b {
        width: 494px
    }

    .width-b img {
        height: auto;
        max-height: 100%
    }
}

@media (max-width: 991.98px) {
    ._container {
        max-width: 750px
    }

    .select__title {
        font-size: 18px
    }

    .select__options {
        font-size: 18px
    }
}

@media (max-width: 767px) {
    .card-big {
        width: 100%
    }

    .card-min {
        min-width: 100%;
        max-width: 100%
    }

    .social {
        margin-right: 25px
    }

    .social__line:first-child {
        margin-bottom: 10px
    }

    .social__line:last-child {
        margin-top: 0
    }

    .uslugi__left {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 70%;
        flex: 0 1 70%
    }

    .uslugi__right {
        margin-left: 10px
    }

    .polse {
        margin-top: 90px
    }

    .beer-slider {
        height: 500px
    }

    .beer-handle {
        width: 8px
    }

    .beer-handle:before {
        width: 52px;
        height: 52px;
        top: 40%
    }

    .services__item {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
        flex: 1 0 100%
    }

    .advantages {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .advantages__item {
        width: 250px;
        margin-top: 30px;
        margin-bottom: 30px
    }

    .portfolio {
        margin: auto;
        max-width: 100%
    }

    .portfolio__item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        height: 560px
    }

    .portfolio__img {
        height: 450px
    }

    .plan__wrapper {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 184px
    }

    .plan__sms {
        position: relative;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0)
    }

    .plan__center {
        position: absolute;
        height: 100%;
        top: -110px
    }

    .plan__line-wrap {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .plan__line:nth-child(1) {
        margin-top: 25px
    }

    .plan__line:nth-child(2) {
        margin-top: 335px
    }

    .plan__line:nth-child(3) {
        margin-top: 360px
    }

    .plan__line:nth-child(4) {
        margin-top: 360px
    }

    .plan__line:nth-child(5) {
        margin-top: 360px
    }

    .plan__left {
        position: relative;
        z-index: 3;
        margin-right: 0
    }

    .plan__left div {
        margin-bottom: 0
    }

    .plan__left div:nth-child(2) {
        margin-top: 580px
    }

    .plan__left div:nth-child(3) {
        margin-top: 580px
    }

    .plan__right {
        position: absolute;
        width: 100%;
        margin-left: 0;
        margin-top: 0
    }

    .plan__right div {
        margin-bottom: 0
    }

    .plan__right div:nth-child(1) {
        margin-top: 415px
    }

    .plan__right div:nth-child(2) {
        margin-top: 580px
    }

    .result-project__wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 15px
    }

    .result-project__right {
        margin-top: 10px
    }

    .contacts__right {
        position: absolute;
        top: 320px;
        z-index: -1;
        left: -250px
    }

    .contacts-home-1 {
        display: none
    }

    .contacts-home-2 {
        width: auto;
        display: block;
        -o-object-fit: cover;
        object-fit: cover
    }

    .contacts-home-2 img {
        height: 100%;
        width: auto
    }

    .awards__item {
        width: 100%;
        max-height: none
    }

    .awards__item img {
        width: 100%;
        height: auto
    }

    .width-b {
        width: 100%
    }

    .header__right {
        width: 380px
    }
}

@media (max-width: 767px) and (max-width: 575px) {
    .plan__line {
        height: 55px;
        width: 55px;
        font-size: 27px
    }

    .contacts-home-2 {
        height: 615px
    }
}

@media (max-width: 767.98px) {
    ._container {
        max-width: none;
        padding: 0 10px
    }
}

@media (max-width: 575px) {
    .subtitle {
        font-size: 14px;
        line-height: 18px
    }

    .social__line {
        height: 90px
    }

    .nairi {
        margin-top: 50px
    }

    .btn {
        margin-top: 15px
    }

    .uslugi__item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .uslugi__left {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
        flex: 0 1 100%
    }

    .uslugi__right {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-top: 40px;
        margin-left: 0;
        top: 0
    }

    .polse {
        margin-top: 50px
    }

    .polse__txt {
        font-size: 27px;
        margin-bottom: 0
    }

    .beer-slider {
        height: 400px
    }

    .work__title-h3:nth-child(4) {
        margin-top: 100px
    }

    .screen-5 {
        margin-top: 80px
    }

    .advantages__item:nth-child(2) img {
        margin-left: 7px;
        width: 47px
    }

    .advantages__left img {
        width: 54px
    }

    .advantages__title {
        font-size: 29px
    }

    .advantages__subtitle {
        margin-top: 1px
    }

    .portfolio__item {
        height: 510px;
        padding-top: 30px;
        padding-left: 8px;
        padding-right: 8px
    }

    .portfolio__title {
        font-size: 20px;
        margin-bottom: 5px
    }

    .portfolio__img {
        height: 400px
    }

    .plan__sms {
        font-size: 13px;
        padding: 10px
    }

    .form__btn {
        padding: 10px 38px;
        font-size: 17px;
        width: 100%
    }

    .form__subtitle {
        font-size: 13px
    }

    .kroshki {
        font-size: 11px
    }

    .kroshki__item {
        margin-left: 4px;
        margin-right: 4px
    }

    .photo-project__item {
        margin-top: 40px
    }

    .feedback-watch {
        font-size: 20px
    }

    .polse__bim {
        bottom: 11px;
        right: 10px;
        font-size: 17px
    }

    .point-cloud {
        bottom: 11px;
        left: 10px
    }

    .header__content {
        padding-top: 15px !important
    }

    .header__right {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .header__mail {
        display: none
    }

    .header__language {
        margin-right: 30px
    }

    .menu {
        width: 100%
    }

    .menu nav ul li {
        padding-right: 0;
        padding-left: 0
    }

    .menu nav ul li a:hover {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }

    .wrapper.nav_is_visible {
        left: 0
    }

    .wrapper.nav_is_visible .menu {
        width: 100%;
        left: 0;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }

    .krest {
        margin-top: 25px
    }

    .logo-menu {
        top: 20px;
        right: 20px
    }

    .footer__mail-img img {
        width: 29px
    }

    .footer__mail-txt {
        font-size: 20px
    }

    .footer__menu {
        margin-top: 30px;
        margin-bottom: 0
    }

    .footer__menu li {
        margin-left: 4px;
        margin-right: 4px;
        font-size: 12px
    }
}

@media (max-width: 567px) {
    .title__h2 {
        margin-top: 4px;
        font-size: 25px;
        line-height: 30px
    }

    .title__line {
        margin-top: 10px
    }

    .services__item {
        margin-right: 0;
        margin-left: 0
    }

    dfn::after {
        left: -230px
    }
}

@media (max-width: 375px) {
    .portfolio__item {
        height: 430px
    }

    .portfolio__img {
        height: 300px
    }
}

.portfolio-slider-section {
    margin-top: 70px;
    margin-bottom: 70px;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    height: 70vh;
    background-color: #000;
    overflow: hidden;
    padding: 20px 0;
}

.myPortfolioSwiper {
    width: 100%;
    height: 100%;
}

.myPortfolioSwiper .swiper-slide {
    width: 75%;
    height: 100%;
}

.myPortfolioSwiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;


    transition: transform 0.4s ease, opacity 0.4s ease;
}

.myPortfolioSwiper .swiper-slide:not(.swiper-slide-active) img {
    opacity: 0.4;
    transform: scale(0.95);
}

.myPortfolioSwiper .swiper-button-next,
.myPortfolioSwiper .swiper-button-prev {
    color: #113dd8;

    background: rgba(0, 0, 0, 0.5);

    width: 60px;
    height: 60px;
    border-radius: 50%;
}

.myPortfolioSwiper .swiper-button-next::after,
.myPortfolioSwiper .swiper-button-prev::after {
    font-size: 24px;

}

@media (max-width: 768px) {
    .myPortfolioSwiper .swiper-slide {
        width: 85%;

    }

    .portfolio-slider-section {
        height: 30vh;
    }
}