/* Заглушка под фиксированный хедер — резервирует место при переключении на position: fixed, убирает скачок скролла */
.header-spacer {
	display: block;
	height: 0;
	width: 100%;
	flex-shrink: 0;
}

.logo-header__image {

}

.header {
    z-index: 55;
	position: sticky;
	top: 0px;
}

.header__background {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .header {
        /*min-height: 187px;*/
        padding: 8px 0 19px;
        /*position: absolute;
        top: 0;
        left: 0;*/
        width: 100%;
        z-index: 10;
        position: sticky;
        top: 0;
        left: 0;
        /* Плавное изменение высоты/отступов и фона при скролле */
        transition: padding 0.3s ease 0s, background 0.3s ease 0s, box-shadow 0.3s ease 0s;
    }
    .header._header-scroll {
        min-height: 66px;
        background: var(--headerColor);
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        padding-top: 0;
        padding-bottom: 0;
    }
}


.header__container {
    position: relative;
    z-index: 2;
	padding: 0;
}

@media only screen and (min-width: 1023.98px) {
    .header__container {
        padding: 0 20px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .header__container {
        padding: 0 20px;
        max-width: 1840px;
    }
}

@media only screen and (min-width: 1919.98px) {
    .header__container {
        padding: 0 40px;
    }
}

.header__mobile {
    width: 100%;
}



@media only screen and (min-width: 1023.98px) {
    .header__body {
        display: grid;
        grid-template-areas: "logo name center right" "menu menu menu menu";
        grid-template-columns: 250px 172px 1fr auto;
        grid-template-rows: auto auto;
        /*row-gap: 6px;*/
    }
    ._header-scroll .header__body {
        grid-template-columns: 70px 180px 1fr auto;
        grid-template-rows: auto;
        grid-template-areas: "logo center menu right";
        padding: 13px 20px;
        align-items: center;
    }
}

@media only screen and (min-width: 1365.98px) {
    .header__body {
        grid-template-columns: 305px 210px 1fr auto;		        
    }
}

@media only screen and (min-width: 1919.98px) {
    .header__body {
        grid-template-areas: "logo name center right" "logo name menu";
        grid-template-columns: 305px 240px 1fr auto;        
    }
    ._header-scroll .header__body {
        grid-template-columns: 70px 350px 1fr auto;
        grid-template-areas: "logo center menu right";
    }
}

@media only screen and (max-width: 1023.98px) {
    .header__menu-wrapper {
        transition: all 0.3s ease 0s;
        position: fixed;
        z-index: 2;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        visibility: hidden;
        pointer-events: none;
    }
    .menu-open .header__menu-wrapper {
        visibility: visible;
        pointer-events: auto;
    }
}

@media only screen and (min-width: 1023.98px) {
    .header__menu-wrapper {
        grid-area: menu;
        display: flex;
        /* justify-content: end; */
        justify-content: space-between;
		/*padding-top: 10px;*/
		margin-top: 20px;
    }
    ._header-scroll .header__menu-wrapper {
        justify-content: flex-start;
    }
}

@media only screen and (min-width: 1919.98px) {
    .header__menu-wrapper {
        justify-content: space-between;		
    }
    ._header-scroll .header__menu-wrapper {
        margin-left: 0px; 
    }
}

@media only screen and (min-width: 1023.98px) {
    .header__logo {
        grid-area: logo;
    }
    .desktop-header__logo {
        font-size: 30px;
        font-weight: 600;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
    }
    /* В компактной шапке — логотип слева, уменьшенный по высоте */
    ._header-scroll .header__logo {
        display: flex;
        align-items: center;
        grid-area: logo;
    }
    ._header-scroll .header__logo .logo-header__link {
        display: flex;
        align-items: center;
        max-height: 40px;
    }
    ._header-scroll .header__logo .logo-header__image {
        max-height: 40px;
        width: auto;
        object-fit: contain;
        object-position: left center;
    }
}

.header__name {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .header__name {
        display: block;
        grid-area: name;
    }
    ._header-scroll .header__name {
        display: none;
    }
}

@media only screen and (min-width: 1023.98px) {
    .header__center {
        grid-area: center;
    }
}

@media only screen and (min-width: 1919.98px) {
    .header__center {
        margin-top: 26px;
    }
    ._header-scroll .header__center {
        margin-top: 0;
    }
}

@media only screen and (min-width: 1023.98px) {
    .header__right {
        grid-area: right;
    }
    ._header-scroll .header__right {
        display: none;
    }
	
	._header-scroll .right-header, ._header-scroll .header__menu-wrapper {
        padding: 0;
    }
	
	/*._header-scroll .button-contacts-header {
		margin-top: 14px;
	}*/
}

@media only screen and (min-width: 1365.98px) {
    ._header-scroll .header__right {
        display: block;
    }
}

.header__call-back {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .header__call-back {
        display: block;
    }
    .header__call-back .call-back {
        margin-left: 12px;
        align-self: center;
    }
    ._header-scroll .header__call-back {
        display: none;
    }
}

.header__menu-background {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transition: visibility 0.8s ease 0s;
    visibility: hidden;
    pointer-events: none;
    background: #000;
    opacity: 0;
    transition: all 0.3s ease 0s;
}

.menu-open .header__menu-background {
    opacity: 0.15;
    visibility: visible;
    pointer-events: auto;
}

@media only screen and (min-width: 767.98px) {
    .header__contacts-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: hidden;
        padding: 20px;
        visibility: hidden;
        pointer-events: none;
    }
    .contacts-open .header__contacts-wrapper {
        z-index: 150;
        visibility: visible;
        overflow: auto;
        pointer-events: auto;
    }
}

