/*
Theme Name: AquaCeh
Theme URI: https://aquacehstroy.com.ua
Author: MrAkells
Author URI: https://mrakells.org
Description: Тема для АкваЦех-Строй
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: personal
Text Domain: aquaceh
*/

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

@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(fonts/Inter-Medium.woff2) format("woff2");
    font-weight: 500;
    font-style: normal
}

@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(fonts/Inter-SemiBold.woff2) format("woff2");
    font-weight: 600;
    font-style: normal
}

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

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

@font-face {
    font-family: Manrope;
    font-display: swap;
    src: url(fonts/Manrope-SemiBold.woff2) format("woff2");
    font-weight: 600;
    font-style: normal
}

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

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

*::after,
*::before {
    display: inline-block
}

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

body {
    color: #454e59;
    line-height: 1;
    font-family: Inter;
    font-size: 1rem;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

button,
input,
textarea {
    font-family: Inter;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    background-color: rgba(0, 0, 0, 0)
}

input,
textarea {
    width: 100%
}

label {
    display: inline-block
}

button,
option,
select {
    cursor: pointer
}

a {
    display: inline-block;
    color: inherit;
    text-decoration: none
}

ul li {
    list-style: none
}

img {
    vertical-align: top
}

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

.lock body {
    overflow: hidden;
    touch-action: none;
    -ms-scroll-chaining: none;
    overscroll-behavior: none
}

.wrapper {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden
}

@supports (overflow:clip) {
    .wrapper {
        overflow: clip
    }
}

.wrapper>main {
    flex: 1 1 auto
}

.wrapper>* {
    min-width: 0
}

[class*=__container] {
    max-width: 78.375rem;
    margin: 0 auto;
    padding: 0 .9375rem
}

[class*="--gc"] {
    display: grid;
    min-width: 0;
    grid-template-columns: .9375rem 1fr minmax(auto, 76.5rem) 1fr .9375rem
}

[class*="--gc"]>* {
    min-width: 0;
    grid-column: 3/4
}

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

.input {
    font-family: Manrope;
    width: 100%;
    display: block;
    border-radius: 1.875rem;
    padding: .6875rem .875rem;
    height: 2.75rem;
    background-color: #fff;
    font-weight: 600;
    font-size: .875rem;
    letter-spacing: -.03em;
    color: #171820;
    caret-color: inherit
}

.input[placeholder]:not([data-placeholder-nohiden])::-webkit-input-placeholder {
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    color: #8c96a5
}

.input[placeholder]:not([data-placeholder-nohiden]):-ms-input-placeholder {
    -ms-transition: opacity .3s;
    transition: opacity .3s;
    color: #8c96a5
}

.input[placeholder]:not([data-placeholder-nohiden])::-ms-input-placeholder {
    -ms-transition: opacity .3s;
    transition: opacity .3s;
    color: #8c96a5
}

.input[placeholder]:not([data-placeholder-nohiden])::placeholder {
    transition: opacity .3s;
    color: #8c96a5
}

.input[placeholder]:not([data-placeholder-nohiden]):focus::-webkit-input-placeholder {
    opacity: 0
}

.input[placeholder]:not([data-placeholder-nohiden]):focus:-ms-input-placeholder {
    opacity: 0
}

.input[placeholder]:not([data-placeholder-nohiden]):focus::-ms-input-placeholder {
    opacity: 0
}

.input[placeholder]:not([data-placeholder-nohiden]):focus::placeholder {
    opacity: 0
}

textarea.input {
    resize: none;
    min-height: 7.5rem;
    border-radius: 1.875rem;
    padding: .6875rem .875rem
}

.options {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem 1.5rem
}

.options__item {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .5rem
}

.options__input {
    width: 0;
    height: 0;
    opacity: 0;
    position: absolute
}

.options__input:focus-visible~.options__circle {
    outline: auto
}

.options__input:checked~.options__circle {
    background-color: #fff;
    border: 4px solid #00a2d9
}

.options__circle {
    display: block;
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    border: 1px solid #a6a7b3
}

.menu__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .625rem 1.5rem
}

.menu__link {
    font-weight: 400;
    font-size: 1rem;
    line-height: 110%;
    color: #454e59;
    transition: color .3s
}

.icon-menu {
    display: none
}

.menu__item {
    position: relative;
}

.menu__sub-list {
    position: absolute;
    top: 100%;
    left: 50%;
    min-width: fit-content;
    text-wrap: nowrap;
    padding: 10px 15px;
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 20px);
    transition: all 0.3s ease;
}

.menu__sub-list::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    height: 10px;
}

.menu__item:hover .menu__sub-list {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 10px);
}

.menu__sub-list .menu__item {
    margin-bottom: 10px;
}

.menu__sub-list .menu__item:last-child {
    margin-bottom: 0;
}

.menu__sub-list .menu__link {
    color: #333;
    text-decoration: none;
    display: block;
    padding: 5px 0;
}

.menu__sub-list .menu__link:hover {
    color: #0088cc;
    /* Это цвет можно заменить на ваш фирменный */
}

body::after {
    content: "";
    background-color: rgba(3, 102, 136, .3);
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity .8s ease 0s;
    pointer-events: none;
    z-index: 149
}

.popup-show body::after {
    opacity: 1
}

.popup {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 30px 10px;
    transition: visibility .8s ease 0s;
    visibility: hidden;
    pointer-events: none
}

.popup_show {
    z-index: 150;
    visibility: visible;
    overflow: auto;
    pointer-events: auto
}

.popup_show .popup__content {
    visibility: visible;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.popup__wrapper {
    flex-direction: column;
    min-height: 100%;
    flex: 1 1 auto;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

.popup__content {
    position: relative;
    z-index: 0;
    visibility: hidden;
    -webkit-transform: scale(0);
    transform: scale(0);
    transition: -webkit-transform .3s ease 0s;
    transition: transform .3s ease 0s;
    transition: transform .3s ease 0s, -webkit-transform .3s ease 0s;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, .8);
    padding: 2rem;
    width: 100%;
    max-width: 90rem;
    border-radius: 1.25rem
}

.lock .popup__content {
    visibility: visible
}

.popup__close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 5;
    display: grid;
    place-content: center;
    border-radius: 50%;
    width: 2.875rem;
    height: 2.875rem;
    background-color: #131c2f;
    transition: background .3s
}

.popup__body {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem
}

.popup__sliders {
    max-width: 50.9375rem;
    width: 100%;
    display: grid;
    align-content: start;
    gap: .8125rem;
    min-width: 0
}

.popup__slider {
    border-radius: 1.25rem
}

.popup__slide {
    height: 100%;
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 815/611;
    display: grid
}

.popup__slide iframe,
.popup__slide img,
.popup__slide video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.popup__sliders-bottom {
    min-width: 0;
    display: flex;
    gap: .5rem
}

.popup__thumbs-slider {
    border-radius: 1.25rem
}

.popup__thumbs-slide {
    cursor: pointer;
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 304/195
}

.popup__thumbs-slide iframe,
.popup__thumbs-slide img,
.popup__thumbs-slide video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.popup__slides-counter {
    max-width: 23.435583%;
    width: 100%;
    border-radius: 1.25rem;
    overflow: hidden;
    position: relative;
    z-index: 0
}

.popup__slides-counter img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.popup__slides-count {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    background: rgba(255, 255, 255, .2);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 .25rem;
    padding: .3125rem;
    font-weight: 600;
    line-height: 120%;
    color: #112e33
}

.popup__info {
    max-width: 31.8125rem;
    width: 100%;
    padding-top: 4rem;
    display: grid;
    align-content: start;
    gap: 2.375rem
}

.popup__configurations {
    max-width: 18.125rem;
    display: grid;
    align-content: start;
    gap: .625rem
}

.popup__config {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: .875rem;
    line-height: 140%
}

.popup__config svg {
    align-self: flex-start
}

