@media (max-width: 1380px) {
    .footer {
        overflow: hidden;
    }

    .footer__row {
        margin: 0 0 40px 0;
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .footer__map {
        width: 100%;
        position: relative;
        height: 400px;
    }

    .footer__map iframe {
        position: absolute;
        left: calc((-100vw + 960px) / 2);
        right: 0;
        top: 0;
        bottom: 0;
        height: 100%;
        width: 100vw;
    }

    .footer__info {
        width: 100%;
    }

    .footer__menu {
        font-size: 14px;
        margin: 0 0 40px 0;
    }

    .footer__company-name {
        font-size: 26px;
        margin: 0 0 5px 0;
    }

    .footer__company-description {
        font-size: 16px;
        margin: 0 0 20px 0;
    }

    .footer__contacts {
        gap: 10px;
    }

    .footer__contacts b {
        font-size: 20px;
    }

    .footer__contacts a {
        font-size: 20px;
    }

    .footer__contacts span {
        font-size: 20px;
    }

    .footer__btn {
        max-width: 100%;
    }

    .container {
        width: 960px;
    }

	.catalog__tab {
		font-size: 16px;
	}

    .news__image {
        height: 270px;
    }

    .header__text {
        display: none;
    }

    .services__name {
        font-size: 19px;
    }

    .services__text {
        font-size: 14px;
    }

    .services__item:hover .services__content {
        gap: 10px;
    }

    .services__item {
        height: 380px;
    }

    .services__content {
        padding: 20px;
    }

    .services__company-name {
        left: -50px;
        top: 100px;
    }
    
    .services__digit {
        top: 30px;
        right: 20px;
    }

    .fixed-header__text {
        display: none;
    }

    .callback__wrapper {
        gap: 60px;
    }

    .callback__image {
        width: calc(50% - 30px);
    }

    .callback__form {
        width: calc(50% - 30px);
    }

    .catalog__products .product {
        width: calc((100% - 30px) / 2);
    }
}

@media (max-width: 1024px) {
    .catalog__tabs hr {
        display: none;
    }

    .catalog__tab {
        width: auto;
    }

    .footer__map iframe {
        left: calc((-100vw + 640px) / 2);
    }

    .callback-forms__wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .callback-forms__item {
        width: 100%;
        padding: 30px 20px;
    }

    .callback-forms__title {
        font-size: 20px;
    }

    .callback-forms__subtitle {
        font-size: 14px;
        margin: 0 0 20px 0;
        min-height: unset;
    }

    .callback-forms__form {
        width: 100%;
    }

    .catalog__sidebar {
        display: none;
    }
    
    .catalog__main {
        width: 100%;
    }

    .catalog__filter-button {
        display: inline-flex;
    }

    .catalog__tabs {
        margin: 0 0 40px 0;
        gap: 15px;
        border: none;
        justify-content: flex-start;
    }

    .catalog__tab {
        color: #60605E;
        font-size: 14px;
        border-radius: 3px;
        padding: 10px 15px;
        border: 1px solid #60605E;
    }

    .catalog__tab.catalog__tab_active:after {
        display: none;
    }

    .catalog__tab.catalog__tab_active {
        color: white;
        background-color: var(--second-color);
    }

    .portfolio__center-block {
        margin: 0 0 30px 0;
        padding: 15px 0;
        gap: 8px;
    }

    .portfolio__center-block p {
        font-size: 16px;
    }

    .portfolio__center-block:after {
        width: 190px;
    }

    .portfolio__wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .portfolio__item {
        width: 100%;
    }

    .container {
        width: 640px;
    }

    .header {
        box-shadow: 0px 7px 22px 0px rgba(0, 0, 0, 0.09);
    }

    .header__inner {
        padding: 10px 0;
    }

    .header__like {
        display: none;
    }

    .header__btn {
        display: none;
    }

    .header__logo {
        width: 70px;
    }

    .header__burger {
        display: flex;
    }

    .header__nav {
        display: none;
    }

    .fixed-header__inner {
        padding: 10px 0;
    }

    .fixed-header__like {
        display: none;
    }

    .fixed-header__btn {
        display: none;
    }

    .fixed-header__logo {
        width: 70px;
    }

    .fixed-header__burger {
        display: flex;
    }

    .social__item {
        width: 30px;
        height: 30px;
        background-size: 10px;
    }

    .header__phone {
        font-size: 13px;
    }

    .fixed-header__phone {
        font-size: 13px;
    }

    .banner__item_v1 {
        grid-row: span 1;
        grid-column: span 2;
    }

    .banner__item__content {
        padding: 20px;
    }

    .banner__item_v2 .banner__item__form {
        position: unset;
        flex-direction: column;
        margin: 20px 0 0 0;
        width: 100%;
        gap: 20px;
    }

    .banner__item__form .field {
        width: 100%;
    }

    .banner__item__form .btn-fill {
        width: 100%;
    }

    .banner__item__btn {
        padding: 10px;
    }

    .banner__item__title {
        font-size: 18px;
        margin: 0 0 10px 0;
    }

    .list li {
        font-size: 14px;
    }

    .header {
        margin: 0 0 40px 0;
    }

    .list {
        gap: 10px;
    }

    .block-header {
        margin: 0 0 30px 0;
        display: flex;
        flex-direction: column;
        gap: 30px;
        align-items: flex-start;
    }

    .block-description {
        font-size: 14px;
    }

    .block-title span:nth-child(1) {
        font-size: 24px;
    }

    .block-title span:nth-child(2) {
        font-size: 47px;
    }

    :root {
        --section-mb: 60px;
    }

    .callback__wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .callback__form {
        width: 100%;
    }

    .callback__image {
        width: 100%;
    }

    .callback__form__title {
        font-size: 24px;
        margin: 0 0 10px 0;
    }

    .callback__form__title br {
        display: none;
    }

    .callback__form__subtitle {
        font-size: 14px;
        margin: 0 0 30px 0;
    }

    .field {
        gap: 10px;
    }

    .field label {
        font-size: 18px;
    }

    .callback__form .field input {
        font-size: 16px;
    }

    .callback__form .field {
        margin: 0 0 20px 0;
    }

    .block-title span:nth-child(2) {
        left: 70%;
    }

    .footer__bottom {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }
	
	.catalog-categories {
		
		grid-template-columns: repeat(3, 1fr);
		
	}

}

@media (max-width: 768px) {
    .news__manage {
        margin: 0 0 20px 0;
    }

    .news__name {
        font-size: 20px;
        margin: 0 0 5px 0;
    }

    .news__date {
        font-size: 14px;
    }

    .news__image {
        margin: 0 0 10px 0;
    }

    .catalog__pagination a {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }

    .catalog__pagination img {
        width: 8px;
    }

    .catalog__pagination span {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }

    .catalog__products .product {
        width: 100%;
        padding: 10px;
    }

    .product__bottom {
        position: relative;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: 15px 0 0 0;
    }

    .product__name {
        font-size: 18px;
    }

    .product__price__tooltip {
        position: unset;
    }

    .product__price__tooltip__text {
        width: 100%;
        left: 0;
        z-index: 1;
        right: 0;
        top: 35px;
        z-index: 3;
    }

    .product__price__tooltip__text:after {
        transform: rotate(180deg);
        top: -13px;
        left: 82px;
    }

    .portfolio__slider__item {
        height: 260px;
    }

    .portfolio__slider {
        gap: 15px;
    }

    .services__wrapper {
        margin-left: calc((100% - 440px) / 2);
        width: 260px;
    }

    .services__item {
        width: 100%;
    }

    .services__wrapper .owl-stage-outer {
        overflow: unset;
    }

    .banner__slider-manage {
        display: flex;
        margin: 0 0 20px 0;
    }

    .slider-manage-nav button {
        width: 40px;
        height: 40px;
        background-color: #F6F6F6;
    }

    .slider-manage-nav button:hover {
        background-color: var(--second-color);
        background-image: url('../image/arrow-white.svg');
    }

    .slider-manage-counter {
        font-size: 18px;
    }

    .banner__grid,
    .banner__grid .owl-stage-outer,
    .banner__grid .owl-stage {
        display: flex;
    }

    .banner__item_v1 .banner__item__inner {
        margin: 40px 0;
        background: rgb(107 107 107 / 40%);
        backdrop-filter: blur(25px);
    }

    .page-title.page-title_mobile {
        display: block;
    }

    .banner__item__inner .btn-fill {
        margin: 20px 0 0 0;
        padding: 10px;
        font-size: 14px;
    }

    .container {
        width: 440px;
    }

    .footer__map iframe {
        left: calc((-100vw + 440px) / 2);
    }

    .header__col:nth-child(2) {
        gap: 10px;
    }

    .social {
        gap: 10px;
    }

    .header__social__item_hide-mobile {
        display: none;
    }

    .fixed-header__col:nth-child(2) {
        gap: 10px;
    }

    .fixed-header__social__item_hide-mobile {
        display: none;
    }

    .side-modal {
        width: 100%;
        right: -100%;
    }

    .modal__item {
        width: 95%;
        padding: 100px 20px 20px 20px;
    }

    .modal__title {
        font-size: 20px;
        margin: 0 0 10px 0;
    }  
    
    .modal__subtitle {
        font-size: 12px;
        margin: 0 0 20px 0;
    }

    .modal__success__subtitle {
        font-size: 12px;
    }
	.catalog-categories {
		
		grid-template-columns: repeat(2, 1fr);
		
	}
}

@media (max-width: 480px) {
    .container {
        width: 320px;
    }

    .footer__map iframe {
        left: calc((-100vw + 320px) / 2);
    }

    .services__wrapper {
        margin-left: calc((100% - 320px) / 2);
    }

    .portfolio .block-title {
        display: block;
    }

    .portfolio .block-title span:nth-child(2) {
        position: unset;
        padding: 0 3px;
    }
	.catalog-categories {
		
		grid-template-columns: 1fr;
		
	}
}