:root{
  --bg-yellow: #ffd808;
  --bg-dark: #491a20;
  --bg-dark-light: #823842;
  --bg-dark-super-light:#bb6974;
  --bg-dark-super-light-opacity:#bb69748f;
}
header .dark_bg, #modal_main_menu .dark_bg{
  background-color: #101112;
}
header .header_desctop .header_top_line, header .mobile_header .mobile_header_main, #modal_main_menu  .mobile_modal_heading, footer.footer{
  background-color: var(--bg-dark-light);
}
#modal_main_menu .theme_trigger, header .theme_trigger{
  display: none;
}
.dark_bg{
  background-color: var(--bg-dark);
}
body.dark_bg .header_main_line, .dark_bg .gray_bg, .dark_bg .side_modal, .dark_bg .product_card_right_content, .dark_bg .section-catalog.gray_bg, 
.dark_bg .modal_callback,
body.dark_bg .catalog_dropdown
{
  background-color: var(--bg-dark);
}

body.dark_bg .dark_overlay::before{
  background-color: var(--bg-dark-super-light-opacity);
}

body.dark_bg input:focus {
  background-color: var(--bg-dark-super-light);
}

.dark_bg .input-error{
  border: 3px solid var(--bg-yellow);
}

.dark_bg input:not(.error){
  border-color: initial;
}
.dark_bg .main_logo .svg .title,  .dark_bg .main_logo .svg .slogan{
  fill:var(--bg-yellow);
}
.dark_bg .header_catalog_btn , .dark_bg .header_catalog_btn:hover{
  background-color:var(--bg-dark);
}
.header_catalog_block .header_catalog_btn, 
.mobile_header .mobile_header_catalog .header_catalog_btn, 
.mobile_menu_modal .mobile_modal_heading,
.catalog_view_blocks .catalog_view_block.active
{
  background-color:var(--bg-dark-light);
}
.header_catalog_block:hover .header_catalog_btn, .mobile_header .mobile_header_catalog:hover .header_catalog_btn{
  background:var(--bg-dark-super-light);
}

.dark_bg .catalog_view_block {
  border-color: var(--bg-dark-super-light);
  background: var(--bg-dark-super-light);
}

.dark_bg .content_line {
  background-color: var(--bg-dark-light);
  color: #999;
}

.footer_bottom .main_logo .svg .title, .footer_bottom .main_logo .svg .slogan{
  fill:var(--bg-yellow);
}
body.dark_bg .select_wrapper .selectric .label, .dark_bg header .header_main_line {
  background-color: var(--bg-dark-light);
}

body.dark_bg .select_wrapper .selectric, body.dark_bg .select_wrapper .selectric-items {
  border-color: #525559;
  background-color: var(--bg-dark-light);
}

.main_logo svg{
  width: 21.5rem;
  height: auto;
}

.mobile_header_main .main_logo svg {
  width: 10.8rem;
  height: auto;
}

.mobile_header {
  padding: 61px 15px 5px;
}

.main_logo.small svg{
  width: 10.7rem;
  height: auto;
}

.header_top_nav_inner {
  padding-top: 1.3rem;
}

.geo-check {
  z-index: 1000;
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}

.geo-check .check-buttons {
  display: flex;
}

.geo-check .check-buttons button {
  width: 50%;
  line-height: 30px;
  border: 1px solid #959595;
  border-top: 0;
}

.geo-check .check-buttons button:hover {
  color: #fff;
  background-color: #5c2c7d;
}

.range_slider .irs, .range_slider .irs--flat.irs-with-grid {
  height: initial;
}

.range_slider .irs--flat .irs-line {
  height: 16px;
  /*background-color: rgba(247, 247, 247, .05);*/
  background-color: transparent;
  cursor: pointer;
  z-index: 10;
}

.range_slider .irs--flat .irs-bar {
  height: 2px;
  background: rgba(247, 247, 247, 0)
}

.range_slider .irs--flat .irs-handle {
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-color: #fce326;
  cursor: pointer
}

.range_slider .irs--flat .irs-handle > i {
  opacity: 0
}

.range_slider .irs--flat .irs-handle > i:first-child {
  opacity: 1;
  position: absolute;
  top: -webkit-calc(100% + 3rem);
  top: calc(100% + 3rem);
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 20.1rem;
  background: #404246 !important;
  color: #fff;
  font-size: 1.5rem;
  padding: 2.5rem 1rem;
  border-left: 4px solid #515358;
  font-style: normal;
  text-align: center;
  height: auto;
  line-height: normal
}

.range_slider .irs--flat .irs-handle > i:first-child:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 10px;
  border-color: transparent transparent #404246;
  position: absolute;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 100%
}

.catalogs_frame__bottom_btn, .range_slider .irs--flat .irs-grid-text, .range_slider .irs-grid-pol.small {
  display: none
}

.favorite_remove, .range_slider .irs-grid {
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%)
}

.range_slider .irs-grid {
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
  background-color: rgba(247, 247, 247, .05);
}

