@charset "UTF-8";

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

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

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

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

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

ul,
ul li {
    list-style: none
}

img,
svg {
    max-width: 100%
}

img {
    vertical-align: top
}

svg {
    height: auto
}

address {
    font-style: normal
}

input,
select,
textarea {
    background-color: transparent
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    color: inherit
}

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

button,
input[type=submit] {
    display: inline-block;
    box-shadow: none;
    background-color: transparent;
    background: 0 0;
    cursor: pointer
}

button:active,
button:focus,
input:active,
input:focus {
    outline: 0
}

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

label {
    cursor: pointer
}

input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

:root {
    --container-width: 1880px;
    --container-s-width: 1190px;
    --container-padding: 15px;
    --font-main: "Arial", sans-serif;
    --page-bg: #ffffff;
    --text: #0b0b90;
    --primary: #0b0b90;
    --secondary: #690108;
    --light-blue: #a1b1c3;
    --tertiary: #6984a1;
    --grey: #f3f3f3;
    --dark-grey: #323232;
    --medium-grey: #919198;
    --white: #ffffff;
    --laptop-size: 1199px;
    --tablet-size: 959px;
    --mobile-size: 599px
}

@font-face {
    font-family: Arial;
    font-display: swap;
    src: url("../fonts/ArialRegular.woff2") format("woff2"), url("../fonts/ArialRegular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: Arial;
    font-display: swap;
    src: url("../fonts/ArialLight.woff2") format("woff2"), url("../fonts/ArialLight.woff") format("woff");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: Arial;
    font-display: swap;
    src: url("../fonts/ArialBold.woff2") format("woff2"), url("../fonts/ArialBold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}


html {
    scroll-behavior: smooth;
}

a,
body {
    color: var(--text)
}

html,
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    height: unset !important;
}

main,
section {
    background-color: var(--page-bg);
}

body {
    font-family: var(--font-main);
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
    background-color: #161D4D;
}

img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}

a {
    cursor: pointer
}

code,
pre.code {
    background-color: #e9f1f6;
    padding: .2rem;
    border-radius: 4px
}

pre.code {
    overflow-x: auto;
    padding: 1rem
}

.section {
    padding: 60px 0;
    scroll-margin-top: 60px;
    overflow: hidden;
}

.title-l {
    color: var(--white);
    font-size: 48px;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
}

.title {
    font-size: 64px;
    line-height: 1.15;
    font-weight: 700;
    text-wrap: nowrap
}

.title-s {
    font-size: 52px;
    line-height: 1.15;
    font-weight: 700;
}

.title__line {
    max-width: 180px;
    width: 100%;
    height: 11px;
    background-color: var(--primary)
}

.subtitle {
    margin-bottom: 20px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2
}

.logo {
    max-width: 180px;
    width: 100%;
    height: 65px;
}

.btn {
    max-width: fit-content;
    padding: 19px 60px;
    height: 60px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.1;
    border-radius: 4px;
    text-wrap: nowrap;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    max-width: 214px;
    width: 100%;
    transition: all .32s linear
}

.btn:hover {
    filter: brightness(120%)
}

.btn svg {
    width: 24px;
    height: 24px;
}

.btn-white {
    color: #333;
    background-color: var(--white)
}

.btn-secondary {
    padding: 30px 75px;
    height: 80px;
    font-size: 25px;
    line-height: 1.55;
    font-weight: 600;
    color: var(--white);
    background-color: var(--secondary)
}

.btn-primary {
    color: var(--white);
    background-color: var(--primary)
}

.btn-whatsapp {
    max-width: 100%;
    background-color: #27D367;
    color: var(--white);
}

.arrow,
.arrow-next svg,
.arrow-prev svg {
    display: flex;
    justify-content: center;
    align-items: center
}

.arrow {
    margin: 0 auto;
    gap: 25px
}

.arrow-next,
.arrow-prev {
    width: 50px;
    height: 50px;
    background-color: rgba(1, 11, 144, .7);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .32s linear;
    position: absolute;
    top: calc(50% - 25px);
    z-index: 2;
}

.arrow-prev {
    transform: rotate(180deg);
    left: 10px
}

.arrow-next {
    right: 10px
}

.arrow-next svg,
.arrow-prev svg {
    width: 24px;
    height: 24px
}

.arrow-next:hover svg path:first-of-type,
.arrow-prev:hover svg path:first-of-type {
    fill: var(--grey)
}

.arrow-next:hover svg path:last-of-type,
.arrow-prev:hover svg path:last-of-type {
    fill: var(--primary)
}

input[type=checkbox] {
    width: 20px;
    height: 20px
}

.custom-checkbox {
    display: flex;
    justify-content: center;
    align-items: center
}

.custom-checkbox>input {
    position: absolute;
    z-index: -1;
    opacity: 0
}

.custom-checkbox>label {
    display: inline-flex;
    align-items: start;
    user-select: none;
    font-weight: 400;
    font-size: 14px;
    text-wrap: wrap
}

.custom-checkbox>label::before {
    margin-top: 1px;
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    flex-grow: 0;
    border: 1px solid #adb5bd;
    border-radius: 2px;
    margin-right: 10px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
    display: flex;
    justify-content: start;
    align-items: start
}

.custom-checkbox>label span {
    margin-right: 6px
}

.custom-checkbox>input:not(:disabled):not(:checked)+label:hover::before {
    border-color: var(--primary)
}

.custom-checkbox>input:checked+label::before {
    background: var(--primary) url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTQuMDQyOTM4OTYsMTAuMDQyODE4MyBDMy43OTc2NzQzOCw5LjQwOTg2NTU4IDQuNjU2MjkwNjcsOC44NTU2NjM3NCA1LjI2OTY0MjM4LDguODU1NjYzNzQgQzUuODgyOTk0MDksOC44NTU2NjM3NCA3LjcyMzA0OTA3LDExLjUyNjc2MTQgNy43MjMwNDkwNywxMS41MjY3NjE0IEM3LjcyMzA0OTA3LDExLjUyNjc2MTQgMTIuMzIzMTg2OSw0LjQwMzgzNDI5IDEyLjYyOTg2MjksNC4xMDcwNDU2NiBDMTIuOTM2NTM4OSwzLjgxMDI1NzAzIDE0LjQ2OTkxODIsNC4xMDcwNDU2NiAxMy44NTY1NjYzLDUuMjk0MjAwMTggQzEzLjMxMzMyMTYsNi4zNDU2NjA4NCA4LjMzNjQwMDkyLDEzLjYwNDI4MTggOC4zMzY0MDA5MiwxMy42MDQyODE4IEM4LjMzNjQwMDkyLDEzLjYwNDI4MTggNy43MjMwNDkyMSwxNC40OTQ2NDc3IDcuMTA5Njk3NTEsMTMuNjA0MjgxOCBDNi40OTYzNDU4LDEyLjcxMzkxNTkgNC4yODgyMDM1NSwxMC42NzU3NzA5IDQuMDQyOTM4OTYsMTAuMDQyODE4MyBaIi8+ICA8L2c+PC9zdmc+) no-repeat center;
    background-size: 14px 14px;
    border-color: var(--primary)
}

.custom-checkbox>input:disabled+label::before {
    background-color: #e9ecef
}

.input {
    padding: 12px;
    display: block;
    width: 100%;
    height: 50px;
    font-family: var(--font-main);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.3;
    color: var(--medium-grey);
    appearance: textfield;
    background-color: var(--grey);
    border: 1px solid rgba(0, 0, 0, .04);
    border-radius: 4px;
    outline: 0;
    position: relative;
    text-overflow: ellipsis;
    z-index: 2
}

.input::placeholder {
    font-family: var(--font-main);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.3;
    color: var(--medium-grey);
}

.input:active,
.input:focus {
    border: 1px solid var(--primary)
}

.textarea {
    padding: 12px;
    display: block;
    width: 100%;
    min-height: 100px;
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    appearance: textfield;
    border-radius: 4px;
    color: var(--medium-grey);
    background-color: var(--grey);
    border: 1px solid rgba(0, 0, 0, .04);
    border: none;
    outline: none;
    position: relative;
    text-overflow: ellipsis;
    z-index: 2;
    resize: none;
}

.textarea::placeholder {
    font-family: var(--font-main);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    color: var(--medium-grey);
}

.textarea:focus,
.textarea:active {
    border: 1px solid var(--primary)
}

.top-title {
    margin: 0 auto;
    max-width: 1370px;
    width: 100%
}

.select2-container {
    font-size: 16px;
    width: 100% !important
}

.select2-container--default .select2-selection--single {
    background-color: var(--grey);
    border: 1px solid rgba(0, 0, 0, .04)
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--primary);
    line-height: 50px
}

.select2-container .select2-selection--single {
    height: 50px
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px;
    right: 20px
}

/* .modal {
    border-radius: 0 !important;
    overflow: hidden
} */
.modal {
    display: none;
    /* обычное скрытие */
    visibility: visible !important;
    /* не запрещаем iziModal показывать */
    opacity: 1 !important;
    /* убираем анимационные конфликты */
}

.iziModal {
    display: none;
}

.iziModal-overlay {
    opacity: 1 !important;
}

.modal__wrap {
    padding: 10px;
    box-shadow: inset 0 0 0 1px #a0b2c4;
    position: relative;
    z-index: 2;
    overflow: hidden
}

.modal__close {
    position: absolute;
    z-index: 10;
    top: 30px;
    right: 30px;
    cursor: pointer
}

.modal__close svg {
    width: 32px;
    height: 32px;
    transition: all .32s linear
}

.modal__close svg path {
    stroke: var(--primary)
}

.modal__close svg:hover {
    transform: rotate(90deg)
}

.modal .form {
    background-color: var(--white)
}

.container,
.container-s {
    margin: 0 auto;
    padding: 0 var(--container-padding);
    max-width: var(--container-width);
    width: 100%
}

.container-s {
    max-width: var(--container-s-width)
}

.form {
    padding-top: 30px;
    background-color: var(--tertiary);
}

.form__content {
    margin: 0 auto;
    padding: 10px 30px 30px;
    max-width: 700px;
    width: 100%;
    background-color: var(--white)
}

