/* === DESKTOP FIRST === */

/* xl <= Extra extra large (xxl) */
@media (max-width : 1400px) {
	.card,.form_widget,.promo_widget{
		padding: 60px 40px;
	}
	.bg_widget::before{
		background-size: 140px;
	}
	.score_widget{
		min-height: 248px;
	}
	.scope_widget_item span{
		margin-right: 40px;
	}
	.score_widget.score_mh{
		min-height: 256px ;
	}
	h1, .one{
		font-size: clamp(12px, calc(var(--index)* 2.8), 100rem);
	}
	section{
		padding-top: 100px;
	}
	.nm_text{
		font-size: 48px;
	}
	.nav_widget ul li + *{
		margin-left: 20px;
	}
	.social_widget * + *{
		margin-left: 8px;
	}
	header .btn{
		padding: 11px 15px;
	}
	h4, .four{
		font-size: 22px;
	}
	.xl_text{
		font-size: clamp(12px, calc(var(--index)* 1.4), 100rem);
	}
	.advantage .slide_holder .slide_holder_bg{
		right: -120px;
	}
}

/* lg <= Extra large (xl) */
@media (max-width : 1200px) {
	h2, .two{
		font-size: clamp(12px, calc(var(--index)* 2), 100rem);
	}
	h4,.four,.grid_widget .four{
		font-size: clamp(12px, calc(var(--index) * 1), 100rem);
	}
	.widget::before{
		content: none;
	}
	header .header_phone{
		width: 40px;
		height: 40px;
		background: var(--ld_dark);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	header .header_phone svg{
		width: 19px;
		height: 19px;
		margin-left: 0;
	}
	.nav_widget ul li + * {
		margin-left: 16px;
	}
	.advantage>div:first-child{
		max-width: 380px;
	}
}

/* md <= Large (lg) */
@media (max-width : 992px) {
	.first_screen_home_widget.screen_page{
		min-height: auto;
	}
	.steps_pagination{
		padding: 12px;
	}
	.nav_widget>div:last-child>div .nav_holder{
		padding: 2px;
	}
	.nav_holder svg{
		max-width: 24px;
		height: 24px;
	}
	.steps_pagination .swiper-pagination-bullet{
		width: 16px;
		height: 16px;
	}
	.section_title{
		text-align: center;
	}
	.service_card .five{
		padding-right: 0;
		font-size: clamp(12px, calc(var(--index) * 1.1), 100rem);
	}
	.first_screen_home .radius_widget, .steps_slider .radius_widget, .testimonials_carousel .radius_widget, .form_widget,.slide_widget,.about_advantages .radius_widget,.cases_slider .radius_widget{
		padding: 16px;
		border-radius: 24px;
	}
	header .header_bg{
		padding: 16px;
	}
	.header .header_phone{
		margin: 0;
	}
	.slide_widget .lg_text{
		font-size: clamp(12px, calc(var(--index) * 1), 100rem);
	}
	.advantages_slider .swiper-slide .slide_holder{
		min-height: auto;
	}
	.advantages_slider .swiper-slide .slide_holder .slide_holder_bg{
		background-position: right center;
	}
	.score_widget {
		min-height: 174px;
		}
	img.alignright{
		width: 100%;
		margin-left: 0;
		float: none;
	}
	.steps_widget_item > div{
		padding-left: 44px;
	}
	.steps_widget_item > div:first-child{
		text-align: left;
	}
	.steps_widget_item > div:last-child{
		position: initial;
		padding-bottom: 36px;
	}
	.steps_widget_item{
		position: relative;
		gap: 0;
	}
	.steps_widget_item > div:last-child::after{
		top: -10px;
	}
	.steps_widget_item > div:last-child::before{
		top: 20px;
	}
	.image{
		max-height: 370px;
	}
	.promo_widget{
		gap: 32px;
	}
	.seo_widget h1,.seo_widget h2,.seo_widget h3,.seo_widget h4,.seo_widget h5{
		margin-bottom: 16px;
	}
	.scope_widget hr{
		margin: 20px 0;
	}
	.scope_widget_item span{
		line-height: 1;
	}
	.first_screen_home_widget{
		padding: 24px 16px;
	}
	.score_widget .nm_text{
		font-size: 24px;
	}
	h2,.two{
		font-size: clamp(12px, calc(var(--index)* 2), 100rem);
	}
	h3,.three{
		font-size: clamp(12px, calc(var(--index)* 1.8), 100rem);
	}
	h4,.four{
		font-size: clamp(12px, calc(var(--index)* 1.6), 100rem);
	}
	h5, .five{
		font-size: clamp(12px, calc(var(--index)* 1.4), 100rem);
	}
	section h4,section .four,.grid_widget .four{
		font-size: clamp(12px, calc(var(--index)* 2), 100rem);
	}
	.clients_slider .swiper-slide{
		max-width: 80px;
	}
	.clients_slider .swiper-slide img{
		padding: 18px 0;
		max-width: 100%;
	}
	.bg_widget::before{
		background-size: 93px;
	}
	aside .btn{
		width: 100%;
		max-width: calc(100% - 47px);
		padding: 13px 20px;
	}

	aside.active{
		top: 0;
		visibility: visible;
		opacity: 1;
	}
	aside ul{
		list-style: none;
		padding-left: 0;
		margin-bottom: 0;
	}
	aside ul li{
		width: 100%;
	}
	aside ul li a{
		font-size: 24px;
		color: var(--text);
		text-decoration: none;
		display: block;
		padding: 12px 0;
	}
	aside ul li:first-child a{
		padding-top: 0;
	}
	aside nav{
		line-height: 1;
	}
	header{
		position: fixed;
		padding: 12px 0;
	}
	footer{
		padding: 32px 0;
	}
	section{
		padding: 40px 0;
	}
	.card{
		padding-left: 16px;
		padding-right: 16px;
		/* top: calc(20px + 60px); */
		padding-top: 30px;
		padding-bottom: 30px;
	}
	#cards .swiper-slide{
		height: initial;
	}
	/* .card + *{
		margin-top: 10px;
	} */
	.grid_two{
		grid-gap: 16px;
	}
	.service_card{
		padding: 16px;
	}
	.advantage_card + *{
		padding-left: 0;
		margin-left: 0;
		padding-top: 24px !important;
		margin-top: 26px;
	}
	.advantage_card + *::before{
		height: 1px;
		width: 100%;
		background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, #fff 50%, rgba(0, 0, 0, 0) 100%);
		bottom: auto;
	}
	.advantage_card{
		padding: 0;
	}
	.advantades_widget,.result_widget{
		padding: 24px 16px;
	}
	.result_widget{
		display: grid;
		grid-gap: 24px 16px;
		grid-template-columns: repeat(2, 1fr);
		align-content: baseline;
	}
	.result_widget .advantage_card + *{
		margin-top: 0;
		padding-top: 0 !important;
	}
	.result_widget .advantage_card + *::before{
		content: none;
	}
	.pd_widget,.form_widget,.promo_widget{
		padding: 32px 16px;
	}
	.testimonial_widget::before{
		left: -20px;
		top: 16px;
	}
	form button{
		width: 100%;
	}
	button .btn, form button{
		width: 100%;
		max-width: calc(100% - 47px);
	}
	.btn_group .btn + *{
		display: none;
	}
	form button + *{
		margin-left: 0;
		/* margin-top: 16px; */
	}
	.score_widget{
		padding: 16px 20px;
	}
	.nav_widget ul{
		flex-flow: column;
		align-items: start;
	}
	.nav_widget ul li + *{
		margin-left: 0;
		margin-top: 16px;
	}
	.radius{
		border-radius: 24px;
	}
	.scope_widget_item span{
		flex: 0;
		max-width: 90px;
	}
	.city_list{
		column-count: 3;
	}
	.btn_group{
		width: 100%;
	}
	.btn_group > .btn{
		width: 100%;
		width: 100%;

	}
	.filters{
		overflow: auto;
		white-space: nowrap;
		-ms-overflow-style: none;
		scrollbar-width: none;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		position: absolute;
		z-index: 1;
	} 
	.slide_text .four{
		min-width: auto;
	}
	.steps_slider img{
		width: 100%;
	}
	.steps_pagination::after{
		width: 90%;
	}
	.steps_slider .swiper-slide .four{
		font-size: clamp(12px, calc(var(--index) * 1.4), 100rem);
	}
	.steps_slider .swiper-slide .lg_text{
		font-size: clamp(12px, calc(var(--index) * 1.1), 100rem);
	}
	.slide_text .four::before{
		max-width: 16px;
		min-width: 16px;
		height: 16px;
		margin-top: -1px;

	}
	.steps_slider .radius_widget{
		min-height: 210px;
	}
	.advantages_slider .swiper-slide .slide_holder .slide_holder_bg{
		background-size: 60%;
	}
	.advantages_slider .swiper-slide .slide_holder{
		position: absolute;
		z-index: -1;
		transform: translateX(11%);
		width: 100%;
		height: 100%;
	}
	.advantages_slider .swiper-slide{
		overflow: hidden;
	}
	.advantages_slider .slide_widget{
		margin-right: 100px;
	}
	.btn_group .btn svg{
		min-width: 26px;
	}
	.btn_group>.btn{
		padding: 8px 30px;
	}
	.thumbnail_page img{
		max-height: 390px;
	}
	.advantage>div:first-child{
		max-width: 474px;
	}
	.advantage .slide_holder .slide_holder_bg{
		background-size: 60%;
	}
}

