@media (min-width: 800px) {
	.container{
		width:750px;
	}
}

@media (min-width: 1020px) {
	.container{
		width:970px;
	}
}

@media (min-width: 1200px) {
	.container{
		width:1140px;
	}
}

@media (max-width: 1200px) {
	body, input, select, textarea, button{
		font-size:17px;
		line-height:23px;
	}

	nav a{
		line-height:60px;
	}

	header{
		padding-top:70px;
	}

	header .right{
		width:600px;
	}

	header .logotype{
		margin-right:0;
	}

	header .top{
		margin-bottom:290px;
	}

	header .top .phone{
		margin-left:auto;
	}

	header .left .wrap{
		padding-bottom:50px;
	}

	header .left .button{
		top:414px;
	}

	header .tagline{
		top:85px;
		width:600px;
	}

	header .tagline h1{
		font-size:40px;
		line-height:52px;
	}

	.ttl, .policy-text .ttl-sub{
		font-size:22px;
		line-height:30px;
	}

	.marker > li:not(:last-child){
		margin-bottom:10px;
	}

	#materials:before{
		top:-209px;
	}

	#services .marker{
		min-height:265px;
	}

	#services .bottom{
		padding:17px;
	}

	#services .price{
		margin-bottom:17px;
	}

	#why .list{
		padding-bottom:50px;
	}

	#dopservices .item .photo{
		height:270px;
	}

	#equipment{
		margin-bottom:100px;
	}

	#docs:before{
		top:-50px;
	}

	#steps{
		margin-bottom:190px;
	}

	#map .contacts{
		width:380px;
	}

	#map .contacts .contacts-info li{
		background-position:0 0;
	}

	#map .contacts .contacts-info li:not(:last-child){
		margin-bottom:20px;
	}

	#map iframe{
		height:500px;
	}
}

@media (max-width: 1020px) {
	.flex-list-3 .item{
		width:50%;
	}

	.flex-list-4 .item{
		width:33.3%;
	}

	.flex-list-5 .item{
		width:25%;
	}

	nav a{
		font-size:15px;
		padding:0;
	}

	header .container{
		flex-direction:column;
	}

	header .top{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		margin-bottom:0;
	}

	header .right{
		width:auto;
		padding-top:80px;
		height:450px;
		background-color:#fff;
		overflow:hidden;
	}

	header .right img{
		width:100%;
	}

	header .left{
		position:static;
		background-color:#fff;
	}

	header .left .wrap{
		position:static;
		padding:30px 0;
	}

	header .left:after,
	#materials:before{
		display:none;
	}

	header .marker{
		display:flex;
		flex-flow:row wrap;
		padding:0 30px;
		margin-bottom:17px;
	}

	header .marker > li{
		width:50%;
		padding-right:15px;
	}

	header .left .button{
		position:static;
		width:350px;
		margin:auto;
	}

	header .tagline{
		width:520px;
		top:97px;
		left:17px;
		padding:17px;
	}

	header .tagline h1{
		font-size:35px;
		line-height:43px;
	}

	header .tagline p{
		font-size:18px;
		line-height:24px;
	}

	.shadow-gray:before{
		top:-258px;
	}

	.shadow-gray:after{
		bottom:-50px;
	}

	.title{
		padding-bottom:20px;
		margin-bottom:20px;
	}

	.title::after{
		height:7px;
	}

	#materials{
		padding-top:30px;
	}

	#materials .title{
		position:relative;
		top:0;
	}

	#materials .list{
		padding-top:0;
	}

	#kind-works .flex-list-3 .item{
		width:100%;
		padding:0 15px;
	}

	#kind-works .marker{
		display:flex;
		flex-flow:row wrap;
		margin-bottom:30px;
	}

	#kind-works .marker > li{
		width:50%;
		padding-right:15px;
	}

	#services .marker{
		min-height:245px;
	}

	#dopservices .item .photo{
		height:205px;
	}

	#equipment .flex-list-3 .item,
	#docs .flex-list-3 .item{
		width:33.3%;
	}

	#docs .item .wrap{
		padding:17px;
	}

	#steps{
		margin-bottom:70px;
	}

	#steps .list{
		padding:20px 0 50px;
	}

	#steps .flex-list-5 .item{
		width:33.3%;
	}

	#map .contacts{
		display:flex;
		flex-flow:row wrap;
		position:static;
		width:100%;
		margin-bottom:20px;
	}

	#map .title{
		font-size:25px;
		line-height:32px;
	}

	#map .col{
		width:50%;
	}

	footer .info p br{
		display:none;
	}
}

