input:user-invalid,
input.is-invalid {
    outline: 0 !important;
    border: 1px solid red !important;
}

input:user-invalid + .checkbox__indicator .checkbox__block,
input.is-invalid + .checkbox__indicator .checkbox__block {
    border-color: red !important
}

@media (max-width: 576.98px) {
    body .h2,
    body .other-banner__title{
        font-size: 20px;
    }

    body .subtitle-bold,
    body .other .subtitle,
    body .reviews .subtitle,
    body .about-us .subtitle-bold,
    body .for-slope .subtitle,
    body .other__card-p,
    body .other__card-title,
    body .tab__title,
    body .page-slider__card-title,
    body .reviews .page-slider__card-title,
    body .modal__headline {
        font-size: 15px;
    }

    body .main-screen__bg-img {
        min-width: unset;
        width: 100%;
    }

    body .main-screen__title,
    body .main-screen__subtitle {
        font-size: 25px;
    }

    body .main-screen__text-block h1 {
        line-height: 1;
    }

    body .main-screen__subtitle,
    body .about-us-card__numb-text,
    body .page-slider__card-title,
    body .reviews .page-slider__card-stars,
    body .characteristics .h2,
    body .advantages .h2,
    body .for-slope .h2,
    body .other .h2,
    body .other-banner__title,
    body .about-us .h2,
    body .reviews .h2,
    body .contacts__text .h2,
    body .modal__headline,
    body .modal__text {
        margin-bottom: 10px;
    }

    body .calculation .h2,
    body .our-objects .h2,
    body .documentation .h2,
    body .reviews .subtitle,
    body .contacts__text .subtitle {
        margin-bottom: 20px;
    }

    body .advantages .subtitle-bold,
    body .other-banner__text {
        margin-bottom: 30px;
    }

    body .tab__b {
        padding-top: 10px;
    }

    body .characteristics__card,
    body .calculation__card,
    body .other__card,
    body .about-us-card,
    body .page-slider__card,
    body .reviews .page-slider__card {
        padding: 20px;
    }

    body .tab__title {
        min-height: unset;
    }

    body .contacts,
    body .documentation,
    body .our-objects .container__inner,
    body .other .container__inner,
    body .advantages .container__inner,
    body .characteristics .container__inner,
    body .main-screen .container__inner,
    body .calculation .container__inner,
    body .calculation,
    body .for-slope .container__inner,
    body .for-slope,
    body .about-us .container__inner,
    body .about-us,
    body .documentation .container__inner,
    body .reviews .container__inner,
    body .contacts .container__inner {
        padding-top: 50px;
    }

    body .page-slider__btns {
        padding-bottom: 0;
    }

    body .page-slider__card-img {
        aspect-ratio: 1/.7;
        object-fit: cover;
    }

    body .other-banner {
        padding-bottom: 35%;
    }

    body .other-banner__img-wrapper picture,
    body .other-banner__img-wrapper {
        width: 95%;
        pointer-events: none;
        z-index: 1;
    }

    body .other-banner__btns {
        z-index: 2;
        position: relative;
    }

    body .other-banner__btns .btn--2:not(:hover) {
        background-color: #2f2f2f;
    }

    body .modal__text {
        font-size: 14px;
    }

    body .form__section--btns {
        padding-top: 0;
    }

    body .form__textarea {
        margin-bottom: 0;
    }

    body .footer__bottom-links {
        gap: 10px;
    }

    body .tab__card:nth-child(n + 4) {
        display: none;
    }

    body .advantages .h2 br {
        display: none;
    }

    body .other-banner__img-wrapper {
        bottom: -25%;
    }
}

@media (min-width: 577px) {
    .tab__item-wpapper .btn.btn--1 {
        display: none;
    }
}

@media (max-width: 577px) {
    .advantages .subtitle-bold br {
        display: none;
    }

    section {
        scroll-margin: 68px;
    }
}