/* sm <= Medium (md) */
@media (max-width : 768px) {
	.text-center{
		text-align: left;
	}
	.popup .popup_dialog .popup_wrap{
		padding: 24px 16px;
	}
	.popup_wrap .three{
		font-size: 20px;
	}
	.popup .btn_close{
		position: relative;
		top: -6px;
		right: 0;
	}
	.slider_layer::after, .slider_layer::before{
		top: auto;
		height: 100px;
	}
	.map_widget{
		max-height: 375px;
	}
	.steps_slider .radius_widget{
		min-height: 170px;
	}
	.advantage>div:first-child {
    max-width: 360px;
}
}

/* xs <= Small (sm) */
@media (max-width : 576px) {
	.seo_widget img{
		max-height: 215px !important;
	}
	.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:last-child,
	.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:last-child {
		width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2) !important;
		max-width: 50% !important;
	}
	.result_widget{
		grid-template-columns: repeat(1, 1fr);
	}
	.city_list{
		column-count: 2;
	}
	.city_list > div{
		font-size: 14px;
	}
	.md_text{
		font-size: 16px;
	}
	.slider_layer::after, .slider_layer::before{
		min-width: 46px;
	}
	.score_widget,.score_widget.score_mh{
		min-height: 160px;
	}
	.bg_widget::before {
		background-size: 60px;
	}
	header{
		padding: 12px 0;
	}
	header .logo svg{
		max-width: 88px;
	}
	main{
		margin-top: 80px;
	}
	h1, .one{
		font-size: clamp(12px, calc(var(--index) * 2.2), 100rem);
	}
	h2,.two,.nm_text{
		font-size: clamp(12px, calc(var(--index) * 2.1), 100rem);
	}
	h3,.three{
		font-size: clamp(12px, calc(var(--index) * 2), 100rem);
	}
	h4,.four{
		font-size: clamp(12px, calc(var(--index)* 1.6), 100rem);
	}
	h5, .five,.xxl_text{
		font-size: clamp(12px, calc(var(--index) * 1), 100rem);
	}
	.lg_text{
		font-size: clamp(12px, calc(var(--index)* 1.7), 100rem);
	}
	section h4,section .four,.grid_widget .four{
		font-size: clamp(12px, calc(var(--index) * 1.5), 100rem);
	}
	.scope_widget .four{
		font-size: 20px;
	}
	.tag_cloud *{
		padding: 10px 16px;
	}
	.tag_cloud img{
		padding: 0;
	}
	.grid_two .md_text{
		font-size: 12px;
	}
	.xl_text{
		font-size: 14px;
	}
	.us_text{
		font-size: 14px;
	}
	.testimonial_widget .light_text{
		font-size: 12px;
	}
	.testimonial_widget img{
		height: 40px;
		width: 40px;
		margin-right: 12px;
	}
	.score_widget .md_text{
		font-size: 14px;
	}
	.score_widget_text .md_text{
		font-size: 12px;
	}
	.service_card .card_icon{
		margin-right: 16px;
	}
	footer .logo svg{
		max-width: 88px;
	}
	.scope_widget_item span{
		font-size: 42px;
	}
	.steps_widget_item{
		left: -13px;
		gap: 8px;
	}
	.steps_widget_item > div:last-child::before{
		left: 40px;
	}
	.steps_widget_item > div:last-child::after{
		left: 16px;
	}
	.steps_widget_item > div,.steps_widget_item > div:last-child{
		padding-left: 76px;
	}
	.promo_layer{
		min-height: 562px;
	}
	.promo_layer .btn{
		width: 100%;
	}
	.promo_layer::after{
		background-size: cover;
    background-position-y: 110px;
    left: 0;
    top: 0;
	}
	.btn{
		width: 100%;
		font-size: inherit;
		
		max-width: calc(100% - 47px);
		padding: 14px 32px;
	}
	.cases_slider .swiper-slide .btn{
		font-size: inherit;
	}
	.service_card{
		min-height: 170px;
	}
	.service_holder{
		background-size: 70%;
	}
	.service_card .five{
		word-break: break-word;
		font-size: clamp(12px, calc(var(--index) * 1), 100rem);
	}
	.slide_widget .three{
		font-size: clamp(12px, calc(var(--index) * 1.4), 100rem);
	}
	.nav_widget>div:last-child>div{
		padding: 6px 2px;
	}
	.steps_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before{
		width: 25px;
		height: 25px;
	}
	.steps_pagination::after{
		width: 83%;
	}
	.advantage>div:first-child {
    max-width: 294px;
}
.advantage .slide_holder .slide_holder_bg{
	right: -80px;
	background-size: 70%;
}
}