@media (max-width: 800px) {
	.container{
		padding:0 15px;
	}

	nav{
		width:100%;
		height:100%;
		z-index:9999;
		visibility:hidden;
		opacity:0;
		transition:opacity 0.2s ease-in-out;
	}

	nav.show{
		visibility:visible;
		opacity:1;
	}

	nav .container{
		display:flex;
		height:100%;
		flex-direction:column;
		align-items:center;
		justify-content:center;
	}

	nav .close{
		display:block;
		position:absolute;
		top:15px;
		right:15px;
		width:30px;
		height:30px;
		background:url(../images/close.svg) 50% no-repeat;
		background-size:17px auto;
	}

	nav ul{
		flex-direction:column;
	}

	nav a{
		line-height:50px;
		text-align:center;
	}

	nav a:before{
		display:none;
	}

	header .top{
		position:fixed;
		top:0;
		left:0;
		width:100%;
		background-color:#fff;
		z-index:8000;
	}
	
	header{
		padding-top:0;
	}

	header .container{
		padding-top:80px;
	}

	header .top{
		padding:10px 15px;
	}

	.logotype{
		height:60px;
	}

	.butmenu{
		width:31px;
		height:25px;
		margin-left:30px;
		background:url(../images/menu.svg) 0 0 no-repeat;
		background-size:cover;
	}

	header .right{
		padding-top:0;
		margin-bottom:100px;
		background:url(../images/header.jpg) 100% 30% no-repeat;
		background-size:cover;
	}

	header .right img{
		display:none;
	}

	header .left .wrap{
		padding:15px 15px 30px;
	}

	header .tagline{
		top:400px;
		width:100%;
		left:0;
		padding:0 30px;
	}

	header .marker{
		padding:0;
	}

	section, #equipment{
		margin-bottom:30px;
	}

	.thanks section{
		padding-bottom:30px;
	}

	.list > .wrap{
		margin:0 -7.5px;
	}

	.flex-list .item{
		padding:7.5px;
	}

	.title{
		font-size:30px;
		line-height:34px;
	}

	.title, .title.right{
		text-align:center;
	}

	.title:after, .title.right:after{
		width:30%;
		left:35%;
	}

	.quiz .title{
		text-align:left;
	}

	.quiz .title:after{
		left:0;
	}

	.shadow-gray{
		padding:30px 0 22.5px;
	}

	.shadow-gray:before,
	.shadow-gray:after{
		display:none;
	}

	#services .marker{
		min-height:315px;
	}

	#why .list{
		padding-bottom:0;
	}

	#dopservices .item .photo{
		height:auto;
	}

	#dopservices .item:hover .photo{
		border:none;
	}

	#steps:before{
		display:none;
	}

	#steps .list{
		padding:0;
	}

	#steps .flex-list-5 .item{
		margin-bottom: 30px;
	}

	#map .contacts{
		padding:30px;
	}

	#map .title{
		text-align:left;
	}

	#map .title,
	#map .contacts .subttl{
		margin-bottom:17px;
	}

	#map .contacts .numbs{
		margin-bottom:30px;
	}

	footer .info{
		padding-right:30px;
	}

	footer .info .pol{
		margin-bottom:10px;
	}

	.videoframe .wrap{
		width:80vw;
	}

	.thanks section{
		padding-top:0;
	}

	.thanks .logotype{
		top:10px;
	}

	.thanks .thanks-block{
		padding-top:100px;
	}
}