.popup__text {
    display: grid;
    align-content: start;
    gap: 1.5rem;
    font-size: .875rem;
    line-height: 140%
}

.popup__text h3 {
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 120%;
    color: #112e33
}

.spollers {
    display: grid;
    align-content: start;
    gap: 2rem;
    counter-reset: item
}

.spollers__title {
    width: 100%;
    cursor: default;
    text-align: left;
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 120%;
    list-style: none
}

.spollers__title::-webkit-details-marker,
.spollers__title::marker {
    display: none
}

.spollers__title:before {
    counter-increment: item;
    content: counter(item, decimal-leading-zero);
    position: absolute;
    left: -.625rem;
    top: -.625rem;
    z-index: 3;
    border-radius: 50%;
    padding: .3125rem;
    min-width: 2rem;
    height: 2rem;
    background-color: #fff;
    color: #00a2d9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: .875rem;
    line-height: 120%;
    text-align: center
}

.spollers__title {
    cursor: pointer
}

.spollers__title._spoller-active .spollers__arrow {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.spollers__icon {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem
}

.spollers__arrow {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    margin-left: auto;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s
}

.spollers__body {
    /* display: none; */
    padding: 1.25rem 0 0 0;
    line-height: 140%;
    align-content: start;
    gap: 1rem
}

/* CSS для анимации */
.spollers__body {
    overflow: hidden;
    max-height: 0;
    /* opacity: 0; */
    transition: all 0.3s ease-out;
}

.spollers__body._open {
    /* opacity: 1; */
    max-height: 1000px;
    /* должно быть больше максимальной высоты контента */
}

.spollers__arrow {
    transition: transform 0.3s ease;
}

.spollers__title._spoller-active .spollers__arrow {
    transform: rotate(180deg);
}

.title {
    font-weight: 600;
    line-height: 117%;
    color: #000
}

.button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    font-family: Manrope;
    border-radius: 1.875rem;
    padding: .6875rem .875rem;
    min-height: 2.75rem;
    min-width: 11.1875rem;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    width: 100%;
    background-color: #131c2f;
    color: #fff;
    font-weight: 700;
    font-size: .875rem;
    transition: opacity .3s
}

.button-blue {
    background-color: #00a2d9
}

.blue-bg {
    background-color: #00a2d9;
    color: #fff
}

.swiper-button-next,
.swiper-button-prev {
    pointer-events: all;
    border-radius: 50%;
    padding: .75rem;
    width: 3rem;
    height: 3rem;
    display: grid;
    place-content: center;
    background-color: #f3f3f3;
    transition: background .3s
}

.swiper-button-next path,
.swiper-button-prev path {
    transition: fill .3s
}

.swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .3125rem .5rem
}

.swiper-pagination .swiper-pagination-bullet {
    border-radius: 50%;
    width: .625rem;
    height: .625rem;
    background-color: #131c2f;
    transition: background .3s
}

.swiper-pagination .swiper-pagination-bullet-active {
    background-color: #00a2d9
}

.header {
    background-color: #fff;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 15
}

.header__top {
    background-color: #f3f3f3;
    padding: .125rem 0
}

.header__top .header__container {
    display: flex;
    align-items: center;
    gap: 2.1875rem
}

.header__top-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: .875rem;
    line-height: 110%;
    transition: color .3s
}

.header__top-request {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    line-height: 110%;
    color: #00a2d9;
    transition: color .3s
}

.header__top-request path {
    transition: stroke .3s
}

.header__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9375rem;
    padding: .75rem 0
}

.header__logo {
    max-width: 10.125rem;
    width: 100%
}

.header__logo img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.header__actions {
    display: flex;
    align-items: center;
    gap: 1.25rem
}

.header__phone {
    min-width: 17rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .375rem 1.125rem;
    border-radius: 2.1875rem;
    background-color: #00a2d9;
    color: #fff;
    transition: background .3s
}

.header__phone-body {
    display: flex;
    flex-direction: column;
    gap: .25rem
}

.header__phone-text {
    font-weight: 400;
    font-size: .8125rem;
    line-height: 185%;
    letter-spacing: .08em
}

.header__phone-number {
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 133%;
    letter-spacing: .06em
}

.lang-block {
    position: relative
}

.lang-block__current {
    padding: .8125rem .65625rem;
    display: flex;
    align-items: center;
    gap: .25rem;
    border-radius: 1.875rem;
    background-color: #fff;
    font-weight: 600;
    font-size: 1rem;
    line-height: 140%;
    color: #171820;
    transition: color .3s
}

.lang-block__current img {
    width: 1.375rem;
    height: 1.375rem;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 50%;
    margin-right: .5rem
}

.lang-block__current svg {
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s
}

.open-lang .lang-block__current svg {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.lang-block__dropdown {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    z-index: 5;
    width: 100%;
    background-color: #fff;
    border-radius: 1.25rem;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
    opacity: 0;
    visibility: hidden;
    transition: all .3s, opacity .2s
}

.open-lang .lang-block__dropdown {
    -webkit-transform: rotateX(0);
    transform: rotateX(0);
    opacity: 1;
    visibility: visible
}

.lang-block__lang {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .375rem .6875rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 140%;
    color: #171820;
    transition: color .3s
}

.lang-block__lang img {
    width: 1.375rem;
    height: 1.375rem;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 50%
}

.footer {
    padding: 6.25rem 0;
    background-color: #f3f3f3
}

.footer__body {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 2rem
}

.footer__logo {
    max-width: 10.125rem;
    margin-bottom: 2rem
}

.footer__logo img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.footer__info-links {
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.footer__info-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: .875rem;
    transition: color .3s
}

.footer__info-link svg {
    flex-shrink: 0
}

.footer__socials {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem
}

.footer__social {
    width: 1.5rem;
    height: 1.5rem
}

.footer__social img,
.footer__social svg {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.footer__social path {
    transition: fill .3s
}

.footer__nav {
    display: flex;
    gap: 1.5rem
}

.footer__nav-title {
    font-weight: 600;
    font-size: 1rem;
    line-height: 150%;
    color: #000;
    margin-bottom: 1rem
}

.footer__nav-list {
    display: grid;
    align-content: start;
    gap: 1rem
}

.footer__nav-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    line-height: 125%;
    color: #596880;
    transition: color .3s
}

.footer__nav-link::before {
    content: "";
    width: .4375rem;
    height: .75rem;
    background: url("http://dev.aquacehstroy.com.ua/wp-content/uploads/2024/12/arrow-right-gray.svg") center / 7px 12px no-repeat;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s
}

.footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap-reverse;
    gap: 1.5rem
}

.footer__copy {
    font-size: .875rem;
    line-height: 150%;
    color: #000
}

.footer__policy {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem 1.5rem
}

.footer__policy-link {
    font-size: .875rem;
    line-height: 150%;
    text-decoration: underline;
    color: #000;
    transition: color .3s
}

.hero {
    background: url(../img/hero-bg.webp) center/cover no-repeat;
    padding: 4.9375rem .9375rem;
    text-align: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.hero__title {
    margin: 0 auto;
    max-width: 35.3125rem;
    font-weight: 700;
    line-height: 112%
}

.hero__text {
    margin: 0 auto;
    max-width: 35.3125rem;
    font-size: 1rem;
    line-height: 140%
}

.navigation {
    padding-top: 1.5rem;
    margin-bottom: 6.25rem
}

.navigation__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem
}

.navigation__link {
    border: 1px solid #a2a3a7;
    border-radius: 1.875rem;
    padding: 1rem 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 100%;
    color: #131c2f;
    transition: color .3s, border .3s
}

.about {
    margin-bottom: 6.25rem
}

.about__head {
    margin-bottom: 5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
}

.about__text {
    line-height: 150%
}

.about__body {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
}

.about__content {
    line-height: 150%;
    display: grid;
    align-content: start;
    gap: 1.25rem
}