/* === MOBILE FIRST === */

/* Custom (xs) */
@media (min-width : 0) {

}

/* Small (sm) */
@media (min-width : 576px) {

}

/* Medium (md) */
@media (min-width : 768px) {

}

/* Large (lg) */
@media (min-width : 992px) {
	.card_wrapper > div > div:last-child{
		margin-left: 80px;
	}
	.service_carousel{
		overflow: hidden;
	}
	
}

/* Extra large (xl) */
@media (min-width : 1200px) {
	.text {
		font-size: 18px;
	}
	/* .first_screen_home .first_screen_home_widget.radius_widget{
		padding-right: 108px;
	} */
	.first_screen_home h1{
		text-wrap: balance;
	}
}

/* Extra extra large (xxl) */
@media (min-width : 1400px) {
	.text {
		font-size: 22px;
	}
}

/* fix hover on all devices */
@media (hover: hover) {

	/* BTNS */
	a:hover{
		opacity: 0.8;
	}
	.btn:hover,form button:hover{
		opacity: 0.8;
		color: #fff;
	}
	.white_btn:hover{
		color: #000;
		background: var(--gray);
		opacity: 1;
	}
	.btn_group:hover .btn{
		opacity: 1;
	}
	.tag_cloud .btn:hover{
		color: #fff;
	}
	.page_content .btn_group:hover .white_btn{
		color: #000;
	}
	.nav_widget > div:last-child >  .nav:hover .nav_holder{
		background: #fff;
	}
	.nav_widget > div:last-child >  .nav:hover .nav_holder svg path{
		stroke: var(--text);
	}
}

@media (hover: none){
	/* SERVICE CARDS */

	a.service_card:active{
		color: var(--text);
		opacity: 0.8;
	}
/* BTNS */
a:active{
	opacity: 0.8;
}

.btn:active, form button:active{
	opacity: 0.8;
	color: #fff;
}
.white_btn:active{
	color: #000;
	background: var(--gray);
	opacity: 1;
}
.btn_group:active .btn{
	opacity: 1;
}
.tag_cloud .btn:active{
	color: #fff;
}
.page_content .btn_group:active .white_btn{
	color: #000;
}
.nav_widget > div:last-child >  .nav:active .nav_holder{
	background: #fff;
}
.nav_widget > div:last-child >  .nav:active .nav_holder svg path{
	stroke: var(--text);
}
}