/* lg <= Extra large (xl) */
@media (max-width: 1199.98px) {
    * {
        scrollbar-width: 0;
    }

    *::-webkit-scrollbar {
        width: 0;
        height: 0;
    }
}

/* xs <= Small (sm) */
@media (max-width: 575.98px) {
    html {
        font-size: calc(1vw / 5);
    }

    h1,
    .h1 {
        /* font-size: 46rem; */
        font-size: 30rem;
    }

    h2,
    .h2 {
        /* font-size: 38rem; */
        font-size: 24rem;
    }

    h3,
    .h3 {
        /* font-size: 34rem; */
        font-size: 20rem;
    }

    h4,
    .h4 {
        /* font-size: 28rem; */
        font-size: 18rem;
    }

    .container {
        padding: 0 calc(var(--padding) / 2);
    }

    .sticky {
        top: 0;
        position: static;
    }

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

    .grid-half.border {
        gap: 0;
    }

    .grid-half.border .grid-half__info {
        padding-right: 0;
    }

    .grid-half__img {
        height: 400rem;
    }

    /* header */
    .header.sticky {
        position: sticky;
    }

    .header-wrap__menu,
    .contact-menu {
        background-color: #fff;
        position: absolute;
        height: 100vh;
        width: 100vw;
        z-index: 10;
        top: calc(100% + 1rem);
        left: 0;
        display: none;
        transition: opacity .4s ease;
        opacity: 0;
        visibility: hidden;
        padding: 30rem 24rem 100rem;
        overflow-y: auto;
    }

    .header-wrap__menu.open,
    .contact-menu.open {
        display: flex;
        visibility: visible;
    }

    .header-wrap__menu.show,
    .contact-menu.show {
        opacity: 1;
        flex-direction: column;
        gap: 48rem;
    }

    .contact-menu.show {
        gap: 0;
    }

    .contact-about__modal {
        position: static;
        left: 0;
        padding: 0;
        width: 100%;
        margin-top: var(--padding);
    }

    .header-wrap__menu.show .header-menu {
        display: block;
    }

    .header-wrap__menu.show .header-info {
        display: flex;
        flex-direction: column;
    }

    .header-menu li div {
        position: static;
        opacity: 1;
        visibility: visible;
        padding-top: 0;
    }

    .header-menu li ul {
        width: 100%;
        box-shadow: none;
        border: none;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    .header-menu {
        display: none;
    }

    .header-info {
        display: none;
    }

    .header-menu ul {
        flex-direction: column;
        gap: var(--padding);
    }

    .menu-mobile,
    .menu-mobile-catalog {
        display: flex;
    }

    .menu-mobile.active .a-link {
        color: #fff;
        background-size: 100% 1rem;
        background-position: 0 100%;
    }

    .menu-trigger.sticky {
        display: none;
    }

    .content:has(.menu-trigger) .internal {
        margin-bottom: 120rem;
    }

    .internal__video {
        position: static;
        width: 100%;
    }

    .header .btn.btn-call {
        display: none;
    }

    .intro__title {
        width: 100%;
    }

    .intro__bottom {
        flex-direction: column;
    }

    .intro__nums {
        width: 100%;
    }

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

    .intro__num-label span {
        font-size: 28rem;
    }

    .intro__fact.border {
        width: 100%;
    }

    .slide-facts.swiper {
        width: 100%;
    }

    .inner-page .slide-facts.swiper {
        position: static;
        top: 0;
        right: 0;
    }

    .intro__fact {
        width: 100%;
    }

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

    .catalog__item-links {
        display: none;
    }

    .catalog-download__wrapper {
        grid-template-columns: repeat(1, 1fr);
    }

    .testimonials__item {
        flex-direction: column;
    }

    .testimonials__item-info {
        width: 100%;
        margin-right: 0;
        padding-bottom: var(--padding);
    }

    .testimonials__text {
        width: 100%;
    }

    .testimonials__bottom {
        width: 100%;
        position: static;
        margin-top: var(--padding);
    }

    .testimonials__video-title {
        width: 50%;
    }

    .testimonials__video .testimonials__media {
        height: 450rem;
    }

    .testimonials__media.corner::after {
        height: 110rem;
    }

    .advantage__wrap {
        width: 100%;
    }

    .advantage__image {
        display: none;
    }

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

    .advantage__item {
        min-height: 200rem;
    }

    .advantage__items-new .advantage__item {
        min-height: 200rem;
    }

    .advantage__item:has(.advantage__item-image) {
        grid-column: span 1;
        grid-row: span 1;
        min-height: 450rem;
    }

    .advantage__item-image {
        /* top: 50%; */
    }

    .advantage__main {
        min-height: 250rem;
    }

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

    .footer__content {
        flex-direction: column;
        gap: 50rem;
    }

    .footer__column {
        width: 100%;
    }

    .footer__menu {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 50rem var(--gap);
    }

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

    .footer__bottom-wrap {
        flex-wrap: wrap;
    }

    .footer__bottom-wrap .footer__text:first-child {
        width: max-content;
        order: 1;
    }

    .footer__bottom-wrap .footer__text:last-child {
        order: 2;
    }

    .footer__logo {
        width: 100%;
    }

    .footer__facts {
        margin-top: 50rem;
        grid-template-columns: repeat(3, 1fr);
    }

    .service {
        flex-direction: column;
        gap: var(--padding);
    }

    .service__img {
        order: -1;
        position: relative;
        width: 100%;
    }

    .service__info {
        width: 100%;
    }

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

    .gallery-item:nth-child(12n+4) .gallery-item__img,
    .gallery-item:nth-child(12n+11) .gallery-item__img {
        min-height: 244rem;
        height: 244rem;
    }

    .gallery-item:nth-child(12n+4),
    .gallery-item:nth-child(12n+11) {
        grid-column: span 1;
        grid-row: span 1;
    }

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

    .map-info {
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        height: auto;
        order: -1;
    }

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

    .contacts-item {
        min-height: max-content;
    }

    .contact-mobile {
        display: flex;
    }

    #map {
        height: 350rem;
    }

    .map-info__top,
    .map-info__bottom {
        padding-left: 0;
        padding-right: 0;
    }

    .vacancy__body-wrap {
        flex-direction: column;
    }

    .vacancy__body-left {
        width: 100%;
    }

    .vacancy__body-right {
        margin-top: 40rem;
    }

    .vacancy__call {
        width: 100%;
    }

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

    .projects__item-body {
        flex-grow: 0;
        order: 1;
    }

    .projects__item-new {
        min-height: auto;
    }

    .pagination-arrow {
        display: none;
    }

    .page-error__marquee {
        top: 20%;
    }

    .page-error__info {
        width: 100%;
        order: 1;
    }

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

    .blog__img {
        order: -1;
    }

    .page-text .grid-half__info .heading.sticky {
        margin-bottom: calc(var(--padding) * 2);
    }

    .page-text .grid-half__info {
        padding-right: 0;
    }

    .page-text__content {
        flex-direction: column;
    }

    .page-text__left {
        width: 100%;
        border: none;
        padding-right: 0;
    }

    .page-text__right {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        border-left: none;
    }

    .page-text.min {
        border-bottom: none;
    }

    .media__item {
        height: 250rem;
        display: flex;
        flex-direction: column;
    }

    .product-property>* {
        gap: var(--gap);
    }

    .block-info {
        width: 100%;
    }

    .questionnaire__content {
        flex-direction: column;
    }

    .questionnaire__left {
        width: 100%;
    }

    .questionnaire__list {
        flex-direction: column;
        align-items: start;
    }

    .modal .modal__inner {
        max-width: 100%;
        width: 100%;
        padding: var(--padding);
    }

    .modal__close {
        top: var(--padding);
        right: var(--padding);
        z-index: 1;
        width: 20rem;
        height: 20rem;
    }

    .modal__close .icon {
        /* fill: var(--accent); */
        filter: invert(1) brightness(0);
    }

    .questionnaire__item-wrap {
        grid-template-columns: repeat(1, 1fr);
    }

    .questionnaire__item-elem.full {
        grid-column: span 1;
    }

    .questionnaire-tags {
        display: none;
    }

    .tooltip {
        transform: translateX(-90%);
    }

    .form__item.full {
        grid-column: span 1;
    }

    .modal__body {
        width: 100%;
    }

    .catalog-menu__content {
        grid-template-columns: repeat(1, 1fr);
        display: flex;
        flex-direction: column;
    }

    .catalog-menu__item {
        border: none;
    }

    .catalog-menu__item-2,
    .catalog-menu__item-3 {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        background-color: #fff;
        width: 100%;
        height: 100%;
        transition: transform .4s ease;
        transform: translateX(100%);
        display: none;
    }

    .catalog-menu__item-2.open,
    .catalog-menu__item-3.open {
        display: block;
    }

    .catalog-menu__item-2.show,
    .catalog-menu__item-3.show {
        transform: translateX(0);
    }

    .catalog-menu__item-2 ul,
    .catalog-menu__item-3 ul {
        position: static;
        height: calc(100% - 80rem);
        padding-bottom: 50rem;
        overflow-y: auto;
    }

    .catalog-menu__item-back {
        display: flex;
    }

    .catalog-menu__item-title {
        display: inline-block;
    }

    .a-link-dop::before,
    .a-link-dop::after {
        right: 2rem;
    }

    .catalog-menu__transition {
        width: 100%;
    }

    .catalog-menu__content .catalog-menu__item-2 {
        grid-column: 1 / span 1;
    }

    .cities-btn {
        display: none;
    }

    .cities-btns.grid-half {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-images {
        position: relative;
        margin-left: calc(var(--padding)/-2);
    }

    .product__content .product-images .product-video {
        width: 100rem;
        height: 70rem;
    }

    .grid-half.flex {
        flex-direction: column;
    }

    .grid-half.flex>* {
        width: 100%;
    }

    .product__content .grid-half__right {
        order: -1;
    }

    .product-questionnaire__wrap {
        display: flex;
        flex-direction: column;
    }

    .product-questionnaire__right {
        width: 100%;
    }

    .product__content-info {
        padding-left: 0;
        padding-right: 0;
        border: none;
    }

    .product-images-bottom:has(.product-images-view) .product-slider-thumbs.swiper {
        width: calc(100% - 33.3333%);
    }

    .product-images-view {
        width: 33.3333%;
    }

    .product-slider__img {
        height: 400rem;
    }

    .header__search-title {
        display: none;
    }

    .line-search input {
        width: 300rem;
    }

    .result-search__wrap {
        flex-direction: column;
    }

    .list__products-result {
        width: 100%;
        padding-left: 0;
        border-left: none;
        border-top: 1rem solid var(--sup);
    }

    .search__wrapper .line-search,
    .search__wrapper .line-search input {
        width: 100%;
    }

    .search__wrapper .page-text__right {
        border-right: none;
    }

    .search__wrapper .page-text__left {
        padding-left: 0;
    }

    .search__product-item__img {
        width: 100rem;
    }

    .cookie-box {
        bottom: 0;
        left: 0;
        transform: none;
        width: 100%;
        max-width: 70%;
    }

    .designs__video {
        width: 100%;
        /* height: 300rem; */
    }

    .designs__internal-video:has(.gallery-video) .designs__video {
        margin-left: 0;
        /* margin-top: 100rem; */
    }

    .designs__internal .grid-half__info {
        border-right: none;
    }

    .designs__internal-item__top.grid-half {
        grid-template-columns: repeat(1, 1fr);
    }

    .designs__internal-item .grid-half {
        grid-template-columns: repeat(1, 1fr);
    }

    .designs__internal-item h2 {
        padding-bottom: 0;
    }

    .designs__internal-item h2::after {
        width: 100%;
        display: none;
    }

    .designs__internal-item__video {
        justify-content: start;
        padding: 0;
        padding-bottom: 15rem;
    }

    .designs__internal-item__top .grid-half__info {
        padding-right: 0;
    }

    .activities .activities-btn {
        display: none;
    }

    /* solutions */
    .solutions-slider {
        width: 100%;
        margin-right: 0;
    }

    .solutions__content {
        flex-direction: column;
    }

    .solution {
        min-height: 350rem;
    }

    .solutions__content-pagination {
        justify-content: center;
    }

    .solutions .swiper-pagination {
        flex-direction: row;
        gap: 0;
    }

    .solutions .swiper-pagination>* {
        width: 6rem;
        height: 6rem;
        font-size: 0;
        background-color: var(--gray-sup);
        border-radius: 20rem;
    }

    .solutions .swiper-pagination-bullet-active {
        background-color: var(--accent);
    }

    .solutions__content-line,
    .solutions__content-point {
        display: none;
    }
}

@media (min-width: 1919.99px) {
    /* html {
        font-size: calc(1vw / 18);
    } */
}

@media (min-width: 575.99px) {
    .activities .vacancies__content {
        position: relative;
        min-height: 400rem;
        overflow: hidden;
        justify-content: center;
    }

    .activities .vacancy {
        background-color: transparent;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--padding) var(--gap);
    }

    .activities .vacancy__body {
        position: absolute;
        top: 0;
        right: 0;
        width: 50%;
        opacity: 0;
        border: none;
        height: 400rem;
        overflow-y: auto;
        z-index: 1;
        background: var(--bg);
    }

    .activities .vacancy.open .vacancy__body {
        opacity: 1;
        display: block !important;
    }

    .activities .vacancy.open .activities-btn {
        display: flex;
    }

    .activities .vacancy-btn {
        display: none;
    }

    .activities .activities-btn {
        background-color: transparent;
        position: absolute;
        left: -50rem;
        display: none;
    }

    .activities .vacancy__heading {
        padding: var(--padding) 0 0;
        justify-content: center;
        align-items: center;
        width: fit-content;
    }

    .vacancies__content-top {
        width: 70%;
        margin: 0 auto;
        position: relative;
    }
}

