

:root {
	--main_color: #011836;
	--black: #1B1B1B;
	--black-20: #BBBDBF;
	--black-15: #DDDFE0;
	--main_bg: #fff;
	--red: #B50102;
	--green_color: #00b300;
	--dark_gray: #6A6C6D;
	--blue: #529BE4;
	--dark_blue: #023280;
	--light_blue: #ABCFFF;
	--light2_blue: #F5FAFF;
	--white: #fff;
	--gray: #7D7E80;
	--yellow: #CEA862;
}

::-webkit-scrollbar {
	width: 12px;               /* ширина scrollbar */
}
::-webkit-scrollbar-track {
	background: var(--blue);        /* цвет дорожки */
}
::-webkit-scrollbar-thumb {
	background: var(--dark_blue);    /* цвет плашки */
	border-radius: 20px;       /* закругления плашки */
	border: 3px solid var(--blue);  /* padding вокруг плашки */
}

html, body {
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-family: 'Onest', Verdana, Geneva, sans-serif;
	line-height: 1.3;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: 'lnum' 1;
	color: var(--main_color);
}
body {
	padding-top: 122px;
}
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
	background: var(--dark_blue);
	color: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
body:has( #wpadminbar) header {
	top: 32px;
}
.trans_03, .trans_03 path {
	transition: 0.3s;
}
img {
	border: 0;
	max-width: 100%;
	height: auto;
}
iframe {
	max-width: 100%;
	border: 0;
}
a {
	color: var(--light_blue);
	transition: 0.3s color;
}
a.black {
	color: var(--black);
	transition: 0.3s color;
}
a.main_color {
	color: var(--main_color);
	transition: 0.3s color;
}
a.black:hover {
	color: var(--blue);
}
.light_blue {
	color: var(--light_blue);
}
*, :before, :after {
	box-sizing: border-box;
	outline: none;
	font-family: 'Onest', Verdana, Geneva, sans-serif;
}
.hidden {
	display: none !important;
}
input[type="submit"],
input[type="button"],
input[type="reset"],
button {
	cursor: pointer;
}
.hover_yellow:hover {
	color: var(--yellow);
}
.ccenter {
	padding: 0 15px;
	margin: 0 auto;
	max-width: 1330px;
}
.text_center {
	text-align: center;
}
.nowrap {
	white-space: nowrap;
}
.el-animation {
	transition: 1s;
}
.animation-title {
	transition: 0.5s;
	opacity: 0;
}
.animation-scale {
	transform: scale(0.1);
}
.animation-scale.el-show {
	opacity: 1;
	transform: scale(1);
}

p {
	margin: 1em 0;
}
ul, ol {
	padding-left: 20px;
}

.grid {
	display: grid;
}
.grid.col2_auto {
	grid-template-columns: auto auto;
}
.grid.col2 {
	grid-template-columns: repeat(2, 1fr);
}
.grid.col3 {
	grid-template-columns: repeat(3, 1fr);
}
.grid.col4 {
	grid-template-columns: repeat(4, 1fr);
}
.grid.grid_3_2 {
	grid-template-columns: 3fr 2fr;
}
.grid.varound {
	align-content: space-between;
}

.flex {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
}
.flex.column {
	flex-direction: column;
}
.flex.around {
	justify-content: space-around;
}

.flex.center, .grid.center {
	justify-content: center;
}
.flex.left {
	justify-content: flex-start;
}
.flex.right {
	justify-content: flex-end;
}
.flex.vcenter, .grid.vcenter {
	align-items: center;
}
.flex.vtop, .grid.vtop {
	align-items: flex-start;
}
.flex.vbottom, .grid.vbottom {
	align-items: flex-end;
}
.flex.wrap {
	flex-wrap: wrap;
}
.gap48 {
	gap: 48px;
}
.gap40 {
	gap: 40px;
}
.gap24 {
	gap: 24px;
}
.gap20 {
	gap: 20px;
}
.gap16 {
	gap: 16px;
}
.gap15 {
	gap: 15px;
}
.gap12 {
	gap: 12px;
}
.gap8 {
	gap: 8px;
}
.gap6 {
	gap: 6px;
}



.pt40 {
	padding-top: 40px;
}
.pb40 {
	padding-bottom: 40px;
}
.pt80 {
	padding-top: 80px;
}
.pb80 {
	padding-bottom: 80px;
}