.b24-form {
    padding: 30px 0;
    background-color: var(--tertiary)
}

.form__line {
    margin-bottom: 20px;
    background-color: var(--grey);
    height: 1px;
    width: calc(100% + 60px);
    position: relative;
    left: -30px
}

.form__title {
    margin: 0 0 10px;
    font-size: 22px;
    text-align: center
}

.form__input {
    margin-bottom: 17px;
    position: relative
}

.form__input::after {
    content: " *";
    color: #ee2722;
    position: absolute;
    top: 17px;
    right: 8px;
    z-index: 2
}

.form .custom-checkbox>label {
    font-size: 11px;
    line-height: 1.3
}

.form .btn-primary {
    margin-top: 20px;
    max-width: 100%
}

.footer {
    padding: 60px 0;
    background-color: var(--tertiary);
}

.footer a,
.footer__title,
.footer__wrap,
.nav .nav li {
    color: var(--white)
}

.footer__title {
    margin-bottom: 40px;
    font-size: 48px;
}

.footer__content {
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    align-items: start;
    gap: 60px
}

.footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 40px
}

.footer__logo {
    max-width: 200px;
    width: 100%;
    height: 70px
}

.footer__logo img {
    object-fit: contain;
}

.footer__left {
    max-width: 400px;
    display: flex;
    flex-direction: column;
    align-items: stretch
}

.footer__left a {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 700
}

.footer .btn-white {
    color: var(--primary);
}

.footer__link {
    display: flex;
    align-items: center;
    gap: 5px
}

.footer__address {
    margin-top: 32px;
    font-size: 20px;
    font-weight: 700
}

.footer svg {
    fill: var(--white)
}

.footer__social {
    display: flex;
    gap: 10px
}

.footer__social-link svg {
    width: 40px;
    height: 40px
}

.footer__nav.nav {
    align-items: start;
    flex-direction: column;
    justify-content: start;
}

.footer__nav .nav__list {
    align-items: start;
    justify-content: start;
    flex-direction: column;
}

.footer__nav .nav__list-links li a {
    color: var(--white);
}

.footer__nav .nav__list li a {
    transition: all 0.32s linear;
}

.footer__nav .nav__list li a:hover {
    color: var(--primary);
}

#footer_map {
    padding: 10px;
    border: 1px solid var(--white);
    max-width: 550px;
    width: 100%;
    height: 400px
}

.footer__contacts {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}


.footer__contacts-right {
    padding: 5px;
    background-color: var(--white);
    max-width: 100px;
    height: 100px;
    aspect-ratio: 1 / 1;
}

.footer__contacts-right img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* #products-container {
    height: 83vh;
    overflow-y: auto;
} */

.header {
    display: flex;
    align-items: center;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 1000;
    background: #161D4D;
}

/* .header__line {
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
    height: 7px;
    background-color: var(--primary)
} */

.header__wrap {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--primary)
}

.header__burger {
    display: none
}

.header__lang-btn-wrap {
    /* margin-top: 28px; */
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px
}

.header__lang-btn {
    font-size: 22px;
    line-height: 1.55;
    font-weight: 700
}

.header__lang-btn-wrap li {
    list-style-type: none;
}

.header__lang-btn-wrap li a {
    font-size: 22px;
    line-height: 1.55;
    font-weight: 700;
    color: #a5b5c7;
    text-transform: uppercase;
}

.header__lang-btn-wrap li.current-lang a {
    color: var(--white);
}

.header__contacts-mobile {
    display: none;
}

.nav {
    /* margin-top: 28px; */
    justify-content: end;
    column-gap: 10px
}

.nav,
.nav__list,
.nav__list-item a {
    display: flex;
    align-items: center
}

.nav__list {
    justify-content: end;
    column-gap: 15px;
}

.nav li {
    position: relative;
    transition: all .32s linear
}

.nav__list-item a {
    gap: 6px;
}

.nav__list-item {
    font-size: 22px;
    line-height: 1.55;
    font-weight: 700;
    color: var(--primary)
}

.nav__list-links li a {
    color: var(--secondary)
}

.nav__list-icon {
    margin-bottom: 3px;
    opacity: 0
}

.nav__list-item:hover .nav__list-icon {
    opacity: 1
}

.nav__list-item {
    position: relative;
}

.submenu {
    display: none;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.20);
    backdrop-filter: blur(5px);
    z-index: 1000;
    width: max-content;
    position: absolute;
    top: calc(100% - 2px);
    left: 0;
}

.submenu ul {
    padding: 10px;
    margin: 0;
    list-style-type: none;
}

.submenu ul li a {
    padding: 10px;
    display: block;
    text-decoration: none;
    transition: all 0.32s linear;
}

.submenu ul li a:hover {
    filter: brightness(85%);
}

.nav__list-item-active>.submenu {
    display: block;
}

.icons-wrapper {
    padding: 30px 0;
    display: flex;
    column-gap: 30px
}

.icon {
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center
}

.icon--arrow {
    width: 27px;
    height: 27px
}

.icon--location {
    width: 24px;
    height: 24px
}

.icon--phone {
    width: 18px;
    height: 18px
}

.section_preview {
    position: relative;
    max-width: 100%;
    width: 100%;
    padding: 52px 0 52px 0;
    margin: 0px auto;
    z-index: 1;
    background: linear-gradient(180deg, #161D4D 0%, #282857 100%);
    min-height: 840px;
}

.preview__header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: block;
}

.preview__header .header__wrap {
    padding: 15px 0;
    border-bottom: none;
}

.preview__header .nav__list-item,
.preview__header .nav__list-item a {
    color: var(--white);
}

.preview__header .header__object {
    color: var(--white);
}

.preview__header .header__lang-btn {
    color: var(--white);
}


.preview__header .nav {
    margin-top: 0px;

}

.preview__header .header__lang-btn-wrap {
    margin-top: 0px;
}

.preview {
    padding-bottom: 50px;
}

.preview__bg {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
    z-index: -1;
}

.preview__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.preview__title {
    margin: 0 auto;
    max-width: 925px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.preview__subtitle {
    color: #F5F5F5;
    font-size: 18px;
    font-weight: 600;
    line-height: normal;
    text-align: center;
}

.preview__img {
    margin: 70px auto 20px;
    max-width: 620px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

}

.preview__box {
    margin: 0 auto;
    padding: 24px;
    max-width: 1120px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04));
    border: 1px solid rgba(255, 255, 255, .25);
    backdrop-filter: blur(6px) saturate(120%);
    -webkit-backdrop-filter: blur(6px) saturate(120%);
    color: #fff;
    text-align: center;
    overflow: hidden;
}

.preview__box ul {
    margin-right: 40px;
    font-size: 36px;
    line-height: 1;
    font-weight: 500;
    font-family: var(--font-second);
    gap: 40px;
    display: flex;
}

.marquee-wrapper {
    overflow: hidden;
    width: 100%;
}

.marquee-track {
    display: flex;
    width: max-content;
    animation: marqueeMove 20s linear infinite;
}

.marquee-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.marquee-list li {
    white-space: nowrap;
}


@keyframes marqueeMove {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.top {
    min-height: 915px
}

.top__wrap {
    position: relative
}

.top__content-wrap {
    padding-right: 30px;
    display: grid;
    grid-template-columns: 1fr 380px 320px 380px;
    position: absolute;
    width: 100%;
    height: 100%;
    top: -20px;
    left: 0;
    z-index: 1
}

.top__title {
    color: var(--light-blue);
    font-size: 340px;
    line-height: .78;
    font-weight: 700;
    letter-spacing: -17px;
    position: relative;
    z-index: -1
}

.top__title-1 {
    margin-bottom: 28px
}

.top__title-2 {
    margin-left: 60%
}

.top__subtitle-wrap {
    margin-top: 295px;
    position: relative
}

.top__subtitle-wrap .top__line {
    margin-bottom: 40px
}

.top__subtitle-wrap .top__box {
    position: absolute;
    bottom: 120px;
    right: 40px
}

.top__subtitle-wrap .top__big-box {
    position: absolute;
    bottom: 180px;
    right: 100px
}

.top__big-box,
.top__box {
    width: 60px;
    height: 60px;
    background-color: var(--primary)
}

.top__big-box {
    width: 90px;
    height: 90px
}

.top__subtitle {
    max-width: 650px;
    font-size: 48px;
    line-height: 1;
    letter-spacing: 1px;
    font-weight: 700
}

.top__img {
    max-width: 320px;
    width: 100%;
    height: 320px
}

.top__img-wrap-1 {
    padding-top: 60px;
    position: relative
}

.top__img-1 {
    margin-top: 140px;
    margin-bottom: 30px;
    position: relative
}

.top__img-wrap-1 .top__box {
    position: absolute;
    top: 140px;
    right: 0
}

.top__img-1 .top__line {
    position: absolute;
    bottom: 0
}

.top__mega-box {
    margin-right: 60px;
    margin-left: auto;
    width: 160px;
    height: 160px;
    background-color: var(--light-blue)
}

.top__line {
    max-width: 240px;
    width: 100%;
    height: 8px;
    background-color: var(--primary)
}

.top__img-wrap-2 {
    padding-top: 470px
}

.top__img-2,
.top__img-3 {
    position: relative
}

.top__img-2 .top__line {
    position: absolute;
    left: 150px;
    bottom: 25px
}

.top__img-3 .top__line {
    position: absolute;
    bottom: 0
}

.top__img-3 .top__box-1 {
    position: absolute;
    right: -60px;
    bottom: -60px
}

.top__img-3 .top__box-2 {
    position: absolute;
    right: 0;
    bottom: -120px
}

.ornament__img {
    height: 210px
}

.ornament__img img {
    object-fit: cover;
}

.news {
    padding-bottom: 130px
}

.news__wrap {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 40px;
    min-height: 607px
}

.news__img,
.news__info {
    max-width: calc(50% - 20px)
}

.news__img {
    width: 100%;

}

.news .btn-white {
    margin-bottom: 20px;
    padding: 19px;
    max-width: 100%;
    text-wrap: wrap;
    text-align: center;
    color: var(--tertiary);
    font-weight: 300;
}


.news__img img,
.projects__img img,
.team__item-img img {
    object-fit: cover
}

.news__info {
    padding: 60px;
    background-color: #6984a1;
    color: var(--white);
    text-wrap: wrap;
}

.news__title {
    margin-bottom: 24px;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25
}

.news__line {
    margin-bottom: 24px;
    max-width: 50px;
    width: 100%;
    height: 3px;
    background-color: var(--white);
    opacity: .6
}

.news__text {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 300;
}

.news__text a {
    color: var(--white);
    text-decoration: underline;
}

.info {
    padding-bottom: 210px;
}

.info__wrap {
    position: relative
}

.info__logo {
    margin-bottom: 80px;
    max-width: 346px;
    width: 100%;
    height: 46px
}

.info__title {
    padding-top: 190px;
    padding-bottom: 120px;
    color: var(--grey);
    font-size: 248px;
    line-height: .78;
    font-weight: 700;
    letter-spacing: -20px;
    position: relative;
    z-index: -1
}

.info__title-1 {
    margin-bottom: 45px;
    margin-left: 36%
}

.info__title-en-1 {
    margin-left: 12%
}

.info .subtitle {
    margin-bottom: 170px;
    max-width: 580px;
    text-wrap: wrap
}

.info__content {
    position: absolute;
    max-width: 1385px;
    width: 100%;
    height: 100%;
    top: -20px;
    left: calc((100% - 1385px) / 2);
}

.info__quote-wrap {
    margin-left: auto;
    max-width: 1120px;
    width: 100%;
    position: relative
}

.info__line-bottom,
.info__line-top {
    width: 100%;
    background-color: var(--primary)
}

.info__line-top {
    margin-bottom: 20px;
    max-width: 170px;
    height: 12px
}

.info .quote {
    max-width: 875px;
    font-size: 22px;
    line-height: 1.4
}

.info .quote p {
    margin-bottom: 30px;
    text-wrap: wrap;
}

.info .quote cite {
    font-weight: 600;
    font-style: normal
}

.info .quote footer {
    padding-bottom: 85px
}

.info__line-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 5px
}

