/* ============================================================
   ОБЩИЕ СТИЛИ
   ============================================================ */
h2 {
  font-size: 1.866em;
  line-height: 28px;
  margin: 20px 0 13px;
}

h4 {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  
  margin:0 0 8px 0 !important;
}

p {
  margin: 0px 0px 10px;
  color: #333;
  font-size: 15px;
}

.right_block ul, 
.right_block ol {
  margin: 0 0 10px 10px;
  color: #333;
  font-size: 15px;
}
.svg{
  min-width: initial !important;
  min-height: initial !important;
  top: initial;
}

.svg.inline.big {
  min-width: initial !important;
  min-height: initial;
  width: initial !important;
  height: initial;
  top: initial;
}  

hr{
    margin: 15px 0px;
}

.breadcrumbs{
   margin: 0px;
  padding: 0px; 
}
.wraps > .wrapper_inner {
    padding-bottom: 50px;
    z-index: 0;
    display: flex;
    flex-direction: row-reverse;
    padding-top: 0 !important;
    gap: 10px;
}

.flex-default {
    display: flex;
    align-items: center;
    gap: 20px;
}

.top-block > .maxwidth-theme {
    padding: initial;
}

.region_wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
}
.btn.white.grey,
.btn.btn-default.white,
.btn.btn-default{
    border-radius: 5px;
    width: 100%;
}

a.scroll-to-top{
    bottom: 50px !important;
}
.wrapper_inner {
    background: none;
    margin-bottom: 0px;
}

.basket_normal .popup{
    margin-inline: auto;
    background: #ffffff;
    left: 0;
    width: initial;
}
.maxwidth-theme:before {
    display: none;
}

.container,
.maxwidth-theme {
  width: 100% !important;
  position: relative;
  background: #fff;
  
  border-radius: 10px;
}

.middle > .container{
  padding: 10px !important;  
}

.header .container,
.header .maxwidth-theme {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    width: 100% !important;
}



.top_inner_block_wrapper.maxwidth-theme,
.page-top.maxwidth-theme {
    background: none !important;
    padding: 0;
} 

/* ============================================================
   ПОПАП
   ============================================================ */
#popup_iframe_wrapper .popup.show {
    border-radius: 10px;
    overflow: hidden;
}

/* ============================================================
   ЛЕВЫЙ БЛОК
   ============================================================ */
body{
    background-color: #f1f2f4;
}

.left_block .container{
    padding: 0 !important;
}

.left_block {
  height: auto;
  padding: 10px;
  flex: 1 0 250px;
  background: #fff;
  margin-top: 11px;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 2px rgba(0,0,0,.08);
}
.left_block h4{
  font-size: 17px;
  font-weight: 700;
  line-height: 24px;
  margin: initial;  
  margin-bottom: 8px;
}
.logo.colored {
    margin-bottom: 0;
    flex: 0 0 170px;
}

.logo.colored a img {
  background-color: transparent;
}
.logo a img {
    object-fit: contain;
    width: 100%;
    height: auto;
}

.logo .logo-slogan {
    color: #2b729f;
    line-height: 14px;
    font-size: 12px;
    text-align: justify;
}

.logo .logo-slogan img {
    max-width: 100%;
    height: auto;
}

.news_blocks {
    border: 1px solid #f2f2f2;
    border-radius: 10px;
    margin: 0px 0px 30px;
    padding: 13px 0px 0px;
    background-color: #f7f7f7;
}

/* ============================================================
   ПРАВЫЙ БЛОК
   ============================================================ */
.right_block .middle {
   flex: 1 1 100%;
   border-radius: 10px;
}

body .wrapper_inner,
.front_page .wraps > .wrapper_inner {
    padding: initial;
  padding-inline: 20px;
}

@media (min-width: 1200px) {
    .right_block{
        width: calc(100% - 250px) !important;
        flex: 0 0 calc(100% - 250px);
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 13px
    }
}

/* ============================================================
   ШАПКА САЙТА
   ============================================================ */
.header-top{
    margin-bottom: 10px;
}
.header-top__inner {
   /*display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: start;*/
}

.header-top__inner [id*="bx_incl_area"]{
    width: 100%;
}

.header-nav h2,
.header-nav h3,
.header-nav a{
    color: #ffffff !important;
}

.header-nav h3{
    margin: 20px 0;
}

.header-nav i{
    color: #2b729f !important;
}

.header-user {
  
}

.header-user__cabinet{
  display: flex;
  flex-direction: column;
}

.personal-link{
  display: flex;
  align-items: center;
}

.personal-link .name{
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: #667085;
  background-color: rgba(3,2,4,.04);
  padding: 5px 8px;
  border-radius: 5px;
}

.header-main .container,
.header-top .container{
  padding: 0 !important;
}
.header-top .container{
   background: none; 
}
.header-main__inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 20px;
  padding: 10px;
  background-color: #fff;
  border-radius: 10px;
}