.range_slider .irs-grid-pol {
  height: .7rem;
  width: .7rem;
  top: -2px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-color: #46484C !important
}


.main-banner .container {
  padding: 0 20px;
}

@media screen and (max-width: 1199.98px) {
  .main-banner .container {
    padding: 0 15px;
  }
}


/* SWIPER */
.swiper-header-nav {
  position: absolute;
  bottom: calc(100% + 7px);
  right: 0;
  width: 210px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  z-index: 2;
}

.swiper-header-nav .swiper-nav-line {
  display: block;
  width: calc(100% - 90px);
  height: 1px;
  z-index: 1;
  background-color: #e2e2e2;
}

.swiper-header-nav .swiper-button-next,
.swiper-header-nav .swiper-button-prev {
  margin: 0;
  position: relative;
  top: 0;
  left: 0;
  width: 45px;
  height: 45px;
  background-color: #ffffff;
}

.swiper-header-nav .swiper-button-next:after,
.swiper-header-nav .swiper-button-prev:after {
  color: #000000;
  font-size: 12px;
  font-weight: 600;
  -webkit-transition: color 0.2s ease;
  -o-transition: color 0.2s ease;
  transition: color 0.2s ease;
}

@media (pointer: fine) {
  .swiper-header-nav .swiper-button-next:hover:after,
  .swiper-header-nav .swiper-button-prev:hover:after {
    color: #ffe800;
  }
}

.swiper-header-nav .swiper-button-next.swiper-button-lock ~ .swiper-nav-line,
.swiper-header-nav .swiper-button-prev.swiper-button-lock ~ .swiper-nav-line {
  display: none;
}

.swiper-pagination.swiper-pagination-bullets {
  padding: 2px;
  margin: 0 auto;
  position: relative;
  width: auto;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 32px;
}

.swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
  display: block;
  width: 16px;
  height: 16px;
  background-color: #000000;
  opacity: 1;
  border-radius: 32px;
  -webkit-transition: background-color 0.5s ease, width 0.5s ease;
  -o-transition: background-color 0.5s ease, width 0.5s ease;
  transition: background-color 0.5s ease, width 0.5s ease;
}

.swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet:not(:last-child) {
  margin-right: 10px;
}

.swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 48px;
  background-color: #ffffff;
}

@media screen and (max-width: 1199.98px) {
  .page-nav__tabs.tabs-slider.swiper .swiper-slide {
    padding: 20px;
  }

  .section.section--mb:not(:last-child) {
    margin-bottom: 28px;
  }

  .section-attention {
    padding: 15px 20px;
  }

  .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
  }

  .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet:not(:last-child) {
    margin-right: 8px;
  }

  .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 36px;
  }
}

@media screen and (max-width: 767.98px) {

  .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }

  .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet:not(:last-child) {
    margin-right: 5px;
  }

  .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 24px;
  }

  .pagination-list > li > a,
  .pagination-list > li > span {
    padding: 0 8px;
    min-width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .pagination-list > li > a.prev,
  .pagination-list > li > a.next,
  .pagination-list > li > span.prev,
  .pagination-list > li > span.next {
    font-size: 12px;
  }
}

/* ANNOUNCEMENTS */
.announcements-slider.swiper {
  overflow: visible;
}

.announcements-slide {
  -ms-grid-column-span: 1;
  grid-column: 1 span;
}

.announcements-slide:first-child {
  -ms-grid-row-span: 2;
  grid-row: 2 span;
}

.announcements-slide:first-child .announcements-slide__img {
  padding-bottom: 0;
  height: 100%;
}

.announcements-slide__img {
  padding-bottom: 25.5%;
  position: relative;
  height: 0;
  display: block;
  overflow: hidden;
}

@media (pointer: fine) {
  .announcements-slide__img:hover img {
    opacity: 0.85;
  }
}

.announcements-slide__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

@media screen and (min-width: 768px) {
  .announcements .swiper-wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 58% 15px 1fr;
    grid-template-columns: 58% 1fr;
    -ms-grid-rows: 1fr 15px 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 15px;
  }

  .announcements .swiper-wrapper > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }

  .announcements .swiper-wrapper > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }

  .announcements .swiper-wrapper > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }

  .announcements .swiper-wrapper > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }

  .announcements-slide {
    -ms-grid-column-span: 1;
    grid-column: 1 span;
  }

  .announcements-slide:first-child {
    -ms-grid-row-span: 2;
    grid-row: 2 span;
  }

  .announcements-slide:first-child .announcements-slide__img {
    padding-bottom: 0;
    height: 100%;
  }
}

@media screen and (min-width: 992px) {
  .announcements .swiper-wrapper {
    gap: 20px;
  }
}

@media screen and (min-width: 1200px) {
  .announcements .swiper-wrapper {
    gap: 30px 20px;
  }
}

@media screen and (max-width: 991.98px) {
  .announcements.section {
    padding-top: 32px;
  }
}