.info__img {
    max-width: 1075px;
    position: absolute;
    bottom: 0;
    right: -550px
}

.about-company {
    padding-bottom: 145px;
}

.about-company__wrap {
    position: relative
}

.about-company__bg {
    padding-top: 350px;
    color: var(--grey);
    font-size: 342px;
    line-height: .78;
    font-weight: 700;
    letter-spacing: -4px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.about-company__bg-2 {
    margin-left: 20%
}

.about-company__title-wrap {
    margin: 0 auto 90px;
    max-width: 1370px;
    width: 100%;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 120px
}

.about-company__big-box {
    background-color: var(--primary);
    width: 90px;
    height: 90px;
    position: absolute;
    right: 150px;
    top: 100px
}

.about-company__box {
    background-color: var(--light-blue);
    width: 60px;
    height: 60px;
    position: absolute;
    right: 90px;
    top: 190px
}

.about-company__top {
    margin: 0 auto 110px;
    max-width: 1785px;
    width: 100%;
    display: flex;
    justify-content: start;
    align-items: start;
    gap: 120px
}

.about-company__left {
    padding: 60px 60px 100px;
    max-width: 585px;
    width: 100%;
    background-color: var(--secondary);
    color: var(--white);
    font-size: 22px;
    line-height: 1.4
}

.about-company__subtitle {
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: 700
}

.about-company__right {
    max-width: 770px;
    width: 100%;
    font-size: 22px;
    line-height: 1.4
}

.about-company__bottom {
    margin: 0 auto;
    max-width: 1150px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 120px
}

.about-company__bottom li,
.services li {
    background-color: var(--primary);
    color: var(--white);
    display: flex;
    flex-direction: column
}

.about-company__bottom li {
    padding: 20px 30px;
    font-size: 22px;
    line-height: 1.4
}

.about-company__number {
    margin-bottom: 20px;
    font-size: 26px;
    font-weight: 700
}

.services ul,
.services__wrap {
    margin: 0 auto;
    max-width: 1340px;
    width: 100%
}

.services__title-wrap,
.services__title-wrap .title {
    margin-bottom: 30px
}

.services__subtitle {
    margin-bottom: 63px;
    max-width: 600px;
    font-size: 22px;
    line-height: 1.4
}

.services ul {
    max-width: 1160px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.services li {
    padding: 75px 35px 55px
}

/* 
.services li:nth-of-type(1),
.services li:nth-of-type(2),
.services li:nth-of-type(3) {
    grid-column: span 2
}

.services li:nth-of-type(4),
.services li:nth-of-type(5) {
    grid-column: span 3
} */

.services__number {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700
}

.services__name {
    margin-bottom: 15px;
    font-size: 19px;
    font-weight: 700
}

.services__text {
    font-size: 16px;
    font-weight: 300;
}

.projects__wrap {
    position: relative
}

.projects__bg {
    padding-top: 275px;
    color: var(--grey);
    font-size: 342px;
    line-height: .78;
    font-weight: 700;
    letter-spacing: -4px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.projects__bg-2 {
    margin-left: 20%
}

.projects .top-title {
    position: absolute;
    top: 10px;
    left: calc((100% - 1370px)/2)
}

.projects__title-wrap {
    margin-bottom: 5px;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 20px
}

.projects__subtitle {
    font-size: 26px;
    line-height: 1.25;
    font-weight: 700
}

.projects ul {
    margin: 30px auto 0;
    max-width: 1040px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.projects li {
    max-width: 320px;
    width: 100%;
    height: 320px
}

.projects__box,
.projects__box a {
    color: var(--white);
    display: flex;
    flex-direction: column;
    align-items: stretch
}

.projects__box {
    padding: 20px;

}

.projects__box a {
    width: 100%;
    height: 100%
}

.projects__box-img {
    position: relative
}

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

.projects__date {
    margin-bottom: auto;
    font-size: 22px;
    position: relative;
    z-index: 2;
}

.projects__title {
    margin-bottom: 12px;
    font-size: 28px;
    font-weight: 700;
    position: relative;
    z-index: 2;
}

.projects__text {
    font-size: 22px;
    position: relative;
    z-index: 2;
}

.projects__box-primary {
    background-color: var(--primary);
    color: var(--white)
}

.projects__box-secondary {
    background-color: var(--secondary);
    color: var(--white)
}

.map {
    padding-bottom: 20px
}

.map__title-wrap {
    margin-bottom: 5px;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 20px
}

.map__subtitle {
    font-size: 26px;
    line-height: 1.25;
    font-weight: 700
}

.map__img,
.partners ul {
    margin: 0 auto;
    max-width: 1055px;
    width: 100%
}

.map__img {
    height: 645px;
}

.map__img-mobile {
    display: none;
}

.partners {
    padding-bottom: 100px
}

.partners .top-title {
    margin-bottom: 75px
}

.partners ul {
    max-width: 1200px;
    display: grid;
    grid-template-columns: repeat(6, 1fr)
}

.partners li {
    padding: 20px;
    max-width: 200px;
    width: 100%;
    height: 200px;
    filter: grayscale(100%);
    border-right: 1px solid #eee;
    transition: all 0.32s linear;
}

.partners li:hover {
    filter: none;
}

.partners li:nth-of-type(-n+6) {
    border-bottom: 1px solid #eee
}

.partners li:nth-of-type(12),
.partners li:nth-of-type(6) {
    border-right: none
}

.questions__wrap {
    padding-bottom: 60px;
    position: relative;
    margin: 0 auto;
    max-width: 885px;
    width: 100%
}

.questions__title-wrap {
    margin: 0 auto 15px;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 30px
}

.questions__big-box {
    width: 100px;
    height: 100px;
    background-color: var(--primary);
    position: absolute;
    top: -65px;
    left: -150px
}

.questions__box {
    width: 60px;
    height: 60px;
    background-color: var(--primary)
}

.questions__box-1 {
    position: absolute;
    bottom: 75px;
    right: -44px
}

.questions__box-2 {
    position: absolute;
    bottom: 15px;
    right: 15px
}

.questions__text {
    margin-bottom: 30px;
    font-size: 22px;
    text-wrap: wrap
}

.team {
    padding-bottom: 145px
}

.team__wrap {
    overflow: hidden
}

.team .top-title {
    padding: 0 15px;
}

.team__title-wrap {
    margin: 0 auto 205px;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 30px
}

.team__slider-wrap {
    position: relative
}

.team__list {
    margin: 0 -20px;
    height: 550px;
    overflow: visible
}

.team__item {
    margin: 0 40px;
    position: relative;
    color: var(--white);
    height: 485px;
    transition: all .5s ease-in-out
}

.team .slick-current {
    transform: scale(1.2);
    z-index: 2
}

.team .slick-track,
.team__info {
    display: flex;
    align-items: center
}

.team .slick-list {
    overflow: visible
}

.team__info {
    padding: 25px;
    height: 100%;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .5))
}

.team__item-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.team__item-name {
    margin-top: auto;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 700
}

.team__item-job {
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 300;
}

.team__item-phone {
    font-size: 13px;
    color: var(--white);
    color: #ffffff;
    font-weight: 700;
}

.team__item a {
    color: #ffffff;
}

a.team__item-phone {
    color: var(--white);
}

.team__item-email {
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
}

.telegram {
    padding-bottom: 0
}

.telegram__wrap {
    position: relative;
    gap: 50px
}

.telegram__left {
    padding-top: 50px;
    padding-bottom: 50px
}

.telegram__text {
    margin-bottom: 50px;
    font-size: 36px;
    font-weight: 700
}

.telegram__img {
    max-width: 800px;
    width: 100%;
    position: absolute;
    bottom: -5px;
    right: 0;
    z-index: 1;
}

.telegram__img-mobile {
    display: none;
}


.products.columns-4 {
    margin-bottom: 60px;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr)
}

.woocommerce-pagination ul {
    margin-bottom: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.woocommerce-pagination li a {
    width: 40px;
    height: 40px;
    background-color: white;
    border: 1px solid var(--primary);
    color: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
}

.woocommerce-pagination li span.current {
    width: 40px;
    height: 40px;
    background-color: var(--primary);
    border: 1px solid var(--primary);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
}

.products__list {
    display: grid;
    align-items: start;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr)
}

.product-card {
    background: var(--white);
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease;
}

.product-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.product-card .product-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #111;
}