.color_blue {
	color: var(--blue);
}
.color_yellow {
	color: var(--yellow);
}
.color_gray {
	color: var(--gray);
}

.btn_blue.medium, .btn_dark_blue.medium, .btn_white.medium {
	padding: 11px 24px;
}
.btn_blue.small, .btn_dark_blue.small, .btn_white.small {
	padding: 7px 16px;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
	font-weight: 600;
	line-height: 1.3;
}
h1, .h1 {
	font-size: 42px;
	line-height: 1.16;
	font-weight: normal;
	margin: 0 0 0.8em;
}
.section.redaktor h1, .section.redaktor .h1 {
	font-weight: 600;
}


h2, .h2 {
	font-size: 42px;
	line-height: 1.15;
	margin: 0 0 24px;
}
h3, .h3 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 20px;
}
h4, .h4 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 20px;
}


input[type=text],
input[type=tel],
input[type=email],
select,
textarea {
	background: var(--white);
	border-radius: 80px;
	color: var(--main_color);
	border: 1px solid var(--blue);
	transition: 0.3s;
	width: 100%;
	padding: 14px 23px;
	line-height: 1.5;
	font-size: 16px;
	display: block;
}
textarea {
	height: 110px;
	resize: none;
}
.field:hover input[type=text],
.field:hover input[type=tel],
.field:hover input[type=email],
.field:hover select,
.field:hover textarea {
	border-color: var(--light_blue);
}

input[type=text][disabled],
input[type=tel][disabled],
input[type=email][disabled],
textarea[disabled] {
	background: #E1E3E5;
	border-color: #E1E3E5 !important;
	color: #BBBDBF;
}
input[type=text][disabled]::placeholder,
input[type=tel][disabled]::placeholder,
input[type=email][disabled]::placeholder,
textarea[disabled]::placeholder {
	color: #BBBDBF;
}

.field.policy.grid {
	grid-template-columns: 18px auto;
	gap: 11px;
	color: #7D7E80;
}
.field.policy.grid a {
	text-decoration: none;
}
input[type=checkbox] {
	appearance: none;
	display: block;
	width: 24px;
	height: 24px;
	cursor: pointer;
	position: relative;
	margin: 0;
}
input[type=checkbox]:before,
input[type=checkbox]:after {
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
input[type=checkbox]:before {
	background: var(--light_blue);
	border-radius: 4px;
	opacity: 1;
	transition: 0.3s;
}
input[type=checkbox]:after {
	background: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4 0C1.79086 0 0 1.79086 0 4V14C0 16.2091 1.79086 18 4 18H14C16.2091 18 18 16.2091 18 14V4C18 1.79086 16.2091 0 14 0H4ZM15.7071 5.70711C16.0976 5.31658 16.0976 4.68342 15.7071 4.29289C15.3166 3.90237 14.6834 3.90237 14.2929 4.29289L6.75 11.8358L3.70711 8.79289C3.31658 8.40237 2.68342 8.40237 2.29289 8.79289C1.90237 9.18342 1.90237 9.81658 2.29289 10.2071L6.04289 13.9571C6.43342 14.3476 7.06658 14.3476 7.45711 13.9571L15.7071 5.70711Z" fill="%234C82E0"/></svg>') no-repeat center/cover;
}
input[type=checkbox]:checked:before {
	opacity: 0;
}


input[type=radio] {
	appearance: none;
	display: block;
	width: 20px;
	height: 20px;
	cursor: pointer;
	position: relative;
	margin: 0;
	border-radius: 50%;
	border: 2px solid #BBBDBF;
	transition: 0.3s border-color;
}
input[type=radio]:before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: var(--blue);
	opacity: 0;
	transition: 0.3s;
}
input[type=radio]:checked {
	border-color: var(--blue);
}
input[type=radio]:checked:before {
	opacity: 1;
}

button, input[type=submit], input[type=button], input[type=reset] {
	cursor: pointer;
}

