/* Цветовая схема */
:root{

  /* Полоса прокрутки меню */
  --u-menu-scroll-track-color: #50566b;
  --u-menu-scroll-thumb-color:#2d3652;
  
  /* Меню */
  --u-menu-body-color: #fff;  /* ----- Фон */
  --u-menu-border-color: rgba(0, 0, 0, 0.07); /* ----- Границы */
  --u-menu-text-color: #252525; /* ----- Текст */
  --u-menu-text-second-color: #53565e; /* ----- Второстепенный текст */
  
  
  /* Група кнопок (Корзина, Сравнение, Избраное) - :active, :hover, :focus */
  --u-menu-button-color-active: #567f94;
  --u-menu-button-text-color-active: #f3f3f3;
  --u-menu-button-border-color-active: rgba(0, 0, 0, 0.1);

  
  /* Ссылки - :active, :hover, :focus */
  /*--u-menu-link-color-active: #f3f3f3;*/
  --u-menu-link-color-active: var(--medium-blue);
  /*--u-menu-link-text-color-active: #567f94;*/
  --u-menu-link-text-color-active: #ffffff;
  --u-menu-link-border-color-active: rgba(0, 0, 0, 0.1);
  --u-menu-link-icon-color-active: var(--medium-blue);


  /* Основной цвет (для кнопок)*/
  --u-menu-theme-color: var(--medium-blue);
  --u-menu-theme-text-color: #fff;

  /* Основной цвет (для кнопок) - :active, :hover, :focus */
  --u-menu-theme-color-active: #bb0d3d;
  --u-menu-theme-text-color-active: #fff;
  

  /* Подсветка пункта меню */
  --u-highlight-color: #567f94;
  --u-highlight-border-color: rgba(255, 255, 255, 0.15);
  --u-highlight-text-color: #fff;
  
  /* Подсветка пункта меню - :active, :hover, :focus */
  /*--u-highlight-color-active: #3f6a80;*/
  --u-highlight-color-active: var(--medium-blue);
  --u-highlight-border-color-active: rgba(255, 255, 255,  0.15);
  --u-highlight-text-color-active: #fff; 


   /* Цвет кнопок */
  --u-button-color: transparent;
  --u-button-border-color: rgba(255, 255, 255, 0.7);
  --u-button-text-color: rgba(255, 255, 255, 0.7);

/* Цвет кнопок - :active, :hover, :focus */
  --u-button-color-active: #bb0d3d;
  --u-button-border-color-active:  #bb0d3d;
  --u-button-text-color-active: #fff;
}


*, ::after, ::before{
	box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
}
body{
	margin: 0;
	padding: 0;
}

/* Overlay */
.u-menu-overlay{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	display: none;
	z-index: 9995;
}