.about__content p a {
    font-weight: 700;
    color: #00a2d9
}

.about__img {
    border-radius: 1.25rem;
    overflow: hidden
}

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

.type {
    margin-bottom: 6.25rem
}

.type__title {
    text-align: center;
    margin-bottom: 1.5rem
}

.type-content__head {
    display: flex;
    gap: 1.5625rem;
    margin-bottom: 2rem
}

.type-content__navigation {
    display: flex;
    align-items: center;
    gap: 1rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.type-content__navigation::-webkit-scrollbar {
    display: none;
    -webkit-appearance: none;
    appearance: none;
    width: 0;
    height: 0
}

.type-content__btn {
    border: 1px solid #a2a3a7;
    border-radius: 1.875rem;
    padding: 1rem 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 100%;
    color: #131c2f;
    white-space: nowrap;
    transition: color .3s, border .3s
}

.type-content__btn._tab-active {
    color: #00a2d9;
    border-color: #00a2d9
}

.type-content__arrows {
    display: flex;
    align-items: center;
    gap: .9375rem
}

.type-content__arrow {
    border-radius: 50%;
    padding: .75rem;
    width: 3rem;
    height: 3rem;
    display: grid;
    place-content: center;
    background-color: #f3f3f3;
    transition: background .3s
}

.type-content__arrow path {
    transition: fill .3s
}

.type-content__inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
}

.type-content__img {
    border-radius: 1.25rem;
    overflow: hidden
}

.type-content__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.type-content__info {
    border-radius: 1.25rem;
    padding: 2rem 1.5rem;
    background-color: #f3f3f3;
    display: grid;
    align-content: start;
    gap: 1.5rem
}

.type-content__title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 105%;
    color: #262b33
}

.type-content__text {
    line-height: 150%;
    display: grid;
    align-items: start;
    gap: 1.25rem
}

.type-content__columns {
    display: flex;
    gap: .9375rem
}

.type-content__col {
    max-width: 16.25rem;
    width: 100%
}

.type-content__col-title {
    margin-bottom: .75rem;
    line-height: 150%;
    font-weight: 700
}

.type-content__list {
    display: grid;
    align-content: start;
    gap: .75rem;
    padding-left: 1.25rem
}

.type-content__item {
    list-style: decimal;
    line-height: 150%
}

.consultation {
    margin-bottom: 6.25rem
}

.consultation__body {
    display: flex;
    gap: 1rem
}

.consultation__content {
    max-width: 29.5625rem;
    min-width: 18.125rem;
    width: 100%;
    padding: 3.625rem 5rem;
    border-radius: 1.25rem;
    background-color: #f3f3f3;
    display: grid;
    align-content: start;
    gap: 1.25rem
}

.consultation__text {
    line-height: 150%;
    display: grid;
    align-content: start;
    gap: .75rem
}

.consultation__form {
    width: 100%;
    margin: 0 auto;
    display: grid;
    align-content: start;
    gap: .625rem
}

.consultation__btn {
    max-width: 100%
}

.consultation__img {
    border-radius: 1.25rem;
    overflow: hidden
}

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

.advantages {
    margin-bottom: 6.25rem
}

.advantages__title {
    text-align: center;
    margin-bottom: 1.625rem
}

.advantages__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16.875rem, 1fr));
    gap: 1.5rem
}

.advantages__card {
    background-color: #f3f3f3;
    border-radius: 1.25rem;
    padding: 2.5rem 2.25rem 2.25rem 2.25rem;
    display: flex;
    gap: 1rem
}

.advantages__card--long {
    grid-column: span 2
}

.advantages__card.blue-bg {
    background-color: #00a2d9;
    color: #fff
}

.advantages__card-content {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.advantages__card-title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 120%;
    color: #112e33
}

.blue-bg .advantages__card-title {
    color: #fff
}

.advantages__card-text {
    flex: 1 1 auto;
    display: grid;
    align-content: start;
    gap: .75rem;
    line-height: 140%
}

.advantages__card-text span {
    font-weight: 700;
    color: #00a2d9
}

.advantages__card-btn {
    max-width: 100%
}

.advantages__card-img {
    max-width: 12.5rem;
    width: 100%;
    -webkit-transform: translate(1.25rem, 0);
    transform: translate(1.25rem, 0)
}

.advantages__card-img img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.profitable {
    margin-bottom: 6.25rem
}

.profitable__body {
    display: flex;
    gap: 1.1875rem
}

.profitable__images {
    max-width: 29.8125rem;
    width: 100%;
    display: grid;
    gap: 1.25rem
}

.profitable__img {
    border-radius: 1.25rem;
    overflow: hidden
}

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

.profitable__content {
    width: 100%;
    padding: 2.5rem 1.5rem 1.75rem 1.5rem;
    border-radius: 1.25rem;
    background-color: #f3f3f3
}

.profitable__title:not(:last-child) {
    margin-bottom: 1.5rem
}

.profitable__text {
    line-height: 140%
}

.profitable__list {
    display: grid;
    align-content: start;
    gap: .625rem;
    padding-left: 1.25rem
}

.profitable__item {
    list-style: disc
}

.certificates {
    margin-bottom: 6.25rem
}

.certificates__body {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    min-width: 0
}

.certificates__content {
    max-width: 31rem;
    width: 100%
}

.certificates__title:not(:last-child) {
    margin-bottom: 1.25rem
}

.certificates__text {
    line-height: 150%;
    display: grid;
    align-content: start;
    gap: .625rem
}

.certificates__text:not(:last-child) {
    margin-bottom: 1.5rem
}

.certificates__navigation {
    display: flex;
    align-items: center;
    gap: .9375rem
}

.certificates__arrow {
    background-color: #131c2f
}

.certificates__slider {
    width: 100%
}

.certificates__slider .swiper-pagination {
    display: none
}

.certificates__slide {
    border-radius: 1.25rem;
    overflow: hidden
}

.certificates__slide img {
    width: auto;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.collaboration {
    margin-bottom: 6.25rem
}

.collaboration__title {
    text-align: center
}

.collaboration__title:not(:last-child) {
    margin-bottom: 2rem
}

.collaboration-tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    min-height: 42.625rem
}

.collaboration-tabs__navigation {
    display: grid;
    gap: 1rem
}

.collaboration-tabs__item {
    border-radius: 1.25rem;
    background-color: #f3f3f3;
    padding: 1.8125rem 1.5rem;
    text-align: left;
    display: flex;
    flex-direction: column;
    min-height: 0;
    transition: all .4s ease, min-height 0s
}

.collaboration-tabs__item._tab-active {
    min-height: 16.625rem;
    transition: all .5s ease
}

.collaboration-tabs__item._tab-active .collaboration-tabs__title {
    margin-bottom: 1.25rem
}

.collaboration-tabs__item._tab-active .collaboration-tabs__text {
    -webkit-transform: rotateX(0);
    transform: rotateX(0);
    opacity: 1;
    height: auto;
    visibility: visible
}

.collaboration-tabs__title {
    display: block;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 120%;
    color: #112e33;
    transition: margin .3s
}

.collaboration-tabs__text {
    display: block;
    line-height: 150%;
    padding-left: 2.9375rem;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
    opacity: 0;
    height: 0;
    visibility: hidden;
    transition: all .3s, opacity .2s
}

.collaboration-tabs__body {
    height: 100%;
    border-radius: 1.25rem;
    overflow: hidden
}

.collaboration-tabs__body img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.contact-us {
    margin-bottom: 6.25rem
}

.contact-us__body {
    border-radius: 1.25rem;
    padding: 3.75rem 1.5rem;
    background-color: #053247;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.contact-us__title {
    text-align: center;
    color: #fff
}

.contact-us__text {
    max-width: 31.25rem;
    margin: 0 auto;
    text-align: center;
    line-height: 150%;
    color: #ebeced
}