.field.phone {
	position: relative;
}
.field.phone input {
	padding-left: 80px;
}
.field.phone .flags {
	position: absolute;
	z-index: 10;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	padding: 0 15px 0 0;
}
.field.phone .flags:after {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -5px;
	height: 10px;
	width: 10px;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23666" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></svg>') no-repeat center/cover;
	transition: 0.3s;
}
.field.phone .flags img {
	display: block;
	width: 30px;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
}
.field.phone .flags .list {
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 2;
	opacity: 0;
	pointer-events: none;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	transform: translate(-10px, 10px);
}
.field.phone .flags.opened:after {
	transform: scaleY(-1);
}
.field.phone .flags.opened .list {
	opacity: 1;
	pointer-events: all;
}
.field.phone .flags .list .item {
	padding: 5px 10px;
	background: #fff;
	white-space: nowrap;
	font-size: 12px;
	grid-template-columns: 30px auto;
	color: var(--main_color);
}
.field.phone .flags .list .item span.code {
	color: var(--gray);
}
/*.modal .field.phone .flags .list .item span.name {
	display: none;
}
.modal .field.phone .flags .list .item span.code {
	color: inherit;
}*/

.required_invalid {
	-webkit-animation: empty 0.8s ease infinite;
	animation: empty 0.8s ease infinite;
	display: block;
	color: var(--red);
}

.bg_lazy, .bg_lazy:before, .bg_lazy:after {
	background-image: none !important;
}

/* блок со скроллом для таблиц и прочего */
div.scr {
	overflow: auto;
	padding: 0 0 10px;
}
div.scr::-webkit-scrollbar {
	width: 12px; /* ширина scrollbar */
}
div.scr::-webkit-scrollbar-track {
	background: #eee; /* цвет дорожки */
}
div.scr::-webkit-scrollbar-thumb { /* плашка */
	background-color: #42a327;
	border-radius: 20px;
	border: 3px solid #555;
}

header .row1 {
	padding: 18px 0;
}
header .row2 {
	border-top: 1px solid var(--blue);
}
.header_right {
	width: calc(100% - 249px - 43px);
}
form.search_form {
	position: relative;
}
header form.search_form {
	width: 480px;
}
form.search_form input[type=text], #mobile_menu_container input[type=text] {
	width: 100%;
	height: 48px;
	padding: 10px 40px 10px 14px;
	border: 2px solid #EFEFEF;
	background: #EFEFEF;
	color: var(--main_color);
	border-radius: 8px;
	font-size: 16px;
	transition: 0.3s all;
}
form.search_form input[type=text]::placeholder, #mobile_menu_container input[type=text]::placeholder {
	color: #7D7E80;
}
form.search_form button, #mobile_menu_container form button {
	border: 0 none;
	background: transparent;
	padding: 12px 16px;
	position: absolute;
	top: 0;
	right: 0;
}
form.search_form button svg, #mobile_menu_container form button svg {
	display: block;
}
form.search_form button svg path, #mobile_menu_container form button svg path {
	transition: all 0.3s;
}
form.search_form button:hover svg path, #mobile_menu_container form button:hover svg path {
	fill: var(--blue);
}
form.search_form:hover input[type=text], #mobile_menu_container form:hover input[type=text] {
	border-color: var(--blue);
}

header .address_block {
	max-width: 220px;
}
header .address_block .label {
	color: #898989;
	white-space: nowrap;
}
.btn_black_border {
	border: 1px solid var(--black);
	color: var(--black);
	display: inline-block;
	text-align: center;
	padding: 6px 16px;
	text-decoration: none;
	border-radius: 7px;
	background: var(--white);
	white-space: nowrap;
	transition: 0.2s;
}
.btn_black_border:hover {
	border-color: var(--blue);
	color: var(--white);
	background: var(--blue);
}
header .block_phone a {
	text-decoration: none;
	color: var(--white);
	display: block;
	white-space: nowrap;
}
header .block_phone .phones {
	position: relative;
	z-index: 1;
	padding: 0 24px 0 0;
}
header .block_phone .phones:before {
	position: absolute;
	content: '';
	z-index: -1;
	
}

@media (min-width: 991.98px) {
	header .block_phone .phones:after {
		position: absolute;
		content: '';
		top: 50%;
		transform: translateY(-50%);
		right: 0;
		height: 14px;
		width: 14px;
		background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z" fill="%23fff" /></svg>') no-repeat center/cover;
		transition: 0.3s;
		z-index: 2;
	}
}
header .block_phone .phones a {
	transition: 0.3s;
}
header .block_phone .phones a:hover {
	text-decoration: underline;
}
header .block_phone .phones a:first-child {
	position: relative;
	z-index: 2;
}
header .block_phone .phones .phone2 {
	position: absolute;
	z-index: 1;
	padding: 30px 5px 5px;
	background: var(--blue);
	transition: 0.3s;
	top: -5px;
	left: -5px;
	right: -5px;
	border-radius: 5px;
}
header .block_phone .phones:not(:hover) .phone2 {
	opacity: 0;
	pointer-events: none;
}
header .block_phone .phones:hover:after {
	
}
header .block_phone .phones:hover a {
	color: var(--white);
}