@media not (hover: none) {

    a:hover,
    .link-elem:hover .a-link {
        background-size: 100% 1rem;
        background-position: 0 100%;
    }

    .link-elem:hover .btn-icon .icon {
        animation: toRightFromLeft .4s forwards;
    }

    .link-elem:hover .btn-icon .icon.rotate {
        animation: toRightFromLeft3 .4s forwards;
    }

    .share-block__socials>*:hover img {
        filter: invert(1) brightness(0);
    }

    .swiper-button:not(.swiper-button-disabled):hover .icon,
    .testimonials__file:hover .btn-icon .icon {
        animation: toRightFromLeft2 .4s forwards;
    }

    .btn:hover::before {
        width: 100%;
    }

    .testimonials__media:hover .testimonials__play::before {
        transform: translate(-50%, -50%) scale(0);
    }

    .pagination-num a:hover::before {
        width: 100%;
    }

    .hover-scale:hover .hover-scale-img img {
        transform: scale(1.08);
    }

    .check label:hover::before {
        border-color: var(--accent);
    }

    .select-item:hover {
        background-color: var(--bg);
    }

    .questionnaire__elem:hover::before {
        margin-left: 0;
    }

    .catalog__item:hover .catalog__item-links.dop {
        opacity: 1;
        visibility: visible;
        transform: translateY(80rem);
    }

    .product-slider-thumbs__img:hover {
        background-color: rgba(0, 0, 0, .04);
    }

    .modal__close:hover .icon {
        fill: var(--accent);
    }

    .radio-item:hover {
        border-color: var(--accent);
    }

    .info-icon:hover {
        border-color: var(--accent);
        color: var(--accent);
    }

    .questionnaire-tags a:hover {
        opacity: 0.8;
    }

    .header-menu li:has(ul):hover>a {
        background-size: 100% 1rem;
        background-position: 0 100%;
    }

    .header-menu li:has(ul):hover div {
        opacity: 1;
        visibility: visible;
    }

    @keyframes toRightFromLeft {
        49% {
            transform: rotate(-45deg) translate(100%);
        }

        50% {
            opacity: 0;
            transform: rotate(-45deg) translate(-100%);
        }

        51% {
            opacity: 1;
        }
    }

    @keyframes toRightFromLeft2 {
        49% {
            transform: translateY(-100%);
        }

        50% {
            opacity: 0;
            transform: translateY(100%);
        }

        51% {
            opacity: 1;
        }
    }

    @keyframes toRightFromLeft3 {
        49% {
            transform: translateX(100%);
        }

        50% {
            opacity: 0;
            transform: translateX(-100%);
        }

        51% {
            opacity: 1;
        }
    }
}