.contact-us__form {
    display: flex;
    gap: .625rem
}

.contact-us__btn {
    min-width: 12.0625rem
}

.influences {
    margin-bottom: 6.25rem
}

.influences__head {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem
}

.influences__text {
    line-height: 140%
}

.influences__items {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem
}

.influences__item {
    flex: 1 1 auto;
    min-width: 16.875rem;
    width: calc(25% - 1.5rem);
    border-radius: 1.25rem;
    padding: 2.5rem 1.5rem;
    background-color: #f3f3f3;
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.influences__item-title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 120%;
    color: #112e33
}

.influences__item-text {
    line-height: 140%
}

.calculator {
    margin-bottom: 6.25rem
}

.calculator__title {
    text-align: center;
    margin-bottom: 2.5rem
}

.calculator__body {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
}

.calculator__img {
    border-radius: 1.25rem;
    overflow: hidden;
    position: relative;
    padding: 1.25rem;
    z-index: 0;
    display: grid;
    align-content: end
}

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

.calculator__contacts {
    border-radius: 1.25rem;
    padding: 2.5rem 1.5rem;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .25);
    background-color: #f3f3f3;
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.calculator__contacts-title {
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 120%;
    color: #000
}

.calculator__contacts-text {
    line-height: 140%;
    color: #000
}

.calculator__contacts-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .625rem
}

.calculator__contacts-input {
    flex: 1 1 auto;
    width: calc(100% - 10.5625rem);
    min-width: 15.625rem
}

.calculator__contacts-btn {
    min-width: 9.9375rem;
    padding: .6875rem .875rem
}

.calculator__form {
    display: grid;
    gap: 1.25rem
}

.calculator__row {
    padding: .875rem 1.5rem;
    border-radius: 1.25rem;
    background-color: #f3f3f3;
    min-height: 5.3125rem;
    display: grid;
    align-items: center;
    grid-template-columns: 1.9fr 2fr;
    gap: .75rem
}

.calculator__row .calculator__items {
    justify-self: end
}

.calculator__label {
    font-weight: 500;
    font-size: 1rem;
    line-height: 120%;
    color: #112e33
}

.calculator__inputs {
    padding: 1.5rem;
    border-radius: 1.25rem;
    background-color: #f3f3f3;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.375rem, 1fr));
    gap: 1.25rem
}

.calculator__inputs-col {
    display: grid;
    align-content: start;
    gap: .75rem
}

.calculator__input {
    text-align: center
}

.calculator__columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10.625rem, 1fr));
    gap: 1.25rem
}

.calculator__column {
    padding: 1.5rem;
    border-radius: 1.25rem;
    background-color: #f3f3f3;
    display: grid;
    align-content: start;
    gap: 1.25rem
}

.calculator__column--long {
    grid-column: span 2
}

.calculator__column--long .calculator__items {
    justify-content: space-between
}

.calculator__total {
    padding: 1.5rem;
    border-radius: 1.25rem;
    background-color: #00a2d9;
    color: #fff;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem
}

.calculator__total-label {
    font-weight: 500;
    line-height: 120%
}

.calculator__total-price {
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 120%;
    margin-right: auto
}

.calculator__btn {
    max-width: 100%;
}

.stages {
    padding: 6.25rem 0 7.9375rem 0;
    margin-bottom: 6.25rem;
    background-color: #053247;
    color: #fff
}

.stages__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.25rem;
    margin-bottom: 1.8125rem
}

.stages__title {
    color: #fff
}

.stages__text {
    max-width: 24.4375rem;
    line-height: 140%
}

.stages__body {
    display: flex;
    gap: 2.6875rem
}

.stages__content {
    width: 100%
}

.stages__images {
    max-width: 29.8125rem;
    width: 100%;
    display: grid;
    align-self: flex-start;
    gap: 1.25rem
}

.stages__img {
    width: 100%;
    height: 100%;
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 477/304
}

.stages__img>div {
    height: 100%;
}

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

.finishing {
    margin-bottom: 6.25rem
}

.finishing__head {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem
}

.finishing__text {
    line-height: 140%
}

.finishing__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1.5rem
}

.finishing__item {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.finishing__item-img {
    border-radius: 1.25rem;
    overflow: hidden
}

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

.finishing__item-title {
    color: #112e33;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 120%
}

.finishing__item-text {
    line-height: 140%
}

.equipment {
    margin-bottom: 6.25rem
}

.equipment__head {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 2rem
}

.equipment__head .equipment__title {
    max-width: 26.875rem;
    width: 100%;
    text-align: left;
    margin-bottom: 0
}

.equipment__title {
    text-align: center;
    margin-bottom: 2rem
}

.equipment__text {
    max-width: 46.875rem;
    width: 100%;
    line-height: 140%
}

.tabs__head {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 2.875rem
}

.tabs__navigation {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem
}

.tabs__tab {
    border: 1px solid #a2a3a7;
    border-radius: 1.875rem;
    padding: .6875rem 2rem .6875rem 1.5rem;
    min-height: 3.5rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 100%;
    color: #131c2f;
    display: flex;
    align-items: center;
    gap: .625rem;
    transition: color .3s, border .3s
}

.tabs__tab img {
    height: 32px;
    width: 32px;
    color: #a2a3a7;
    transition: color .3s
}

.tabs__tab._tab-active {
    color: #00a2d9;
    border-color: #00a2d9
}

.tabs__tab._tab-active svg {
    color: #00a2d9
}

.tabs__head-text {
    max-width: 22.1875rem;
    width: 100%;
    line-height: 140%
}

.tabs__inner {
    display: flex;
    gap: 1.5rem
}

.tabs__info {
    max-width: 31.0625rem;
    width: 100%;
    border-radius: 1.25rem;
    padding: 1.8125rem 1.5rem;
    background-color: #f3f3f3
}

.tabs__title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 120%;
    color: #112e33;
    margin-bottom: 2rem
}

.tabs__items {
    display: grid;
    gap: 1.875rem
}

.tabs__item-title {
    font-weight: 600;
    color: #112e33;
    line-height: 140%;
    margin-bottom: 1rem
}

.tabs__item-text {
    line-height: 140%
}

.tabs__img {
    border-radius: 1.25rem;
    overflow: hidden
}

.tabs__img img {
    aspect-ratio: 704/429;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.individual {
    margin-bottom: 6.25rem
}

.individual__body {
    border-radius: 1.25rem;
    padding: 4.375rem 1.5rem;
    background-color: #f3f3f3;
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.individual__title {
    max-width: 45.625rem;
    margin: 0 auto;
    text-align: center
}

.individual__text {
    max-width: 31.25rem;
    margin: 0 auto;
    text-align: center;
    line-height: 150%
}

.individual__form {
    display: flex;
    gap: .625rem
}

.individual__btn {
    min-width: 12.0625rem
}

.services {
    margin-bottom: 6.25rem
}

.services__head {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem
}

.services__text {
    line-height: 140%
}

.services__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18.125rem, 1fr));
    gap: 1.5rem;
    margin-bottom: 3.75rem
}

.services__item {
    border-radius: 1.25rem;
    padding: 1.5rem;
    background-color: #f3f3f3;
    display: flex;
    flex-direction: column;
    gap: 1.375rem
}

.services__item-icon {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    overflow: hidden
}

.services__item-icon img,
.services__item-icon svg {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.services__item-title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 120%;
    color: #000
}

.services__item-list {
    padding-left: 1.25rem;
    display: grid;
    align-content: start;
    gap: .625rem;
    line-height: 150%;
    color: #000
}

.services__item-list li {
    list-style: disc
}

.services__contacts {
    grid-column: span 2;
    border-radius: 1.25rem;
    padding: 1.5rem;
    background-color: #053247;
    display: grid;
    place-content: center;
    gap: 1.5rem;
    min-height: 27.5rem;
    color: #fff;
    text-align: center
}