.header-left-col {
    flex: 1 1 fit-content;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ----- Контакты ----- */
.with_dropdown{
    padding: initial !important;
}
.with_dropdown::after{
    display: none;
}

.with_dropdown .dropdown {
    left: 0;
    min-width: 175px;
    opacity: 1;
    position: relative;
    top: initial;
    transition: all .1s ease-in-out;
    visibility: visible;
    z-index: 20;
}

.with_dropdown .dropdown > .wrap {
    background: initial;
  box-shadow: initial;
  overflow: visible;
  border: initial;
  display: grid;
  grid-template-columns: repeat(2, minmax(auto, 1fr));
  grid-template-rows: auto;
  grid-gap: 10px;
}

.header-contact{
    display: flex;
    gap: 20px;
    justify-content: space-between;
}
.phone--with-description i {
    display: none;
}

.phone.with_dropdown.phone--with-description:after {
    display: none;
}

.phone.with_dropdown.phone--with-description > .phone-block__item-link {
    display: none;
}

.phone.with_dropdown.phone--with-description .phone-block__item-text {
    display: flex;
  align-items: start;
  gap: 1px;
  text-transform: inherit;
  order: 2;
  color: #333;
  text-wrap: nowrap;
  flex-direction: column;
  line-height: 11px;
    font-size: 13px;
}

.with_dropdown .dropdown > .wrap .phone-block__item {
    display: flex;
    align-items: center;
}

.phone-block__item-inner.phone-block__item-link {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: flex-start;
}

.phone-block__item-inner.phone-block__item-link:hover{
    background: initial;
}

.phone-block__item-description {
    padding: initial;
    overflow: visible;
}

.phone-block__item-link.no-decript{
    line-height: initial;
}

.phone-block__item-icon {
    order: 1;
    align-self: start;
}

.phone-block__item-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.header-contacts {
    display: grid;
    gap: 4px 20px;
    font-size: 14px;
    color: #333333;
    grid-template-columns: repeat(2, minmax(100px, 1fr));
}

.header-contacts__block {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.header-contacts__city {
    font-size: 12px;
    opacity: 0.6;
}

.header-contacts a {
    color: #333333;
    text-decoration: none;
}

.header-contacts a:hover {
    text-decoration: underline;
}
.header-contact_mass{
    flex: 0 1 fit-content;
}
.header-contact_mass .social-icons ul{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    margin: initial;
}

.header-contact_mass .social-icons ul li:before{
    display: none;
}
.header-contact_mass .social-icons ul li a{
    margin: initial;
}

/* ----- Поиск ----- */
.header-search {
    width: 100%;
}

.header-search > div {
    margin: initial;
}

.header-search .search-block_header {
    width: 100%;
}

.bx-searchtitle .bx-input-group .bx-form-control{
    border-radius: 5px;
    border-color: #2b729f;
}

.bx-searchtitle .bx-input-group-btn button{
    border-radius: 3px;
}

/* ----- Правый блок в шапке ----- */
.header-right-col{
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  gap: 5px;
  max-width: 290px;
}

/* ----- Корзина ----- */
.header-cart,
.notice__inner{
    display: flex;
    flex-direction: column;
    background-color: #ECECEC;
    padding: 10px;
    border-radius: 5px;
    gap: 5px;
    position: relative;
    border: 1px solid rgba(0,0,0,0.1);
  box-shadow: 4px 4px 0px rgba(0,0,0,0.1);
}

.notice__inner{
   overflow: hidden;
}

.header-cart:before{
  position: absolute;
  bottom: 32px;
  right: 5px;
  font-family: "Font Awesome 6 Pro";
  font-size: 76px;
  color: rgba(0,0,0,0.1);
}

.header-cart .basket_wrapper {
    height: auto;
    display: flex;
    align-items: center;
    position: relative;
}

.header-cart .basket_wrapper .big-isk .js-basket-block {
    display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
}

.header-cart .basket_wrapper .big-isk .js-basket-block i svg{
    width: 20px;
    height: 20px;
    display: none;
}

.header-cart .basket_wrapper .big-isk.with_price-isk .js-basket-block .title > .count{
    display: none;
}

.basket-link {
    position: relative;
    width: 100%;
}

.basket-link .count {
  font-size: initial;
  border-radius: 5px;
  text-align: initial;
  background: #000;
  color: #fff;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto 0;
}

.basket_hover_block {
    z-index: 20;
}

.basket-prices-out {
    display: block !important;
    font-size: 12px;
    opacity: 0.8;
    padding-top: 4px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 4px;
    color: #333;
}

.basket_hover_block .tabs_content .remove-cell a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  border: 1px solid #107bb1;
  padding: 10px;
  transition: 0.2s ease;
}

.basket_hover_block .tabs_content .remove-cell a:hover:before{
   color: #ffffff;  
   transition: 0.2s ease;
}

.basket_hover_block .tabs_content .remove-cell a:before{
    content: "\f00d";
    font-family: "Font Awesome 6 Pro";
    font-size: 15px;
    color: #107bb1;
    transition: 0.2s ease;
}
.basket_hover_block .tabs_content .remove-cell a i{
    display: none;
}

.basket_hover_block .cart-empty{
    display: flex !important;
    padding: 20px;
    gap: 10px
}

.cart-empty .cart-empty__info{
     padding: initial;
}

.basket_hover_block .cart-empty .cart-empty__info .title{
    margin: initial;
    text-align: left;
}

.basket_hover_block .cart-empty .cart-empty__info p {
  max-width: 300px;
  text-align: left;
}

.cart-empty .cart-empty__picture .img{
    display: none;
}
.cart-empty .cart-empty__picture::before{
    content: "\e3f4";
    font-family: "Font Awesome 6 Pro";
    font-size: 20px;
    background: none;
    width: initial;
    height: initial;
    margin-top: 3px;
}

.basket_hover_block .tabs_content .item {
    padding: 18px 33px 23px 0px;
}

.basket_hover_block .tabs_content .foot {
  padding: 10px 10px 10px 0px;}
  
.basket_hover_block .tabs_content .buttons{
  padding: 10px 10px 10px 0px;  
  justify-content: start;
  column-gap: 10px;
}

.basket_hover_block .tabs_content .buttons:after{
    display: none;
}
.cart-empty .cart-empty__info {
   text-align: left;
}

.button-calculate{
  display: flex;
  line-height: 12px;
  text-align: center;
  padding: 0 10px;
  gap: 10px;
  color: #ffffff;
  background: #8c74d0;
  border-radius: 5px;
  border: 1px solid #8c74b9;
  height: 36px;
  align-items: center;
  transition: .3s ease;
}
.button-calculate:hover{
  color: #ff6b6b;
  background: #ffffff;
  transition: .3s ease;
}
.button-calculate i{
   font-size: 20px;
  align-self: center;
}

/* ----- Режимы работы ----- */
.header-modes {
   
}

.header-modes > ul {
    display: flex;
    gap: 10px;
    list-style: none ;
    margin: 0 ;
    padding: 0 ;
}

.basket_hover_block {
  top: 42px;
  right: -11px;
  opacity: 0;
  visibility: hidden;
  border-radius: 10px;
  overflow: hidden;
  background-color: #ECECEC;
  border: 1px solid rgba(0,0,0,0.1);
  box-shadow: 4px 4px 0px rgba(0,0,0,0.1);
  width: 400px;
}

.basket_hover_block .tabs_content .items_wrap{
  background: none;  
}

.basket_hover_block .tabs_content .image a{
    padding: 5px;
    background: #ffffff;
    border-radius: 10px;
    width: 70px;
    height: 70px;
    display: block;
}

.basket_hover_block .tabs_content .image a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ----- Кнопки в шапке ----- */
.header-buttons{
  display: flex;
  gap: 10px;
  align-items: start;
}

.button-information:before{
  content:"\f05a";  
  font-family:"Font Awesome 6 Pro";
  font-size: 20px;
  color: #ffffff;
  font-weight: 400;
}
.button-information{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: none;
  color: #fff !important;
  background: #0fb7d9;
  padding: 7px 10px 9px;
  border-radius: 5px;
  font-size: 13px;
  line-height: 18px;
  height: 36px;
}

.small_title{
  line-height: initial;
  margin-bottom: 6px;
}

/* ----- Скрытый блок с информацией ----- */
.info-block-sidebar_hidden{
    position: absolute;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100vh;
    border: 1px solid rgba(0,0,0,0.1);
    background: #ececec;
    padding: 40px 10px 10px 30px;
    visibility: hidden;
    transition: 0.3s ease;
    opacity: 0;
    z-index: 10;
    font-size: 13px;
}

.info-block-sidebar_hidden.active{
    right: 0;
    visibility: visible;
    transition: 0.3s ease;
    opacity: 1;
}

.info-block-sidebar_hidden .small_title{
    font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.info-block-sidebar_hidden .remove-cell{
  position: absolute;
  top: 10px;
  left: 10px;
  width: 20px;
  height: 20px;
  background-color: rgb(51, 51, 51);
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background-color: transparent;
  border: 1px solid #2b729f;
}

.info-block-sidebar_hidden .remove-cell:hover{
  background-color: #2b729f;  
}
.info-block-sidebar_hidden .remove-cell:hover i{
  color: #ffffff;  
}
.info-block-sidebar_hidden .remove-cell i{
  color: #2b729f;
}

.info-block-sidebar_content{
  display: flex;
  flex-direction: column;
  gap: 20px;  
}
.info-block-sidebar_content .with_dropdown .dropdown{
  left: 0 !important;
}
.info-block-sidebar_content .with_dropdown .dropdown > .wrap{
  grid-template-columns: repeat(1, minmax(100px, 1fr));
  gap: 5px; 
}
.info-block-sidebar_content .header-contact_mass .social-icons ul{
  display: flex;
}

/* ============================================================
   СТАРЫЙ ХЕДЕР (header_wrap)
   ============================================================ */
.header_wrap #header {
   
}

.header_wrap #header .maxwidth-theme {
    background: none;
    max-width: 100%;
    margin: initial;
    padding: initial;
    margin-bottom: 20px !important;
}