@media screen and (max-width: 767.98px) {
  .announcements-slider.swiper {
    margin: 0 auto;
    width: 90%;
  }

  .announcements-slide:first-child .announcements-slide__img {
    padding-bottom: 47.94%;
    height: 0;
  }

  .announcements-slide__img {
    padding-bottom: 47.94%;
  }
}

/* MAIN BANNER */
.main-banner__slider-wrapper {
  position: relative;
  width: 100%;
  height: auto;

}

.main-banner__slide-img {
  /*padding-bottom: 18%;*/
  padding-bottom: 22%;
  position: relative;
  height: 0;
}

.main-banner__slide-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.main-banner__slider-pagination.swiper-pagination-bullets {
  position: absolute;
  left: 50%;
  bottom: 20px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: auto;
  z-index: 2;

}

@media screen and (max-width: 1199.98px) {
  .main-banner__slider-pagination.swiper-pagination-bullets {
    bottom: 10px;
  }
}


@media screen and (max-width: 767.98px) {
  .main-banner__slide-img {
    padding-bottom: 66.5%;
  }

  .main-banner__slider {
    margin-bottom: 18px;
  }

  .main-banner__slider-pagination.swiper-pagination.swiper-pagination-bullets {
    position: relative;
    bottom: 0;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    background-color: #f0f0f0;
  }

  .main-banner__slider-pagination.swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #583f99;
  }
}

@media screen and (max-width: 410px) {
  .main-banner__slider-wrapper {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

.item__title {
  min-height: 2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  -moz-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 2;
 
}
@media screen and (max-width:600px){
  .item .item__hover_info{
    top: auto;
    left: auto;
    right: 0;
    opacity: 1;
    visibility: visible;
   
  }
  .item__title:not(:last-child), .psk-product-item__price {
    margin-bottom: 0.9rem;
  }
  .modal-field-person .side_checks{
    flex-direction: row;
  }
}
@media screen and (max-width:767px){
 /* .catalog_controll_frame{
    display: block;
  }*/
}

.opc-policy-callback .mfv_checker_ico {
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(0,0,0,0.05);
  background-color: rgba(85,85,85,0.05);
  padding: 0;
  -moz-appearance: checkbox;
  appearance: checkbox;
  -webkit-appearance: checkbox;
  cursor: pointer;
  position: absolute;
  top: 2px;
  left: 0;
}
.opc-policy-callback .mfv_checker_text{
  margin-left: 38px;
}
.mfv_checker_ico:after {
  display: block;
  width: 1rem;
  height: 0.5rem;
  border-bottom: 1px solid #080711;
  border-left: 1px solid #080711;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  margin-top: -1px;
  opacity: 0;
}
.mfv_checker_input:checked ~ .mfv_checker_ico:after {
  opacity: 1;
}
.mfv_checker {  
  position: relative;
}
.mfv_checker a {
  text-decoration: underline;  
}
.form_controls > :not(:last-child) {
  margin-bottom: 2rem;
}
.input-error{
  border: 1px solid red;
}

.button-loading{
  position: relative;
  pointer-events: none;
  opacity: 0.7;

}

.button-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 25px;
  height: 25px;
  border: 2px solid #fff;
  border-top: 2px solid #999;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  transform: translateY(-50%);
}

@keyframes spin {
  0% { transform: translateY(-50%) rotate(0deg); }
  100% { transform: translateY(-50%) rotate(360deg); }
}

.catalog_sides .content_side--sale{
  width: 100%;
}

.copyright {
  color: #ccc;  
}

.catalog_link.with_arrow::after {  
  border-bottom: 1px solid var(--bg-dark);
  border-right: 1px solid var(--bg-dark);
}

.catalog_link::before, .aside_link::before{
  background: var(--bg-dark);
}
.catalog_link.active strong, .aside_link.active, .aside_link:hover{
  color: var(--bg-dark-light);
}
.catalog_link.active svg *, .aside_link.active svg *, .aside_link:hover svg *{
  fill: var(--bg-dark-light);
}
.form_sender input{
  color: #e1e1e1;
}

.form_sender input:focus{
  color: #595758
}

.simple_text ol li::before{
  display: none;
}
.simple_text ol li{
  padding-left: 0;
}
.pk-body{
  display: flex;
  flex-direction: column;
  justify-content: center;  
  gap: 20px;
}
.pk-body ul.dashed li::before{
  content: '-';
  margin-right: 10px;
}
.simple_text .text-content--offices, .simple_text .ico_link_body, .simple_text .ico_link, .simple_text p{
  margin-bottom: 0;
}
.contact_side_row--offices{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.contact-side-offises{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  flex-wrap: wrap;
  min-width: 580px;
}
.contact-side-product-offises{
  display: flex;  
  gap: 20px;
  width: 100%;
  flex-wrap: wrap;  
}
.contact-side-office{
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-wrap: wrap;
  line-height: 28px;
}

@media screen and (max-width: 610px) {
  .contact-side-offises{
    min-width: 100%;
  }
}