.services__contacts-title {
    max-width: 32.25rem;
    font-weight: 500;
    font-size: 1.875rem;
    line-height: 120%;
    margin: 0 auto
}

.services__contacts-phones {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: 3rem auto;
    gap: 1.5rem
}

.services__contacts-numbers {
    display: flex;
    flex-direction: column;
    gap: .75rem
}

.services__contacts-phone {
    transition: color .3s
}

.services__contacts-link {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-size: .875rem;
    color: #00a2d9;
    transition: opacity .3s
}

.services__bottom {
    max-width: 50.5rem;
    line-height: 140%;
    text-align: center;
    margin: 0 auto
}

.works {
    margin-bottom: 6.25rem
}

.works__title {
    margin-bottom: 2rem
}

.works__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1.5rem
}

.works__items:not(:last-child) {
    margin-bottom: 2rem
}

.works__all-projects {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    text-align: center;
    font-weight: 700;
    font-size: .875rem;
    color: #053247;
    border: 1px solid #053247;
    background-color: #fff;
    border-radius: 1.875rem;
    padding: .6875rem .875rem;
    min-height: 2.75rem;
    max-width: 20.4375rem;
    width: 100%;
    margin: 0 auto;
    transition: opacity .3s
}

.product-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.product-card__img {
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 1/1
}

.product-card__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.product-card__title {
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 120%;
    color: #112e33
}

.product-card__inf {
    display: flex;
    flex-direction: column;
    gap: .625rem;
    font-size: .875rem;
    line-height: 140%
}

.product-card__type {
    display: flex;
    align-items: center;
    gap: .75rem
}

.product-card__type svg {
    flex-shrink: 0
}

.product-card__size {
    display: flex;
    align-items: center;
    gap: .75rem
}

.product-card__size svg {
    flex-shrink: 0
}

.product-card__more {
    font-family: Manrope;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    font-weight: 700;
    font-size: .875rem;
    color: #053247;
    display: flex;
    align-items: center;
    gap: .5rem;
    position: relative;
    padding-bottom: .0625rem;
    transition: color .3s
}

.product-card__more::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
    transition: background .3s
}

.product-card__more path {
    transition: stroke .3s
}

.team {
    margin-bottom: 6.25rem
}

.team__head {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    margin-bottom: 2rem
}

.team__text {
    line-height: 140%;
    max-width: 44rem
}

.col-4__slider {
    position: relative;
    z-index: 0;
    margin: 0 -4.25rem;
    padding: 0 4.25rem
}

.col-4__slider::after,
.col-4__slider::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    background-color: #fff;
    width: 4.1875rem;
    height: 100%
}

.col-4__slider::before {
    left: 0
}

.col-4__slider::after {
    right: 0
}

.col-4__slider .swiper-pagination {
    display: none
}

.col-4__slider:not(.swiper-initialized) .col-4__wrapper {
    gap: 1.5rem
}

.col-4__navigation {
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 3;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9375rem
}

.team-card {
    text-align: center
}

.team-card__img {
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 1/1;
    margin-bottom: 1.25rem
}

.team-card__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.team-card__name {
    margin-bottom: .75rem;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 120%;
    color: #112e33
}

.team-card__position {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin: 0 auto;
    margin-bottom: 1.25rem;
    border-radius: 1.875rem;
    padding: .6875rem 1.5rem;
    background-color: #f3f3f3;
    font-weight: 600;
    font-size: .875rem;
    line-height: 100%;
    color: #131c2f
}

.team-card__text {
    line-height: 140%
}

.reviews {
    margin-bottom: 6.25rem
}

.reviews__title {
    text-align: center;
    margin-bottom: 3.375rem
}

.reviews__body {
    display: flex;
    gap: 1.5rem
}

.reviews__content {
    max-width: 50.5rem;
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
}

.reviews__slider .swiper-pagination {
    display: none
}

.reviews__aside {
    max-width: 24.5rem;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1.75rem
}

.reviews__videoblock {
    position: relative;
    z-index: 0;
    overflow: hidden;
    border-radius: .625rem
}

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

.reviews__videoblock.open-video img {
    display: none
}

.reviews__play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    width: 2.875rem;
    height: 2.875rem
}

.reviews__play img,
.reviews__play svg {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.open-video .reviews__play {
    display: none
}

.reviews__video {
    display: none;
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 164.285714%
}

.reviews__video iframe,
.reviews__video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.open-video .reviews__video {
    display: block
}

.reviews__link {
    max-width: 100%
}

.reviews-card {
    border-radius: 1.25rem;
    padding: 2.5rem 1.5rem;
    background-color: #f3f3f3;
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.reviews-card__text {
    line-height: 140%;
    display: grid;
    align-content: start;
    gap: 1.25rem
}

.reviews-card__author {
    display: flex;
    align-items: center;
    gap: 1.5rem
}

.reviews-card__img {
    flex-shrink: 0;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    overflow: hidden
}

.reviews-card__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1/1
}

.reviews-card__name {
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 120%;
    color: #112e33
}

.prices {
    margin-bottom: 6.25rem
}

.prices__title {
    margin-bottom: 2rem
}

.price-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.price-card__img {
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 1/1
}

.price-card__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.price-card__name {
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 120%;
    color: #112e33
}

.price-card__price {
    font-weight: 700;
    font-size: .875rem;
    color: #053247
}

.faq {
    margin-bottom: 6.25rem
}

.faq__title {
    text-align: center;
    margin-bottom: 2rem
}

.faq-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.faq-card__img {
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 290/476;
    position: relative;
    z-index: 0
}

.faq-card__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: opacity .6s
}

.faq-card__img.open-video img {
    opacity: 0;
    pointer-events: none
}

.faq-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 2.875rem;
    height: 2.875rem;
    border-radius: 50%
}

.open-video .faq-card__play {
    display: none
}

.faq-card__video {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.faq-card__video iframe,
.faq-card__video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.open-video .faq-card__video {
    display: block
}

.faq-card__title {
    font-weight: 600;
    font-size: 1.25rem;
    letter-spacing: .01em;
    line-height: 120%;
    color: #252323
}

.interested {
    margin-bottom: 6.25rem
}

.interested__title {
    margin-bottom: 2rem
}

.col-3__slider {
    position: relative;
    z-index: 0;
    margin: 0 -4.25rem;
    padding: 0 4.25rem
}

.col-3__slider::after,
.col-3__slider::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    background-color: #fff;
    width: 4.1875rem;
    height: 100%
}

.col-3__slider::before {
    left: 0
}

.col-3__slider::after {
    right: 0
}

.col-3__slider .swiper-pagination {
    display: none
}

.col-3__slider:not(.swiper-initialized) .col-3__wrapper {
    gap: 1.5rem
}

.col-3__navigation {
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 3;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9375rem
}

.interested-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.interested-card__img {
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 393/288
}

.interested-card__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.interested-card__title {
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 120%;
    color: #112e33
}

.interested-card__text {
    line-height: 150%;
    color: rgba(0, 0, 0, .5)
}

.interested-card__link {
    font-family: Manrope;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    font-weight: 700;
    font-size: .875rem;
    color: #053247;
    display: flex;
    align-items: center;
    gap: .5rem;
    position: relative;
    padding-bottom: .0625rem;
    transition: color .3s
}

.interested-card__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
    transition: background .3s
}

.interested-card__link path {
    transition: stroke .3s
}

.swiper {
    overflow: hidden
}

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

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

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

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start
}

.swiper-initialized .swiper-slide {
    flex-shrink: 0
}

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

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

@media (min-width: 40.62375em) {
    .contact-us__form {
        align-items: center;
        justify-content: center;
        flex-wrap: wrap
    }

    .contact-us__input {
        max-width: 17.25rem
    }

    .individual__form {
        align-items: center;
        justify-content: center;
        flex-wrap: wrap
    }

    .individual__input {
        max-width: 17.25rem
    }
}

