@media screen and (max-width: 1420px){
	header .container{max-width: 1200px}
	header .nav{gap: 40px}


	#gallery__page .grid{grid-template-columns: repeat(4, 1fr);}
}


@media screen and (max-width: 1239px){
	.container,header .container{max-width: 100%; padding: 0 32px;}

	header .pull{display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: url("../img/pull.svg") 50% 50% no-repeat; background-size: 100%; transform: rotate(180deg);}
	header .pull.open{background: url("../img/closem.svg") 50% 50% no-repeat; background-size: 22px;}
	header nav{display: none; position: absolute; top: 100%; right: 0; width: 400px; max-width: 100%; box-sizing: border-box; background: var(--green); height: calc(100vh - 71px); padding: 20px; overflow-y: auto;}
	header nav ul{display: block; gap: 0}
	header nav ul li{width: 100%;}
	header nav ul li a{color: #fff; padding: 10px 0; display: block;}
	header .pull.pull__mobile{display: none;}


	#promo .swiper-button-next{right: 20px;}
	#promo .swiper-button-prev{left: 20px;}


	#about .gallery{width: 100%; margin-bottom: 40px;}
	#about .text{width: 100%;}


	#location{padding-bottom: 0;}
	#location .text{width: 100%; order: 0}
	#location .image{width: 100%; order: 1; position: relative; height: auto; margin: 40px 0 0 -20px; width: calc(100% + 40px)}


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


	.apartment__item .slider-sw{width: 100%; margin-bottom: 40px;}
	.apartment__item .data{width: 100%; padding: 0}


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


	#reviews .grid,#technologies .grid,#about__items .items{grid-template-columns: repeat(1, 1fr)!important;}


	#dosc .swiper-slide{width: 100%;}


	#environment .bt__note{margin-bottom: 20px}
	#environment .swiper-slide{max-width: 80%;}


	#contacts{padding-bottom: 0;}
	#contacts .container{justify-content: flex-start;}
	#contacts .data{width: 100%; padding: 0 0 40px}
	#contacts .map{width: 100%; height: 400px; position: relative;}


	#plan .image.image__park{transform: rotate(90deg); width: 700px; margin: 270px auto 150px;}


	.site__item .image{height: 230px}


	#page__news .site__items{column-count: 2}


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


	footer .cols{gap: 0;}
	footer .cols .col{width: 30%; max-width: 100%; padding-top: 40px;}
}


@media screen and (max-width: 767px){
	.bt{font-size: 28px; line-height: 30px;}
	.container,header .container{padding: 0 16px;}
	body{padding: 65px 0 0;}

	.section{padding: 50px 0;}
	.section__bottom{padding: 0 0 50px;}


	.box__modal{max-width: calc(100% - 20px)}
	.modal__inn{padding: 25px;}
	.modal__top{padding: 30px 25px 40px}
	.modal__top .image{max-width: 130px;}
	.modal__title{font-size: 28px;}
	.modal__note{font-size: 18px;}



	header .nav{display: none; position: absolute; top: 100%; right: 0; width: 100%; max-width: 100%; box-sizing: border-box; background: #EFEFEF; height: calc(100vh - 71px); padding: 20px; overflow-y: auto;}
	header .nav .data .pull{display: none;}
	header nav{display: block; position: relative; overflow: hidden; height: auto; width: 100%; background: transparent; padding: 0; top: 0; margin-bottom: 30px;}
	header nav ul li a{color: var(--black);}
	header .pull.pull__mobile{display: flex;}
	header .nav .data .socials,header .nav .data .phone,header .nav .data .lang{width: 100%; justify-content: flex-start; color: #fff;}
	header .quiz.mob{display: block}
	header .quiz.mob .btn{font-size: 12px;}
	header .logo{max-width: 140px;}


	#promo .sale{padding: 10px 16px; font-size: 14px; line-height: normal;}
	#promo .slider-sw .swiper-button-prev, #promo .slider-sw .swiper-button-next{display: none;}
	#promo .text{padding: 0; margin: 0}
	#promo .text .title{font-size: 24px; margin-bottom: 15px;}
	#promo.promo__page .title{line-height: normal;}
	#promo .text p{font-size: 16px;}


	#about .gallery img:nth-child(1){height: 300px}
	#about .gallery img:nth-child(4){height: 270px;}


	.apartment__item .slider-sw img{height: 350px;}
	.slider-sw .swiper-button-prev, .slider-sw .swiper-button-next{width: 36px; height: 36px; background-size: 10px;}
	.apartment__item .bt.bt__small{font-size: 28px; line-height: normal;}


	#territories .data,.article__item .data,#reviews .text__reviews .item,#technologies .item{padding: 25px;}


	#environment img,#about__items img{height: 350px;}


	#dosc .swiper-button-prev{left: calc(100% - 100px)}


	#advantages__complex .text{order: 1!important; width: 100%; padding-top: 30px;}
	#advantages__complex .image{order: 0!important; width: 100%;}


	#plan .image.image__park{transform: none; width: 100%; margin: 0; height: 700px; max-width: 320px; overflow: hidden; margin: 0 auto;}
	#plan .image.image__park img{transform: rotate(90deg); width: 700px; max-width: 700px; height: 320px; position: relative; top: 200px; left: -160px}

	#plan .filters{justify-content: flex-start; gap: 15px;}


	.site__items{grid-template-columns: repeat(1, 1fr)!important;}


	.location__tags{justify-content: flex-start;}
	.location__tags a{font-size: 14px; padding: 0 12px; height: 44px;}


	.bt{text-align: left;}
	.bt__margin{margin: 0 0 40px!important; text-align: left!important; font-size: 16px; line-height: 1.5;}


	#page__news .site__items{column-count: 1}


	#gallery__page .grid{grid-template-columns: repeat(2, 1fr); gap: 16px}


	#modal__quiz .modal__price input{max-width: 100px; padding: 0 10px;}


	#video{height: auto; min-height: 260px}


	footer{padding: 40px 0;}
	footer .cols .col{width: 100%; max-width: 100%; margin: 0; padding: 0}
	footer .cols{gap: 40px; padding-top: 40px;}
}


@media screen and (max-width: 415px){
	header .quiz.mob .btn{font-size: 10px; padding: 0 10px;}
}