.body_active {
	overflow: hidden;
}
nav {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 99;
	box-shadow: rgba(0,0,0,.15) 0 5px 5px;
}
nav .contacts {
	font-size: 16px;
	padding: 2px 0;
	background: #fff;
	border-bottom: 1px solid #efefef;
}
nav .contacts a {
	color: #000;
}
nav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 99999;
	background: #fff;
	line-height: 24px;
}
nav ul li a,
nav ul li > span {
	display: block;
	padding: 10px;
	font-size: 16px;
	color: #000;
	border-bottom: 2px solid #fff;
	box-sizing: border-box;
}
nav ul li a *,
nav ul li > span *,
nav ul li a.logo_menu {
	border-bottom: none;
}
nav ul li span {
	cursor: default;
}
nav ul li a.hit {
	background: linear-gradient(to bottom, #ff8d36, #FF4D00);
	color: #fff;
}
nav ul li a:hover,
nav ul li span:hover,
nav ul li span:hover > a {
	background: #fff;
	text-decoration: none;
	color: #000;
	border-bottom: 2px solid #FF4D00;
}
nav ul li a:hover *,
nav ul li span:hover *,
nav ul li span:hover > a *,
nav ul li a.logo_menu {
	border-bottom: none;
}
nav ul li a:hover svg,
nav ul li span:hover svg {
	transform: rotate(180deg) translateY(2px);
}
nav ul li a:hover .m_arrow,
nav ul li span:hover .m_arrow {
	fill: #000;
}
nav ul li a.logo_menu {
	margin: 0;
	padding: 0;
	transition: .3s;
}
nav ul li a.logo_menu:hover {
	background: none;
	opacity: .8;
}

nav ul li .all_menu {
	position: fixed;
	top: 75px;
	left: 0;
	background: #fff;
	width: 100%;
	display: none;
	animation-name: show_menu;
	animation-duration: .4s;
	animation-timing-function: ease;
	z-index: -1;
	box-shadow: rgba(0,0,0,.15) 0 5px 5px;
}
@keyframes show_menu {
	0% {
		transform: translateY(-100%);
	}
	100%{
		transform: translateY(0);
	}
}

@media(max-height: 640px) {
	nav ul li .all_menu {
		overflow-y: auto;
		height: calc(100vh - 64px);
	}
}

nav ul li span:hover .all_menu {
	display: block;
	padding-top: 10px;
	padding-bottom: 20px;
}

nav ul li .all_menu ul {
	display: block;
}
nav ul li .all_menu span,
nav ul li .all_menu ul li a {
	margin: 0;
	padding: 0;
}
nav ul li .all_menu span {
	font-size: 14px;
	font-weight: 600;
	color: #000;
	padding-top: 2px;
	padding-bottom: 2px;
	cursor: default;
}
nav ul li .all_menu span:hover {
	background: none;
	color: #000;
}
nav ul li .all_menu ul li a {
	font-size: 14px;
	font-weight: 600;
	color: #000;
	padding-top: 2px;
	padding-bottom: 2px;
}
nav ul li .all_menu ul li a:hover {
	text-decoration: underline;
	background: none;
	color: #000;
}
nav ul li .all_menu ul li ul li:last-child {
	margin-bottom: 5px;
}
nav ul li .all_menu ul li ul li a {
	font-size: 14px;
	font-weight: 400;
	color: #333;
	margin-left: 20px;
	padding-top: 2px;
	padding-bottom: 2px;
}
nav ul li .all_menu ul li ul li a:hover {
	color: #555;
}
nav ul li .all_menu .feedback {
	background: #eee;
	color: #000;
	padding: 34px 50px;
	border-radius: 10px;
	margin-top: 10px;
}
nav ul li .all_menu .feedback a,
nav ul li .all_menu .feedback span {
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	color: #000;
	cursor: pointer;
}
nav ul li .all_menu .feedback a:hover,
nav ul li .all_menu .feedback span:hover {
	background: none;
	text-decoration: underline;
}
nav ul li .all_menu .desc_block {
	color: #000;
	font-size: 14px;
	text-align: justify;
}
nav .menu_icon {
	width: 50px;
}
nav .menu_callback .input_callback {
	display: none;
}
nav .menu_callback .form_callback {
	width: calc(100% - 45px);
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 14px;
	padding: 0 5px;
}
nav .menu_callback .input_callback .send_callback {
	width: 40px;
	background: #FF4D00;
	line-height: 30px;
	color: #fff;
	text-align: center;
	margin-left: 5px;
	border-radius: 5px;
	cursor: pointer;
	user-select: none;
}

.mobile_menu {
	display: none;
}

.block_mobile_menu {
	display: none;
	width: 100%;
	height: calc(100vh - 70px);
	background: #fff;
	z-index: 9;
	overflow-y: scroll;
	padding-bottom: 40px;
}
.block_mobile_menu.active {
	display: block;
}
.block_mobile_menu ul {
	display: block;
}

.block_mobile_menu ul li.tab span,
.block_mobile_menu ul li a {
	padding: 10px;
	font-size: 16px;
	color: #fff;
	background: #aaa;
	border-bottom: none;
	cursor: pointer;
}
.block_mobile_menu ul li ul {
	display: none;
}
.block_mobile_menu ul li.tab ul li.sub span {
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 30px;
	padding-right: 10px;
	font-size: 16px;
	color: #fff;
	background: #ccc;
	border-bottom: none;
	cursor: pointer;
}
.block_mobile_menu ul li.tab ul li a {
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 30px;
	padding-right: 10px;
	font-size: 16px;
	color: #000;
	background: #efefef;
	border-bottom: none;
	cursor: pointer;
}
.block_mobile_menu ul li.tab ul li ul li a {
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 50px;
	padding-right: 10px;
	font-size: 16px;
	color: #000;
	background: #fff;
	border-bottom: none;
	cursor: pointer;
}
.block_mobile_menu ul li.tab span:hover,
.block_mobile_menu ul li a:hover,
.block_mobile_menu ul li.tab ul li.sub span:hover,
.block_mobile_menu ul li.tab ul li a:hover {
	color: #fff;
	background: #FF5A00;
	border-bottom: none;
}
.block_mobile_menu ul li.tab span svg {
	transform: rotate(0deg) translateY(-2px);
}
.block_mobile_menu ul li.tab span:hover svg {
	transform: rotate(0deg) translateY(-2px);
}
.block_mobile_menu ul li.tab span:hover .m_arrow {
	fill: #fff;
}

@media(max-width: 992px) {
	.basic_menu {
		display: none;
	}
	.mobile_menu {
		display: flex;
		justify-content: space-between;
	}
}
@media(max-width: 488px) {
	.phone_spb {
		display: none;
	}
}
@media(max-width: 340px) {
	.menu_email {
		display: none;
	}
}
.schema_org,
.schema_address {
	display: none;
}

/* меню */
.mars_menu {
	width: 40px;
	height: 40px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	cursor: pointer;
}
.stick {
	width: 40px;
	height: 4px;
	border-radius: 4px;
	margin-bottom: 4px;
	background-color: #000;
	display: inline-block;
}
.stick:last-child {
	margin-bottom: 0px;
}
.stick-1.open {
	animation: stick-1-open .6s ease-out forwards;
}
.stick-2.open {
	animation: stick-2-open .6s linear forwards;
}
.stick-3.open {
	animation: stick-3-open .6s linear forwards;
}
@keyframes stick-1-open {
	0% {width: 40px;}
	40% {background-color: #FF5A00; width: 4px; transform: translate(1px, 0px);}
	75%, 80% {width: 4px; transform: translate(1px, 9px); animation-timing-function: cubic-bezier(0,1,1,1);}
	100% {background-color: #FF5A00; width: 4px; transform: translate(1px, 9px);}
}
@keyframes stick-2-open {
	80% {background-color: #000; transform: translate(0px, 0px) rotate(0deg);}
	100% {background-color: #FF5A00; transform: translate(0px, 0px) rotate(40deg);}
}
@keyframes stick-3-open {
	80% {background-color: #000; transform: translate(0px, 0px) rotate(0deg);}
	100% {background-color: #FF5A00; transform: translate(0px, -8px) rotate(-40deg);}
}
.stick-1.close {
	width: 4px;
	transform: translate(10px, 10px);
	animation: stick-1-close .6s ease-out forwards;
	opacity: 1;
}
.stick-2.close {
	transform: translate(0px, 0px) rotate(40deg);
	animation: stick-2-close .6s ease-out forwards;
	opacity: 1;
}
.stick-3.close {
	transform: translate(0px, -10px) rotate(-40deg);
	animation: stick-3-close .6s ease-out forwards;
	opacity: 1;
}
@keyframes stick-1-close {
	0%, 70% {width: 0px;}
	100% {width: 40px; transform: translate(0, 0);}
}
@keyframes stick-2-close {
	0% {background-color: #FF5A00; width: 40px;}
	20% {background-color: #FF5A00; width: 4px; transform: translate(0, 0px) rotate(40deg);}
	40% {background-color: #000; width: 0px;}
	65% {transform: translate(0, -70px); animation-timing-function: cubic-bezier(0,1,1,1);}
	80% {width: 0px;}
	100% {width: 40px; transform: translate(0, 0px);}
}
@keyframes stick-3-close {
	0% {background-color: #FF5A00; width: 40px;}
	20% {background-color: #FF5A00; width: 4px; transform: translate(0, -10px) rotate(-40deg);}
	40% {background-color: #000;}
	65% {transform: translate(0, -20px); animation-timing-function: cubic-bezier(0,1,1,1);}
	90% {width: 4px;}
	100% {width: 40px; transform: translate(0, 0px);}
}