.header_wrap #header .maxwidth-theme__menu {
    flex: 1 0 fit-content;
}

.header_wrap #header .top-block {
    border: none;
    margin-bottom: 20px;
}

.header_wrap #header .region_wrapper {
    max-width: 100%;
}

.header_wrap #header .region_wrapper:before {
    content: "\f3c5";
    font-family: "Font Awesome 6 Pro";
    color: #2b729f;
    font-size: 20px;
    background: none;
    position: absolute;
    left: 0px;
    top: -1px;
}

.header_wrap #header .region_wrapper span {
    color: #2b729f;
    border-bottom: 1px solid #333333;
}

.header_wrap #header .region_wrapper .city_title {
    color: #2b729f;
    flex: 1 0 fit-content;
}

/* ============================================================
   МЕНЮ ШАПКИ САЙТА
   ============================================================ */
#horizontal-multilevel-menu{
    gap: 0px;
    display: block;
}

#horizontal-multilevel-menu li a.root-item,
#horizontal-multilevel-menu li a.root-item-selected {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  transition: border-color 0.2s ease, color 0.2s ease;
  gap: 4px;
  position: relative;
  padding: initial;
  color: rgb(3, 2, 4) !important;
  font-size: 15px;
  font-weight: 400;
  line-height: 20px;
}