@media (max-width: 768px) {
	
}

@media (max-width: 745px) {
	
}

@media (max-width: 720px) {
	
}

@media (max-width: 700px) {
	
}

@media (max-width: 676px) {
	header .right{
		height:350px;
		margin-bottom:170px;
	}

	header .tagline .wrapper{
		padding:17px;
	}

	.button{
		min-width:100%;
		width:100% !important;
		height:60px;
		line-height:60px;
	}

	.button:hover{
		line-height:50px;
	}

	.ttl, .policy-text .ttl-sub{
		font-size:19px;
		line-height:25px;
	}

	#services .price > div:last-child{
		font-size:17px;
	}

	#why .flex-list-5 .item{
		width:50%;
	}

	#steps{
		margin-bottom:45px;
	}

	#steps .num:after{
		width:50px;
	}

	#map .col{
		width:100%;
	}

	footer{
		padding-bottom:30px;
	}

	footer .logoblock{
		width:140px;
	}

	footer .col-6{
		flex:1;
		width:auto;
		padding-right:0;
	}

	footer .copyright{
		width:100%;
		padding-top:30px;
		text-align:left;
	}

	footer .copyright br{
		display:none;
	}

	.quiz{
		padding:15px;
	}

	.quiz .wrap{
		width:100%;
	}

	.quiz .subttl{
		font-size:19px;
		line-height:25px;
	}

	.quiz-step-1 .fields .field,
	.quiz-step-7 .fields .field,
	.quiz-step-8 .fields .field{
		width:50%;
	}

	.quiz-step-1 .fields .field{
		margin-bottom:17px;
	}

	.quiz-step-9 .fields.other{
		padding-top:17px;
	}

	.quiz .button{
		min-width:300px;
		width:auto !important;
	}
}

@media (max-width: 590px) {
	header .tagline{
		top:350px;
		text-align:center;
	}

	header .tagline h1 span{
		display:block;
		margin-right:0;
	}

	header .tagline h1 span:after{
		display:none;
	}

	header .tagline p{
		font-size:14px;
		line-height:20px;
	}

	.slick-prev, .slick-next{
		width:30px;
		height:30px;
		z-index:5;
		background:url(../images/icons/left.svg) 50% no-repeat;
		background-size:10px auto;
	}

	.slick-prev{
		left:15px;
	}

	.slick-next{
		right:15px;
		transform:rotate(180deg);
	}

	#materials .flex-list .item{
		width:50%;
	}

	#materials .item .wrap img{
		width:100%;
	}
	
	#materials .item .wrap img,
	#services .flex-list-3 .item,
	#dopservices .flex-list-2 .item{
		width:100%;
	}

	#services .marker,
	#services .term{
		min-height:0;
	}

	#services .price > div:first-child{
		padding-top:0;
	}

	#services .price > div:last-child{
		line-height:23px;
	}

	#dopservices .ttl br{
		display:none;
	}

	#equipment .flex-list-3 .item{
		width:50%;
	}

	#docs .item .wrap{
		display:table;
		margin:auto;
	}

	#steps .list{
		padding-bottom:0;
	}

	.quiz .content .area{
		padding-top:17px;
	}
}

@media (max-width: 520px) {
	header .right{
		height:300px;
		margin-bottom:150px;
	}

	header .tagline{
		top:300px;
	}

	header .tagline h1{
		font-size:25px;
		line-height:30px;
	}

	header .right{
		margin-bottom:115px;
	}

	header .marker > li{
		width:100%;
	}

	.title{
		font-size:25px;
		line-height:30px;
	}

	#map .contacts .subttl{
		font-size:20px;
		line-height:25px;
	}

	#steps .num{
		margin-bottom:20px;
	}

	#steps .flex-list-5 .item{
		width:50%;
	}

	.quiz .top{
		flex-direction:column;
	}

	.quiz .leftquest{
		font-size:15px;
		line-height:22px;
	}

	.quiz .title{
		margin-bottom:10px;
	}

	.quiz .leftquest,
	.quiz .content{
		margin-bottom:17px;
	}

	.quiz .leftquest br{
		display:none;
	}

	.quiz-step-9 .fields{
		flex-direction:column;
	}

	.quiz-step-9 .fields .field{
		margin-bottom:17px;
	}

	.quiz-step-9 .fields.other .radio{
		justify-content:flex-start;
	}

	.quiz .button{
		min-width:0;
		padding:0 24px;
	}

	#map iframe{
		height:400px;
	}
}