.product-card .product-price {
    font-size: 14px;
    color: #3b82f6;
    font-weight: 600;
}




.card-product__info {
    padding: 0px 10px;
}

.popular .btn-secondary {
    margin: 30px auto 0;
    max-width: 200px;
}

.popular__list {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr)
}

.product__item {
    box-sizing: border-box;
    border: 1px solid #EBEBEB;
    /* box-shadow: 0 36px 29px 0 rgba(0, 0, 0, 0.03), 0 8px 6px 0 rgba(0, 0, 0, 0.02), 0 2px 1px 0 rgba(0, 0, 0, 0.01);*/
    background: #F5F5F5;
    padding: 10px;
    list-style: none;
    position: relative;
}

.woocommerce-loop-product__title {
    color: rgba(21, 21, 23, 1);
    font-size: 18px;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: left;
}

.card-product__name {
    margin-top: 20px;
    margin-bottom: 10px;
}

.card-product__img {
    position: relative;
    border-radius: 5px;
    overflow: hidden;
    height: 180px;
}

.card-product__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-product__tags {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 5px;
    position: absolute;
    top: 10px;
    left: 10px;
}

.card-product__tag {
    border-radius: 5px;
    background: var(--white);
    font-size: 14px;
    color: rgba(39, 49, 118, 1);
    border-radius: 5px;
    padding: 4px 6px;
}

.card-product__option {
    color: rgba(145, 145, 152, 1);
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: left;
    display: flex;
    justify-content: flex-start;
    align-items: start;
    margin-top: 5px;
    gap: 5px;
}

.card-product__option svg {
    min-width: 16px;
    max-width: 16px;
    height: 16px;
}

.card-product__square {
    padding: 15px;
    color: rgba(145, 145, 152, 1);
    font-size: 14px;
    line-height: 100%;
    text-align: left;
    background: white;
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

.card-product__square span:last-child {
    color: rgba(21, 21, 23, 1);
}

.card-product__contact-btn,
.map-popup__contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    margin-top: 12px;
    border-radius: 6px;
    border: none;
    background: #0b0b90;
    color: var(--white);
    font-size: 14px;
    cursor: pointer;
}

.card-product__contact-btn:hover,
.map-popup__contact-btn:hover {
    background: #690108;
}

.square__filters-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.square__filters-box input {
    border: 1px solid #ccc;
    height: 28px;
    padding: 5px;
    border-radius: 5px;
}

.square__filter label {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
}

.shop__list {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr);
}

.woocommerce-breadcrumb {
    margin: 0px auto;
    padding: 20px var(--container-padding);
    max-width: var(--container-width);
    width: 100%
}

.woocommerce-products-header {
    display: none;
}

.woocommerce-result-count {
    display: none;
}

.woocommerce-ordering {
    display: none;
}


/* Filter */

.filter__title {
    margin-bottom: 10px;
    width: 100%;
    font-size: 28px;
    line-height: normal;
    font-weight: 600;
    color: var(--white);
    text-align: center;
}

.square__filter {
    padding: 25px 20px;
    max-width: calc(25% - 9px);
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: var(--white);
}

.filter .title {
    margin-bottom: 30px;
}

.filter-toggle-btn {
    display: none;
}

#filter-form {
    max-width: 1200px;
    width: 100%;
    margin: 20px auto;
    padding: 40px;
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

#filter-form select {
    min-width: 100%;
    padding: 8px 12px;
    border-radius: 5px;
    background-color: var(--white);
    color: #151517;
    font-size: 14px;
    cursor: pointer;
    height: 52px;
    transition: border-color 0.2s ease;
}

#filter-form select:focus {
    border-color: #3b82f6;
    outline: none;
}

#filter-form label[for="square_range"] {
    margin-bottom: 20px;
    flex: 1 1 100%;
    font-weight: 500;
    font-size: 14px;
    color: #333;
}

#square_range {
    flex: 1 1 100%;
    margin-top: 6px;
    margin-bottom: 12px;
}

#square_amount {
    font-weight: 700;
    color: #111;
    margin-left: 8px;
}

.filter {
    overflow: visible;
}

.filter-form__content {
    position: relative;
}