[class*="badge_"]{
  top: 6px !important;
  right: 22px;
  width: fit-content;
  padding: 2px 6px;
  font-size: 11px;
  border-radius: 4px;
  line-height: initial;
  color: #fff;
}
.badge_yelow{
    background-color: #0ac;
}

#horizontal-multilevel-menu li a.root-item i,
#horizontal-multilevel-menu li a.root-item-selected i {
  font-size: 17px;
  transition: all 0.3s ease;
  border-radius: 10px;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 25px;
  color: #557085 !important;
  font-weight: 400;
}

#horizontal-multilevel-menu li a.root-item .badge,
#horizontal-multilevel-menu li a.root-item-selected .badge {
  font-size: 10px;
  text-align: center;
  background: initial;
  text-transform: lowercase;
  font-weight: 400;
  margin: initial;
  padding: initial;
  transition: color 0.2s ease;
}

#horizontal-multilevel-menu li a.root-item-selected .badge {
  color: #2b729f !important;
}

#horizontal-multilevel-menu li a.root-item-selected {
  border-radius: initial !important;
  color: rgb(3, 2, 4) !important;
  background: none;
}

#horizontal-multilevel-menu li:hover a.root-item {
  color: #2b729f;
}

#horizontal-multilevel-menu li:hover a.root-item i {
  color: rgb(3, 2, 4) !important;
}


#horizontal-multilevel-menu li a.root-item-selected i {
  
}

#horizontal-multilevel-menu li ul {
  z-index: 500;
  width: 100%;
  min-width: 200px;
  border: none;
  padding: 0 30px 0 7px;
  position: initial;
  display: block; 
  background: initial;
  opacity: 0;
  visibility: hidden;
  max-height: 0; 
  overflow: hidden; 
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, padding 0.3s ease-in-out;
}

#horizontal-multilevel-menu li ul.active {
  opacity: 1;
  visibility: visible;
  max-height: 100%; 
  padding: 10px 30px 7px 7px;
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, padding 0.3s ease-in-out;
}

#horizontal-multilevel-menu li ul li {
  border: none;
  display: flex;
  gap: 3px;
  transition: 0.3s ease;
  margin-bottom: 6px;
  line-height: initial;
}

#horizontal-multilevel-menu li ul li i {
  font-size: 10px;
  color: rgb(3, 2, 4) !important;
  transition: 0.2s ease;
  color: #557085 !important;
  margin-top: 1px;
}

#horizontal-multilevel-menu li ul li a {
  font-size: 13px;
  line-height: 15px;
  transition: 0.2s ease;
  margin-left: 10px;
  color: rgb(3, 2, 4) !important;
}

#horizontal-multilevel-menu li ul li:hover i {
  transform: translateX(3px);
}

#horizontal-multilevel-menu > li {
  margin: initial;
  margin-bottom: 4px;
  background-color: rgba(3,2,4,.06);
  padding: 4px;
  border-radius: 8px;
}

.is-parent.top-menu .root-item:before,
.is-parent.top-menu .root-item-selected:before{
  content: "\e6c5";
  font-family: "Font Awesome 6 Pro";
  font-size: 14px;
  display: block;
  position: absolute;
  right: 7px;
  top: 2px;
  font-weight: 300;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  transform: rotate(0deg) !important;
}