@media (max-width: 480px) {
	.logotype{
		height:45px;
	}

	header .container{
		padding-top:65px;
	}

	header .top .phone{
		font-size:17px;
		padding-left:20px;
		background-size:16px auto;
	}

	header .tagline{
		top:280px;
	}

	.ttl, .policy-text .ttl-sub{
		font-size:17px;
		line-height:23px;
	}

	#kind-works .list{
		margin-bottom:30px;
	}

	#kind-works .marker{
		margin-bottom:0;
	}

	#kind-works .marker > li{
		width:100%;
	}

	#map .contacts{
		padding:17px;
	}

	.videoframe .wrap{
		width:95vw;
	}

	.policy-text .container{
		padding:15px;
	}

	.policy-text .title{
		font-size:22px;
		line-height:27px;
	}

	.thanks .butmenu{
		top:20px;
	}
}

@media (max-width: 445px) {
	.quiz .wrap{
		padding:15px;
	}

	.quiz .close{
		top:10px;
		right:10px;
	}

	.quiz-step-1 .fields .field,
	.quiz-step-9 .fields .field{
		margin-bottom:10px;
	}

	.quiz-step-1 .fields .field{
		width:100%;
	}

	.quiz .content .area,
	.quiz-step-9 .fields.other{
		padding-top:10px;
	}

	.quiz-step-10 .button{
		min-width:0;
		width:100% !important;
	}

	.quiz .email-field{
		font-size:15px;
	}
}

@media (max-height: 445px) {
	nav a{
		line-height:40px;
	}
}

@media (max-width: 420px) {
	header .tagline{
		top:270px;
	}

	header .tagline p .sm{
		display:block;
	}

	footer .logoblock{
		width:100%;
		margin-bottom:15px;
	}

	footer .container > div{
		text-align:center;
	}

	footer .logoblock .logotype{
		margin:auto;
	}
}

@media (max-width: 420px) {
	
}

@media (max-width: 380px) {
	.butmenu{
		margin-left:15px;
	}

	header .top .phone{
		font-size:15px;
	}

	header .container{
		padding-left:0;
		padding-right:0;
	}

	header .tagline{
		padding:0 15px;
	}

	header .tagline .wrapper{
		padding:17px 0;
	}

	#steps .flex-list-5 .item{
		width:100%;
	}

	#steps .num{
		margin:0 auto 10px;
	}

	#steps .num:after{
		display:none;
	}

	#steps .item{
		padding:0;
	}

	#steps .item p{
		text-align:center;
	}

	.quiz .email-field{
		font-size:12px;
	}
}

@media (max-width: 360px) {
	#why .list .icon{
		margin:0 auto 20px;
	}

	#materials .item .wrap{
		height:120px;
		overflow:hidden;
	}

	#materials .flex-list .item,
	#why .flex-list-5 .item,
	#equipment .flex-list-3 .item{
		width:100%;
	}

	#why .list .item p{
		text-align:center;
	}

	#map .contacts, #map .title{
		text-align:center;
	}

	#map .contacts .contacts-info li{
		padding-top:32px;
		padding-left:0;
		background-position:50% 0;
	}

	.quiz-step-7 .fields .field, .quiz-step-8 .fields .field{
		width:100%;
	}

	.quiz .button{
		padding:0 17px;
	}
}

@media (max-width: 300px) {
	
}