.header__contacts-background {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .header__contacts-background {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        transition: visibility 0.8s ease 0s;
        visibility: hidden;
        pointer-events: none;
        background: #000;
        opacity: 0;
        transition: all 0.2s ease 0s;
    }
    .contacts-open .header__contacts-background {
        opacity: 0.22;
        visibility: visible;
        pointer-events: auto;
    }
}

.mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 5px 5px 8px;
    min-height: 51px;
    /*position: fixed;*/
    /*top: 0;*/
    left: 0;
    width: 100%;
    z-index: 105;
    background-color: #6f7073;
}

@media only screen and (min-width: 767.98px) {
    .mobile-header {
        padding: 5px 12px 5px 12px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .mobile-header {
        display: none;
    }
}

.mobile-header__logo {
    color: #fff;
    padding: 0 10px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.19;
    display: inline-block;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media only screen and (min-width: 767.98px) {
    .mobile-header__logo {
        font-size: 17px;
    }
}

.logo-header__link {
    display: none;
}

.logo-header__image {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .logo-header__link {
        display: block;
        padding-top: 3px;
    }
    .logo-header__image {
		width: 230px;
		height: 106px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .logo-header__image {
		width: 280px; 
		height: 130px;		
    }
}

@media only screen and (min-width: 1919.98px) {
    .logo-header__image {
        width: 280px;        
        transform: none;
    }
}

.burger {
    display: block;
    position: relative;
    z-index: 5;
}

@media only screen and (min-width: 767.98px) {
    .burger {
        display: flex;
        align-items: center;
    }
}

@media only screen and (min-width: 1023.98px) {
    .burger {
        display: none;
    }
}

.burger__button {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.burger__wrapper {
    flex: 0 0 19px;
    width: 19px;
    height: 15px;
    position: relative;
}

.burger__wrapper span,
.burger__wrapper::before,
.burger__wrapper::after {
    content: "";
    transition: all 0.2s ease 0s;
    left: 0px;
    position: absolute;
    width: 100%;
    height: 1.5px;
    border-radius: 0.75px;
    background-color: rgb(255, 255, 255);
}

.burger__wrapper::before {
    top: 0px;
}

.burger__wrapper::after {
    width: 16px;
    bottom: 0px;
}

.burger__wrapper span {
    width: 10px;
    top: calc(50% - 0.75px);
}

.menu-open .burger__wrapper span {
    transform: scale(0);
}

.menu-open .burger__wrapper::before {
    width: 19px;
    transform: rotate(-45deg);
    top: calc(50% - 0.75px);
}

.menu-open .burger__wrapper::after {
    width: 19px;
    transform: rotate(45deg);
    bottom: calc(50% - 0.75px);
}

.burger__label {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .burger__label {
        display: block;
        text-transform: uppercase;
        color: #FFFFFF;
        margin-left: 5px;
        font-size: 14px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .burger__label {
        display: none;
    }
}

.contacts-button-mobile {
    display: flex;
    align-items: center;
}

.contacts-button-mobile__label::before {
    font-size: 20px;
}

@media only screen and (min-width: 767.98px) {
    .contacts-button-mobile__label::before {
        display: none;
    }
}

.contacts-button-mobile__label span {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .contacts-button-mobile__label span {
        display: block;
    }
}

@media only screen and (min-width: 1023.98px) {
    .contacts-button-mobile__label span {
        display: none;
    }
}

.contacts-button-mobile__button::before {
    font-size: 7px;
    padding: 7px;
}

.contacts-button {
    display: flex;
    align-items: center;
    position: relative;
    transform: translateX(7px);
    cursor: pointer;
}

.contacts-button__button {
    padding: 7px;
}

.contacts-button__button::before {
    font-size: 4.2px;
}

.contacts-item__text {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .contacts-item__text {
        display: inline-block;
        font-size: 14px;
        line-height: 17px;
        text-transform: uppercase;
    }
}

@media only screen and (min-width: 1023.98px) {
    .contacts-item__text {
        display: none;
    }
}

.contacts-item__image::before {
    font-size: 20px;
}

@media only screen and (min-width: 767.98px) {
    .contacts-item__image {
        display: none;
    }
}

.info-header {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .info-header {
        display: flex;
    }
}

.info-header__logo {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .info-header__logo {
        display: block;
        flex: 0 0 160px;
    }
    .info-header__logo img {
        width: 160px;
    }
    .info-header__logo .light {
        display: block;
    }
}

.info-header__name {
    margin-bottom: 15px;
}

@media only screen and (min-width: 1023.98px) {
    .info-header__name {
        flex: 0 0 160px;
        margin-bottom: 0;
    }
}

.info-header__center {
    margin-bottom: 15px;
}

@media only screen and (min-width: 1023.98px) {
    .info-header__center {
        flex: 1 1 auto;
        margin-bottom: 0;
    }
}

.info-header__right {
    margin-bottom: 15px;
}

@media only screen and (min-width: 1023.98px) {
    .info-header__right {
        margin-bottom: 0;
        flex: 0 0 300px;
    }
}

.name-header {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .name-header {
        display: block;
        padding: 10px 14px 16px 14px;		
    }
}

@media only screen and (min-width: 1365.98px) {
    .name-header {
        position: relative;
        padding: 26px 13px 0 22px;
    }
	.name-header::before {
        content: "";
        width: 1px;
        height: 99px;
        position: absolute;
        left: 0;
        top: 22px;
        background: #BEC2C5;
        opacity: 0.5;
    }
}

@media only screen and (min-width: 1919.98px) {
    .name-header {
        padding: 26px 33px 0 28px;
    }
    .name-header::before {
        top: 22px;
		height: 110px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .name-header__title {
        font-size: 13px;
        line-height: 1.5;
        color: #6f7073;
        margin-bottom: 11px;	
    }
}

@media only screen and (min-width: 1365.98px) {
    .name-header__title {
        text-transform: uppercase;
        line-height: 1.67;
        margin-bottom: 5px;
    }
}

@media only screen and (min-width: 1919.98px) {
    .name-header__title {
        font-size: 14px;
        line-height: 1.64;
        margin-bottom: 7px;
    }
}

.name-header__download-price {
    display: flex;
    align-items: center;
    color: var(--linkColor);
}

.name-header__download-price::before {
    font-size: 10px;
    margin-right: 10px;
}

@media only screen and (min-width: 1023.98px) {
    .name-header__download-price {
        font-size: 13px;
        transition: all 0.3s ease 0s;
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .name-header__download-price:hover {
        color: #2f6e9e;
    }
}

@media only screen and (min-width: 1023.98px) {
    .name-header__download-price::before {
        font-size: 7px;
        margin-right: 6px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .name-header__download-price {
        font-size: 13px;
    }
    .name-header__download-price::before {
        font-size: 10px;
        margin-right: 7px;
    }
}

.center-header {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .center-header {
        /* padding: 0 16px; */
        padding: 10px 16px 10px 16px;
        display: flex;
        flex-wrap: wrap;
        row-gap: 10px;
    }
    ._header-scroll .center-header {
        
        flex-wrap: nowrap;
        padding: 0;
    }
}

@media only screen and (min-width: 1365.98px) {
    .center-header {
        padding: 26px 16px 10px 16px;
        flex-wrap: nowrap;
    }
}

@media only screen and (min-width: 1919.98px) {
    .center-header {
        padding: 0 41px;
    }
}

.center-header__item_schedule {
    flex: 0 0 150px;
}
.center-header__item_social-list {
    flex: 0 1 165px;
}


@media only screen and (min-width: 1023.98px) {
    ._header-scroll .center-header__item_schedule {
        display: none;
    }
}

/* в скролле время работы @media only screen and (min-width: 1919.98px) {
    ._header-scroll .center-header__item_schedule {
        display: block;
        margin-right: 24px;
    }
}*/

@media only screen and (min-width: 1919.98px) {
    .center-header__item_schedule {
        flex: 0 0 175px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .center-header__item_social-list .social-list {
        padding-left: 12px;
        padding-right: 4px;
    }
    ._header-scroll .center-header__item_social-list .social-list {
        padding: 0;
    }
    .center-header__item_social-list .social-list .social-list__item {        
		transition: all 0.3s ease 0s;
    }
    .center-header__item_social-list .social-list .social-list__item::before {
        transition: all 0.3s ease 0s;
        color: #FFF;
    }
	
    .center-header__item_social-list .social-list .social-list__item_telegram {
        background: #0088CC;
    }	
	
	.center-header__item_social-list .social-list .social-list__item_viber {
        background: #8F5DB7;
    }
	
	.center-header__item_social-list .social-list .social-list__item_whatsapp {
        background: #25D366;
    }
	
	.center-header__item_social-list .social-list .social-list__item_vk {
        background: #6695bd;
    }
	
	.center-header__item_social-list .social-list .social-list__item_instagram {
        background: #c42869;
    }	
	
	.center-header__item_social-list .social-list .social-list__item_youtube {
        background: #dd3333;
    }	

    .center-header__item_social-list .social-list .social-list__item_email {
        background: #7F9D87;
    }
	
	
	
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .social-list .social-list__item_telegram:hover {
        background: #057ab5;
    }

    .social-list .social-list__item_viber:hover {
        background: #794a9e;
    }

    .social-list .social-list__item_whatsapp:hover {
        background: #1dba58;
    }

	.social-list .social-list__item_vk {
        background: #5882a6;
    }
	
	.social-list .social-list__item_instagram {
        background: #aa235b;
    }	
	
	.social-list .social-list__item_youtube {
        background: #c82f2f;
    }	
	
    .social-list .social-list__item_email:hover {
        background: #6f8a77;
    }	
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .center-header__item_social-list .social-list .social-list__item:hover {
        opacity: 1;
    }
    .center-header__item_social-list .social-list .social-list__item:hover::before {
        color: #fff;
    }
}
@media only screen and (min-width: 1149.98px) {
    .center-header__item_social-list {
        flex: 0 1 220px
    }
    .center-header__item_social-list .social-list {
        padding-left: 14px;
        padding-right: 14px;
    }
}
@media only screen and (min-width: 1365.98px) {
    .center-header__item_social-list {
         flex: 0 1 420px;
		/*flex: 0 1 100%;*/
    }
    .center-header__item_social-list .social-list {
        padding-left: 23px;
        padding-right: 29px;
        justify-content: start;
    }
}


.center-header__item_location {
    flex: 1 1 auto;
}

.center-header__item_location .center-header__item-body p {
    max-width: 295px;
}

@media only screen and (min-width: 1023.98px) {
    ._header-scroll .center-header__item_location {
        display: none;
    }
}

@media only screen and (min-width: 1023.98px) {
    .center-header__item_location {
        flex: 1 1 auto;
    }
}

@media only screen and (min-width: 1365.98px) {
    .center-header__item_location {
        /* MTP flex: 0 1 240px;*/
		flex: 0 1 100%;
    }
}

.center-header__item-body {
    display: flex;
}

.center-header__item-body::before {
    padding-top: 10px;
    margin-right: 10px;
    font-size: 21px;
    color: #BEC2C5;
}

.center-header__item-body p {
    font-size: 18px;
    line-height: 1.38;
    color: #6f7073;
}

@media only screen and (min-width: 1023.98px) {
    .center-header__item-body::before {
        margin-right: 14px;
        font-size: 21px;
        color: #BEC2C5;
    }
    .center-header__item-body p {
        font-size: 13px;
        line-height: 1.38;
        color: #6f7073;
    }
}

@media only screen and (min-width: 1919.98px) {
    .center-header__item-body {
        padding-right: 2px;
    }
    .center-header__item-body p {
        font-size: 14px;
        line-height: 1.29;
    }
}

.right-header {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .right-header {
        display: flex;
		padding-top: 12px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .right-header {        
        margin-left: 13px;
		padding-top: 26px;
    }
    ._header-scroll .right-header {
        margin-top: 0;
        transform: translate(26px, 0);
    }
}

@media only screen and (min-width: 1919.98px) {
    .right-header {
        margin-top: 0px;
    }
}

.right-header__contacts {
    margin-bottom: 20px;
}

@media only screen and (min-width: 1023.98px) {
    .right-header__contacts {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 1023.98px) {
    .right-header__language {
        margin-left: 4px;
    }
    ._header-scroll .right-header__language {
        display: none;
    }
}

@media only screen and (min-width: 1919.98px) {
    .right-header__language {
        margin-left: 20px;
    }
}

.contacts-header {
    position: relative;
}

@media only screen and (min-width: 1023.98px) {
    .contacts-header {
        display: flex;
    }
	
	.contacts-block__phones {
		display: flex;		
		align-items: center;
	}
	
	.contacts-header__button {
		margin-left: 10px;
	}
}

@media only screen and (min-width: 1023.98px) {
    ._header-scroll .contacts-header__contacts-block .contacts-block__email {
        display: none;
    }
}

.contacts-header__contacts-block .contacts-block__text {
    color: #6f7073;
	text-align: right;
}

.contacts-header__contacts-block .contacts-block__call {
    color: #6f7073;
    cursor: pointer;
	line-height: 1.15;
}

.contacts-header__contacts-block .contacts-block__email {
    transition: all 0.3s ease 0s;
    color: var(--linkColor);
	margin-bottom: 20px;
}

@media (any-hover: hover) {
    .contacts-header__contacts-block .contacts-block__email:hover {
        color: #2f6e9e;
    }
}

.button-contacts-header {
    padding: 10px 3px;
}

.button-contacts-header::before {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .button-contacts-header {
        /*margin-top: 14px;*/
        padding: 0;
        cursor: pointer;
    }
    .button-contacts-header::before {
        display: block;
        font-size: 21px;
        /*padding: 8px 10px 10px 6px;*/
        color: #8C9399;
        transition: color 0.3s ease 0s;
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .button-contacts-header:hover::before {
        color: var(--mainColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .contacts-open .button-contacts-header::before {
        color: var(--mainColor);
    }
}

.button-contacts-header__mobile {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    position: relative;
    color: #fff;
    gap: 4px;
}

.button-contacts-header__mobile::before {
    font-size: 5px;
    padding: 4px;
    transition: transform 0.3s ease 0s;
}

.contacts-open .button-contacts-header__mobile::before {
    transform: rotate(180deg);
}

@media only screen and (min-width: 1023.98px) {
    .button-contacts-header__mobile {
        display: none;
    }
}

.button-contacts-header__label::before {
    font-size: 20px;
}

.button-contacts-header__label span {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .button-contacts-header__label::before {
        display: none;
    }
    .button-contacts-header__label span {
        display: block;
        text-transform: uppercase;
        font-size: 14px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .button-contacts-header__label span {
        display: none;
    }
}

.language-header a {
    color: #6f7073;
}

.language-header {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 20px;
}

.lang-item {
    font-weight: 500;
    font-size: 13px;
    line-height: 1.6;
    color: #6f7073;
    position: relative;
    transition: all 0.2s linear;
    cursor: pointer;
    list-style: none;
}

@media only screen and (min-width: 1919.98px) {
    .lang-item {
        font-size: 14px;
    }
}

.lang-item:not(:last-child) {
    margin-right: 14px;
}

.current-lang {
    pointer-events: none;
}

.current-lang::after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    height: 2px;
    bottom: 0;
    background: var(--mainColor);
    width: 100%;
    transition: all 0.2s linear;
}

@media (any-hover: hover) {
    .lang-item:hover {
        opacity: 0.5;
    }
}

.contacts {
    display: flex;
    flex-direction: column;
}

@media only screen and (max-width: 767.98px) {
    .contacts {
        position: fixed;
        top: 0px;
        left: 0;
        bottom: 0;
        width: 100%;
        background: #FFF;
        z-index: 3;
        padding: 20px 30px;
        transform: translate(-100%);
        transition: transform 0.3s ease 0s;
        overflow: auto;
		margin-top: 50px;
    }

	.admin-bar .contacts { 
		margin-top: 97px;
	}	
	
    .contacts-open .contacts {
        transform: translate(0);
    }	
}

@media only screen and (min-width: 767.98px) {
    .contacts {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        background: #FFF;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 28px 47px;
        width: 360px;
        display: flex;
        flex-direction: column;
        visibility: hidden;
        pointer-events: none;
        opacity: 0;
    }
    .contacts-open .contacts {
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
    }
}

@media only screen and (min-width: 1023.98px) {
    .contacts {
        transform: translate(0px, 15px);
    }
    .contacts-open .contacts {
        transform: translate(0, -5px);
    }
}



.search-menu {
    padding: 10px 25px;
}

@media only screen and (min-width: 1023.98px) {
    .search-menu._active .form-search {
        width: 100%;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        overflow: auto;
    }
}

.search-menu__icon {
    font-size: 20px;
    color: #BEC2C5;
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .search-menu__icon {
        display: inline-block;
    }
}

@media only screen and (min-width: 1365.98px) {
    .search-menu__icon {
        font-size: 18px;
    }
}

.form-search {
    position: relative;
    background-color: #fff;
    height: 30px;
}

@media only screen and (min-width: 1023.98px) {
    .form-search {
        height: auto;
        position: absolute;
        z-index: 10;
        top: 50%;
        right: 0;
        width: 0;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        overflow: hidden;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-50%);
    }
    .popup-open .form-search {
        z-index: 160;
    }
}

.form-search__input {
    width: 100%;
    height: 100%;
    padding: 0 13px 0 44px;
    outline: 0;
    font-size: 15px;
    display: inline-block;
    border-radius: 8px;
    color: var(--textColor);
}

.form-search__input::placeholder {
    color: #949597;
}

@media only screen and (min-width: 1023.98px) {
    .form-search__input {
        padding: 0 45px 0 22px;
        height: 52px;
        font-size: 16px;
    }
    .form-search__input::placeholder {
        color: #828282;
    }
}

.form-search__button {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    height: 100%;
    width: 34px;
    font-size: 20px;
    color: #BEC2C5;
}

.form-search__button::before {
    font-size: 20px;
}

@media only screen and (min-width: 1023.98px) {
    .form-search__button {
        right: 16px;
        left: auto;
        width: 22px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .form-search__button {
        right: 18px;
    }
}


/* Меню */

.menu {
    display: flex;
    position: fixed;
    z-index: 2;
    flex-direction: column;
}


/* .menu__search-wrapper {margin-top: 20px;} */

@media only screen and (max-width: 1023.98px) {
    .menu {
        left: 0;
        top: 0;
        padding: 20px 0 10px;
        width: 282px;
        height: 90%;
        background: #fff;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        transform: translateX(-100%);
        transition: transform 0.3s ease 0s;
        overflow-y: auto;
        overflow-x: hidden;
		margin-top: 50px;
    }	

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

@media only screen and (min-width: 1023.98px) {
    .menu {
        position: relative;
        box-shadow: none;
        background: transparent;
        flex-direction: row;
        width: 100%;
        /* align-items: normal; */
        align-items: center;
        justify-content: center;
    }
    /* .menu__search-wrapper {margin-top: 5px;} */
}

/* @media only screen and (min-width: 1289.98px) {
    .menu {
        left: 50%;
        transform: translateX(-50%);
    }
} */

@media only screen and (min-width: 1599.98px) {
    .menu {
        justify-content: center;
        /* left: auto;
        transform: none; */
    }
}
.menu__body {
    position: relative;
    display: flex;
    align-items: flex-start;
    /* flex: 1 1 auto; */
    overflow: auto;
}

@media only screen and (min-width: 1023.98px) {
    .menu__wrapper {
        display: flex;
        position: relative;
        align-items: center;
    }
    .menu__body {
        overflow: visible;
        align-items: center;
        justify-content: end;
    }
}

@media only screen and (min-width: 1599.98px) {
    .menu__wrapper {  
		margin-left: 0;	
    }
    ._header-scroll .menu__wrapper {
        margin-left: 0;
    }
}

.menu__list {
    padding: 0px 13px 8px 30px;
    width: 100%;
    position: relative;
    transform: translate(0);
}

@media only screen and (min-width: 1023.98px) {
    .menu__list {
        padding: 0;
        width: auto;
        display: inline-flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .menu__list>.menu-item {
        padding: 0 5px;
        position: relative;
    }
    .menu__list>.menu-item:not(:last-child) {
        margin-bottom: 0;
        margin-right: 12px;
    }
    .menu__list>.menu-item::after {
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        height: 2px;
        bottom: -2px;
        background: var(--mainColor);
        width: 0;
        transition: all 0.2s linear;
    }
	
	/*.menu__list>.current_page_item::after, .current-menu-parent::after */
	.menu__list>.current_page_item::after, .menu__list>.current-menu-parent::after, .menu__list>.current-menu-ancestor::after, .menu__list>.current-menu-item::after {
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        height: 2px;
        bottom: -2px;
        background: var(--mainColor);
        width: 100% !important;
        transition: all 0.2s linear;
    }
	
	
    .menu__list>.menu-item>a {
        font-weight: 500;
        font-size: 14px;
        line-height: 35px;
        color: #5c5d60;
        text-transform: uppercase;
        display: inline-block;
        padding: 0;
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .menu__list>.menu-item:hover::after {
        width: 100%;
    }
    .menu__list>.menu-item:hover>a {
        color: inherit;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__list>.menu-item._hover::after {
        width: 100%;
    }
    /* MTP .menu__list>.menu-item._active::after {
        width: 100%;
    }*/
    .menu__list>.menu-item._hover>a {
        color: inherit;
    }
    .menu__list>.menu-item._hover>.menu__button-sub-open {
        color: var(--mainColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__list>.menu-item>.menu__button-sub-open {
        display: none;
    }
    .touch .menu__list>.menu-item>.menu__button-sub-open {
        display: block;
    }
    .touch .menu__list>.menu-item>.menu__button-sub-open::before {
        transform: rotate(90deg);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__list>.menu-item>.sub-menu {
        width: 280px;
        transform: translate(-8px, 21px);
        transition: all 0.3s ease 0s;
        left: 0;
    }
    .menu__list>.menu-item>.sub-menu:before {
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        height: 10px;
        bottom: 100%;
    }
    .menu__list>.menu-item>.sub-menu._open {
        visibility: visible;
        opacity: 1;
        transform: translate(-8px, 11px);
        pointer-events: auto;
    }
}

@media only screen and (min-width: 1365.98px) {
    .menu__list>.menu-item>a {
        font-size: 15px;
    }
    .menu__list>.menu-item:not(:last-child) {
        margin-right: 16px;
    }
}

@media only screen and (min-width: 1919.98px) {
    .menu__list>.menu-item>a {
        font-size: 15px;
        line-height: 37px;
    }
    .menu__list>.menu-item:not(:last-child) {
        margin-right: 29px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__more {
        position: relative;
    }
    .menu__more>.menu__list {
        display: block;
        position: absolute;
        pointer-events: auto;
        left: auto;
        right: 0;
        top: 100%;
        transform: translate(0, 0);
        background: #fff;
        z-index: 5;
        width: 260px;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 20px 0;
        transition: all 0.2s ease 0s;
        visibility: hidden;
        opacity: 0;
    }
    .menu-more .menu__more>.menu__list {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    .menu__more>.menu__list>.menu-item {
        padding: 0 23px 0 35px;
        margin-right: 0;
        display: flex;
    }
    .menu__more>.menu__list>.menu-item::after {
        display: none;
    }
    .menu__more>.menu__list>.menu-item._hover>a {
        color: var(--mainColor);
    }
    .menu__more>.menu__list>.menu-item._active>a {
        color: var(--mainColor);
    }
    .menu__more>.menu__list>.menu-item._hover>.menu__button-sub-open {
        color: var(--mainColor);
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .menu__more>.menu__list>.menu-item:hover>a {
        color: var(--mainColor);
    }
    .menu__more>.menu__list>.menu-item:hover>.sub-menu {
        transform: translate(2px, -52px);
    }
    .menu__more>.menu__list>.menu-item:hover>.menu__button-sub-open {
        color: var(--mainColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__more>.menu__list>.menu-item>.sub-menu {
        width: 300px;
        left: auto;
        right: 100%;
        transform: translate(2px, -52px);
    }
    .menu__more>.menu__list>.menu-item>.menu__button-sub-open {
        display: block;
    }
    .touch .menu__more>.menu__list>.menu-item>.menu__button-sub-open::before {
        transform: rotate(0deg);
    }
}

.menu__more-btn {
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
}

.menu-more .menu__more-btn::before {
    color: var(--mainColor);
}

.menu-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media only screen and (min-width: 1023.98px) {
    .menu-item {
        position: relative;
    }
    .menu-item:not(:last-child) {
        margin-bottom: 16px;
    }
	
	.sub-menu .sub-menu .menu-item:not(:last-child) {
        margin-bottom: 8px;
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .menu-item:hover {
        transition: all 0.2s ease 0s;
    }
    .menu-item:hover>a {
        color: var(--linkColor);
    }
    .menu-item:hover>.menu__button-sub-open {
        color: var(--linkColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu-item._hover>a {
        color: var(--linkColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu-item._hover>.menu__button-sub-open {
        color: var(--linkColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu-item>.sub-menu .sub-menu._left {
        left: auto;
        right: 100%;
        transform: translate(2px, -52px);
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .menu-item:hover>.sub-menu {
        transform: translate(-2px, -52px);
    }
    .menu__list>.menu-item:hover::after {
        width: 100%;
    }
    .menu__list>.menu-item:hover>.sub-menu {
        transform: translate(-8px, 11px);
        transition: all 0.3s ease 0s;
    }
    .menu-item:hovera:after {
        width: 100%;
    }
    .menu-item:hover>.sub-menu {
        visibility: visible;
        opacity: 1;
        transform: translate(-2px, -52px);
        pointer-events: auto;
    }
}

.menu__button-sub-open {
    padding: 16px 19px;
}

.menu__button-sub-open::before {
    color: var(--textColor);
    font-size: 10px;
}

@media only screen and (min-width: 1023.98px) {
    .menu__button-sub-open {
        padding: 9px 6px 9px 13px;
        transition: all 0.3s ease 0s;
    }
    .menu__button-sub-open::before {
        color: inherit;
    }
}

.menu__back {
    display: none;
}

@media only screen and (max-width: 1023.98px) {
    .menu__back {
        display: flex;
        gap: 10px;
        align-items: center;
    }
    .menu__back::before {
        transform: rotate(180deg);
        font-size: 0.625rem;
    }
}

.menu-item>a {
    font-size: 18px;
    padding: 10px 0px;
    line-height: 2.5;
    font-size: 16px;
    line-height: 1.31;
    color: var(--textColor);
}

@media only screen and (min-width: 1023.98px) {
    .menu-item>a {
        transition: all 0.3s ease 0s;
        line-height: 1.5;
        font-size: 17px;
        line-height: 22px;
        color: inherit;
        padding: 5px 0;
        color: var(--textColor);
        position: relative;
    }
}

.sub-menu {
    background: #fff;
    transition: all 0.2s ease 0s;
    opacity: 0;
    visibility: hidden;
    padding: 0px 13px 5px 30px;
    position: absolute;
    left: 0;
    top: 0;
}

@media only screen and (max-width: 1023.98px) {
    .sub-menu {
        right: 0;
        height: 100%;
        overflow: auto;
        transform: translateX(-100%);
    }
    .sub-menu._open {
        z-index: 5;
        transform: translateX(0);
        visibility: visible;
        opacity: 1;
    }
}

@media only screen and (min-width: 1023.98px) {
    .sub-menu {
        left: 100%;
        top: 100%;
        transform: translate(8px, -52px);
        z-index: 5;
        width: 280px;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 28px 0;		
    }
    .sub-menu._open {
        visibility: visible;
        opacity: 1;
        transform: translate(-2px, -52px);
    }
    .sub-menu._left {
        left: auto;
        right: 100%;
        transform: translate(2px, -52px);
    }

    /* .sub-menu>.menu-item {
        padding: 0 23px 0 35px;
    } */
     

    .sub-menubody > .menu-item {
        padding: 0 23px 0 35px;
    }

    ul#main-menu > li.menu-item-has-children > .sub-menu .sub-menubody > li.menu-item-has-children > .sub-menu .sub-menubody {
        max-height: calc(57vh - 100px);
        overflow-x: hidden;
        overflow-y: scroll; 
    }


    ul#main-menu > li.menu-item-has-children > .sub-menu .sub-menubody > li.menu-item-has-children > .sub-menu .sub-menubody::-webkit-scrollbar {
        width: 8px;
    }

    ul#main-menu > li.menu-item-has-children > .sub-menu .sub-menubody > li.menu-item-has-children > .sub-menu .sub-menubody {
        scrollbar-width: thin;
        scrollbar-color:  transparent;
    }



}

.sub-menu-back {
    padding: 8px 0;
    font-size: 16px;
    position: relative;
    color: var(--textColor);
    display: flex;
    align-items: center;
    gap: 10px;
}

.sub-menu-back::before {
    transform: rotate(180deg);
    font-size: 10px;
}

@media only screen and (min-width: 1023.98px) {
    .sub-menu-back {
        display: none;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__search-background {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        transition: visibility 0.8s ease 0s;
        visibility: hidden;
        pointer-events: none;
        background: #000;
        opacity: 0;
        transition: all 0.2s ease 0s;
    }
    .search-open .menu__search-background {
        opacity: 0.32;
        visibility: visible;
        pointer-events: auto;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__search {
        display: flex;
        padding: 5px 17px;
    }
}

@media only screen and (min-width: 1365.98px) {
	
    .sub-menu {
		width: 480px;
	}
	
	.menu__list > .menu-item > .sub-menu {
		width: 360px;
	}
	
    .menu__search {
        margin-left: 10px;
        padding: 5px 20px;
    }
}

.admin-bar .menu { 
	margin-top: 97px;
}

@media only screen and (min-width: 783px) {
.admin-bar .menu { 
	margin-top: 84px;
}	
}

@media only screen and (min-width: 1023.98px) {
.admin-bar .menu { 
	margin-top: 0px;
}	
}