.is-parent.top-menu .root-item.active:before,
.is-parent.top-menu .root-item-selected.active:before{
  content: "\e407";
  font-family: "Font Awesome 6 Pro";
  font-size: 14px;
  display: block;
  position: absolute;
  right: 7px;
  top: 2px;
  font-weight: 300;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  transform: rotate(45deg) !important;
}

/* ============================================================
   РЕГИСТРАЦИЯ/АВТОРИЗАЦИЯ
   ============================================================ */
.header_wrap #header .personal {
    color: #2b729f;
}

.header_wrap #header .personal-link{
    display: flex;
    align-items: center;
    gap: 5px;
}

.header_wrap #header .personal .personal-link i {
    display: block !important;
    min-width: initial;
    min-height: initial;
}

.header_wrap #header .personal .personal-link .name {
    display: none;
}

.header_wrap #header .personal .personal-link path {
    fill: #2b729f;
}

/* ============================================================
   БАННЕР НА ГЛАВНОЙ
   ============================================================ */
.flexslider{
   border-radius: 10px;
   overflow: hidden;
}
.front_page .right_block .middle {
    padding: 0 !important;
}

.front_page .top_slider_wrapp {
    margin-bottom: 10px !important;
}

.front_page .top_slider_wrapp .container {
    max-width: 100% !important;
    padding: 0 !important;
}

.top_slider_wrapp .flexslider .slides > li, .top_slider_wrapp .flexslider .slides > li td:not(.bg), .top_slider_wrapp .flexslider {
  height: 350px;}