.header_callback {
	color: var(--white);
	text-decoration: none;
}
.header_callback span {
	border-bottom: 1px dotted var(--white);
}
.header_callback:hover span {
	border-color: var(--yellow);
}
.header_callback:hover svg path {
	fill: var(--yellow);
}

@media (min-width: 991.98px) {
	#btn_mobile_menu {
		display: none;
	}
}


#btn_mobile_menu {
	border: 1px solid var(--dark_blue);
	border-radius: 4px;
	padding: 11px;
	background: var(--white);
}
.now_online {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	margin: 0 auto;
}
.now_online:before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #12b912;
	animation: pulse_opacity 2s infinite;
}
@keyframes pulse_opacity {
	0%  { opacity: 0;}
	50% { opacity: 1; }
	100% { opacity: 0; }
}


.no_list_style, #primary-menu, #primary-menu ul, #mobile_menu_container ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

html body .block, svg {
	display: block;
}

button#menu-toggle {
	display: none;
}
#primary-menu {
	position: relative;
}
#primary-menu > li > a {
	padding: 24px;
	font-weight: 600;
	display: block;
	transition: 0.3s all;
	color: var(--white);
	text-decoration: none;
}
#primary-menu > li:last-child > a {
	padding-right: 0;
}
#primary-menu ul li a {
	font-weight: 500;
	display: block;
	transition: 0.3s all;
	color: var(--main_color);
	text-decoration: none;
}
#primary-menu li a:hover {
	color: var(--blue);
}
#primary-menu li li a:hover {
	color: var(--dark_blue);
}
#primary-menu > li.menu-item-has-children {
	position: relative;
}
#primary-menu > li.menu-item-has-children ul {
	display: none;
	position: absolute;
	z-index: 10;
	top: 100%;
	left: 0;
	padding: 10px 0;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
	min-width: 300px;
	background: var(--light2_blue);
}
#primary-menu > li.menu-item-has-children > a {
	display: flex;
	gap: 6px;
	align-items: center;
}
#primary-menu li.menu-item-has-children > a:after {
	display: block;
	content: '';
	height: 6px;
	width: 12px;
	background: url('data:image/svg+xml,<svg width="12" height="6" viewBox="0 0 12 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00001 6L12 1.92372L12 9.53674e-07L6.00001 4.07634L-4.29138e-07 -9.53991e-08L-5.97314e-07 1.92372L6.00001 6Z" fill="%23F5FAFF"/></svg>') no-repeat center/cover;
}
#primary-menu li.menu-item-has-children:hover > ul {
	display: block;
}
#primary-menu li.menu-item-has-children ul a {
	display: block;
	padding: 8px 16px;
	position: relative;
}
#primary-menu ul li.menu-item-has-children > a:after {
	top: 8px;
	right: 8px;
	position: absolute;
	transform: rotate(-90deg);
}
#primary-menu > li.menu-item-has-children ul ul {
	top: 0;
	left: 100%;
}
li.current-menu-item > a {
	pointer-events: none;
}

@media (min-width: 991.98px) {
	body.scrolled header .logo img {
		width: 100px;
	}
	body.scrolled header .row2 {
		transform: scaleY(0);
		opacity: 0;
		pointer-events: none;
		margin-top: -7px;
	}
	body.scrolled #primary-menu {
		margin-top: -60px;
		pointer-events: none;
	}
	body.scrolled #primary-menu > li {
		pointer-events: all;
	}
	body.scrolled #primary-menu > li#menu-item-92 {
		opacity: 0;
		pointer-events: none;
	}
	
	#primary-menu > li.menu-item-has-children.full_width {
		position: static;
	}
	#primary-menu > li.menu-item-has-children.full_width > ul {
		width: 100%;
		max-width: 1200px;
		left: 50%;
		transform: translateX(-50%);
		column-width: calc((100% - 80px) / 3);
		column-count: 3;
		padding: 40px;
		gap: 40px;
	}
	#primary-menu > li.menu-item-has-children.full_width ul ul {
		display: block;
		position: static;
		box-shadow: none;
		min-width: auto;
		padding: 0;
	}
	#primary-menu > li.menu-item-has-children.full_width ul > li + li {
		padding-top: 20px;
		margin-top: 20px;
		border-top: 1px solid var(--gray);
	}
	#primary-menu > li.menu-item-has-children.full_width ul a {
		padding: 8px 0;
	}
	#primary-menu > li.menu-item-has-children.full_width ul a:after {
		display: none;
	}
	#primary-menu > li.menu-item-has-children.full_width ul ul li a {
		font-weight: 400;
		padding: 0;
	}
}