.filter-form__top {
    max-width: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.filter-form__top select {
    min-width: unset;
    width: 100%;
}

.filter-form__bottom {
    max-width: 100%;
    width: 100%;
    display: flex;
    gap: 10px;
}

.filter-form__bottom-left {
    max-width: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.filter__big-box {
    background-color: var(--primary);
    position: absolute;
    top: 140px;
    left: 40px;
    width: 100px;
    height: 100px;
}

.filter__box {
    width: 60px;
    height: 60px;
    background-color: var(--primary)
}

.filter__box-1 {
    position: absolute;
    bottom: 30px;
    right: 75px
}

.filter__box-2 {
    position: absolute;
    bottom: -30px;
    right: 15px
}

.filter-form__item {
    padding-right: 10px;
    background-color: var(--white);
    border-radius: 5px;
}

.select2-container .select2-dropdown {
    margin-top: 5px;
}

.select2-container .select2-selection {
    min-height: 52px;
}

.select2-container--default .select2-selection--single {
    height: 52px;
    line-height: 48px;
    padding: 0 12px;
    font-size: 16px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 52px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #151517;
    line-height: 52px;
    font-size: 15px;
    font-weight: 600;
}

.select2-container--default .select2-selection--single {
    border: 1px solid rgba(32, 39, 87, 0.20);
}

.select2-dropdown {
    background-color: white;
    border: 1px solid rgba(32, 39, 87, 0.20);
    border-radius: 5px;
}

.select2-container--open .select2-dropdown--below {
    border-top: 1px solid rgba(32, 39, 87, 0.20);
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.select2-container--default .select2-results>.select2-results__options {
    padding: 5px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #f5f5f5;
    color: #151517;
    border-radius: 5px;
}

.select2-container--default .select2-results__option--selected {
    background-color: #ddd;
    border-radius: 5px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'><path d='M7.65003 9.64999L5.23336 7.23332C5.20003 7.19999 5.17514 7.16399 5.1587 7.12532C5.14225 7.08666 5.13381 7.04488 5.13336 6.99999C5.13336 6.9111 5.16403 6.83332 5.22536 6.76666C5.2867 6.69999 5.36714 6.66666 5.4667 6.66666H10.5334C10.6334 6.66666 10.714 6.69999 10.7754 6.76666C10.8367 6.83332 10.8671 6.9111 10.8667 6.99999C10.8667 7.02221 10.8334 7.09999 10.7667 7.23332L8.35003 9.64999C8.29447 9.70555 8.23892 9.74443 8.18336 9.76666C8.12781 9.78888 8.0667 9.79999 8.00003 9.79999C7.93336 9.79999 7.87225 9.78888 7.8167 9.76666C7.76114 9.74443 7.70558 9.70555 7.65003 9.64999Z' fill='%23919198'/></svg>") center center no-repeat;
    background-size: 16px 16px;
    width: 24px;
    height: 100%;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 52px;
    right: 6px;
    transition: all 0.32s linear;
}

.select2-container--open .select2-selection--single .select2-selection__arrow {
    transform: rotate(180deg);
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.filter__btn {
    border-radius: 5px;
    background: var(--tertiary);
    color: var(--white);
}

.filter__cancel-btn {
    margin-left: auto;
    border-radius: 5px;
    background: var(--tertiary);
    color: var(--white);
}

/* #map {
    height: 500px;
    width: 100%;
} */

.photo {
    width: 300px;
    height: 200px;
    margin-bottom: 20px;
    border-radius: 20px;
}

.name {
    font-size: 18px;
    color: #151517;
}

.photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.leaflet-container a {
    display: flex;
    flex-direction: column;
}

.leaflet-control-attribution {
    display: none !important;
}


.objects__map {
    border-radius: 10px;
    overflow: hidden;
}

.popular__title .title,
.objects__title .title {
    margin-bottom: 30px;
}

.popular__title .title-s,
.objects__title .title-s {
    margin-bottom: 30px;
}

.objects__tabs {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.objects__tab {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 17px;
    font-weight: 500;
    background-color: var(--tertiary);
    color: var(--white);
    border-radius: 4px;
    padding: 10px 20px;
    height: 50px;
    gap: 10px;
    cursor: pointer;
    transition: all 0.32s linear;
}

.objects__tab.active {
    background-color: var(--primary);
}

.objects__tab:hover {
    background-color: var(--primary);
}

.objects__tab span {
    display: flex;
    justify-content: center;
    align-items: center;
}

.objects__list {
    display: none;
}

.objects__list.active {
    display: block;
}

.objects__map {
    height: 0px;
}

.objects__map.active {
    height: 700px;
}

.objects__wrap.active {
    display: grid;
    grid-template-columns: 540px 1fr;
    gap: 20px;
}

.objects__wrap.active .products__list {
    grid-template-columns: repeat(2, 1fr);
}

.objects__wrap.active .objects__list {
    display: block;
    height: 88vh;
    overflow-y: auto;
}

.objects__wrap.active .objects__map {
    height: 100%;
}

objects__wrap.active .objects__map #map {
    height: 100%;
}

[value="Аренда и Продажа"] {
    display: none;
}


/* Деталка одного объекта */
.product-single {
    overflow: visible;
    color: #151517;
}

.product-single__title .title-s {
    margin-bottom: 30px;
    color: var(--text);
}


.product-single__content {
    margin-bottom: 44px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    position: relative;
    min-height: 100vh;
}

.product-single__wrap {
    width: calc(100% - 365px);
    min-height: 100vh;
}


.product-single__img-slider-wrap {
    position: relative;
    overflow: hidden;
}

.product-single__main-image,
.product-single__img-item {
    height: 530px;
}

.product-single__img-item img,
.product-single__main-image img {
    object-fit: cover;
}

.counter {
    padding: 5px;
    width: fit-content;
    border-radius: 5px;
    background-color: #F5F5F5;
    position: absolute;
    z-index: 4;
    bottom: 20px;
    left: calc(50% - 22px);
    right: calc(50% - 22px);
    text-wrap: nowrap;
    display: flex;
    gap: 3px;
    color: #151517;
    font-size: 14px;
    font-weight: 600;
}

.product-single__box {
    margin-top: 20px;
    padding: 30px;
    /* background-color: #F5F5F5; */
    border: 1px solid #EBEBEB;
    /* box-shadow: 0 36px 29px 0 rgba(0, 0, 0, 0.03), 0 8px 6px 0 rgba(0, 0, 0, 0.02), 0 2px 1px 0 rgba(0, 0, 0, 0.01); */
}

.product-single__subtitle {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 600;
    color: var(--text);
}

.product-single__description-wrapper {
    margin-bottom: 30px;
    max-width: 710px;
    position: relative;
}

.product-single__description-wrapper p {
    margin-bottom: 10px;
}

.product-single__description-wrapper ul {
    list-style: disc;
    margin-left: 20px;
    padding-left: 0;
}

.product-single__description-wrapper ul li {
    list-style: disc;
}

.product-single__description-wrapper ul li::marker {
    font-size: 1em;
}

.product-single__description-full {
    display: none;
}

.product-single__description-wrapper.active .product-single__description-short {
    display: none;
}

.product-single__description-wrapper.active .product-single__description-full {
    display: block;
}

.product-single__read-more {
    margin-top: 10px;
    color: var(--primary);
    text-decoration: underline;
    border: none;
    cursor: pointer;
}

.product-single__read-more:hover {
    color: var(--secondary);
}

.product-single__parameters {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 55px;
    row-gap: 15px;
}

.product-single__line {
    display: flex;
    align-items: center;
    gap: 5px;
}

.product-single__line-icon {
    width: 24px;
}

.product-single__line-name {
    color: var(--medium-grey);
}

.product-single__line-dots {
    padding-top: 10px;
    flex: 1;
    border-bottom: 1px dotted #ccc;
    margin: 0 3px;
}

.product-single__location {
    margin-bottom: 10px;
    font-weight: 500;

}

.product-single__map {
    margin-top: 20px;
}

.product-single .popular {
    margin-top: 104px;
}

.product-single__form-wrap {
    padding: 30px;
    max-width: 345px;
    width: 100%;
    background: var(--tertiary);
    color: var(--white);
    position: sticky;
    top: 100px;
    z-index: 1;
}

.product-single__form-wrap .product-single__subtitle {
    color: var(--white);
}

.product-single__form-wrap .btn-whatsapp {
    margin-bottom: 30px;
}

.product-single__form-wrap .b24-form-wrapper {
    background-color: var(--tertiary);
}

.product-single__form-wrap .b24-form-header-title {
    font-family: var(--font-main);
    color: var(--white);
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 600;
    text-align: left;
}

.product-single__form-wrap .b24-form-control-string .b24-form-control,
.product-single__form-wrap .b24-form-control-text .b24-form-control {
    background-color: var(--white);
}

.product-single__form-wrap .b24-form-control-alert .b24-form-control-container {
    background-color: var(--white);
}

.product-single__form-wrap .b24-form-padding-side {
    padding: 0;
}

.product-single__form-wrap .b24-form-control-desc {
    color: var(--white);
}

.product-single__form-wrap .b24-form-control-alert.b24-form-control-string .b24-form-control {
    border: none;
}

.product-single__form-wrap .b24-form-control-string .b24-form-control {
    border: none;
}

.product-single__form-wrap .b24-form-control-text .b24-form-control {
    border: none;
}

.product-single__policy {
    color: var(--white);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}

.product-single__policy a {
    color: var(--grey);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.product-single-popular {
    padding-bottom: 96px;
}

.product-single__form-wrap .input,
.product-single__form-wrap .textarea {
    margin-bottom: 10px;
}

.wpcf7-submit {
    padding: 20px;
    max-width: 100%;
    background-color: var(--secondary) !important;
    font-size: 22px;
}

.content-area {
    margin: 0 auto;
    width: 100%;
    background-color: var(--page-bg);
}

.b24-form {
    padding: 0;
}

.not-found__wrap {
    margin: 0 auto;
    max-width: 1120px;
}

.not-found .title {
    margin-bottom: 24px;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
}

.not-found__text a {
    text-decoration: underline;
}

.not-found__actions {
    margin-top: 20px;
}

.breadcrumbs {
    padding: 30px 0;
    background-color: #ffffff;
}

@media (max-width: 1800px) {
    .nav__list-item {
        font-size: 18px;
    }

    .header__lang-btn {
        font-size: 20px;
    }

    .top__title {
        font-size: 250px;
    }

    .info__title {
        font-size: 200px;
    }

    .about-company__bg {
        font-size: 260px;
    }

    .projects__bg {
        font-size: 260px;
    }

    .top {
        min-height: 840px;
    }

    .top__subtitle {
        font-size: 37px;
    }

    .top__subtitle-wrap .top__big-box {
        right: 0px;
    }

    .top__subtitle-wrap .top__box {
        right: -60px;
    }

    .about-company__big-box {
        top: 10px;
    }

    .about-company__box {
        top: 100px;
    }
}

@media (max-width: 1670px) {
    .nav__list-item {
        font-size: 18px;
    }

    .header__lang-btn {
        font-size: 18px;
    }

    .top__content-wrap {
        grid-template-columns: 1fr 350px 290px 350px;
    }

    .top__img {
        max-width: 290px;
        height: 290px;
    }

    .top__line {
        max-width: 210px;
    }
}

@media (max-width: 1500px) {

    .title {
        font-size: 48px;
    }

    .title-s {
        font-size: 48px;
    }


    .title__line {
        max-width: 135px;
        height: 8px;
    }

    .btn-secondary {
        padding: 20px 30px;
        height: 56px;
        font-size: 20px;
    }

    .objects__tab {
        height: 56px;
    }

    .wpcf7-submit {
        padding: 10px;
        font-size: 20px;
    }

    .header__line {
        max-width: calc(100% - 20px);
    }

    .nav {
        margin-top: 23px;
    }

    .nav__list {
        column-gap: 16px;
    }

    .nav__list-item {
        font-size: 16px;
    }

    .header__lang-btn-wrap {
        margin-top: 23px;
        gap: 16px;
    }

    .header__lang-btn {
        font-size: 16px;
    }

    .filter__big-box {
        top: 150px;
        left: 0px
    }

    .filter__box-1 {
        bottom: 20px;
        right: 70px
    }

    .filter__box-2 {
        bottom: -40px;
        right: 10px
    }

    .top {
        padding-top: 45px;
        min-height: 685px;
    }

    .top__title {
        letter-spacing: -8px;
    }

    .top__img-wrap-1 {
        padding-top: 120px;
    }

    .top__subtitle-wrap {
        margin-top: 226px;
        margin-left: 12px;
    }

    .top__subtitle-wrap .top__line {
        margin-bottom: 25px;
        height: 6px;
        max-width: 180px;
    }

    .top__subtitle-wrap .top__big-box {
        bottom: 120px;
    }

    .top__subtitle-wrap .top__box {
        bottom: 87px;
        right: 17px;
    }

    .top__content-wrap {
        padding-right: 18px;
        grid-template-columns: 1fr 300px 240px 300px;
    }

    .top__img {
        max-width: 240px;
        height: 240px;
    }

    .top__line {
        max-width: 182px;
        height: 6px;
    }

    .top__mega-box {
        margin-left: auto;
        margin-right: 50px;
        width: 120px;
        height: 120px;
    }

    .top__big-box {
        width: 68px;
        height: 68px;
    }

    .top__box {
        width: 46px;
        height: 46px;
    }

    .top__subtitle-wrap .top__big-box {
        bottom: 133px;
        right: 63px;
    }

    .top__img-3 .top__box-1 {
        right: -46px;
        bottom: -49px;
    }

    .top__img-2 .top__line {
        left: 112px;
        bottom: 18px;
    }

    .top__img-1 {
        margin: 35px 0 18px 10px;
    }

    .top__img-wrap-1 .top__box {
        top: 110px;
        right: 5px;
    }

    .top__img-3 .top__box-2 {
        bottom: -95px;
    }

    .top__img-wrap-2 {
        padding-top: 354px;
    }

    .news {
        padding-top: 40px;
        padding-bottom: 75px;
    }

    .info {
        padding-bottom: 38px;
    }

    .info__img {
        max-width: 800px;
        right: -220px;
    }

    .info__content {
        max-width: 1200px;
        left: 200px;
    }

    .info__logo {
        margin-bottom: 60px;
        max-width: 265px;
        height: 38px;
    }

    .info .subtitle {
        margin-bottom: 140px;
        font-size: 22px;
        max-width: 400px;
    }

    .info__title {
        padding-top: 148px;
        font-size: 180px;
        letter-spacing: -3px;
    }

    .info__quote-wrap {
        max-width: 1031px;
    }

    .info .quote {
        max-width: 610px;
        font-size: 17px;
    }

    .info__line-top {
        margin-bottom: 13px;
        max-width: 136px;
        height: 8px;
    }

    .info .quote p {
        margin-bottom: 17px;
    }

    .info .quote footer {
        padding-bottom: 65px;
    }

    .about-company__title-wrap {
        margin-bottom: 68px;
    }

    .about-company__top {
        margin-left: 30px;
        margin-bottom: 55px;
        max-width: 1600px;
        gap: 95px;
    }

    .about-company__left {
        padding: 40px 40px 75px 40px;
        max-width: 440px;
        font-size: 17px;
    }

    .about-company__right {
        max-width: 550px;
        width: 100%;
        font-size: 17px;
        line-height: 1.4;
    }

    .about-company__subtitle {
        margin-bottom: 18px;
    }

    .about-company__bottom {
        max-width: 870px;
        gap: 95px;
    }

    .about-company__number {
        margin-bottom: 20px;
        font-size: 22px;
    }

    .about-company__bottom li {
        padding: 15px 20px;
        font-size: 17px;
    }

    .about-company__bg {
        padding-top: 295px;
    }

    .about-company {
        padding-bottom: 130px;
    }

    .services__title-wrap {
        margin-bottom: 22px;
    }

    .services__subtitle {
        font-size: 17px;
    }

    .services {
        padding-top: 15px;
    }

    .services__title-wrap .title {
        margin-bottom: 22px;
    }

    .projects {
        padding-top: 35px;
    }

    .projects .top-title {
        left: 15px;
    }

    .projects__subtitle {
        font-size: 20px;
    }

    .projects__title-wrap .title {
        font-size: 48px;
    }

    .projects ul {
        max-width: 800px;
    }

    .projects li {
        max-width: 240px;
        width: 100%;
        height: 240px;
    }

    .projects__box {
        padding: 15px;
    }

    .projects__date {
        font-size: 17px;
    }

    .projects__title {
        margin-bottom: 6px;
        font-size: 22px;
    }

    .projects__text {
        font-size: 17px;
    }

    .about-company__title-wrap,
    .services__title-wrap,
    .services__subtitle,
    .projects__title-wrap,
    .projects__subtitle,
    .map__title-wrap,
    .map__subtitle,
    .partners .top-title,
    .team__title-wrap {
        margin-left: 185px;
    }

    .partners {
        padding-bottom: 40px;
    }

    .questions {
        padding-top: 40px;
    }

    .questions__wrap {
        max-width: 675px;
    }

    .questions__text {
        font-size: 17px;
    }

    #footer_map {
        max-width: 500px;
    }


    .footer__logo {
        max-width: 159px;
        height: 54px;
    }

    .footer__left a {
        margin-bottom: 0;
        font-size: 16px;
    }

    .footer__address {
        font-size: 16px;
    }

    .footer__title {
        margin-bottom: 29px;
    }

    .footer__social-link svg {
        width: 36px;
        height: 36px;
    }
}

@media (max-width: 1400px) {
    .section_preview {
        padding-top: 50px;
    }

    .preview__header .header__wrap {
        gap: 8px;
    }

    .nav {
        margin-top: 15px;
    }

    .nav__list-item {
        font-size: 14px;
    }

    .header__lang-btn-wrap {
        margin-top: 15px;

        gap: 5px;
    }

    .header__lang-btn {
        font-size: 14px;
    }

    .nav__list {
        column-gap: 5px;
    }

    .top {
        min-height: 740px;
    }

    .top__title {
        font-size: 215px;
    }

    .top__subtitle-wrap .top__big-box {
        bottom: 80px;
    }

    .top__subtitle-wrap .top__box {
        bottom: 35px;
    }

    .projects__title-wrap .title {
        font-size: 56px;
    }

    .product-single__parameters {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 1300px) {
    .filter-form__top {
        grid-template-columns: repeat(2, 1fr);
    }

    .filter-form__bottom .btn {
        max-width: 100%;
    }

    .square__filter {
        max-width: calc(33% - 9px);
    }

    .top {
        min-height: 680px;
    }

    .top__title {
        font-size: 200px;
    }

    .top__content-wrap {
        padding-right: 0px;
        grid-template-columns: 1fr 235px 180px 235px;
    }

    .top__img {
        max-width: 180px;
        height: 180px;
    }

    .top__mega-box {
        width: 90px;
        height: 90px;
    }

    .info__content {
        left: 0px;
    }

    .info__img {
        max-width: 850px;
        right: -320px;
    }

    .info__title {
        font-size: 180px;
    }

    .about-company__bg,
    .projects__bg {
        font-size: 240px;
    }

    .questions__wrap {
        padding-top: 110px;
    }

    .questions__big-box {
        top: 0px;
        left: 0px;
    }

    .filter__big-box {
        top: -105px;
        left: unset;
        right: 50px;
    }

    .filter__box-1 {
        bottom: -30px;
        right: 70px;
    }

    .filter__box-2 {
        bottom: -90px;
        right: 10px;
    }
}

@media (max-width: 1180px) {
    body.noscroll {
        overflow: hidden;
        background-color: var(--light-blue);
        transition: background-color 0.32s linear;
    }

    .preview__header .header__wrap {
        padding: 10px 0;
    }

    .header__burger {
        padding: 10px;
        width: 40px;
        height: 40px;
        background-color: #010b90;
        opacity: 0.5;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 6;
    }

    .header__burger span {
        transition: all 0.3s ease 0s;
    }

    .header__burger span,
    .header__burger:after,
    .header__burger:before {
        background-color: var(--white);
        position: absolute;
        height: 2px;
        left: 8px;
        border-radius: 50px;
        max-width: 24px;
        width: 100%;
    }

    .header__burger span {
        margin: 0;
        top: 19px;
    }

    .header__burger:after,
    .header__burger:before {
        content: "";
        width: 100%;
        transition: all 0.3s ease 0s;
    }

    .header__burger:before {
        top: 11px;
    }

    .header__burger:after {
        bottom: 11px;
    }

    .header__burger.active:before {
        transform: rotate(45deg);
        top: 19px;
    }

    .header__burger.active span {
        transform: scale(0);
    }

    .header__burger.active:after {
        transform: rotate(-45deg);
        bottom: 19px;
    }

    .header__nav {
        padding: 40px 20px 20px 20px;
        position: fixed;
        z-index: -2;
        top: 0px;
        right: -120%;
        max-width: 320px;
        width: 100%;
        height: 100vh;
        background-color: var(--white);
        color: var(--primary);
        overflow: auto;
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: start;
        gap: 10px;
        transition: all 0.3s ease 0s;
    }

    .header__nav.active {
        right: 0;
        z-index: 5;
    }

    .header__lang-btn-wrap {
        margin-top: 0;
        padding: 20px;
        position: fixed;
        z-index: -2;
        top: 480px;
        right: -120%;
        max-width: 320px;
        width: 100%;
        height: fit-content;
        overflow: auto;
        display: flex;
        align-items: start;
        justify-content: start;
        gap: 10px;
        transition: all 0.3s ease 0s;
    }

    .header__lang-btn-wrap.active {
        right: 0;
        z-index: 6;
    }

    .header__lang-btn {
        color: var(--white);
        font-size: 20px;
        font-weight: 400;
    }

    .header__lang-btn-wrap li.current-lang a {
        color: var(--primary);
    }

    .header__contacts-mobile {
        margin-top: 0;
        padding: 20px;
        position: fixed;
        z-index: -2;
        top: 460px;
        right: -120%;
        max-width: 320px;
        width: 100%;
        height: fit-content;
        overflow: auto;
        display: flex;
        align-items: start;
        justify-content: start;
        flex-direction: column;
        gap: 8px;
        transition: all 0.3s ease 0s;
    }

    .header__contacts-mobile.active {
        right: 0;
        z-index: 6;
    }

    .header__contacts-mobile a {
        font-size: 20px;
        color: var(--primary)
    }

    .header__contacts-mobile a .icon {
        fill: var(--primary)
    }

    .header__contacts-mobile .footer__social {
        margin-top: 20px;
    }

    .nav {
        margin-top: 0px;
    }

    .nav__list {
        flex-direction: column;
        align-items: start;
        row-gap: 8px;
    }

    .nav__list-item,
    .nav__list-links li a {
        font-size: 20px;
        font-weight: 400;
        text-wrap: wrap;
        color: var(--primary);
    }

    .nav__list-icon {
        display: none;
    }

    .preview__header .nav__list-item,
    .preview__header .nav__list-item a {
        color: var(--primary);
    }

    .preview__header .header__lang-btn {
        color: var(--primary);
    }

    .nav__item {
        display: none;
    }

    .submenu {
        display: block;
        background: transparent;
        backdrop-filter: none;
        position: static
    }

    .submenu ul {
        padding: 0;
        display: flex;
        flex-direction: column;
        row-gap: 8px;
    }

    .submenu ul li a {
        padding: 0px;
    }

    .top__subtitle-wrap .top__big-box {
        bottom: 15px;
    }

    .top__subtitle-wrap .top__box {
        bottom: -30px;
    }

    .info__quote-wrap {
        margin-left: 0;
        max-width: 100%;
    }

    .info .quote {
        max-width: 650px;
    }

    .info .subtitle {
        margin-bottom: 50px;
    }

    .info__img {
        right: -370px;
    }

    .about-company__bg,
    .projects__bg {
        font-size: 210px;
    }

    .about-company__top {
        gap: 40px;
    }

    .about-company__bottom {
        gap: 40px;
    }

    .about-company__subtitle {
        font-size: 20px;
    }

    .services__subtitle {
        margin-bottom: 40px;
        font-size: 20px;
    }

    .about-company__right,
    .questions__text {
        font-size: 18px;
    }

    .projects .top-title {
        position: unset;
    }

    .projects li {
        max-width: 280px;
        width: 100%;
        height: 280px;
    }

    .footer__content {
        flex-wrap: wrap;
        gap: 20px;
    }

    .footer__map iframe {
        max-width: 100%;
    }

    .filter__title {
        font-size: 22px;
    }

    .objects__tabs {
        flex-wrap: wrap;
    }



    .product__item:nth-of-type(7),
    .product__item:nth-of-type(8) {
        display: none;
    }

    .product-single__parameters {
        grid-template-columns: repeat(1, 1fr);
    }

    .objects__tab[data-tab="3"] {
        display: none;
    }

    .services ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .popular__list,
    .products__list,
    .products.columns-4 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1080px) {

    .title {
        font-size: 52px;
    }

    .title-s {
        font-size: 46px;
    }

    .top__title {
        font-size: 165px;
    }

    .top__content-wrap {
        padding-right: 0px;
        grid-template-columns: 1fr 150px 180px 180px;
    }

    .top__img-wrap-1 .top__img {
        max-width: 0px;
        height: 64px;
    }

    .top__img-1 img {
        display: none;
    }

    .top__mega-box {
        margin-left: 60px;
        margin-right: 20px;
        margin-top: 110px;
        width: 70px;
        height: 70px;
    }

    .top__big-box {
        width: 60px;
        height: 60px;
    }

    .top__box {
        width: 40px;
        height: 40px;
    }

    .top__img-3 .top__box-1 {
        display: none;
    }

    .top__subtitle-wrap .top__box {
        right: -45px;
        bottom: 75px;
    }

    .top__subtitle-wrap .top__big-box {
        right: -4px;
    }

    .top__subtitle {
        font-size: 32px;
    }

    .info__title {
        font-size: 150px;
    }

    .info .quote {
        max-width: 560px;
        font-size: 20px;
    }

    .about-company__left {
        padding: 50px;
        max-width: 440px;
    }

    .about-company__bg,
    .projects__bg {
        font-size: 180px;
    }

    .about-company__big-box {
        top: -10px;
    }

    .about-company__box {
        top: 80px;
    }

    /* .services li:nth-of-type(1),
    .services li:nth-of-type(2),
    .services li:nth-of-type(3) {
        grid-column: span 3;
    } */

    .telegram__img {
        max-width: 600px;
    }

    .team .slick-current {
        transform: none;
    }

    .preview__box ul {
        font-size: 24px;
    }
}

@media (max-width: 960px) {
    .top__content-wrap {
        grid-template-columns: 1fr 150px 180px;
    }

    .top__title {
        font-size: 156px;
    }

    .top__subtitle-wrap {
        margin-top: 175px;
    }

    .top__img-wrap-1 {
        padding-top: 100px;
    }

    .top__img-wrap-2 {
        padding-top: 260px;
    }

    .top__img-3 {
        margin-left: auto;
    }

    .top__subtitle-wrap .top__box {
        bottom: 15px;
    }

    .top__subtitle-wrap .top__big-box {
        bottom: 55px;
    }

    .top__img-2 .top__line {
        left: 0px;
        bottom: 0;
    }

    .top__img-3 .top__box-2 {
        bottom: 580px;
    }

    .news__wrap {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    .news__img {
        max-width: 600px;
    }

    .news__info {
        max-width: 100%;
    }

    .info__title {
        font-size: 125px;
    }

    .info .quote {
        max-width: 500px;
        font-size: 18px;
    }

    .info__img {
        max-width: 750px;
        right: -340px;
    }

    .about-company__left {
        max-width: 380px;
    }

    .about-company__right,
    .questions__text {
        font-size: 16px;
    }

    .about-company__bg,
    .projects__bg {
        font-size: 155px;
    }

    .about-company__big-box {
        right: 0px;
    }

    .partners ul {
        grid-template-columns: repeat(3, 1fr);
        max-width: 600px;
    }

    .partners li:nth-of-type(-n + 9) {
        border-bottom: 1px solid #eee;
    }

    .partners li:nth-of-type(3),
    .partners li:nth-of-type(9) {
        border-right: none;
    }

    .questions__box-1 {
        right: 0px;
    }

    .questions__box-2 {
        right: 60px;
    }

    .questions__title-wrap .title {
        text-wrap: wrap;
    }

    .team__item {
        margin: 0 30px;
    }

    .telegram__img {
        max-width: 550px;
    }

    .popular__list,
    .products__list,
    .products.columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 840px) {

    .product-single__content {
        flex-direction: column;
    }

    .product-single__wrap {
        width: 100%;
    }

    .filter-form__bottom {
        flex-direction: column;
    }

    .square__filter {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    body {
        line-height: 1.3;
    }



    .title-l {
        font-size: 42px;
    }

    .title {
        font-size: 48px;
    }

    .title-s {
        font-size: 42px;
    }

    .subtitle {
        font-size: 28px;
    }

    .section {
        padding: 40px 0;
    }

    .title__line {
        max-width: 140px;
        height: 6px;
    }

    .section_preview {
        padding: 0;
    }

    .preview__header {
        padding: 10px 0px;
        margin-bottom: 20px;
    }

    .preview {
        padding-top: 0px;
        padding-bottom: 100px;
    }

    .preview__img {
        margin: 55px auto 15px;
        max-width: 480px;
    }

    .filter {
        padding: 20px 0;
    }

    .filter-form__bottom {
        grid-template-columns: repeat(2, 1fr);
    }

    .filter-form__content {
        display: none;
        flex-direction: column;
    }

    .filter-form__content.active {
        display: flex;
    }

    .filter-toggle-btn {
        display: flex;

    }

    .filter-toggle-btn:active {
        background: #005f8d;
    }

    .about-company__title-wrap,
    .services__title-wrap,
    .services__subtitle,
    .projects__title-wrap,
    .projects__subtitle,
    .map__title-wrap,
    .map__subtitle,
    .partners .top-title,
    .team__title-wrap {
        margin-left: 0px;
    }

    .top__title {
        font-size: 134px;
    }

    .top__content-wrap {
        grid-template-columns: 1fr 180px 80px;
    }

    .top__subtitle-wrap {
        grid-column: span 2;
    }

    .top__img-wrap-2 {
        padding-top: 0px;
        order: 3;
    }

    .top__img-wrap-3 {
        padding-right: 100px;
        padding-top: 50px;
    }

    .top__subtitle-wrap .top__big-box {
        bottom: -85px;
        right: 180px;
    }

    .top__line {
        max-width: 145px;
    }

    .top__subtitle-wrap .top__box {
        bottom: -124px;
        right: 240px;
    }

    .top__mega-box {
        margin-left: 0px;
        margin-right: 10px;
        margin-top: 110px;
    }

    .top__img-wrap-1 .top__box {
        top: 110px;
        right: 40px;
    }

    .news__title,
    .telegram__text {
        font-size: 28px;
    }

    .news__info {
        padding: 40px;
    }

    .info .quote {
        padding-bottom: 300px;
    }

    .info__logo {
        margin-bottom: 40px;
        max-width: 260px;
        height: 38px;
    }

    .info__title {
        padding-top: 600px;
        font-size: 105px;
        letter-spacing: -11px;
    }

    .info__title-1 {
        margin-bottom: 30px;
        margin-left: 0;
    }

    .info__img {
        max-width: 650px;
        right: -300px;
    }

    .about-company__title-wrap {
        margin-bottom: 40px;
    }

    .about-company__top {
        margin: 0 auto 60px;
    }

    .about-company__title-wrap {
        gap: 40px;
    }

    .about-company__bg,
    .projects__bg {
        font-size: 119px;
    }

    .about-company__number {
        margin-bottom: 15px;
        font-size: 22px;
    }

    .about-company__bottom li {
        padding: 15px;
        font-size: 18px;
    }

    .about-company__left {
        padding: 40px;
    }

    .services ul {
        justify-content: center;
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }

    .services li {
        padding: 55px 30px 30px 30px;
        margin: 0 auto;
        max-width: 540px;
        width: 100%;
    }

    /* .services li:nth-of-type(1),
    .services li:nth-of-type(2),
    .services li:nth-of-type(3) {
        grid-column: span 1;
    } */

    .services li:nth-of-type(4),
    .services li:nth-of-type(5) {
        grid-column: span 1;
    }

    .projects__title-wrap .title {
        font-size: 40px;
    }

    .projects__title-wrap .title__line {
        display: none;
    }

    .projects__subtitle,
    .map__subtitle {
        font-size: 22px;
    }

    .projects ul {
        gap: 20px;
    }

    .projects li {
        max-width: 200px;
        width: 100%;
        height: 200px;
    }

    .projects__date {
        font-size: 18px;
    }

    .projects__title {
        font-size: 22px;
    }

    .projects__text {
        font-size: 18px;
    }

    .form__content {
        padding: 10px;
    }

    .form__line {
        width: calc(100% + 20px);
        left: -10px;
    }

    .footer__social-link svg {
        width: 36px;
        height: 36px;
    }

    .footer__logo {
        max-width: 125px;
        width: 100%;
        height: 55px;
    }

    .telegram__wrap {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
    }

    .telegram__img-desktop {
        display: none;
    }

    .telegram__img-mobile {
        display: block;
        position: unset;
        height: 500px;
        order: -2;
    }

    .telegram__text {
        margin-bottom: 30px;
    }

    .product-single__box {
        padding: 20px;
    }

    .product-single__subtitle {
        font-size: 20px;
    }

    .product-single__description {
        margin-bottom: 20px;
    }

    .filter__big-box {
        display: none;
    }

    #footer_map {
        max-width: 450px;
        height: 300px
    }
}

@media (max-width: 680px) {
    .top {
        min-height: 770px;
    }

    .top__title {
        font-size: 125px;
    }

    .top__title-2 {
        margin-left: 50%;
    }

    .top__subtitle-wrap {
        margin-top: 245px;
    }

    .about-company__top {
        flex-direction: column;
        gap: 20px;
    }

    .about-company__left {
        max-width: 100%;
    }

    .about-company__bottom {
        gap: 20px;
        grid-template-columns: repeat(2, 1fr);
    }

    .about-company__bg {
        padding-top: 800px;
        font-size: 105px;
    }

    .projects__bg {
        font-size: 105px;
    }

    .about-company__big-box {
        right: 80px;
        top: unset;
        bottom: 40px;
        width: 52px;
        height: 52px;
    }

    .about-company__box {
        right: 10px;
        top: unset;
        bottom: 0;
        width: 30px;
        height: 30px;
    }

    .projects ul {
        display: flex;
        justify-content: start;
        align-items: center;
        flex-wrap: wrap;
    }

    .projects li {
        max-width: calc(50% - 10px);
        height: 220px;
    }

    .projects li:nth-of-type(1),
    .projects li:nth-of-type(2),
    .projects li:nth-of-type(4) {
        display: none;
    }

    .questions__wrap {
        padding-top: 0px;
    }

    .questions__box {
        width: 46px;
        height: 46px;
    }

    .questions__big-box {
        width: 78px;
        height: 78px;
        top: 40px;
        left: unset;
        right: 20px;
    }

    .questions__title-wrap .title {
        max-width: 250px;
    }

    .questions__title-wrap .title__line {
        margin-bottom: 70px;
    }

    .title__line {
        max-width: 100px;
    }

    .team__title-wrap {
        margin-bottom: 100px;
    }

    .team__list {
        margin: 0 -45px;
        height: 790px;
    }

    .team__item {
        margin: 0;
        height: 790px;
    }

    .team .arrow {
        display: none;
    }

    .team .slick-dots {
        padding-left: 20px;
        padding-top: 20px;
        display: flex;
        justify-content: start;
        align-items: center;
        gap: 5px;
        position: absolute;
        top: 0px;
        left: 0;
        z-index: 3;
    }

    .team .slick-dots li button {
        background-color: rgba(255, 255, 255, 0.5);
        border: none;
        width: 20px;
        height: 2px;
        padding: 0;
        font-size: 0;
    }

    .team .slick-dots li.slick-active button {
        background-color: var(--white);
    }

    .telegram__img-mobile {
        height: 400px;
    }

    .filters__big-box {
        width: 78px;
        height: 78px;
    }

    .filter__box {
        width: 46px;
        height: 46px;
    }

    .filter__box-1 {
        bottom: -10px;
    }

    .filter__box-2 {
        bottom: -55px;
        right: 25px;
    }
}

@media (max-width: 650px) {
    .ornament {
        display: none;
    }

    .projects li {
        height: 200px;
    }
}

@media (max-width: 570px) {

    .logo {
        height: 50px;
    }

    .title-l {
        font-size: 36px;
    }

    .top {
        padding-top: 10px;
        min-height: 680px;
    }

    .top__title {
        font-size: 94px;
    }

    .top__title-2 {
        margin-left: 60%;
    }

    .top__content-wrap {
        grid-template-columns: 1fr 180px 0px;
    }

    .top__subtitle-wrap {
        margin-top: 105px;
        margin-left: 0;
    }

    .top__subtitle-wrap .top__line {
        margin-bottom: 14px;
        height: 6px;
        max-width: 95px;
    }

    .top__img-wrap-1 {
        padding-top: 0px;
    }

    .top__mega-box {
        position: absolute;
        bottom: -320px;
        right: 50px;
    }

    .top__img-3 {
        margin-left: 0;
    }

    .top__img-wrap-3 {
        padding-top: 34px;
    }

    .top__img-3 .top__box-2 {
        bottom: 370px;
        right: -48px;
    }

    .top__subtitle-wrap .top__big-box {
        bottom: -239px;
    }

    .top__subtitle-wrap .top__box {
        bottom: -279px;
    }

    .top__line {
        max-width: 120px;
    }

    .info__title {
        padding-top: 650px;
        font-size: 85px;
        letter-spacing: -9px;
    }

    .about-company__bg,
    .projects__bg {
        font-size: 95px;
    }

    .projects li {
        height: 180px;
    }

    .projects__subtitle,
    .map__subtitle {
        font-size: 18px;
    }

    .map__img-desktop {
        display: none;
    }

    .map__img-mobile {
        display: block;
    }

    .map__img {
        height: 400px;
    }

    .team__title-wrap {
        margin-bottom: 20px;
    }

    .filter-form__top {
        grid-template-columns: repeat(1, 1fr);
    }

    .filter-toggle-btn {
        max-width: 100%;
    }

    .preview__img {
        margin: 35px auto 15px;
        max-width: 300px;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .objects__tabs {
        flex-direction: column;
        align-items: start;
        justify-content: start;
        gap: 10px;
    }

    .objects__tab {
        max-width: 100%;
        width: 100%;
    }


    .filter__title {
        font-size: 22px;
    }

    .filter-form__bottom-left {

        grid-template-columns: repeat(1, 1fr);

    }

    #filter-form {
        padding: 20px;
    }

    .filter__cancel-btn,
    .filter__btn {
        max-width: 100%;
    }

    .filter__cancel-btn {
        order: 2;
    }

    .footer__bottom {
        gap: 20px;
    }
}

@media (max-width: 480px) {


    .logo {
        height: 40px;
        max-width: 88px;
    }

    .title {
        font-size: 36px;
    }

    .title-s {
        font-size: 32px;
    }

    .subtitle {
        font-size: 24px;
    }

    .top__subtitle-wrap {
        margin-bottom: 220px;
        margin-top: 31px;
        max-width: 400px;
        line-height: 1.6;
    }

    .top__title {
        padding-top: 250px;
    }

    .top__title-2 {
        margin-left: 35%;
        font-size: 130px;
    }

    .top__subtitle-wrap .top__line {
        position: absolute;
        top: 210px;
        left: 0;
    }

    .top__img-wrap-1 .top__box {
        top: 126px;
        right: 26px;
    }

    .top__img-wrap-3 {
        padding-top: 0px;
        padding-right: 0;
    }

    .top__img-2 {
        margin-top: 65px;
    }

    .top__subtitle-wrap .top__big-box {
        right: 180px;
        bottom: -490px;
    }

    .top__img-3 .top__box-2 {
        bottom: 350px;
    }

    .top__mega-box {
        bottom: -290px;
        right: 310px;
        width: 85px;
        height: 85px;
    }

    .top__subtitle-wrap .top__box {
        bottom: 145px;
        right: 100px;
    }

    .top__box {
        width: 30px;
        height: 30px;
    }

    .news__title,
    .telegram__text {
        font-size: 24px;
    }

    .info__title {
        padding-top: 893px;
        font-size: 60px;
    }

    .about-company__bg,
    .projects__bg {
        font-size: 75px;
    }

    .projects__title-wrap .title {
        font-size: 34px;
        text-wrap: wrap;
    }

    .projects__title-wrap .title__line {
        display: block;
    }

    .projects__subtitle,
    .map__subtitle {
        font-size: 16px;
    }

    .projects__box {
        padding: 15px;
    }

    .projects__date {
        font-size: 16px;
    }

    .projects__title {
        margin-bottom: 6px;
        font-size: 20px;
    }

    .projects__text {
        font-size: 14px;
    }

    .footer__left a {
        font-size: 18px;
    }

    .partners ul {
        grid-template-columns: repeat(2, 1fr);
        max-width: 400px;
    }

    .partners li {
        padding: 15px;
        max-width: 180px;
        height: 180px;
    }

    .partners li:nth-of-type(-n + 10) {
        border-bottom: 1px solid #eee;
    }

    .partners li:nth-of-type(3),
    .partners li:nth-of-type(6),
    .partners li:nth-of-type(9),
    .partners li:nth-of-type(12) {
        border-right: 1px solid #eee;
    }

    .partners li:nth-of-type(2),
    .partners li:nth-of-type(4),
    .partners li:nth-of-type(6),
    .partners li:nth-of-type(8),
    .partners li:nth-of-type(10),
    .partners li:nth-of-type(12) {
        border-right: none;
    }

    .questions__big-box {
        width: 68px;
        height: 68px;
        top: 20px;
        right: 0px;
    }

    .filter-toggle-btn {
        max-width: 100%;
    }

    .filter-form__top {
        gap: 10px;
    }

    .filter-form__bottom {
        grid-template-columns: repeat(1, 1fr);
        gap: 10px;
    }

    .section_preview {
        margin-top: 0;
        width: 100%;
        border-radius: 0px;
    }

    .preview {
        padding-bottom: 70px;
    }

    .preview__bg {
        border-radius: 0px;
    }

    .select2-container .select2-dropdown {
        margin-top: 30px;
    }

    .select2-container .select2-selection {
        min-height: 48px;
    }

    .select2-container--default .select2-selection--single {
        height: 48px;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 48px;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 48px;
    }

    .popular-main .popular__list,
    .product-single-popular .popular__list {
        padding-bottom: 15px;
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .popular-main .product__item,
    .product-single-popular .product__item {
        display: block;
        max-width: 325px;
        width: 100%;
    }

    .popular-main .card-product__img,
    .product-single-popular .card-product__img {
        width: 305px;
    }

    .product-single__main-image,
    .product-single__img-item {
        height: 380px;
    }

    .product-single__form-wrap {
        padding: 20px;
        max-width: 100%;
    }

    .product-single__form-wrap .btn {
        max-width: 100%;
    }


    .popular__list,
    .products__list,
    .products.columns-4 {
        grid-template-columns: repeat(1, 1fr);
    }

    .footer .btn-white {
        max-width: 100%;
    }

    .preview__wrap {
        position: relative;
    }

    .preview__box {
        padding: 20px;
        position: relative;
        left: -15px;
        width: calc(100% + 30px);
    }

    .preview__box ul {
        font-size: 21px;
    }
}

@media (max-width: 430px) {
    .top__title-1 {
        margin-bottom: 10px;
    }

    .top__title-2 {
        margin-left: 40%;
        font-size: 100px;
    }

    .top__title {
        font-size: 70px;
    }

    .top__mega-box {
        right: 250px;
    }

    .top__img {
        max-width: 150px;
        height: 150px;
    }

    .top__img-2 {
        margin-left: auto;
    }

    .top__img-3 .top__box-2 {
        bottom: 332px;
    }

    .top__subtitle {
        font-size: 30px;
    }

    .about-company__subtitle {
        margin-bottom: 15px;
        font-size: 18px;
    }

    .services__subtitle {
        margin-bottom: 20px;
        font-size: 18px;
    }

    .about-company__bg,
    .projects__bg {
        font-size: 75px;
    }

    .about-company__bg {
        padding-top: 700px;
    }

    .about-company__left {
        padding: 30px;
        font-size: 16px;
    }

    .about-company__bottom {
        grid-template-columns: repeat(1, 1fr);
    }

    .about-company__bottom li {
        margin: 0 auto;
        max-width: 200px;
        width: 100%;
        font-size: 16px;
    }

    .about-company__number {
        margin-bottom: 10px;
        font-size: 18px;
    }

    .about-company__big-box {
        right: unset;
        left: 0;
        bottom: 220px;
    }

    .partners li {
        max-width: 150px;
        height: 150px;
    }

    .team__list {
        margin: 0 -50px;
    }

    .news .btn-white {
        font-size: 14px;
    }

}

#map,
#map * {
    outline: none !important;
}

.map-popup .info {
    padding-bottom: 0;
}

.contact-modal__body {
    width: 100%;
}

.contact-modal__body .product-single__form-wrap {
    max-width: 100%;
}

.contact-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10010;
}

.contact-modal.is-open {
    display: flex;
}

.contact-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

.contact-modal__dialog {
    position: relative;
    max-width: 480px;
    width: 100%;
    background: var(--white);
    border-radius: 12px;
    padding: 24px 24px 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    z-index: 1;
}

.contact-modal__close {
    position: absolute;
    top: 10px;
    right: 12px;
    border: none;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.contact-modal__title {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 4px;
}

.contact-modal__object {
    font-size: 14px;
    color: #666;
    margin-bottom: 16px;
}

body.contact-modal-open {
    overflow: hidden;
}