.top_slider_wrapp .flexslider .slides > li .img .wrap_plaxy img{
  height: 350px;  
}
.flex-control-paging li a, .front_slider_wrapp .flex-control-nav li a {
  height: 16px;
  width: 16px;
}
.top_slider_wrapp .flex-control-nav li a {
  border: 3px solid #107bb1;}
  
.top_slider_wrapp .flex-control-paging li a:hover, 
.top_slider_wrapp .flex-control-paging li a.flex-active {
  background: #107bb1;
}

.flexslider .left .banner_title, 
.flexslider .left .banner_text, 
.flexslider .left .banner_buttons {
  margin-left: 20px;
}

.flexslider .left .banner_buttons{
    width: fit-content;
}

.top_slider_wrapp .flex-direction-nav li {
  position: absolute;
  bottom: 20px;
  margin-top: initial;
}

.flexslider .flex-control-nav, 
.front_slider_wrapp .flex-control-nav {
  z-index: 3;
}

.top_slider_wrapp .flexslider .slides > li.started {
  background-color: initial;
}

.top_slider_wrapp .flexslider .slides > li .wrapper_video {
  border-radius: 10px;
  overflow: hidden;
}

/* ============================================================
   СЛАЙДЕР ЮБИЛЕЙНЫХ ТЕМ НА ГЛАВНОЙ
   ============================================================ */
.projects {
  position: relative;
  padding: 10px;
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 10px;
  height: 357px;
}

.ub-slider-pretext {
    position: relative;
    z-index: 2;
}

.ub-slider-pretext h2 {
   margin: 10px 0; 
}

.ub-slider-desk {
  font-size: 13px;
  color: #666;
  max-width: 400px;
  line-height: 18px;
  font-weight: 400;
}

.ub-slider-catalog{
    
}

.ub-slider-catalog a {
   display: inline-flex;
   height: 29px;
}

.ub-slider-block{
    position: relative;
}

.ub-slider {
    padding: 10px 0 20px !important;
    margin: 0 !important;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.ub-slider-wrapper {
    min-width: 0;
    position: relative;
}

.ub-slider-slide {
  height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background-color: rgba(3,2,4,0.06);
  z-index: 1;
}
.ub-slider-slide:before {
  /*content: "";*/
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  z-index: -1;
  width: initial !important;
  display: block !important;
  border-radius: 43%;
  background: rgba(3,2,4, 0.7);
  box-shadow: 0 0 49px 51px rgba(120, 120, 120, 0.3);
}

.ub-slider-link {
  display: flex;
  gap: 5px;
  flex-direction: column;
  padding: 5px;
}

.ub-slider-img{
  padding: 0 20px;
}

.ub-slider-img span{
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  height: 100%;
  text-align: center;
}

.projects__item-img {
   width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 5px; 
}

.ub-slider-title {
  text-align: center;
  margin: inherit !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgb(3, 2, 4, 0.7);
  line-height: initial !important;
  width: 100%;
  padding: 4px 4px 0 0;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ub-slider-date {
  border-radius: 5px;
  width: fit-content;
  padding: 0 8px;
  height: fit-content;
  display: inline-block;
  margin: 0 auto;
  color: rgb(3, 2, 4, 0.7);
}

.ub-slider-date:before{
  content: "\f073";
  font-family: "Font Awesome 6 Pro";
  font-size: 12px;
  margin-right: 6px;
}

.ub-slider-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    position: absolute;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%);
}

.ub-slider-prev{
  position: absolute;
  top: -10px !important;
  right: 40px !important;
  background: #0fb7d9;
  opacity: 1 !important;
  border-radius: 7px;
  width: 30px;
  height: 30px;
  z-index: 1000;
  left: auto !important;
}
.ub-slider-next{
  position: absolute;
  top: -10px !important;
  right: 0 !important;
  background: #0fb7d9;
  opacity: 1 !important;
  border-radius: 7px;
  width: 30px;
  height: 30px;
  z-index: 1000;
  left: auto !important;
}

.ub-slider-prev svg,
.ub-slider-next svg{
    display: none;
}

.ub-slider-prev:before{
   content: "\f060";
   font-family:"Font Awesome 6 Pro";
   color: #ffffff;
   font-size: 16px;
}

.ub-slider-prev.swiper-button-disabled,
.ub-slider-next.swiper-button-disabled{
    background: rgb(3, 2, 4, .06);
}
.ub-slider-prev.swiper-button-disabled:before{
   content: "\e669";
   font-family:"Font Awesome 6 Pro";
   color: rgba(3,2,4, 0.3);
   font-size: 16px;
}

.ub-slider-next.swiper-button-disabled:before{
   content: "\f090";
   font-family:"Font Awesome 6 Pro";
   color: rgba(3,2,4, 0.3);
   font-size: 16px;
}
.ub-slider-next:before{
   content: "\f061";
   font-family:"Font Awesome 6 Pro";
   color: #ffffff;
   font-size: 16px;
}



/* ============================================================
   БАННЕРы НА ГЛАВНОЙ
   ============================================================ */
.float_banners{
   margin: 0 0 10px 0 !important;
   
}   

/* ============================================================
   СУВЕНИРЫ НА ГЛАВНОЙ
   ============================================================ */
.sections_wrapper{
   background-color: #fff;
    border-radius: 10px; 
    padding: 10px;
}

.sections_wrapper .top_block{
    padding: 0px;
  display: flex;
  flex-direction: column;
  margin: initial;
}

.sections_wrapper .top_block a{
    width: fit-content;
    height: 29px;
}

/* ============================================================
   КАТАЛОГ ЮБИЛЕЙНЫХ ТЕМ — МЕНЮ СПРАВА (ЕДИНЫЙ БЛОК)
   ============================================================ */

/* ===== ДВЕ КОЛОНКИ: контент слева + меню справа ===== */
.jubilee-catalog-wrapper {
    display: flex;
    gap: 10px;
    margin: 0 auto;
    padding: 0;
    font-size: 13px;
}

.jubilee-catalog-wrapper .js_wrapper_items{
    width: 100%;
}

.jubilee-catalog-wrapper .sections_wrapper{
    margin: initial;
    padding: 10px 0 ;
}

/* Левая колонка с контентом */
.left_content_wrapper {
    flex: 1;
    min-width: 0;
}

/* Правая колонка с меню */
.right_menu_wrapper {
    flex: 0 0 280px;
    min-width: 280px;
    background-color: #fff;
    border-radius: 10px;
}

/* ===== ЕСЛИ МЕНЮ СКРЫТО — КОНТЕНТ НА ВСЮ ШИРИНУ ===== */
.jubilee-catalog-wrapper.no-right-menu .left_content_wrapper {
    flex: 1 1 100%;
    max-width: 100%;
}

.jubilee-catalog-wrapper.no-right-menu .right_menu_wrapper {
    display: none;
}

.bx_filter.compact {
    margin: 0;
    padding: 0;
    border: none;
}


.sort_header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.sort_header .pull-left{
   float: none !important;
}

.sort_display a{
    border-radius: 10px;
}

.filter_title{
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dropdown-select__title {
  padding: 5px 10px;
  font-size: 13px;
  background-color: #0ac;
  border-radius: 6px;
  color: #fff;
}

.dropdown-select__title path{
    fill: #fff;
}

.dropdown-select__drawer{
    box-shadow: none;
}

.dropdown-select__drawer--to-top {
  top: 0px;
  left: 0px;
  border-radius: 6px;
  padding: 8px;
  background-color: rgb(240, 240, 240);
}
.menu-list.scrollbar{
  background: none;
}

.dropdown-select__title span i,
.menu-list__item span i{
    font-weight: 300;
    margin-left: 5px;
}
.dropdown-select__title .svg-inline-down{
  display: none;
}
.menu-list.scrollbar .menu-list__link:hover{
   background: #0fb7d9;
   transition: 0.3s;
   border-radius: 6px;
}
.menu-list.scrollbar .menu-list__link:hover span{
   color: #ffffff;
}
.menu-list.scrollbar .menu-list__item{
  margin-bottom: 5px;
}
.menu-list__link {
  padding: 5px 10px;
  background: none;
}

.menu-list__link.menu-list__link--current{
  background: #0fb7d9; 
  border-radius: 6px;
}
.menu-list__link.menu-list__link--current span{
   color: #ffffff;
}

.menu-list__link span{
   font-size: 13px;
   line-height: 13px;
  color: rgb(3, 2, 4); 
}
/* ===== МЕНЮ СПРАВА ===== */
.right_menu_block {
    border-radius: 12px;
}

.right_menu_title {
    font-size: 16px;
    text-align: left;
}
.right_menu_title h4{
  font-size: 17px;
  font-weight: 700;
  line-height: 24px;
  margin: initial;
  margin-bottom: 8px;
}

.right_menu_title h4:before {
    content: "★ ";
    color: #cc0000;
}

.right_menu_block .menu {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #ffffff;
}

.right_menu_block .menu > li {
  background-color: rgba(3,2,4,.06);
  padding: 4px;
  border-radius: 8px;
  margin-bottom: 4px;
  min-height: 40px;
 
}

.right_menu_block .menu > li a {
    padding: 0 !important;
    font-size: 14px !important;
    color: #333 !important;
    transition: all 0.2s ease;
    background: none !important;
    border: none !important;
    display: flex !important;
    align-items: center;
    gap: 8px;
}

.right_menu_block .menu > li:hover a:before{
    content:"";
    border: none !important;
    background: initial !important;
}

.right_menu_block .menu .dropdown li a::before{
    content:"";
    display: none;
}

.right_menu_block .menu .dropdown li a{
    position: initial !important;
}

.right_menu_block .menu .dropdown li a span{
  font-size: 13px;
  line-height: 13px;
  transition: 0.2s ease;
  margin-left: 10px;
  color: rgb(3, 2, 4) !important;
}

.right_menu_block .menu li a:after{
    content:"" !important;
    display: none !important;
}

.right_menu_block .menu li a:hover:before{
   content:"" !important;
    display: none !important; 
}

.right_menu_block .menu li a .name{
   padding-left: 0 !important;
  color: rgb(3, 2, 4) !important;
  font-size: 15px;
  font-weight: 400;
}

.right_menu_block .menu .has-child a .toggle_block{
  top: 4px !important;
  color: #333 !important;
}


.right_menu_block .menu .has-child a .toggle_block:before{
  content: "\e6c5";
  font-family: "Font Awesome 6 Pro";
  font-size: 14px;
  display: block;
  position: absolute;
  right: 7px;
  top: 2px;
  font-weight: 300;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  transform: rotate(0deg) !important;
}

.right_menu_block .menu > li.opened a .toggle_block:before{
   content: "\e407";
  font-family: "Font Awesome 6 Pro";
  font-size: 14px;
  display: block;
  position: absolute;
  right: 7px;
  top: 2px;
  font-weight: 300;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  transform: rotate(45deg) !important; 
}

.right_menu_block .menu > li.has-child.current{
    background: #0fb7d9;
}
.right_menu_block .menu > li.has-child.current a,
.right_menu_block .menu > li.has-child.current span,
.right_menu_block .menu > li.has-child.current i{
    color: #ffffff !important;
}

.right_menu_block .menu li a:hover {
    color: #cc0000;
    background: #f9f6f2;
    border-right-color: #cc0000;
}

.right_menu_block .menu li.active a {
    color: #cc0000;
    background: #f5f0ea;
    border-right-color: #cc0000;
    font-weight: 600;
}

.right_menu_block .menu li ul {
    list-style: none;
    margin: 0;
    padding: 0;
    background: none;
    counter-reset: right-submenu;
    border: none !important;
}

.right_menu_block .menu li ul li{
    
}

.right_menu_block .menu li ul li a span{
    position: relative;
    
    
}

.right_menu_block .menu li ul li a span:before {
   counter-increment: right-submenu;
  content: counter(right-submenu) " ";
  position: absolute;
  top: 0;
  left: -22px;
  padding: 5px;
  border-radius: 50%;
  background-color: #0ac;
  width: 15px;
  height: 15px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
}

.right_menu_block .menu > li.current.opened a .toggle_block::before,
.right_menu_block .menu .current.has-child a .toggle_block::before{
    color: #ffffff;
}

.right_menu_block .menu li ul li a:hover {
    color: #cc0000;
    background: #f5f0ea;
}

.right_menu_block .menu li a .count {
    float: right;
    color: #999;
    font-size: 12px;
}

.menu_top_block.catalog_block .dropdown > li > a .image img{
    border-radius: 5px;
}

/* ============================================================
   СТИЛИ ДЛЯ КАРТОЧЕК РАЗДЕЛОВ (основной контент)
   ============================================================ */

.jubilee-sections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px,1fr));
    gap: 15px;
}