header .site-branding img {
	display: block;
}
header .site-branding a {
	text-decoration: none;
	color: var(--main_color);
	font-size: 18px;
	font-weight: 500;
}

.breadcrumbs {
	font-size: 14px;
	margin: 40px 0;
}
.breadcrumbs a {
	color: var(--main_color);
	text-decoration: none;
}

.btn_blue {
	display: inline-block;
	border: 0 none;
	background: var(--blue);
	padding: 18px 24px;
	color: #fff;
	transition: 0.3s background;
	border-radius: 80px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.btn_blue:hover {
	background: var(--dark_blue);
}
.btn_blue.hover_white:hover {
	background: var(--white);
	color: var(--main_color);
}

.btn_dark_blue {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 0 none;
	background: var(--dark_blue);
	padding: 18px 24px;
	color: #fff;
	transition: 0.3s background;
	border-radius: 80px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}
.btn_dark_blue:hover {
	background: var(--main_color);
}

.btn_trans_white_border {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 0 none;
	background: transparent;
	border: 1px solid #fff;
	padding: 17px 23px;
	color: #fff;
	transition: 0.3s background;
	border-radius: 80px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}
.btn_trans_white_border:hover {
	color: var(--dark_blue);
	background: var(--white);
}

.btn_white {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 1px solid var(--dark_blue);
	background: var(--white);
	padding: 18px 24px;
	color: var(--dark_blue);
	transition: 0.3s background;
	border-radius: 80px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}
.btn_white svg path {
	transition: 0.3s fill;
}
.btn_white:hover {
	background: var(--dark_blue);
	color: var(--white);
}
.btn_blue.flex, .btn_white.flex {
	display: flex;
	justify-content: center;
}
.btn_white:hover svg path {
	fill: var(--white);
}

.modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999998;
	display: none;
	width: 100%;
	height: 100%;
	overflow: hidden;
	outline: 0;
	background: rgba(0, 0, 0, 0.5);
	padding: 0 15px;
}

.error-404 {
	text-align: center;
}
.error-404 form.search_form {
	max-width: 480px;
	margin: 0 auto 60px;
}

.buttons_right {
	position: fixed;
	z-index: 10;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
}
.buttons_right .whatsapp img {
	width: 60px;
}
.btn_razbor div {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	color: #fff;
	background: var(--blue);
	cursor: pointer;
	text-align: center;
	font-size: 10px;
	line-height: 1.1;
	transition: 0.3s;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
	gap: 4px;
	animation: pulse 2s infinite;
}
.btn_razbor svg {
	width: 16px;
	height: 16px;
}
.btn_razbor:hover div {
	transform: scale(1.2);
	animation: none;
}
.btn_razbor:hover {
	animation: 0.5s ease rotate360;
}

@media (max-width: 1400px) {
	header form.search_form {
		width: 30vw;
	}
	header .flex {
		gap: 20px;
	}
}
@media (max-width: 1200px) {
	h1, .h1 {
		font-size: 45px;
	}
}
@media (max-width: 1130px) {
	body {
	    padding-top: 110px;
	}
	#primary-menu > li > a {
		padding: 18px 15px;
	}
}
@media (max-width: 1100px) {
	h1, .h1 {
		font-size: 40px;
	}
	header form.search_form {
		width: 25vw;
	}
	header .row1 .flex {
		gap: 15px;
	}
	header .socials svg {
		width: 24px;
		height: 24px;
	}
}