@media (min-width: 47.99875em) {
    .about__head {
        align-items: center
    }
}

@media (min-width: 56.24875em) {
    .type-content__columns {
        justify-content: space-between
    }
}

@media (min-width: 61.99875em) {
    .reviews__content {
        height: 100%;
        overflow-y: auto;
        max-height: 44.75rem;
        scroll-behavior: smooth;
        scrollbar-width: none;
        -ms-overflow-style: none
    }

    .reviews__content::-webkit-scrollbar {
        display: none;
        -webkit-appearance: none;
        appearance: none;
        width: 0;
        height: 0
    }

    .reviews__wrapper {
        flex-direction: column;
        gap: 1.5rem;
        height: 100%
    }

    .reviews__slide {
        width: 100% !important
    }
}

@media (min-width: 78.375em) {
    .popup__slides-count {
        font-size: 1.25rem
    }

    .title {
        font-size: 2.25rem
    }

    .hero__title {
        font-size: 3.125rem
    }
}

@media (max-width: 20em) {
    .popup__slides-count {
        font-size: .625rem
    }

    .title {
        font-size: 1.625rem
    }

    .hero__title {
        font-size: 2.125rem
    }
}

@media (max-width: 87.49875em) {
    .col-4__slider {
        margin: 0 -1.75rem;
        padding: 0 1.75rem
    }

    .col-4__slider::after,
    .col-4__slider::before {
        width: 1.6875rem
    }

    .col-3__slider {
        margin: 0 -1.75rem;
        padding: 0 1.75rem
    }

    .col-3__slider::after,
    .col-3__slider::before {
        width: 1.6875rem
    }
}

@media (max-width: 81.24875em) {
    .col-4__slider {
        margin: 0 -.875rem;
        padding: 0 .875rem
    }

    .col-4__slider::after,
    .col-4__slider::before {
        display: none
    }

    .col-3__slider {
        margin: 0 -.875rem;
        padding: 0 .875rem
    }

    .col-3__slider::after,
    .col-3__slider::before {
        display: none
    }
}

@media (max-width: 78.375em) {
    .header__actions {
        gap: .9375rem
    }

    .header__phone {
        min-width: 16rem
    }

    .reviews__title {
        margin-bottom: 2rem
    }
}

@media (max-width: 74.99875em) {
    .menu__list {
        gap: .625rem .9375rem
    }
}