.jubilee-section-card {
    background: #ffffff;
    background-color: rgb(255, 255, 255);
  border-radius: 12px;
  
  border: none;
  overflow: hidden;
  transition: 0.2s ease;
  padding: 10px;
}

.jubilee-section-inner {
    display: block;
}

.jubilee-section-image-name{
    display: flex;
    gap: 10px;
}

.jubilee-section-image {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
}

.lazyloaded {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jubilee-thumb {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
    padding: 5px;
}

.jubilee-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.jubilee-section-info {
    flex: 1;
    min-width: 0;
    margin-top: 10px;
}

.jubilee-section-name {
   line-height: 20px;
}

.jubilee-section-name .jubilee-link {
   font-size: 16px;
  color: rgb(3, 2, 4);
}

.jubilee-subsections-list {
    list-style: none;
  padding: 0;
  height: 200px;
  overflow-y: auto;
  min-height: 60px;
  scrollbar-color: #0ac #bababa;
  scrollbar-width: thin;
  counter-reset: right-submenu;
  padding-right: 15px;
}

.jubilee-subsection-item {
    line-height: 15px;
    margin-bottom: 8px !important;
    padding-left: 21px !important;
}

.jubilee-subsection-item:before{
  counter-increment: right-submenu;
  content: counter(right-submenu) " ";
  position: absolute !important;
  top: 1px!important;
  left: 0 !important;
  padding: 5px !important;
  border-radius: 50%;
  background-color: #0ac;
  width: 15px !important;
  height: 15px;
  color: #fff;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 10px;
}
.jubilee-subsection-item:hover:before{
    
}

.jubilee-subsection-item .jubilee-link {
   text-decoration: none;
  font-size: 13px;
  line-height: 13px;
  transition: 0.2s ease;
  color: rgb(3, 2, 4) !important;
}

.jubilee-subsection-item .jubilee-link:hover {
    color: #0d6b9a;
}

.jubilee-count {
    color: #999;
    font-size: 12px;
}

.jubilee-section-description {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #f0f0f0;
}

.jubilee-desc-text {
    font-size: 13px;
    color: #777;
    line-height: 1.5;
    display: block;
}


.jubilee__list-sections{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-auto-rows: auto;  
  gap: 5px;
}

.jubilee__item-section{
  background-color: rgb(255, 255, 255);
  border-radius: 12px;
  border: none;
  overflow: hidden;
  transition: 0.2s ease;
}

.jubilee__item-section .item{
  display: flex;
  padding: 5px !important;
  gap: 5px;
  align-items: center;
  background-color: rgba(3,2,4,.06);
}

.jubilee__item-section .item .img{
    flex-shrink: 0;
  width: 40px;
  height: 40px;
}
.jubilee__item-section .item .img .thumb{
    flex-shrink: 0;
  width: 40px;
  height: 40px;
}

.jubilee__item-section .item .img img{
   width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.jubilee__item-section .item .name a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-wrap: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  box-sizing: border-box;
  text-align: left;
  line-height: 15px;
}


/*Стили для сортировки */
.sort_display a.list_my i {
  background-position: -29px -17px;
}

.sort_display a.block_my.current i {
  background-position: 0px 0px;
}

.sort_display a.table_my i {
  background-position: -57px -17px;
}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width: 1200px) {
    .header-contacts {
        gap: 4px 15px;
        font-size: 13px;
    }
}