/* ---------- Открытое меню ---------- */
body.u-mobile-menu-open{
	overflow: hidden;
	width: 100%;
 	min-height: 100%;
}
body.u-mobile-menu-open .u-menu-overlay{
	display: block;
}
body.u-mobile-menu-open .u-mobile-menu{
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

/* -------------------- Меню -------------------- */
.u-mobile-menu *{
	font-family: 'Montserrat', sans-serif;
}
.u-mobile-menu a, .u-mobile-menu button{
	-webkit-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
	outline: 0 !important;
}
.u-mobile-menu{
	position: fixed;
	left: 0;
	top: 50px;
	height: 100%;
	max-height: 100vh;
	/*width: 280px;*/
	width: 100%;
	z-index: 9998;
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
	-webkit-transform: translate3d(-102%, 0, 0);
	-ms-transform: translate3d(-102%, 0, 0);
	-o-transform: translate3d(-102%, 0, 0);
	transform: translate3d(-102%, 0, 0);
	-webkit-box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}
.u-mobile-menu__wrapper{
	width: 100%;
  height: 100%;
  max-height: 100vh;
  background: var(--u-menu-body-color);
  transition: -webkit-transform .4s ease;
  transition: transform .4s ease;
  transition: transform .4s ease, -webkit-transform .4s ease;
  z-index: 9998;
}
.u-mobile-menu__content{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-direction: column;
	height: calc(100vh - 45px);
	overflow: scroll;
  overflow-x: visible;
  overflow-y: auto;
  -webkit-overflow-scrolling: auto;
  padding-bottom: 65px;  
}

/* ----- Кнопка закрыть меню ----- */
.u-mobile-menu__close{
	position: absolute;
	bottom: 0;
  width: 100%;
  height: 45px;
  background: var(--u-menu-theme-color);
  border: 0;
  color: var(--u-menu-theme-text-color);
  font-size: 15px;
  font-weight: 500;	
  cursor: pointer;
}
.u-mobile-menu__close:active, 
.u-mobile-menu__close:focus,
.u-mobile-menu__close:hover{
	background: var(--medium-blue);
  color: var(--u-menu-theme-text-color-active);
}

/* ----- Логотип ----- */
.u-logo{
	position: relative;
	padding: 20px;
	display: flex;
	justify-content: center;
	border-bottom: 1px solid var(--u-menu-border-color);
}
.u-logo img{
	max-width: 100%;
  	max-height: 50px;
}
.u-logo:active img{
	opacity: .6;
}

.u-nav-lang {
	padding-left: 9px;
}

/* ----- Контакты ----- */
.u-contacts{
	padding: 11px 9px;
	border-bottom: 1px solid var(--u-menu-border-color);
	background-color: var(--light-gray);
}
.u-contacts__item{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	text-decoration: none;
	font-size: 18px;
	color: var(--u-menu-text-second-color);
	font-weight: 600;
}
.u-contacts__item i, .u-contacts__item svg{
	margin-right: 10px;
	color: var(--u-menu-theme-color);
	font-size: 12px;
	display: block;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}		
.u-contacts__item:active, 
.u-contacts__item:focus, 
.u-contacts__item:hover{
	background: var(--u-menu-link-color-active);
	color: var(--u-menu-link-text-color-active);
} 
.u-contacts__item:active i, 
.u-contacts__item:focus i,
.u-contacts__item:hover i{
	color: var(--u-menu-link-icon-color-active);
} 

/* ----- Группа кнопок - (Сравнение, Избранное, Корзина) ----- */
.u-action-buttons{
	display: block;
	border-bottom: 1px solid var(--u-menu-border-color);
}
.u-action-buttons__item{
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	border: 0;
	justify-content: center;
	align-items: center;
	height: 75px;
	width: 33.33333%;
	float: left;
	background: transparent;
	outline: 0 !important;
	border-right: 1px solid var(--u-menu-border-color);
	color: var(--u-menu-text-color);
	cursor: pointer;
}
.u-action-buttons__item img{
	max-width: 28px;
	max-height: 28px;
	opacity: .7;
}
.u-action-buttons__item span.u-counter{
	position: absolute;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	background: #e82517;
	color: #fff;
	font-weight: 600;
	font-size: 10px;
	margin-top: -12px;
	margin-left: 18px;
	border: 2px solid var(--u-menu-body-color);
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	-ms-border-radius: 100%;
	-o-border-radius: 100%;
	border-radius: 100%;
	-webkit-transition: border .3s;
	-o-transition: border .3s;
	transition: border .3s;
}
.u-action-buttons__item:active, 
.u-action-buttons__item:focus,
.u-action-buttons__item:hover{
	background: var(--u-menu-button-color-active);
	color: var(--u-menu-button-text-color-active);
	border-color: var(--u-menu-button-border-color-active);
}
.u-action-buttons__item:active span.u-counter, 
.u-action-buttons__item:focus span.u-counter,
.u-action-buttons__item:hover span.u-counter{
	border-color: var(--u-menu-button-color-active);
}

/* ----- Вход - Регестрация ----- */
.u-login-action{
	display: block;
	padding: 12px 12px 15px;
	font-size: 13px;
	color: var(--u-menu-text-color);
	border-bottom: 1px solid var(--u-menu-border-color);
	text-decoration: none;
}
.u-login-action span{
	font-weight: 500;
	border-bottom: 1px dotted var(--u-menu-text-color);
}
.u-login-action span:first-child{
	margin-right: 5px;
}
.u-login-action:active, 
.u-login-action:focus,
.u-login-action:hover{
	background: var(--u-menu-link-color-active);
	color: var(--u-menu-link-text-color-active);
	border-color: var(--u-menu-link-border-color-active);
}
.u-login-action:active span, 
.u-login-action:focus span,
.u-login-action:hover span{
	border-color: var(--u-menu-link-text-color-active);
}


/* ----- Меню списоком ----- */
.u-nav-group, .u-nav{
	list-style: none;
	margin: 0;
	padding: 0;
}
.u-nav__item{
	margin: 0;	
}
.u-nav__item-title{
	font-size: 14px;
  font-weight: 600;
  margin-top: 30px;
  padding: 12px 15px 12px;
  color: var(--u-menu-text-color);
  border-bottom: 1px solid var(--u-menu-border-color);
}

/* ----- Подсветка пункта меню другим цветом класс активации .u-highlight ----- */
.u-nav__item.u-highlight > a.u-nav__link span.u-nav__next{
	border-color: var(--u-highlight-border-color);	
}
.u-nav__item.u-highlight .u-nav__back{
	background: var(--medium-blue);
	color: var(--u-highlight-text-color);
}

/* ----- Подсветка пункта меню другим цветом - :active, focus ----- */
.u-nav__item.u-highlight > a.u-nav__link:active,
.u-nav__item.u-highlight > a.u-nav__link:focus,
.u-nav__item.u-highlight > a.u-nav__link:hover{
	background: var(--u-highlight-color-active);
	color: var(--u-highlight-text-color-active);
	border-color: var(--u-highlight-border-color-active);	
}
.u-nav__item.u-highlight > a.u-nav__link:active span.u-nav__next,
.u-nav__item.u-highlight > a.u-nav__link:focus span.u-nav__next,
.u-nav__item.u-highlight > a.u-nav__link:hover span.u-nav__next{
	border-color: var(--u-highlight-border-color-active);	
}
.u-nav__item.u-highlight .u-nav__back:active,
.u-nav__item.u-highlight .u-nav__back:focus,
.u-nav__item.u-highlight .u-nav__back:hover{
	background: var(--medium-blue);
	color: var(--u-highlight-text-color-active);
}

/*----- Пункт меню  -----*/
.u-nav__link{
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	padding: 15px 15px;
	padding-right: 55px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.3;
	text-decoration: none;
	color: var(--u-menu-text-color);
	border-bottom: 1px solid var(--u-menu-border-color);
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.u-nav__link svg{
	width: 16px;
	height: 16px;
	margin-right: 12px;
}
.u-nav__link img{
	max-width: 20px;
	margin-right: 12px;
}
.u-nav__link i{
	font-size: 16px;
	margin-right: 12px;
}
.u-nav__next{
	position: absolute;
	right: 0;
  	top: 0;  
  	width: 45px;
  	height: 100%;
  	display: -webkit-flex !important;
  	display: -moz-flex !important;
  	display: -ms-flex !important;
  	display: -o-flex !important;
  	display: flex !important;
  	justify-content: center;
  	align-items: center;
  	border-left: 1px solid var(--u-menu-border-color);
  	font-size: 15px;
  	-webkit-transition: border .3s;
  	-o-transition: border .3s;
  	transition: border .3s;
}

/*----- Пункт меню - :focus, :active -----*/
.u-nav__link:active, 
.u-nav__link:focus,
.u-nav__link:hover{
	background: var(--u-menu-link-color-active);
	color: var(--u-menu-link-text-color-active);
	border-color: var(--u-menu-link-border-color-active);
}
.u-nav__link:active span.u-nav__next, 
.u-nav__link:focus span.u-nav__next,
.u-nav__link:hover span.u-nav__next{
	border-color: var(--u-menu-link-border-color-active);
} 


/* ------------------- Подменю ------------------- */
.u-nav-wrapper{
	position: absolute;
	left: 0;
	top: 0;
	/*width: 280px;*/
	width: calc(100vw - 50px);
	height: 100%;
	background: var(--u-menu-body-color);
	z-index: 9999;
	-webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
	visibility: hidden;
  transition: visibility 0s ease .4s, -webkit-transform .4s ease;
  transition: visibility 0s ease .4s, transform .4s ease;
  transition: visibility 0s ease .4s, transform .4s ease, -webkit-transform .4s ease;
  -webkit-box-shadow: 2px 0 10px rgba(0, 0, 0, 0.15);
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.15);
 	pointer-events: none;
}
.u-nav-wrapper.active{
	visibility: visible;
  transition: -webkit-transform .4s ease;
  transition: transform .4s ease; 
  transition: transform .4s ease, -webkit-transform .4s ease;
  pointer-events: auto;
}
.u-mobile-menu__wrapper.open:after, .u-nav-wrapper.open:after{
  visibility: visible;
  opacity: 1;
  transition-delay: .05s;
}
.u-mobile-menu__wrapper:after, .u-nav-wrapper:after{
	content: '';
  position: fixed;
  z-index: 9990;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s ease .4s, opacity .4s ease;
  background: rgba(0, 0, 0, 0.3);
}

/* ----- Контейнер подменю ----- */
.u-nav-content{
	height: 100%;
  max-height: calc(100vh - 35px);
  overflow: scroll;
  overflow-x: visible;
  overflow-y: auto;
  box-sizing: border-box;
  -webkit-overflow-scrolling: auto;
	padding-bottom: 80px;
}

/* ----- Заголовок подменю -----*/
.u-nav__title{
	margin: 0;
	font-size: 20px;
	padding: 20px 15px;
	font-weight: 600;
   color: var(--u-menu-text-color);
}

/* ----- Кнопка Назад -----*/
.u-nav__back{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px;
	background: var(--u-menu-theme-color);
	color: var(--u-menu-theme-text-color);
	text-decoration: none;
	font-weight: 500;
	font-size: 18px;
	border-bottom: 0 !important;
}
.u-nav__back:active, 
.u-nav__back:focus,
.u-nav__back:hover{
	background: var(--u-menu-theme-color-active);
	color: var(--u-menu-theme-text-color-active);
}
.u-nav__back i{
	font-size: 15px;	
	margin: 0 5px 0 0;
}


@media only screen and (min-width: 991px){
	
	/* Кастомная полоса прокрутки */
	.u-mobile-menu ::-webkit-scrollbar {
	  width: 7px;
	}
	.u-mobile-menu ::-webkit-scrollbar-track {
	  background: var(--u-menu-scroll-track-color); 
	}
	.u-mobile-menu ::-webkit-scrollbar-thumb {
	  background: var(--u-menu-scroll-thumb-color); 
	}
}




.u-buttons{
	position: relative;
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 15px;
	border-bottom: 1px solid var(--u-menu-border-color);
}
.u-buttons__item{
	position: relative;
   display: -webkit-flex;
   display: flex;
   align-items: center;
   height: 100%;
   padding: 10px 15px;
   font-weight: 500;
   font-size: 14px;
   border: 1px solid var(--u-button-border-color);
   color: var(--u-button-text-color);
   -webkit-border-radius: 5px;
   -moz-border-radius: 5px;
   -ms-border-radius: 5px;
   -o-border-radius: 5px;
   border-radius: 5px;
}
.u-buttons__item:not(:last-child){
	 margin-bottom: 10px;
}
.u-buttons__item i{
	font-size: 1em;
	margin-left: 10px;
}
.u-buttons__item:hover{
	background: var(--u-button-color-active);
	border-color: var(--u-button-border-color-active);
	color: var(--u-button-text-color-active);
}

.u-mobile-menu .city-select-2-btn {
	font-size: 18px;
}