@media (max-width: 991.98px) {
	
	#wpadminbar {
		display: none;
	}
	body:has( #wpadminbar) header {
		top: 0;
	}
	html[lang] {
		margin-top: 0 !important;
	}
	body {
		padding-top: 79px;
	}
	.logo img {
		width: 150px;
	}
	.header_right {
		width: calc(100% - 150px - 20px);
	}
	body.scrolled header .socials,
	body.scrolled header .address_block,
	body.scrolled header .header_callback,
	body.scrolled header .block_phone,
	body.scrolled header .block_form,
	body.scrolled header #btn_mobile_menu {
		transform: scale(0.8);
	}
	body.scrolled header .logo img {
		width: 100px;
	}
	body.scrolled header .row1 {
		padding: 6px 0px;
	}
	h1, .h1 {
		font-size: 36px;
	}
	header .block_phone .phones {
		padding-right: 0;
	}
	header .row2 {
		display: none;
	}
	header form.search_form {
		width: calc(100vw - 480px);
	}
	.btn_dark_blue, .btn_blue, .btn_white, .btn_trans_white_border {
		padding: 14px 24px 15px;
	}
	
	.pt40 {
		padding-top: 30px;
	}
	.pb40 {
		padding-bottom: 30px;
	}
	.pt80 {
		padding-top: 60px;
	}
	.pb80 {
		padding-bottom: 60px;
	}
	h2, .h2 {
		font-size: 36px;
	}
	h3, .h3 {
		font-size: 22px;
	}
	input[type=text],
	input[type=tel],
	input[type=email] {
		padding: 10px 15px;
	}
	.field.policy.grid {
		font-size: 14px;
	}
	.field.policy.grid input[type=checkbox] {
		transform: translateY(-2px);
	}
}

@media (max-width: 767px) {

	h1, .h1 {
		font-size: 30px;
	}
	button#menu-toggle {
		display: block;
		width: 40px;
		height: 40px;
		border: 0 none;
		padding: 10px 5px;
		background: transparent;
	}
	button#menu-toggle span.line {
		display: block;
		height: 2px;
		width: 100%;
		background: var(--main_color);
		margin: 0 0 6px;
	}
	#primary-menu-container {
		position: absolute;
		display: none;
		top: 100%;
		left: 0;
		width: 100%;
		z-index: 10;
		padding: 15px;
		background: #fff;
		box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
	}
	#primary-menu {
		flex-direction: column;
	}
	
	.mobile_table_wrapper {
		overflow: auto;
	}
	.mobile_table_wrapper table.mobile_wrap {
		width: 100%;
	}
	
	/* полосы прокрутки на мобилах*/
	::-webkit-scrollbar {
		-webkit-appearance: none;
	}

	::-webkit-scrollbar:vertical {
		width: 12px;
	}

	::-webkit-scrollbar:horizontal {
		height: 12px;
	}

	::-webkit-scrollbar-thumb {
		background-color: rgba(0, 0, 0, .5);
		border-radius: 10px;
		border: 2px solid #ffffff;
	}

	::-webkit-scrollbar-track {
		border-radius: 10px;
		background-color: #ffffff;
	}
	.btn_dark_blue, .btn_blue, .btn_white, .btn_trans_white_border {
		font-size: 12px;
	}
}

@media (max-width: 650px) {
	header .row1 form,
	header .row1 .address_block {
		display: none;
	}
	
}

@media (max-width: 576px) {

	header .row1 .block_phone,
	header .row1 .socials {
		display: none;
	}
	.pt40 {
		padding-top: 20px;
	}
	.pb40 {
		padding-bottom: 20px;
	}
	.pt80 {
		padding-top: 40px;
	}
	.pb80 {
		padding-bottom: 40px;
	}
	h2, .h2 {
		font-size: 30px;
	}
	h3, .h3 {
		font-size: 20px;
	}
	input[type=text],
	input[type=tel],
	input[type=email] {
		padding: 7px 15px;
	}
	.btn_dark_blue, .btn_blue, .btn_white, .btn_trans_white_border {
		padding: 10.3px 15px;
	}
	input[type=text],
	input[type=tel],
	input[type=email],
	select,
	textarea {
		font-size: 14px;
	}
	.buttons_right {
		right: 20px;
	}
}

@media (max-width: 480px) {

	h1, .h1 {
		font-size: 24px;
	}

	.field.policy.grid {
		font-size: 12px;
	}
	.field.policy.grid input[type=checkbox] {
		transform: translateY(-4px);
	}
	.gap48 {
		gap: 24px;
	}
	.gap40 {
		gap: 20px;
	}
	.gap24 {
		gap: 12px;
	}
	.gap20 {
		gap: 10px;
	}
}
@media (max-width: 450px) {
	.header_callback svg {
		height: 24px;
		width: 24px;
	}
	.header_callback span {
		display: none;
	}
}