@media (max-width: 992px) {
    .header-main__inner {
        flex-wrap: wrap;
    }

    .header-left-col {
        flex: 0 0 100%;
        order: 2;
    }

    .header-cart {
        order: 1;
    }
}

@media (max-width: 768px) {
    .header-top__inner {
        flex-wrap: wrap;
        gap: 10px;
    }

    .header-nav {
        flex: 0 0 100%;
        order: 1;
    }

    .header-user {
        flex: 1;
        order: 2;
        justify-content: flex-end;
    }

    .header-contacts {
        flex-direction: column;
        gap: 2px;
        font-size: 13px;
    }

    .header-contacts__block {
        white-space: normal;
    }

    .mode-tab {
        padding: 12px 14px;
        font-size: 12px;
    }

    .mode-tab .icon {
        font-size: 18px;
        width: 26px;
    }

    .mode-tab .text {
        font-size: 13px;
    }

    .jubilee-catalog-wrapper {
        flex-direction: column;
        padding: 15px 10px;
        gap: 20px;
    }
    
    .right_menu_wrapper {
        flex: 1 1 auto;
        min-width: auto;
    }

    .jubilee-sections-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .jubilee-section-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .jubilee-section-image {
        width: 100px;
        height: 100px;
    }

    .jubilee-subsections-list {
        text-align: center;
    }
}

@media (min-width: 768px) {
  .bx_filter.compact {
    z-index: 3 !important;
  }
}

@media (max-width: 480px) {
    .jubilee-section-card {
        padding: 14px;
    }

    .jubilee-section-image {
        width: 80px;
        height: 80px;
    }

    .jubilee-section-name .jubilee-link {
        font-size: 16px;
    }
}