@media (max-width: 68.74875em) {
    .menu__body {
        position: fixed;
        width: 100%;
        height: 100%;
        left: -100%;
        top: 0;
        z-index: 15;
        overflow: auto;
        padding: 7rem .9375rem 1.875rem .9375rem;
        background-color: #fff;
        transition: left .3s
    }

    .menu__body::before {
        content: "";
        position: fixed;
        width: 100%;
        height: 7rem;
        left: -100%;
        top: 0;
        background-color: #fff;
        transition: left .3s;
        z-index: 16
    }

    .menu-open .menu__body {
        left: 0
    }

    .menu-open .menu__body::before {
        left: 0
    }

    .menu__list {
        align-items: stretch;
        flex-direction: column;
        gap: 1.5rem
    }

    /* Стили для подменю */
    .menu__sub-list {
        padding-left: 1rem;
        margin-top: 1rem;
        flex-direction: column;
        gap: 1rem;
        display: flex
            /* Теперь подменю всегда видимо */
    }

    /* Стили для ссылок */
    .menu__link {
        font-weight: 600;
        font-size: 1.125rem;
        display: block;
        width: 100%
    }

    /* Стили для ссылок в подменю */
    .menu__sub-list .menu__link {
        font-weight: 400;
        font-size: 1rem
    }

    .icon-menu {
        display: block;
        position: relative;
        width: 1.875rem;
        height: 1.125rem;
        z-index: 17
    }

    .icon-menu span,
    .icon-menu::after,
    .icon-menu::before {
        content: "";
        transition: all .3s ease 0s;
        right: 0;
        position: absolute;
        width: 100%;
        height: .125rem;
        background-color: #000
    }

    .icon-menu::before {
        top: 0
    }

    .icon-menu::after {
        bottom: 0
    }

    .icon-menu span {
        top: calc(50% - .0625rem)
    }

    .menu-open .icon-menu span {
        width: 0
    }

    .menu-open .icon-menu::before {
        top: calc(50% - .0625rem);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    .menu-open .icon-menu::after {
        bottom: calc(50% - .0625rem);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .header__body {
        justify-content: stretch
    }

    .header__logo {
        order: 0;
        margin-right: auto;
        position: relative;
        z-index: 17
    }

    .header__menu {
        order: 2
    }

    .header__actions {
        order: 1;
        position: relative;
        z-index: 17
    }

    .works__items {
        gap: 1rem
    }
}

@media (max-width: 68.74875em)and (any-hover: none) {
    .icon-menu {
        cursor: default
    }
}

@media (max-width: 61.99875em) {
    .popup__content {
        padding: 1.5rem
    }

    .popup__info {
        padding-top: 1.5rem
    }

    .consultation__content {
        padding: 3.625rem 1.5rem
    }

    .stages {
        padding: 3.125rem 0
    }

    .stages__body {
        gap: 1.5rem
    }

    .tabs__head {
        flex-direction: column;
        margin-bottom: 2rem
    }

    .tabs__head-text {
        max-width: 100%
    }

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

    .team__head {
        gap: 1rem;
        margin-bottom: 1.5rem
    }

    .reviews__body {
        flex-direction: column
    }

    .reviews__content {
        max-width: 100%;
        display: flex;
        flex-direction: column;
        gap: 2rem
    }

    .reviews__slider .swiper-pagination {
        display: none
    }

    .reviews__wrapper {
        margin-bottom: 1rem
    }

    .reviews__aside {
        max-width: 100%
    }

    .reviews__videoblock {
        display: block !important;
    }

    .reviews__link {
        max-width: 24.5rem;
        margin: 0 auto
    }

    .reviews-card {
        height: 100%;
        padding: 2rem 1.5rem
    }

    .reviews-card__text {
        flex: 1 1 auto
    }

    .prices__title {
        margin-bottom: 1.5rem
    }
}

@media (max-width: 56.24875em) {
    .type-content__inner {
        display: flex;
        flex-direction: column-reverse
    }
}

@media (max-width: 47.99875em) {
    .menu__body {
        padding: 5rem .9375rem 1.875rem .9375rem
    }

    .menu__body::before {
        height: 4.625rem
    }

    .popup__close {
        top: .9375rem;
        right: .9375rem
    }

    .popup__body {
        flex-direction: column
    }

    .popup__info {
        max-width: 100%;
        padding-top: 0;
        gap: 1rem
    }

    .popup__text {
        gap: 1rem
    }

    .spollers {
        gap: 1.5rem
    }

    .header__top {
        display: none
    }

    .header__phone-text {
        line-height: 120%
    }

    .header__phone-number {
        font-size: .875rem;
        line-height: 120%
    }

    .footer {
        padding: 3.125rem 0
    }

    .navigation__list {
        justify-content: stretch;
        flex-wrap: nowrap;
        overflow-x: auto;
        width: 100%;
        padding-bottom: .625rem
    }

    .navigation__link {
        white-space: nowrap
    }

    .about__head {
        grid-template-columns: 1fr;
        gap: .75rem;
        margin-bottom: 1.5rem
    }

    .about__body {
        grid-template-columns: 1fr
    }

    .type-content__info {
        gap: 1rem;
        padding: 1.5rem
    }

    .profitable__body {
        flex-direction: column
    }

    .profitable__images {
        max-width: 100%
    }

    .profitable__img:last-child {
        display: none
    }

    .collaboration-tabs {
        grid-template-columns: 1fr;
        gap: 0;
        min-height: 0
    }

    .collaboration-tabs__body img {
        display: none
    }

    .influences__head {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 1.5rem
    }

    .influences__items {
        gap: 1rem
    }

    .calculator__title {
        margin-bottom: 1.25rem
    }

    .calculator__body {
        grid-template-columns: 1fr
    }

    .calculator__img {
        order: 1
    }

    .calculator__form {
        order: 0
    }

    .stages__images {
        display: none
    }

    .finishing__head {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 1.5rem
    }

    .equipment__head {
        margin-bottom: 1.5rem;
        justify-content: stretch;
        flex-direction: column;
        gap: 1rem
    }

    .equipment__title {
        margin-bottom: 1.5rem
    }

    .tabs__head {
        align-items: stretch;
        gap: .75rem;
        margin-bottom: 1.5rem
    }

    .tabs__navigation {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: .625rem
    }

    .tabs__tab {
        white-space: nowrap
    }

    .tabs__inner {
        gap: 1rem
    }

    .services__head {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 1.5rem
    }

    .services__items {
        gap: 1rem
    }

    .services__contacts-title {
        font-size: 1.5rem
    }

    .reviews__title {
        margin-bottom: 1.5rem
    }

    .faq__title {
        margin-bottom: 1.5rem
    }

    .faq-card__img {
        aspect-ratio: 1/1
    }

    .interested__title {
        margin-bottom: 1.5rem
    }
}

@media (max-width: 40.62375em) {
    .menu__list:not(:last-child) {
        margin-bottom: 2rem
    }

    .header__phone {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        margin: 0 auto
    }

    .footer__body {
        flex-wrap: wrap;
        margin-bottom: 1.5rem
    }

    .footer__logo {
        margin-bottom: 1rem
    }

    .footer__info-links {
        gap: .75rem;
        margin-bottom: .75rem
    }

    .type-content__head {
        flex-direction: column;
        gap: .75rem;
        margin-bottom: 1.5rem
    }

    .type-content__arrows {
        display: none
    }

    .type-content__list {
        gap: .3125rem
    }

    .consultation__body {
        flex-direction: column
    }

    .consultation__content {
        max-width: 100%;
        padding: 2rem 1.5rem
    }

    .advantages__items {
        grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
        gap: 1rem
    }

    .advantages__card {
        padding: 2rem 1.5rem
    }

    .advantages__card-img {
        display: none
    }

    .certificates__body {
        align-items: stretch;
        flex-direction: column
    }

    .certificates__text:not(:last-child) {
        margin-bottom: 0
    }

    .certificates__navigation {
        display: none
    }

    .certificates__slider .swiper-pagination {
        display: flex
    }

    .certificates__wrapper:not(:last-child) {
        margin-bottom: 1rem
    }

    .contact-us__form {
        flex-direction: column
    }

    .contact-us__btn {
        min-width: 11.1875rem;
        max-width: 100%
    }

    .tabs__inner {
        grid-template-columns: 1fr
    }

    .tabs__info {
        max-width: 100%
    }

    .equipment-reverse .tabs__info {
        order: 0
    }

    .tabs__title {
        margin-bottom: 1rem
    }

    .tabs__items {
        gap: .75rem
    }

    .equipment-reverse .tabs__img {
        order: 1
    }

    .individual__form {
        flex-direction: column
    }

    .individual__btn {
        min-width: 11.1875rem;
        max-width: 100%
    }

    .services__items {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 2rem
    }

    .services__item {
        flex: 1 1 auto;
        width: calc(50% - 1rem);
        min-width: 18.125rem
    }

    .services__contacts {
        flex: 1 1 auto;
        width: calc(50% - 1rem);
        min-width: 18.125rem;
        min-height: 21.875rem
    }
}

@media (max-width: 34.37375em) {
    .advantages__card--long {
        grid-column: auto
    }

    .works__items {
        gap: 1.5rem
    }

    .product-card {
        gap: .75rem
    }

    .col-4__slider {
        margin: 0 -.9375rem;
        padding: 0 .9375rem
    }

    .col-4__slider .swiper-pagination {
        display: flex
    }

    .col-4__wrapper {
        margin-bottom: 1.5rem
    }

    .col-4__navigation {
        display: none
    }

    .team-card__text {
        padding: 0 .625rem
    }

    .col-3__slider {
        margin: 0 -.9375rem;
        padding: 0 .9375rem
    }

    .col-3__slider .swiper-pagination {
        display: flex
    }

    .col-3__wrapper {
        margin-bottom: 1.5rem
    }

    .col-3__navigation {
        display: none
    }
}

@media (max-width: 29.99875em) {
    .popup__content {
        padding: 1rem
    }

    .popup__close {
        top: .375rem;
        right: .375rem
    }

    .popup__sliders {
        gap: .625rem
    }

    .popup__slides-count {
        gap: .125rem
    }

    .spollers__title {
        font-size: 1.125rem;
        gap: 1rem
    }

    .spollers__title:before {
        left: -.4375rem;
        top: -.4375rem;
        min-width: 1.5rem;
        height: 1.5rem;
        padding: .1875rem;
        font-size: .75rem
    }

    .spollers__icon {
        width: 2.8125rem;
        height: 2.8125rem
    }

    .spollers__arrow {
        width: 2.8125rem;
        height: 2.8125rem
    }

    .footer__nav {
        flex-wrap: wrap;
        gap: 1rem
    }

    .navigation {
        margin-bottom: 3.125rem
    }

    .about {
        margin-bottom: 3.125rem
    }

    .type {
        margin-bottom: 3.125rem
    }

    .type-content__info {
        padding: 1rem
    }

    .type-content__columns {
        flex-direction: column;
        gap: .75rem
    }

    .consultation {
        margin-bottom: 3.125rem
    }

    .consultation__content {
        padding: 1.5rem 1rem
    }

    .advantages {
        margin-bottom: 3.125rem
    }

    .advantages__title {
        margin-bottom: 1.5rem
    }

    .advantages__card {
        padding: 1.5rem 1rem
    }

    .advantages__card-content {
        gap: .75rem
    }

    .advantages__card-title {
        font-size: 1.25rem
    }

    .advantages__card-text {
        gap: .5rem
    }

    .profitable {
        margin-bottom: 3.125rem
    }

    .profitable__content {
        padding: 1.5rem 1rem
    }

    .profitable__title:not(:last-child) {
        margin-bottom: 1rem
    }

    .profitable__list {
        gap: .5rem
    }

    .certificates {
        margin-bottom: 3.125rem
    }

    .collaboration {
        margin-bottom: 3.125rem
    }

    .collaboration-tabs__item {
        padding: 1.5rem 1rem
    }

    .collaboration-tabs__item._tab-active {
        min-height: auto
    }

    .collaboration-tabs__title {
        font-size: 1.25rem
    }

    .collaboration-tabs__text {
        padding-left: 0
    }

    .contact-us {
        margin-bottom: 3.125rem
    }

    .contact-us__body {
        padding: 2rem 1rem
    }

    .influences {
        margin-bottom: 3.125rem
    }

    .influences__item {
        padding: 1.5rem 1rem;
        gap: 1rem
    }

    .calculator {
        margin-bottom: 3.125rem
    }

    .calculator__contacts-title {
        font-size: 1.25rem
    }

    .calculator__contacts-input {
        width: 100%;
        min-width: 0
    }

    .calculator__contacts-btn {
        max-width: 100%
    }

    .calculator__form {
        gap: .75rem
    }

    .calculator__row {
        grid-template-columns: 1fr
    }

    .calculator__row .calculator__items {
        justify-self: stretch
    }

    .calculator__inputs {
        padding: 1.5rem 1rem;
        gap: .75rem
    }

    .calculator__columns {
        grid-template-columns: repeat(auto-fit, minmax(9.0625rem, 1fr));
        gap: .75rem
    }

    .calculator__column {
        padding: 1.5rem 1rem
    }

    .calculator__total {
        padding: 1.5rem 1rem
    }

    .calculator__total-price {
        font-size: 1.25rem
    }

    .calculator__btn {
        max-width: 100%
    }

    .stages {
        margin-bottom: 3.125rem
    }

    .finishing {
        margin-bottom: 3.125rem
    }

    .finishing__item {
        gap: 1rem
    }

    .equipment {
        margin-bottom: 3.125rem
    }

    .tabs__info {
        padding: 1.5rem 1rem
    }

    .tabs__title {
        font-size: 1.25rem
    }

    .individual {
        margin-bottom: 3.125rem
    }

    .individual__body {
        padding: 2rem 1rem
    }

    .services {
        margin-bottom: 3.125rem
    }

    .services__item {
        padding: 1.5rem 1rem;
        gap: 1rem
    }

    .services__item-title {
        font-size: 1.25rem
    }

    .services__contacts {
        padding: 1.5rem 1rem;
        gap: 1rem
    }

    .services__contacts-title {
        font-size: 1.25rem
    }

    .works {
        margin-bottom: 3.125rem
    }

    .works__title {
        margin-bottom: 1.5rem
    }

    .works__items:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .team {
        margin-bottom: 3.125rem
    }

    .reviews {
        margin-bottom: 3.125rem
    }

    .reviews-card__text {
        gap: .625rem
    }

    .reviews-card__author {
        gap: .75rem
    }

    .reviews-card__name {
        font-size: 1.125rem
    }

    .prices {
        margin-bottom: 3.125rem
    }

    .faq {
        margin-bottom: 3.125rem
    }

    .interested {
        margin-bottom: 3.125rem
    }
}

@media (max-width: 24.99875em) {
    .popup__slider {
        border-radius: .75rem
    }

    .popup__slide {
        border-radius: .75rem
    }

    .popup__thumbs-slider {
        border-radius: .75rem
    }

    .popup__thumbs-slide {
        border-radius: .75rem
    }

    .popup__slides-counter {
        border-radius: .75rem
    }

    .spollers__title {
        font-size: 1rem;
        gap: .75rem
    }

    .spollers__icon {
        width: 2.1875rem;
        height: 2.1875rem
    }

    .spollers__arrow {
        width: 2.1875rem;
        height: 2.1875rem
    }
}

@media (max-width: 24.37375em) {
    .calculator__columns {
        grid-template-columns: 1fr
    }

    .calculator__column--long {
        grid-column: auto
    }

    .calculator__column--long .calculator__items {
        justify-content: stretch
    }
}

@media (min-width: 20em)and (max-width: 78.375em) {
    .popup__slides-count {
        font-size: clamp(.625rem, .4108672377rem + 1.0706638116vw, 1.25rem)
    }

    .title {
        font-size: clamp(1.625rem, 1.4108672377rem + 1.0706638116vw, 2.25rem)
    }

    .hero__title {
        font-size: clamp(2.125rem, 1.7823875803rem + 1.7130620985vw, 3.125rem)
    }
}

@media (any-hover: hover) {
    .menu__link:hover {
        color: #00a2d9
    }

    .popup__close:hover {
        background-color: #00a2d9
    }

    .button:hover {
        opacity: .7
    }

    .swiper-button-next:hover,
    .swiper-button-prev:hover {
        background-color: #00a2d9
    }

    .swiper-button-next:hover path,
    .swiper-button-prev:hover path {
        fill: #fff
    }

    .header__top-link:hover {
        color: #00a2d9
    }

    .header__top-request:hover {
        color: #131c2f
    }

    .header__top-request:hover path {
        stroke: #131c2f
    }

    .header__phone:hover {
        background-color: #112e33
    }

    .lang-block__current:hover {
        color: #00a2d9
    }

    .lang-block__lang:hover {
        color: #00a2d9
    }

    .footer__info-link:hover {
        color: #00a2d9
    }

    .footer__social:hover path {
        fill: #00a2d9
    }

    .footer__nav-link:hover {
        color: #00a2d9
    }

    .footer__nav-link:hover::before {
        -webkit-transform: translate(2px, 0);
        transform: translate(2px, 0)
    }

    .footer__policy-link:hover {
        color: #00a2d9
    }

    .navigation__link:hover {
        color: #00a2d9;
        border-color: #00a2d9
    }

    .about__content p a:hover {
        text-decoration: underline
    }

    .type-content__btn:hover {
        color: #00a2d9;
        border-color: #00a2d9
    }

    .type-content__arrow:hover {
        background-color: #00a2d9
    }

    .type-content__arrow:hover path {
        fill: #fff
    }

    .tabs__tab:hover {
        color: #00a2d9;
        border-color: #00a2d9
    }

    .tabs__tab:hover svg {
        color: #00a2d9
    }

    .services__contacts-phone:hover {
        color: #00a2d9
    }

    .services__contacts-link:hover {
        opacity: .6
    }

    .works__all-projects:hover {
        opacity: .6
    }

    .product-card__more:hover {
        color: #00a2d9
    }

    .product-card__more:hover::after {
        background-color: #00a2d9
    }

    .product-card__more:hover path {
        stroke: #00a2d9
    }

    .interested-card__link:hover {
        color: #00a2d9
    }

    .interested-card__link:hover::after {
        background-color: #00a2d9
    }

    .interested-card__link:hover path {
        stroke: #00a2d9
    }
}

section.breadcrumbs {
    margin-top: 1.5rem;
}

@media (max-width: 767.98px) {
    .header__phone {
        display: none;
    }

    .menu__body {
        position: fixed;
        width: 100%;
        height: 100%;
        left: -100%;
        top: 0;
        z-index: 15;
        overflow: auto;
        padding: 7rem .9375rem 1.875rem .9375rem;
        background-color: #fff;
        transition: left .3s;
    }

    .menu__body::before {
        content: "";
        position: fixed;
        width: 100%;
        height: 7rem;
        left: -100%;
        top: 0;
        background-color: #fff;
        transition: left .3s;
        z-index: 16
    }

    .menu-open .menu__body {
        left: 0
    }

    .menu-open .menu__body::before {
        left: 0
    }

    .menu__list {
        display: flex;
        align-items: stretch;
        flex-direction: column;
        gap: 1.5rem
    }

    .menu__item {
        position: static;
    }

    .menu__item:hover .menu__sub-list {
        opacity: 1;
        visibility: visible;
        transform: unset;
    }

    .menu__sub-list {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        padding-left: 1rem;
        margin-top: 1rem;
        background: transparent;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        min-width: auto;
        text-wrap: normal;
    }

    .menu__sub-list::before {
        display: none;
    }

    .menu__link {
        font-weight: 600;
        font-size: 1.125rem;
        display: block;
        width: 100%
    }

    .menu__sub-list .menu__link {
        font-weight: 400;
        font-size: 1rem;
        padding: 0;
    }

    .menu__sub-list .menu__item {
        margin-bottom: 0;
    }

    .icon-menu {
        display: block;
        position: relative;
        width: 1.875rem;
        height: 1.125rem;
        z-index: 17
    }

    .icon-menu span,
    .icon-menu::after,
    .icon-menu::before {
        content: "";
        transition: all .3s ease 0s;
        right: 0;
        position: absolute;
        width: 100%;
        height: .125rem;
        background-color: #000
    }

    .icon-menu::before {
        top: 0
    }

    .icon-menu::after {
        bottom: 0
    }

    .icon-menu span {
        top: calc(50% - .0625rem)
    }

    .menu-open .icon-menu span {
        width: 0
    }

    .menu-open .icon-menu::before {
        top: calc(50% - .0625rem);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    .menu-open .icon-menu::after {
        bottom: calc(50% - .0625rem);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
}

.map {
    margin-bottom: 6.25rem;
}

.map iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/8;
    border-radius: 1.25rem;
}