@media(max-width: 1600px) {
	.title, .section-title {
		font-size: 65px;
	}
	.infra__block {
		grid-template-rows: 226px 226px;
		gap: 20px;
	}
}
@media(max-width: 1500px) {
	.title, .section-title {
		font-size: 55px;
	}
	.subtitle {
		font-size: 35px;
	}
	.header__top {
		padding: 10px 0;
	}
	.info__link {
		font-size: 22px;
	}
	.button_right {
		min-width: 100%;
	}
	.slider .slide {
		padding: 0 10px;
	}
}
@media(max-width: 1400px) {
	.header .button {
		padding: 15px 20px;
	}
	.callback__info {
		font-size: 24px;
	}
	.footer__top { 
		padding: 40px 0;
	}
	.card {
		height: 250px;
	}
}
@media(max-width: 1200px) {
	.header__info {
		flex-direction: column;
		margin-left: 40px;
	}
	.info__icon {
		margin-right: 10px;
	}
	.menu li a {
		font-size: 18px;
	}
	.info__link {
		font-size: 18px;
	}
	.header .button {
		padding: 10px;
		font-size: 16px;
	}
	.slider .slide {
		padding: 0 10px;
	}
	.section {
		padding: 80px 0;
	}
	.infra__block {
		gap: 20px;
	}
}
@media(max-width: 991px) {
	.header__bottom {
        position: fixed;
        top: 0px;
        right: -100vw;
        background-color: #70D07C;
        width: 100vw;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-transition: right .3s 0s;
        -o-transition: right .3s 0s;
        transition: right .3s 0s;
        z-index: 99;
        height: 100%;
        padding: 50px;
        font-size: 25px;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
		border-radius: 0;
    }
	.header__bottom .menu {
		flex-direction: column;
		align-items: center;
	}
    .header__bottom.opened {
        right: 0;
    }
	.header__info {
		margin-left: 0;
	}
	.main {
		padding-top: 40px;
		padding-bottom: 120px;
		background: url('../img/main-bg2-mobile.jpg') bottom center/cover no-repeat;
	}
	.title, .subtitle {
		text-align: center;
	}
	.title, .section-title {
		font-size: 55px;
	}
	.infra__block {
	 	grid-template-columns: 1fr 1fr;
	 	grid-template-rows: 300px 300px 300px 300px;
	 	grid-template-areas:  "img-1 img-2"
        "img-3 img-4"
        "img-5 img-6"
        "img-7 img-8";
		;
	}
	.row-reverse {
		flex-direction: column-reverse;
	}
	.map .text_bold {
		margin-top: 20px;
	}
	.callback__info {
		font-size: 20px;
		align-items: flex-start;
	}
	.label {
		margin-bottom: 20px;
	}
	.footer__text {
		font-size: 16px;
	}
	.footer .button {
		font-size: 14px;
	}
	.modal-body {
		padding: 30px;
	}
	.card_products {
		height: 250px;
		padding: 20px;
	}
}
@media(max-width: 767px) {
	.header .button {
		margin-top: 15px;
	}
	.title, .section-title {
		font-size: 45px;
	}
	.callback__block {
		padding: 15px 20px;
	}
	.callback__title {
		font-size: 35px;
	}
	.callback__info {
		font-size: 16px;
	}
	.footer__logo {
		display: block;
		margin-bottom: 10px;
		text-align: center;
	}
	.footer__social {
		justify-content: center;
	}
	.footer__bottom {
		padding: 15px 0;
	}
	.pageup {
		right: 20px;
		bottom: 20px;
	}
}
@media(max-width: 575px) {
	.header__info {
		align-items: center;
	}
	.info__icon {
		display: none;
	}
	.info__link {
		font-size: 14px;
	}
	.title, .section-title {
		font-size: 28px;
	}
	.subtitle {
		font-size: 22px;
	}
	.section {
		padding: 50px 0;
	}
	.card {
		padding: 15px;
	}
	.card__title {
		font-size: 16px;
	}
	.infra__block {
		gap: 10px;
	}
	.text_bold {
		font-size: 22px;
	}
	.text {
		font-size: 16px;
	}
	.callback__title {
		font-size: 25px;
	}
	.callback__info {
		font-size: 14px;
	}
	.callback__text {
		font-size: 16px;
		margin: 10px 0;
	}
	.callback__info img {
		width: 20px;
	}
	.input {
		padding: 10px;
		font-size: 16px;
	}
	.button {
		font-size: 16px;
		padding: 10px 20px;
	}
	.callback .button {
		font-size: 16px;
	}
	.check {
		font-size: 14px;
	}
	.footer__copy {
		flex-direction: column;
	}
	.footer__bottom a {
		text-align: left;
	}
	.footer__social {
		margin-top: 20px;
		justify-content: flex-start;
	}
	.modal-body {
		padding: 20px 15px;
	}
	.modal .label {
		margin-bottom: 10px;
	}
}