/* ==========================================================================
   MANTANA — mobile / responsive layer
   Вносить только в этот файл.
   ========================================================================== */

.menu-toggle,
.menu-close,
.submenu-toggle {
	display: none;
}

.mobile_menu_extras {
	display: none;
}

body.menu-open {
	overflow: hidden;
}

@media (max-width: 1399px) {
	:root {
		--container: 1140px;
	}

	.head .button a {
		padding-left: 30px;
		padding-right: 30px;
	}

	.top_menu .menu > ul > li > a {
		padding-left: 15px;
		padding-right: 15px;
	}

	.hero_slider .box {
		max-width: 560px;
	}

	.services .service_body h3 {
		font-size: 24px;
	}

	.review_card {
		padding: 30px 28px 26px;
	}

	.consult .consult_side {
		padding-right: 220px;
	}

	.consult_visual {
		width: 330px;
		right: -20px;
	}

	.masters::before {
		left: -14%;
		transform: scale(0.9);
		transform-origin: left bottom;
	}
}

@media (max-width: 1199px) {
	:root {
		--container: 960px;
		--gap: 24px;
	}

	.head .layout {
		flex-wrap: wrap;
		row-gap: 18px;
		padding-top: 14px;
		padding-bottom: 16px;
	}

	.head .logo {
		flex: 0 0 100%;
		max-width: 100%;
		text-align: center;
	}

	.head .logo img,
	.head .custom-logo {
		max-width: 190px;
		height: auto;
	}

	.head .location,
	.head .phone,
	.head .soc,
	.head .button {
		flex: 0 0 calc(50% - 12px);
		max-width: calc(50% - 12px);
	}

	.head .location,
	.head .phone {
		min-height: 0;
	}

	.head .phone {
		align-items: flex-start;
	}

	.head .soc {
		justify-content: flex-start;
	}

	.top_menu .menu > ul {
		gap: 0;
		justify-content: center;
	}

	.top_menu .menu > ul > li > a {
		min-height: 56px;
		padding-left: 14px;
		padding-right: 14px;
		font-size: 15px;
	}

	.top_menu .menu > ul > li > ul {
		min-width: 290px;
	}

	.hero_slider .slider {
		height: 430px;
	}

	.hero_slider .box {
		max-width: 520px;
		padding: 26px 28px 28px;
	}

	.hero_slider .box h1,
	.hero_slider .box h2 {
		font-size: 34px;
	}

	.advantages,
	.brands,
	.services,
	.masters,
	.reviews,
	.consult,
	.faq,
	.repair_steps {
		padding-top: 68px;
		padding-bottom: 72px;
	}

	.advantages .layout {
		flex-wrap: wrap;
	}

	.advantages .col {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.advantages .adv_card {
		padding: 26px 24px;
	}

	.advantages .adv_icon {
		flex: 0 0 150px;
		width: 150px;
		height: 150px;
	}

	.advantages .adv_content h3 {
		font-size: 24px;
	}

	.services .col,
	.services .col.one {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.services .service_card,
	.services .col.one .service_card {
		min-height: 0;
	}

	.services .col.one .service_media {
		flex-basis: 42%;
		max-width: 42%;
		/*
		background-color: var(--bg1);
		*/
	}

	.services .col.one .service_media img {
		height: 100%;
		min-height: 100%;
	}

	.services .col.one .service_body {
		padding: 28px 28px 24px;
	}

	.services .col.one .service_body h3 {
		font-size: 28px;
	}

	.services .col.one .service_body p {
		font-size: 16px;
	}

	.masters::before {
		display: none;
	}

	.masters .cards_row {
		max-width: none;
	}

	.reviews_top {
		align-items: flex-start;
		flex-direction: column;
	}

	.reviews_nav {
		width: 100%;
		justify-content: flex-start;
	}

	.reviews_shell {
		width: 100%;
	}

	.review_card {
		min-height: 320px;
	}

	.repair_steps_layout {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.consult .layout {
		align-items: flex-start;
	}

	.consult .consult_info {
		flex: 0 0 38%;
		max-width: 38%;
	}

	.consult .consult_side {
		flex: 0 0 calc(62% - 24px);
		max-width: calc(62% - 24px);
		padding-right: 0;
	}

	.consult_visual {
		display: none;
	}

	.faq_main {
		flex-basis: calc(64% - 12px);
		max-width: calc(64% - 12px);
	}

	.faq_side {
		flex-basis: calc(36% - 12px);
		max-width: calc(36% - 12px);
	}

	.faq_help {
		padding: 24px 22px 26px;
	}

	.site-footer .footer_top {
		flex-wrap: wrap;
		row-gap: 34px;
	}

	.site-footer .footer_brand {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.site-footer .footer_nav,
	.site-footer .footer_services,
	.site-footer .footer_side {
		flex: 0 0 calc(33.333% - 16px);
		max-width: calc(33.333% - 16px);
	}

	.question_modal__dialog {
		max-width: 680px;
		padding: 48px 34px 34px;
	}

	.question_modal__dialog h3 {
		font-size: 34px;
	}

	.page_intro h1,
	.blog_intro h1,
	.archive_intro h1,
	.single_intro h1,
	.error_intro h1 {
		font-size: 42px !important;
	}

	.page_intro--has-decor::after,
	.blog_intro--has-decor::after,
	.single_intro.single_intro--has-decor::after,
	.single-service .single_intro::after {
		transform: scale(0.82);
		transform-origin: right bottom;
	}
}

@media (max-width: 991px) {
	:root {
		--container: 100%;
		--gutter: 20px;
		--gap: 22px;
	}

	html,
	body {
		overflow-x: clip;
	}

	body.menu-open {
		overflow: hidden;
		touch-action: none;
	}
	
	
	:root {
		--mobile-head-offset: 72px;
	}

	html {
		scroll-padding-top: var(--mobile-head-offset);
	}

	body {
		padding-top: var(--mobile-head-offset);
	}

	.site-header {
		position: static !important;
		top: auto !important;
		z-index: auto !important;
		overflow: visible !important;
	}

	.head {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1600;
		background-color: var(--bg1);
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
	}

	body.admin-bar {
		--mobile-head-offset: 126px;
	}

	body.admin-bar .head {
		top: 46px;
	}	
	

	.head .layout {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		column-gap: 14px;
		row-gap: 0;
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.head .logo {
		flex: 1 1 auto;
		max-width: none;
		text-align: left;
	}

	.head .logo img,
	.head .custom-logo {
		max-width: 170px;
	}

	.head .location,
	.head .phone,
	.head .soc,
	.head .button {
		display: none;
	}

	.menu-toggle {
		position: relative;
		display: inline-flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 52px;
		height: 52px;
		padding: 0;
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 2px;
		background: var(--bg2);
		color: #ffffff;
		cursor: pointer;
		transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
	}

	.menu-toggle:hover {
		background-color: var(--colorstyle1);
		border-color: var(--colorstyle1);
	}

	.menu-toggle span,
	.menu-toggle::before,
	.menu-toggle::after {
		content: "";
		position: absolute;
		left: 14px;
		right: 14px;
		height: 2px;
		background-color: currentColor;
		transition: transform 0.25s ease, opacity 0.25s ease, top 0.25s ease, bottom 0.25s ease;
	}

	.menu-toggle::before {
		top: 17px;
	}

	.menu-toggle span {
		top: 50%;
		transform: translateY(-50%);
	}

	.menu-toggle::after {
		bottom: 17px;
	}

	body.menu-open .menu-toggle {
		background-color: var(--colorstyle1);
		border-color: var(--colorstyle1);
	}

	body.menu-open .menu-toggle::before {
		top: 24px;
		transform: rotate(45deg);
	}

	body.menu-open .menu-toggle span {
		opacity: 0;
	}

	body.menu-open .menu-toggle::after {
		bottom: 24px;
		transform: rotate(-45deg);
	}


	.top_menu,
	.top_menu.is-fixed {
		position: fixed !important;
		top: var(--mobile-head-offset) !important;
		right: 0;
		bottom: 0;
		left: 0;
		height: calc(100dvh - var(--mobile-head-offset));
		z-index: 1500;
		background: rgba(0, 0, 0, 0.46);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		box-shadow: none !important;
		transition: opacity 0.28s ease, visibility 0.28s ease;
	}	
	

	.top_menu .container,
	.top_menu .layout {
		height: 100%;
	}

	.top_menu .container {
		padding-inline: 0;
	}

	.top_menu .layout {
		display: block;
		border-top: 0 !important;
	}

	.top_menu .menu {
		position: relative;
		display: flex;
		flex-direction: column;
		height: 100%;
		width: min(420px, 100%);
		margin-left: auto;
		padding: 0 20px 28px;
		background-color: var(--bg1);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		transform: translateX(100%);
		transition: transform 0.3s ease;
	}

	body.menu-open .top_menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	body.menu-open .top_menu .menu {
		transform: translateX(0);
	}

	.mobile-menu-head {
		position: sticky;
		top: 0;
		z-index: 30;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		margin: 0 -20px 14px;
		padding: 16px 20px 14px;
		background: var(--bg1);
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		
		display:none;
	}

	.menu-close {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		padding: 0;
		margin: 0;
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 2px;
		background: var(--bg2);
		cursor: pointer;
	}

	.menu-close::before,
	.menu-close::after {
		content: "";
		position: absolute;
		width: 18px;
		height: 2px;
		background: #ffffff;
	}

	.menu-close::before {
		transform: rotate(45deg);
	}

	.menu-close::after {
		transform: rotate(-45deg);
	}

	.top_menu .menu ul {
		display: block;
	}

	.top_menu .menu > ul {
		gap: 0;
		margin: 0;
		padding: 0;
		margin-top: 15px;
	}

	.top_menu .menu > ul,
	.mobile_menu_extras {
		position: relative;
		z-index: 1;
	}	

	.top_menu .menu > ul > li {
		/*
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		*/
		
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;		
		
	}

	.top_menu .menu > ul > li:first-child {
		/*
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		*/
	}

	.top_menu .menu > ul > li > a {
		min-height: 0;
		padding: 16px 48px 16px 0;
		font-size: 18px;
		line-height: 1.35;
		white-space: normal;
	}

	.top_menu .menu > ul > li.has > a {
		padding-right: 56px;
	}

	.top_menu .menu > ul > li.has > a::after {
		display: none;
	}
	
	
	.top_menu .menu > ul > li.has > a,
	.top_menu .menu .sub-menu > li.has > a {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 56px;
		padding-right: 56px;
	}	
	

	.submenu-toggle {
		position: absolute;
		top: 8px;
		right: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	.submenu-toggle::before,
	.submenu-toggle::after {
		content: "";
		position: absolute;
		background: #ffffff;
		transition: transform 0.25s ease, opacity 0.25s ease;
	}

	.submenu-toggle::before {
		width: 14px;
		height: 2px;
	}

	.submenu-toggle::after {
		width: 2px;
		height: 14px;
	}

	.top_menu .menu > ul > li.is-open > .submenu-toggle::after {
		opacity: 0;
	}

	.top_menu .menu > ul > li > ul {
		position: static;
		min-width: 0;
		padding: 0 0 12px;
		margin: 0;
		background: transparent;
		border-top: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		display: none;
	}

	.top_menu .menu > ul > li.is-open > ul {
		display: block;
	}

	.top_menu .menu > ul > li:hover > ul,
	.top_menu .menu > ul > li:focus-within > ul {
		transform: none;
	}

	.top_menu .menu > ul > li > ul > li > a {
		padding: 10px 0 10px 16px;
		font-size: 15px;
		line-height: 1.45;
		color: rgba(255, 255, 255, 0.78);
	}

	.mobile_menu_extras {
		display: grid;
		gap: 18px;
		padding-top: 24px;
		margin-top: 24px;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	.mobile_menu_extras .col {
		max-width: 100%;
	}

	.mobile_menu_extras .location,
	.mobile_menu_extras .phone {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-left: 34px;
		min-height: 0;
	}

	.mobile_menu_extras .location,
	.mobile_menu_extras .phone {
		position: relative;
	}

	.mobile_menu_extras .location::before,
	.mobile_menu_extras .phone::before {
		position: absolute;
		left: 0;
		top: 2px;
		display: block;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		color: var(--colorstyle1);
		line-height: 1;
	}

	.mobile_menu_extras .location::before {
		content: '\f3c5';
	}

	.mobile_menu_extras .phone::before {
		content: '\f879';
	}

	.mobile_menu_extras .location::before,
	.mobile_menu_extras .phone::before {
		font-size: 18px;
	}

	.mobile_menu_extras .location a,
	.mobile_menu_extras .phone a {
		font-size: 15px;
		line-height: 1.55;
		color: #ffffff;
		text-decoration: none;
	}


	
	.mobile_menu_extras .soc {
		display: flex;
		gap: 12px;
	}

	.mobile_menu_extras .soc .item a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 52px;
		height: 52px;
		border-radius: 50%;
		background-color: var(--bg2);
		color: var(--colorstyle1);
		text-decoration: none;
		font-size: 21px;
		transition: 0.3s;
	}

	.mobile_menu_extras .soc .item a:hover {
		background-color: var(--colorstyle1);
		color: var(--bg2);
	}

	.mobile_menu_extras .button a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 52px;
		padding: 14px 40px 15px;
		border: 1px solid var(--colorstyle1);
		border-radius: 2px;
		background-color: var(--colorstyle1);
		color: var(--text2);
		text-decoration: none;
		transition: 0.3s;
	}

	.mobile_menu_extras .button a:hover {
		background-color: var(--bg1);
		color: var(--text2);
	}	
	
	

	.top_menu-placeholder,
	.top_menu-placeholder.is-active {
		display: none !important;
		height: 0 !important;
	}

	.top_menu.is-fixed {
		left: 0;
		right: 0;
		width: auto;
	}

	.hero_slider .slider {
		height: 540px;
	}

	.hero_slider .content {
		align-items: flex-end;
		padding: 22px 0 70px;
	}

	.hero_slider .slide::before {
		background: linear-gradient(180deg, rgba(46, 53, 54, 0.18) 0%, rgba(46, 53, 54, 0.68) 48%, rgba(46, 53, 54, 0.92) 100%);
	}

	.hero_slider .box {
		max-width: 100%;
		padding: 24px 22px 24px;
	}

	.hero_slider .box h1,
	.hero_slider .box h2 {
		font-size: 32px;
	}

	.hero_slider .box p {
		font-size: 15px;
		line-height: 1.65;
	}

	.hero_slider .buttons {
		gap: 10px;
	}

	.hero_slider .buttons a {
		min-height: 46px;
		padding: 0 18px;
	}

	.hero_slider .arrow {
		display: none !important;
	}

	.advantages,
	.brands,
	.services,
	.masters,
	.reviews,
	.consult,
	.faq,
	.repair_steps {
		padding-top: 58px;
		padding-bottom: 60px;
	}

	.advantages_head h2,
	.brands_head h2,
	.services_head h2,
	.masters_head h2,
	.reviews_head h2,
	.consult_info h2,
	.faq_head h2,
	.repair_steps_head h2 {
		font-size: 34px;
	}

	.advantages_head,
	.services_head,
	.repair_steps_head {
		margin-bottom: 32px;
	}

	.advantages .adv_card {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}

	.advantages .adv_icon {
		width: 120px;
		height: 120px;
		flex-basis: 120px;
	}

	.brands {
		padding-top: 54px;
		padding-bottom: 56px;
	}

	.services .service_card,
	.services .col.one .service_card {
		flex-direction: column;
	}

	.services .service_media,
	.services .col.one .service_media {
		flex: 0 0 auto;
		max-width: 100%;
		width: 100%;
		min-height: 0;
	}

	.services .service_media img,
	.services .col.one .service_media img {
		height: 260px;
	}

	.services .service_body,
	.services .col.one .service_body {
		padding: 24px 22px 22px;
	}

	.services .service_body h3,
	.services .col.one .service_body h3 {
		font-size: 24px;
	}

	.services .service_body p,
	.services .col.one .service_body p {
		margin-bottom: 18px;
		font-size: 15px;
		line-height: 1.65;
	}

	.masters .cards_row .col {
		flex: 0 0 calc(50% - 11px);
		max-width: calc(50% - 11px);
	}

	.masters .master_card {
		padding: 26px 18px 22px;
	}

	.masters .master_photo {
		width: 142px;
		height: 142px;
		margin-bottom: 18px;
	}

	.masters .master_btn {
		width: 100%;
		margin-left: 0;
		min-height: 48px;
	}

	.reviews_shell {
		overflow: hidden;
	}

	.reviews_item {
		width: auto;
	}

	.review_card {
		min-height: 0;
	}

	.review_text {
		/*
		max-height: none;
		overflow: visible;
		padding-right: 0;
		*/
	}

	.repair_steps_layout {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.repair_steps .step_card {
		min-height: 0;
		padding: 24px 20px;
		grid-template-columns: minmax(0, 1fr) 88px;
	}

	.repair_steps .step_content h3 {
		font-size: 22px;
	}

	.repair_steps .step_content p {
		font-size: 15px;
		line-height: 1.55;
	}

	.repair_steps .step_media,
	.repair_steps .step-1 .step_media,
	.repair_steps .step-2 .step_media,
	.repair_steps .step-3 .step_media,
	.repair_steps .step-4 .step_media,
	.repair_steps .step-5 .step_media,
	.repair_steps .step-6 .step_media {
		width: 98px;
	}

	.consult .layout,
	.faq_layout {
		flex-wrap: wrap;
	}

	.consult .consult_info,
	.consult .consult_side,
	.faq_main,
	.faq_side {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.consult .consult_info {
		margin-bottom: 6px;
	}

	.consult_form_wrap {
		width: min(100%, 520px);
	}

	.faq_help {
		position: static;
	}

	.site-footer .footer_top {
		row-gap: 28px;
	}

	.site-footer .footer_nav,
	.site-footer .footer_services,
	.site-footer .footer_side {
		flex: 0 0 calc(50% - 11px);
		max-width: calc(50% - 11px);
	}

	.site-footer .footer_btn {
		width: 100%;
	}

	.question_modal__dialog {
		width: calc(100% - 28px);
		padding: 42px 24px 24px;
	}

	.question_modal__dialog h3 {
		font-size: 30px;
	}

	.contacts_map_embed,
	.contacts_map_embed iframe {
		min-height: 340px;
		height: 340px;
	}

	.wp-block-media-text {
		grid-template-columns: 1fr !important;
	}

	.wp-block-media-text>.wp-block-media-text__content {
		padding: 20px 0 0 !important;
	}

	.page_intro--has-decor::after,
	.blog_intro--has-decor::after,
	.single_intro.single_intro--has-decor::after,
	.single-service .single_intro::after {
		opacity: 0.28;
		transform: scale(0.68);
	}

	.page_content .container,
	.blog_content .container,
	.archive_content .container,
	.single_content .container {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	:root {
		--gutter: 16px;
		--gap: 18px;
	}

	.head .layout {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.head .logo img,
	.head .custom-logo {
		max-width: 150px;
	}

	.menu-toggle {
		width: 48px;
		height: 48px;
	}

	.menu-toggle::before {
		top: 16px;
	}

	.menu-toggle::after {
		bottom: 16px;
	}

	body.menu-open .menu-toggle::before {
		top: 22px;
	}

	body.menu-open .menu-toggle::after {
		bottom: 22px;
	}

	.top_menu .menu {
		padding: 0 16px 24px;
	}

	.mobile-menu-head {
		margin: 0 -16px 12px;
		padding: 14px 16px 12px;
	}

	.top_menu .menu > ul > li > a {
		font-size: 17px;
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.hero_slider .slider {
		height: 500px;
	}

	.hero_slider .content {
		padding-bottom: 62px;
	}

	.hero_slider .box {
		padding: 20px 18px 20px;
	}

	.hero_slider .box .sub {
		font-size: 12px;
		margin-bottom: 8px;
	}

	.hero_slider .box h1,
	.hero_slider .box h2 {
		margin-bottom: 12px;
		font-size: 28px;
		line-height: 1.12;
	}

	.hero_slider .box p {
		font-size: 14px;
	}

	.hero_slider .buttons {
		flex-direction: column;
		margin-top: 18px;
	}

	.hero_slider .buttons a {
		width: 100%;
		padding: 0 16px;
	}

	.hero_slider .dots {
		bottom: 16px;
		gap: 8px;
	}

	.hero_slider .dots button {
		width: 20px;
	}

	.advantages,
	.brands,
	.services,
	.masters,
	.reviews,
	.consult,
	.faq,
	.repair_steps {
		padding-top: 46px;
		padding-bottom: 48px;
	}

	.advantages_head h2,
	.brands_head h2,
	.services_head h2,
	.masters_head h2,
	.reviews_head h2,
	.consult_info h2,
	.faq_head h2,
	.repair_steps_head h2 {
		font-size: 30px;
		line-height: 1.12;
	}

	.advantages_head p,
	.services_head p,
	.masters_head p,
	.reviews_head p,
	.consult_info p,
	.faq_head p,
	.repair_steps_head p {
		font-size: 15px;
		line-height: 1.65;
	}

	.advantages .adv_card {
		padding: 22px 18px;
	}

	.advantages .adv_content h3 {
		font-size: 22px;
	}

	.advantages .adv_content p {
		font-size: 15px;
		line-height: 1.6;
	}

	.brands_item {
		height: 92px;
	}

	.brands_item img {
		max-height: 42px;
	}

	.services .service_media img,
	.services .col.one .service_media img {
		height: 220px;
	}

	.services .service_body,
	.services .col.one .service_body {
		padding: 20px 18px 18px;
	}

	.services .service_body h3,
	.services .col.one .service_body h3 {
		font-size: 22px;
		line-height: 1.18;
	}

	.services .service_btn {
		width: 100%;
		min-height: 46px;
		padding: 0 16px;
	}

	.masters .cards_row .col,
	.site-footer .footer_nav,
	.site-footer .footer_services,
	.site-footer .footer_side {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.masters .master_card h3 {
		font-size: 22px;
	}

	.reviews_top {
		margin-bottom: 22px;
	}

	.reviews_nav {
		display: none;
	}

	.reviews_item {
		padding-left: 8px;
		padding-right: 8px;
	}

	.review_card {
		padding: 24px 20px 20px;
		
        min-height: 320px;
        height: 320px;		
		
	}

	.review_mark {
		font-size: 54px;
		margin-bottom: 10px;
	}

	.review_text p {
		/*
		font-size: 15px;
		*/
		font-size: 16px;
		line-height: 1.7;
	}

	.review_meta {
		margin-top: 18px;
		padding-top: 14px;
	}

	.review_meta h3 {
		font-size: 20px;
	}

	.repair_steps_layout {
		grid-template-columns: 1fr;
	}

	.repair_steps .step_card {
		grid-template-columns: minmax(0, 1fr) 82px;
		padding: 22px 18px;
	}

	.repair_steps_num {
		width: 40px;
		height: 40px;
		font-size: 20px;
	}

	.consult_form input {
		height: 58px;
		padding-left: 16px;
		padding-right: 16px;
		font-size: 15px;
	}

	.consult_submit {
		min-height: 56px;
		font-size: 16px;
	}

	.consult_check {
		font-size: 12px;
	}

	.faq_head {
		margin-bottom: 24px;
	}

	.faq_list {
		gap: 12px;
	}

	.faq_btn {
		padding: 18px 62px 18px 18px;
		font-size: 18px;
		line-height: 1.45;
	}

	.faq_btn::before {
		right: 16px;
		width: 34px;
		height: 34px;
		margin-top: -17px;
	}

	.faq_btn::after {
		right: 30px;
	}

	.faq_item.active .faq_btn::after {
		right: 29px;
	}

	.faq_answer_inner {
		padding: 0 18px 18px;
	}

	.faq_help {
		padding: 22px 18px 24px;
	}

	.faq_help h3 {
		font-size: 24px;
	}

	.faq_help_btn {
		width: 100%;
		min-height: 46px;
	}

	.site-footer {
		padding-top: 46px;
	}

	.site-footer .footer_top {
		row-gap: 24px;
	}

	.site-footer .footer_logo img,
	.site-footer .custom-logo {
		max-width: 150px;
		height: auto;
	}

	.site-footer .footer_desc,
	.site-footer .footer_note,
	.site-footer .footer_contacts span,
	.site-footer .footer_contacts .phones a {
		font-size: 14px;
		line-height: 1.65;
	}

	.site-footer h3 {
		font-size: 20px;
		margin-bottom: 14px;
	}

	.site-footer .footer_bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding-top: 16px;
		padding-bottom: 18px;
	}

	.page_intro,
	.blog_intro,
	.archive_intro,
	.single_intro,
	.error_intro {
		padding-top: 40px !important;
		padding-bottom: 44px !important;
	}

	.page_intro h1,
	.blog_intro h1,
	.archive_intro h1,
	.single_intro h1,
	.error_intro h1 {
		font-size: 30px !important;
		line-height: 1.14 !important;
	}

	.page_intro p,
	.blog_intro p,
	.archive_intro p,
	.single_intro p,
	.error_intro p {
		font-size: 15px !important;
		line-height: 1.7 !important;
	}

	.page_content,
	.blog_content,
	.archive_content,
	.single_content,
	.error_content {
		padding-top: 34px !important;
		padding-bottom: 44px !important;
	}

	.content_card,
	.single_entry,
	.service_single_body,
	.sidebar_card {
		padding: 20px 18px 22px !important;
	}

	.post_card_body {
		padding: 20px 18px 22px !important;
	}

	.post_card h2,
	.post_card h3 {
		font-size: 22px;
	}

	.content_card p,
	.content_card li,
	.single_entry p,
	.single_entry li,
	.service_single_body p,
	.service_single_body li,
	.sidebar_card p,
	.sidebar_card li,
	.sidebar_card a {
		font-size: 15px;
		line-height: 1.72;
	}

	.service_single_hero {
		gap: 18px !important;
		margin-bottom: 22px;
	}

	.service_single_hero_media img {
		aspect-ratio: 16 / 10;
	}

	.service_cta,
	.page_cta,
	.error_actions {
		flex-direction: column;
		gap: 10px;
	}

	.post_card_link,
	.service_cta a,
	.page_cta a,
	.pagination .page-numbers,
	.error_actions a,
	.sidebar_card .sidebar_btn {
		width: 100%;
	}

	.contacts_map_wrap {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.contacts_map_embed,
	.contacts_map_embed iframe {
		min-height: 300px;
		height: 300px;
	}

	.question_modal__dialog {
		width: calc(100% - 20px);
		padding: 40px 18px 20px;
	}

	.question_modal__dialog h3 {
		font-size: 26px;
	}

	.question_modal__dialog p {
		font-size: 15px;
		line-height: 1.65;
	}

	.question_modal__row input {
		height: 56px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.question_modal__submit {
		min-height: 54px;
		font-size: 16px;
	}

	.scroll_top {
		right: 14px;
		bottom: 14px;
		width: 40px;
		height: 40px;
	}
	
	
	.review_text { 
		/*
		align-content: center;
		*/
	}
	
	.footer_top .footer_nav,
	.footer_top .footer_services {
		display:none;
	}
	
	
	
}

@media (max-width: 600px) {
    #wpadminbar {
        position: fixed;
    }
	
    .advantages .adv_card {
        align-items: center;
    }	
	
}

@media (max-width: 575px) {
	.hero_slider .slider {
		height: 470px;
	}

	.hero_slider .content {
		padding-bottom: 56px;
	}

	.hero_slider .box h1,
	.hero_slider .box h2 {
		font-size: 26px;
	}

	.advantages .adv_icon {
		width: 100px;
		height: 100px;
		flex-basis: 100px;
	}

	.services .service_media img,
	.services .col.one .service_media img {
		height: 200px;
	}

	.reviews .slick-list {
		overflow: visible;
	}

	.review_card {
		padding: 22px 18px 18px;
	}

	.review_text p {
		font-size: 14px;
	}

	.repair_steps .step_card {
		grid-template-columns: 1fr 72px;
	}

	.repair_steps .step_media,
	.repair_steps .step-1 .step_media,
	.repair_steps .step-2 .step_media,
	.repair_steps .step-3 .step_media,
	.repair_steps .step-4 .step_media,
	.repair_steps .step-5 .step_media,
	.repair_steps .step-6 .step_media {
		width: 82px;
	}

	.mobile_menu_extras {
		gap: 16px;
	}

	.mobile_menu_extras .button a,
	.site-footer .footer_btn {
		width: 100%;
	}

	.breadcrumbs {
		font-size: 13px;
		gap: 6px;
		margin-bottom: 14px;
	}

	.post_card_media {
		aspect-ratio: 16 / 11;
	}

	.pagination {
		gap: 8px;
	}
}

@media (max-width: 399px) {
	.hero_slider .slider {
		height: 450px;
	}

	.hero_slider .box {
		padding: 18px 16px;
	}

	.hero_slider .box h1,
	.hero_slider .box h2 {
		font-size: 24px;
	}

	.top_menu .menu {
		padding-left: 14px;
		padding-right: 14px;
	}

	.mobile-menu-head {
		margin-left: -14px;
		margin-right: -14px;
		padding-left: 14px;
		padding-right: 14px;
	}

	.advantages_head h2,
	.brands_head h2,
	.services_head h2,
	.masters_head h2,
	.reviews_head h2,
	.consult_info h2,
	.faq_head h2,
	.repair_steps_head h2,
	.page_intro h1,
	.blog_intro h1,
	.archive_intro h1,
	.single_intro h1,
	.error_intro h1 {
		font-size: 26px !important;
	}

	.faq_btn {
		font-size: 17px;
	}

	.review_card,
	.services .service_body,
	.services .col.one .service_body {
		padding-left: 16px;
		padding-right: 16px;
	}
}










@media (min-width: 783px) and (max-width: 991px) {
	body.admin-bar {
		--mobile-head-offset: 112px;
	}

	body.admin-bar .head {
		top: 32px;
	}
}