/* For old browsers */
@supports (not (--css: variables)) {
  .supports_error {
    display: flex !important;
  }
}

/* For IE */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .supports_error {
    display: flex !important;
  }
}

/*-----------
    Fonts
-----------*/
@font-face {
  font-family: "Gilroy";
  font-weight: 500;
  font-style: normal;

  font-display: swap;
  src: url("../fonts/Gilroy-Medium.woff") format("woff"),
    url("../fonts/Gilroy-Medium.ttf") format("truetype");
}

@font-face {
  font-family: "Gilroy";
  font-weight: 500;
  font-style: italic;

  font-display: swap;
  src: url("../fonts/Gilroy-MediumItalic.woff") format("woff"),
    url("../fonts/Gilroy-MediumItalic.ttf") format("truetype");
}

@font-face {
  font-family: "Gilroy";
  font-weight: 600;
  font-style: normal;

  font-display: swap;
  src: url("../fonts/Gilroy-SemiBold.woff") format("woff"),
    url("../fonts/Gilroy-SemiBold.ttf") format("truetype");
}

@font-face {
  font-family: "Gilroy";
  font-weight: 700;
  font-style: normal;

  font-display: swap;
  src: url("../fonts/Gilroy-Bold.woff") format("woff"),
    url("../fonts/Gilroy-Bold.ttf") format("truetype");
}

/*------------------
    Reset styles
------------------*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

*:before,
*:after {
  box-sizing: border-box;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;

  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch;
  text-rendering: optimizeLegibility;
  text-decoration-skip: objects;
}

img {
  border-style: none;
}

textarea {
  overflow: auto;
}

input,
textarea,
input:active,
textarea:active,
button {
  margin: 0;

  -webkit-border-radius: 0;
  border-radius: 0;
  outline: none transparent !important;
  box-shadow: none;

  -webkit-appearance: none;
  appearance: none;
  -moz-outline: none !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  margin: 0;

  -webkit-appearance: none;
}

input[type="number"] {
  -moz-appearance: textfield;
}

:focus {
  outline: 0;
}

:hover,
:active {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
}

::-ms-clear {
  display: none;
}

/*-------------------
    Global styles
-------------------*/
:root {
  --bg: #fff;
  --scroll_width: 17px;
  --text_color: #333;
  --font_size: 16px;
  --font_size_title: 32px;
  --font_size_title_mini: 24px;
  --font_family: "Gilroy", "Arial", sans-serif;
}

::selection {
  color: #fff;

  background: #ffb900;
}

::-moz-selection {
  color: #fff;

  background: #ffb900;
}

.check-form {
  display: none !important;
}

.clear {
  clear: both;
}

.left {
  float: left;
}

.right {
  float: right;
}

html {
  height: 100%;
  min-height: -moz-available;
  min-height: -webkit-fill-available;
  min-height: fill-available;
}

html.custom_scroll ::-webkit-scrollbar {
  width: 10px;
  height: 10px;

  background-color: #ccc;
}

html.custom_scroll ::-webkit-scrollbar-thumb {
  background-color: #ffb900;
}

html.custom_scroll {
  scrollbar-color: #ffb900 #ccc;
  scrollbar-width: thin;
}

body {
  color: var(--text_color);
  font: var(--font_size) var(--font_family);

  height: 100%;
  min-height: -moz-available;
  min-height: -webkit-fill-available;
  min-height: fill-available;
}

button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;

  display: inline-block;

  cursor: pointer;
  vertical-align: top;

  border: none;
  background: none;
}

.wrap {
  position: relative;

  display: flex;
  overflow: hidden;
  flex-direction: column;

  min-width: 360px;
  min-height: 100%;

  background: var(--bg);
}

.main {
  flex: 1 0 auto;
}

.cont {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

.lozad {
  transition: opacity 0.5s linear;

  opacity: 0;
}

.lozad.loaded {
  opacity: 1;
}

.row {
  display: flex;

  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

.block {
  margin-bottom: 64px;
}

.block.bg {
  padding: 64px 0;

  background: #f4f4f6;
}

.block.no_margin {
  margin-bottom: 0 !important;
}

.overlay {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;

  display: none;

  width: 100%;
  height: 100%;

  opacity: 0.65;
  background: #000;
}

.supports_error {
  font-family: "Arial", sans-serif;
  font-size: 20px;
  line-height: 30px;

  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;

  display: none;

  width: 100%;
  height: 100%;
  padding: 20px;

  text-align: center;

  background: #fff;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.supports_error.show {
  display: flex;
}

/*--------------
    Fancybox
--------------*/
.fancybox__backdrop {
  background: rgba(0, 0, 0, 0.6);
}

.fancybox__slide {
  padding: 40px;
}

.modal.fancybox__content > .carousel__button.is-close {
  color: #e0e3ee;

  top: 16px;
  right: 16px;

  display: flex;

  width: 16px;
  height: 16px;

  transition: 0.2s linear !important;

  opacity: 1 !important;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.modal.fancybox__content > .carousel__button.is-close svg {
  display: block;

  width: 16px;
  height: 16px;

  filter: none;
  stroke: none;
  stroke-width: 0;
}

.modal.fancybox__content > .carousel__button.is-close:hover {
  color: #333;
}

/*----------------
    Pagination
----------------*/
.pagination {
  display: flex;

  margin-top: 16px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.pagination.center {
  justify-content: center;
}

.pagination.alignright {
  justify-content: flex-end;
}

.pagination > * + * {
  margin-left: 16px;
}

.pagination a,
.pagination span {
  color: var(--text_color);
  line-height: 38px;

  display: inline-block;

  width: 40px;
  height: 40px;

  transition: 0.2s linear;
  text-align: center;
  vertical-align: top;
  text-decoration: none;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
}

.pagination .sep {
  color: var(--text_color);
  line-height: 40px;
}

.pagination a:hover,
.pagination .current {
  color: #fff;

  border-color: #ffb900;
  background: #ffb900;
}

.pagination .prev,
.pagination .next {
  display: none;
}

/*---------------
    Accordion
---------------*/
.accordion .accordion_item + .accordion_item {
  margin-top: 16px;
}

.accordion .accordion_item .head {
  position: relative;

  padding: 24px 52px 24px 24px;

  cursor: pointer;

  border-radius: 4px;
  background: #fed66a;
}

.accordion .accordion_item .head .title {
  color: #1c2321;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;
}

.accordion .accordion_item .head .icon {
  color: #1c2321;

  position: absolute;
  top: 0;
  right: 24px;
  bottom: 0;

  display: block;

  width: 16px;
  height: 16px;
  margin: auto;

  transition: transform 0.2s linear;
}

.accordion .accordion_item .data {
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;

  display: none;

  padding: 8px 24px 16px;
}

.accordion .accordion_item.active .head .icon {
  transform: rotate(180deg);
}

/*----------
    Tabs
----------*/
.tabs {
  

  margin-bottom: 24px;
  /* display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap; */
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(5, 1fr);
}



.tabs button {
  color: #1c2321;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  padding: 15px;
  /* flex-shrink: 0;
  flex-grow: 1; */
  transition: background 0.2s linear;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
}

.tabs button + button {
  /* margin-left: 16px; */
}

.tabs button:hover,
.tabs button.active {
  background: #f4f4f6;
}

.tab_content {
  position: relative;

  visibility: hidden;
  overflow: hidden;

  width: 0;
  height: 0;

  pointer-events: none;

  opacity: 0;
}

.tab_content.active {
  visibility: visible;
  overflow: visible;

  width: 100%;
  height: auto;

  transition: opacity 0.5s linear;
  pointer-events: auto;

  opacity: 1;
}

/*---------------
    Load more
---------------*/
.load_more {
  margin-top: 32px;

  text-align: center;
}

.load_more .btn {
  color: #ffb900;
  font-weight: bold;
  line-height: 100%;

  padding: 16px 32px;

  border-radius: 4px;
}

.load_more .btn span + span,
.load_more .btn.active span {
  display: none;
}

.load_more .btn.active span + span {
  display: inline;
}

/*------------
    Header
------------*/
header {
  position: relative;
  z-index: 9;
  top: 0;
  left: 0;

  width: 100%;
}

header > .close {
  position: absolute;
  top: 0;
  left: 100%;

  display: none;

  width: 50px;
  height: 50px;

  cursor: pointer;

  border: none;
  background: none;
}

header > .close:before,
header > .close:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  display: block;

  width: 50%;
  height: 2px;
  margin: auto;

  content: "";
  transform: rotate(45deg);

  background: #fff;
}

header > .close:after {
  transform: rotate(-45deg);
}

header.show > .close {
  display: block;
}

header .top {
  padding: 6px 0;

  background: #f4f4f6;
}

header .top .cont {
  position: relative;
}

header .info {
  padding: 12px 0 11px;

  border-bottom: 1px solid #f4f4f6;
}

header .info .cont {
  justify-content: space-between;
  align-items: center;
  align-content: center;
}

header .bottom {
  padding: 11px 0;

  border-bottom: 1px solid #f4f4f6;
}

header .slogan {
  font-size: 12px;
  font-weight: 600;
  line-height: 120%;

  text-align: center;
}

header .socials {
  position: absolute;
  top: 0;
  right: 24px;
  bottom: 0;

  display: flex;

  height: 24px;
  margin: auto;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

header .socials a {
  color: #ffb900;
  border: 1px solid #ffb900;

  display: flex;

  width: 24px;
  height: 24px;

  transition: background 0.2s linear;
  text-decoration: none;

  border-radius: 2px;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

header .socials a + a {
  margin-left: 8px;
}

header .socials .icon {
  display: block;

  max-width: 100%;
  max-height: 100%;
}

header .socials .twitter_link .icon {
  width: 20px;
  height: 16px;
}

header .socials .facebook_link .icon {
  width: 8px;
  height: 16px;
}

header .socials .youtube_link .icon {
  width: 18px;
  height: 14px;
}

header .socials .odnokl_link .icon {
  width: 11px;
  height: 18px;
}

header .socials a:hover {
  background: #ffb900;
  color: #fff;
}

header .logo {
  color: currentColor;
  margin-right: 15px;
  display: flex;

  width: 136px;
  max-width: 100%;

  text-decoration: none;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

header .logo img {
  display: block;

  max-width: 100%;
}

header .calc_link {
  color: #ffb900;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  display: block;

  padding: 12px 23px;

  transition: 0.2s linear;
  text-align: center;
  text-decoration: none;

  border: 1px solid #ffb900;
  border-radius: 4px;
}

header .calc_link:hover {
  color: #fff;

  border-color: #ffb900;
  background: #ffb900;
}

header .messengers {
  display: flex;

  margin-right: auto;
  margin-left: 15px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

header .messengers a {
  color: #ffb900;

  display: flex;

  width: 40px;
  height: 40px;

  transition: 0.2s linear;
  text-decoration: none;

  border: 1px solid;
  border-radius: 4px;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

header .messengers a + a {
  margin-left: 8px;
}

header .messengers .icon {
  display: block;

  max-width: 100%;
  max-height: 100%;
}

header .messengers .telegram_link .icon {
  width: 26px;
  height: 21px;
}

header .messengers .vkontakte_link .icon {
  width: 30px;
  height: 18px;
}

header .messengers .whatsapp_link .icon {
  width: 28px;
  height: 28px;
}

header .messengers a:hover {
  color: #fff;

  border-color: #ffb900;
  background: #ffb900;
}

header .contacts {
  margin-left: auto;
}

header .contacts + .contacts {
  margin-left: 32px;
}

header .contacts .email {
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;

  display: flex;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

header .contacts .email .icon {
  display: block;

  width: 16px;
  height: 16px;
  margin-right: 4px;
}

header .contacts .email a {
  color: currentColor;

  white-space: nowrap;
  text-decoration: none;
}

header .contacts .location {
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;

  display: flex;

  margin-top: 8px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

header .contacts .location .icon {
  display: block;

  width: 16px;
  height: 16px;
  margin-right: 4px;
}

header .contacts .phone {
  font-weight: bold;
  line-height: 100%;

  text-align: right;
  letter-spacing: 0.04em;
}

header .contacts .phone a {
  color: currentColor;

  white-space: nowrap;
  text-decoration: none;
}

header .contacts .time {
  color: #b0b0b0;
  font-size: 12px;
  font-weight: 500;
  line-height: 100%;

  margin-top: 4px;

  text-align: right;
}

header .contacts .callback_btn {
  color: #000;
  font-weight: bold;
  line-height: 100%;

  display: block;

  width: 100%;
  margin-top: 8px;
  padding: 11px 23px;

  transition: 0.2s linear;

  border: 1px solid #fed66a;
  border-radius: 4px;
  background: #fed66a;
}

header .contacts .callback_btn:hover {
  border-color: #ffb900;
  background: #ffb900;
}

header .menu .item {
  position: relative;
}

header .menu .item + .item {
  margin-left: 10px;
}

header .menu .item > a {
  color: var(--text_color);
  font-weight: 600;
  line-height: 100%;

  display: flex;

  padding: 8px;

  transition: color 0.2s linear;
  text-align: center;
  text-decoration: none;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

header .menu .item > a .icon {
  display: block;

  width: 16px;
  height: 16px;
  margin-left: 4px;
}

header .menu .item > a span {
  position: relative;
}

header .menu .item > a span:after {
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;

  width: 0;
  height: 2px;
  margin: auto;

  content: "";
  transition: width 0.3s linear;

  background: #ffb900;
}

header .menu .item:hover > a,
header .menu .item > a.active {
  color: #ffb900;
}

header .menu .item:hover > a span:after,
header .menu .item > a.active span:after {
  width: 100%;
}

header .menu .sub_menu {
  position: absolute;
  z-index: 9;

  visibility: hidden;

  width: 164px;
  min-width: 100%;
  padding: 8px 0;

  transition: 0.2s linear;
  pointer-events: none;

  opacity: 0;
  border: 1px solid #f4f4f6;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 8px 32px rgba(51, 51, 51, 0.08);
  list-style: none;
}

header .menu .item:hover > a.touch_link + .sub_menu {
  visibility: hidden;

  pointer-events: none;

  opacity: 0;
}

header .menu .item:hover > .sub_menu,
header .menu .sub_menu > *:hover > .sub_menu,
header .menu .item > a.touch_link + .sub_menu.show {
  visibility: visible;

  pointer-events: auto;

  opacity: 1;
}

header .menu .sub_menu.level2,
header .menu .item:hover > a.touch_link + .sub_menu.level2 {
  top: calc(100% + 28px);
  left: 0;
}

header .menu .item:hover > .sub_menu.level2,
header .menu .item > a.touch_link + .sub_menu.level2.show {
  top: calc(100% + 4px);
}

header .menu .sub_menu.level2:before {
  position: absolute;
  bottom: 100%;
  left: 0;

  display: block;

  width: 100%;
  height: 5px;

  content: "";
}
header .menu .sub_menu.level2>div{
  position: relative;
}
header .menu .sub_menu.level3 {
  top: 0;
  left: calc(100% + 32px);

  width: 224px;
}

header .menu .sub_menu > *:hover > .sub_menu.level3,
header .menu .sub_menu > * > a.touch_link + .sub_menu.level3.show {
  left: calc(100% + 16px);
}

header .menu .sub_menu.level3:before {
  position: absolute;
  top: 0;
  right: 100%;

  display: block;

  width: 17px;
  height: 100%;

  content: "";
}

header .menu .sub_menu .cols {
  display: flex;

  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

header .menu .sub_menu .cols > * + * {
  margin-top: 0;
}

header .menu .sub_menu a {
  color: currentColor;
  font-size: 14px;
  font-weight: 500;
  line-height: 16px;

  display: block;

  padding: 8px 16px;

  transition: color 0.2s linear;
  text-decoration: none;
}

header .menu .sub_menu a:hover,
header .menu .sub_menu a.active {
  color: #ffb900;
}

header .menu .sub_menu a.sub_link {
  position: relative;

  padding-right: 20px;
}

header .menu .sub_menu a.sub_link .icon {
  color: #ffb900;

  position: absolute;
  top: 12px;
  right: 16px;

  display: block;

  width: 10px;
  height: 10px;
}

/*-----------------
    Mob. header
-----------------*/
.header_wrap {
  display: none;
}

.mob_header {
  position: relative;
  z-index: 102;
  top: 0;
  left: 0;

  display: none;

  width: 100%;
  padding: 12px 0;

  background: #fff;
  box-shadow: 0 8px 32px rgba(51, 51, 51, 0.08);
}

.mob_header .cont {
  justify-content: space-between;
  align-items: center;
  align-content: center;
}

.mob_header .back_btn {
  color: #ffb900;

  display: none;

  width: 28px;
  height: 32px;
  margin-left: -8px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.mob_header .back_btn .icon {
  display: block;

  width: 16px;
  height: 16px;

  transform: rotate(180deg);
}

.sub_menu_open .mob_header .back_btn {
  display: flex;
}

.mob_header .logo {
  color: currentColor;

  display: block;

  text-decoration: none;
}

.mob_header .logo img {
  display: block;

  height: 28px;
}

.mob_header .slogan {
  color: #b0b0b0;
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;

  margin-right: auto;
  margin-left: 20px;
}

.mob_header .phone {
  font-size: 16px;
  font-weight: bold;
  line-height: 100%;

  display: none;

  margin-right: auto;
  margin-left: auto;

  white-space: nowrap;
  letter-spacing: 0.04em;
}

.mob_header .phone a {
  color: currentColor;

  text-decoration: none;
}

.mob_header .mob_menu_btn {
  color: #ffb900;

  display: flex;

  width: 48px;
  height: 38px;
  margin-right: -10px;
  padding: 10px;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.mob_header .mob_menu_btn span {
  position: relative;

  display: block;

  width: 100%;
  height: 2px;

  transition: background 0.2s linear;

  background: currentColor;
}

.mob_header .mob_menu_btn span:before,
.mob_header .mob_menu_btn span:after {
  position: absolute;
  top: -8px;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  content: "";
  transition: 0.2s linear;

  background: currentColor;
}

.mob_header .mob_menu_btn span:after {
  top: 8px;
}

.mob_header .mob_menu_btn.active span {
  background: transparent;
}

.mob_header .mob_menu_btn.active span:before {
  top: 0;

  transform: rotate(45deg);
}

.mob_header .mob_menu_btn.active span:after {
  top: 0;

  transform: rotate(-45deg);
}

.mob_header.fixed {
  position: fixed;
}

.mob_header.fixed .slogan {
  display: none;
}

.mob_header.fixed .phone {
  display: block;
}

/*---------------
    Mob. menu
---------------*/
.mob_menu {
  position: fixed;
  z-index: 101;
  top: 0;
  left: 0;

  width: 360px;
  height: 100%;
  min-height: -moz-available;
  min-height: -webkit-fill-available;
  min-height: fill-available;
  margin: 0;

  transition: transform 0.3s linear;
  transform: translateX(-100%);

  background: #fff;
  background: #fff;
}

.mob_menu.show {
  transform: translateX(0);
}

.mob_menu .scroll {
  position: relative;

  overflow: auto;

  height: calc(100% - 62px);
  margin-top: 62px;
}

.mob_menu .contacts {
  padding: 20px;
}

.mob_menu .contacts > * + * {
  margin-top: 4px;
}

.mob_menu .contacts > * {
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;

  display: flex;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.mob_menu .contacts > * .icon {
  color: #ffb900;

  display: block;

  width: 24px;
  height: 24px;
}

.mob_menu .contacts > * .icon + * {
  width: calc(100% - 32px);
  margin-left: auto;
}

.mob_menu .contacts > * a {
  color: currentColor;

  white-space: nowrap;
  text-decoration: none;
}

.mob_menu .menu {
  padding: 20px;

  background: #fed66a;
}

.mob_menu .menu .title {
  color: #1c2321;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  margin-bottom: 20px;
}

.mob_menu .menu .links .item {
  color: #1c2321;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  display: flex;

  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

.mob_menu .menu .links .item + .item {
  margin-top: 4px;
}

.mob_menu .menu .links .item a {
  color: currentColor;

  display: flex;

  margin: 0 -8px;
  padding: 8px;

  text-decoration: none;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.mob_menu .menu .links .item a .icon {
  display: block;

  width: 8px;
  height: 8px;
  margin-left: 8px;
}

.mob_menu .menu .sub_menu {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;

  display: none;
  overflow: auto;

  width: 100%;
  height: 100%;
  padding: 20px;

  background: #fed66a;
}

.mob_menu .menu .sub_menu.level3 {
  z-index: 9;
}

.mob_menu .menu .sub_menu .cols {
  display: flex;

  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

.mob_menu .menu .sub_menu .cols > * {
  width: calc(50% - 12px);
}

.mob_menu .bottom {
  padding: 32px 20px;
}

.mob_menu .socials {
  display: flex;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.mob_menu .socials a {
  color: #fff;

  display: flex;

  width: 24px;
  height: 24px;

  transition: background 0.2s linear;
  text-decoration: none;

  border-radius: 2px;
  background: #ffb900;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.mob_menu .socials a + a {
  margin-left: 8px;
}

.mob_menu .socials .icon {
  display: block;

  max-width: 100%;
  max-height: 100%;
}

.mob_menu .socials .twitter_link .icon {
  width: 20px;
  height: 16px;
}

.mob_menu .socials .facebook_link .icon {
  width: 8px;
  height: 16px;
}

.mob_menu .socials .youtube_link .icon {
  width: 18px;
  height: 14px;
}

.mob_menu .socials .odnokl_link .icon {
  width: 11px;
  height: 18px;
}

.mob_menu .socials a:hover {
  background: #ffb900;
}

.mob_menu .messengers {
  display: flex;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.mob_menu .messengers a {
  color: #ffb900;

  display: flex;

  width: 40px;
  height: 40px;

  transition: 0.2s linear;
  text-decoration: none;

  border: 1px solid;
  border-radius: 4px;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.mob_menu .messengers a + a {
  margin-left: 8px;
}

.mob_menu .messengers .icon {
  display: block;

  max-width: 100%;
  max-height: 100%;
}

.mob_menu .messengers .telegram_link .icon {
  width: 26px;
  height: 21px;
}

.mob_menu .messengers .vkontakte_link .icon {
  width: 30px;
  height: 18px;
}

.mob_menu .messengers .whatsapp_link .icon {
  width: 28px;
  height: 28px;
}

.mob_menu .messengers a:hover {
  color: #fff;

  border-color: #ffb900;
  background: #ffb900;
}

/*---------------
    Page head
---------------*/
.page_head {
  margin-bottom: 24px;
  padding-top: 24px;
}

.page_head.big_margin {
  margin-bottom: 40px;
}

.page_head.block {
  margin-bottom: 64px;
}

.breadcrumbs {
  color: #b0b0b0;
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;

  display: flex;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.breadcrumbs a {
  color: currentColor;

  text-decoration: none;
}

.breadcrumbs a:hover {
  color: #000;
}

.breadcrumbs .sep {
  display: block;

  width: 8px;
  height: 8px;
  margin: 0 4px;
}

.page_title {
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  display: block;

  margin-top: 16px;
}

.page_title span {
  color: #159c74;
}

.page_title.center {
  text-align: center;
}

.page_desc {
  margin-top: 16px;
}

/*----------------
    Block head
----------------*/
.block_head {
  display: flex;

  width: 100%;
  margin-bottom: 40px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.content .text_block h2 {
  font-size: var(--font_size_title);
  font-weight: 700;
  line-height: 100%;

  display: block;
}

.block_head .title {
  font-size: var(--font_size_title);
  font-weight: 700;
  line-height: 100%;

  display: block;
}

.block_head .title.mini {
  font-size: var(--font_size_title_mini);
}

.block_head .desc {
  color: #159c74;
  font-weight: bold;
  line-height: 100%;

  width: 100%;
  max-width: 100%;
  margin-top: 8px;
}

.block_head .desc.alignleft {
  color: var(--text_color);
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;

  width: 100%;
  max-width: 100%;
  margin-top: 16px;

  text-align: left;
}

.block_head.center {
  text-align: center;

  justify-content: center;
}

.block_head.center .title {
  width: 100%;
}

.block_head.center .desc {
  margin-right: auto;
  margin-left: auto;
}

/*------------------
    Form elements
------------------*/
.form {
  --form_border_color: #f4f4f6;
  --form_focus_color: #928f8f94;
  --form_error_color: #ff5151;
  --form_border_radius: 8px;
  --form_bg_color: #f4f4f6;
  --form_placeholder_color: #000;
}

.form ::-webkit-input-placeholder {
  color: var(--form_placeholder_color);
}

.form :-moz-placeholder {
  color: var(--form_placeholder_color);
}

.form :-ms-input-placeholder {
  color: var(--form_placeholder_color);
}

.form .columns {
  margin-left: calc(var(--form_columns_offset) * -1);

  --form_columns_offset: 16px;
}

.form .columns > * {
  width: calc(50% - var(--form_columns_offset));
  margin-left: var(--form_columns_offset);
}

.form .line {
  margin-bottom: 16px;
}

.form .label {
  font-size: 14px;
  font-weight: bold;
  line-height: 150%;

  margin-bottom: 16px;
}

.form .field {
  position: relative;
}

.form .field + .field {
  margin-top: 16px;
}

.form .input {
  /* color: var(--text_color); */
  color: #000;
  font-family: var(--font_family);
  font-size: 14px;
  font-weight: 400;
  line-height: 100%;

  display: block;

  width: 100%;
  height: 64px;
  padding: 0 15px;

  transition: border-color 0.2s linear;

  border: 1px solid var(--form_border_color);
  border-radius: var(--form_border_radius);
  background: var(--form_bg_color);
}

.form .input:-webkit-autofill {
  -webkit-box-shadow: inset 0 0 0 50px var(--form_bg_color) !important;
}

.form .input:focus,
.form textarea:focus,
.form .input:hover,
.form textarea:hover,
.form .nice-select .current:hover,
.form .nice-select.open .current {
  border-color: var(--form_focus_color);
}

.form .error,
.form .error + .nice-select .current {
  border-color: var(--form_error_color);
}

.error+span:after{
  background: #ff5151;
  content: "Введите телефон полностью";
  color: #fff;
  padding: 7px 10px;
  display: block;
  position: absolute;
  z-index: 2;
  bottom: -10px;
  right: 5px
}


.form .error_text {
  color: var(--form_error_color);
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;

  margin-top: 8px;
  display: none;
}

.form .error+.error_text{
  display: block;
} 

.form input[type="radio"] {
  display: none;
}

.form input[type="radio"] + label {
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;

  position: relative;

  display: table-cell;

  height: 20px;
  padding-left: 28px;

  cursor: pointer;
  text-align: left;
  vertical-align: middle;
}

.form input[type="radio"] + label:before {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 20px;
  height: 20px;

  content: "";

  border: 2px solid #ffb900;
  border-radius: 50%;
  background: #fff;
}

.form input[type="radio"] + label:after {
  position: absolute;
  top: 5px;
  left: 5px;

  display: block;

  width: 10px;
  height: 10px;

  content: "";
  transition: opacity 0.2s linear;

  opacity: 0;
  border-radius: 50%;
  background: #ffb900;
}

.form input[type="radio"]:checked + label:after {
  opacity: 1;
}

.form input[type="checkbox"] {
  display: none;
}

.form input[type="checkbox"] + label {
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;

  position: relative;

  display: table-cell;

  height: 20px;
  padding-left: 28px;

  cursor: pointer;
  text-align: left;
  vertical-align: middle;
}

.form input[type="checkbox"] + label a {
  color: currentColor;

  text-decoration: none;
}

.form input[type="checkbox"] + label a:hover {
  text-decoration: underline;
}

.form input[type="checkbox"] + label:before {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 20px;
  height: 20px;

  content: "";
  transition: 0.2s linear;

  border: 1px solid #ffb900;
  border-radius: 4px;
  background: #f4f4f6;
}

.form input[type="checkbox"] + label:after {
  position: absolute;
  top: 5px;
  left: 5px;

  display: block;

  width: 10px;
  height: 6px;

  content: "";
  transition: opacity 0.2s linear;
  transform: rotate(-45deg);

  opacity: 0;
  border-bottom: 2px solid #ffb900;
  border-left: 2px solid #ffb900;
}

.form input[type="checkbox"]:checked + label:after {
  opacity: 1;
}

.form input[type="checkbox"].error + label:before {
  border-color: red;
}

.form select {
  display: none;
}

.form .nice-select {
  position: relative;

  display: block;
}

.form .nice-select .current {
  color: var(--form_placeholder_color);
  font-size: 14px;
  line-height: 62px;

  position: relative;

  display: block;
  overflow: hidden;

  height: 64px;
  padding: 0 41px 0 15px;

  cursor: pointer;
  transition: 0.2s linear;
  white-space: nowrap;
  text-overflow: ellipsis;

  border: 1px solid var(--form_border_color);
  border-radius: var(--form_border_radius);
  background: var(--form_bg_color);
}

.form .nice-select .current.selected {
  color: var(--text_color);
}

.form .nice-select .list {
  position: absolute;
  z-index: 9;
  top: calc(100% + 30px);
  left: 0;

  visibility: hidden;
  overflow: hidden;

  min-width: 100%;
  padding: 8px 0;

  transition: 0.2s linear;

  opacity: 0;
  border: 1px solid var(--form_border_color);
  border-radius: var(--form_border_radius);
  background: var(--form_bg_color);
}

.form .nice-select.open .list {
  top: calc(100% + 4px);

  visibility: visible;

  opacity: 1;
}

.form .nice-select .list .list_item {
  font-size: 14px;

  padding: 8px 15px;

  cursor: pointer;
  transition: 0.2s linear;
}

.form .nice-select .list .list_item:empty {
  display: none;
}

.form .nice-select .list .list_item:hover,
.form .nice-select .list .list_item.selected {
  color: #ffb900;
}

.form .nice-select ~ .icon {
  color: #ffb900;

  position: absolute;
  z-index: 8;
  top: 0;
  right: 16px;
  bottom: 0;

  display: block;

  width: 16px;
  height: 16px;
  margin: auto;

  pointer-events: none;
}

.form .submit_btn {
  font-weight: 600;
  line-height: 100%;

  display: block;

  width: 100%;
  padding: 16px;

  transition: background 0.2s linear;

  border-radius: 8px;
  background: #ffb900;
}

.form .submit_btn:hover {
  background: #ffcf51;
}

/*----------------
    Typography
----------------*/
.text_block {
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;
}

.text_block > * {
  margin-bottom: 20px;
}

.text_block > :last-child {
  margin-bottom: 0 !important;
}

.text_block > :first-child {
  margin-top: 0 !important;
}

.text_block h2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  margin-bottom: 16px;
}

.text_block * + h2 {
  margin-top: 24px;
}

.text_block h2 + * {
  margin-top: 0 !important;
}

.text_block img {
  display: block;

  max-width: 100%;
}

.text_block img.loaded {
  height: auto !important;
}

.text_block ul {
  padding-left: 20px;
}

.text_block ul li {
  position: relative;

  display: block;
  overflow: hidden;

  padding-left: 20px;

  list-style-type: none;
}

.text_block ul li + li {
  margin-top: 4px;
}

.text_block ul li:before {
  position: absolute;
  top: 8px;
  left: 0;

  display: block;

  width: 4px;
  height: 4px;

  content: "";

  border-radius: 50%;
  background: currentColor;
}

.text_block ol {
  padding-left: 20px;

  counter-reset: li;
}

.text_block ol li {
  position: relative;

  display: block;
  overflow: hidden;

  padding-left: 20px;

  list-style-type: none;
}

.text_block ol li + li {
  margin-top: 4px;
}

.text_block ol li:before {
  position: absolute;
  top: 0;
  left: 0;

  content: counter(li) ".";
  counter-increment: li;
}
.text_block a,
.price_list table td a {
  color: #000;
}

/*-------------------
    First section
-------------------*/
.first_section {
  position: relative;
  z-index: 3;

  overflow: hidden;

  background: linear-gradient(
    266.84deg,
    #f4f4f6 43.32%,
    rgba(255, 255, 255, 0) 75.26%
  );
}

.first_section .info {
  position: relative;
  z-index: 3;

  width: 532px;
  max-width: 100%;
  min-height: 350px;
  padding-top: 75px;
  padding-bottom: 82px;
}

.first_section .info:before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: -140px;

  display: block;

  width: 1062px;
  height: 100%;

  content: "";

  background: url(../images/bg_first_section.png) 100% 50% / cover no-repeat;
}

.first_section .info .title {
  color: #1c2321;
  font-size: 36px;
  font-weight: 800;
  line-height: 120%;

  text-shadow: 2px 4px 0 rgba(51, 51, 51, 0.04);
}

.first_section .info .btn {
  font-weight: 600;
  line-height: 100%;

  margin-top: 16px;
  padding: 16px 24px;

  border-radius: 8px;
  background: #ffb900;
  box-shadow: 0 2px 0 #b58b1f;
}

.first_section .info .btn:hover {
  background: #ffcf51;
}

.first_section .img {
  position: absolute;
  z-index: 5;
  /* bottom: 18px; */
  bottom: 0;
  left: 50%;

  display: block;

  /* width: 462px;
  height: 249px; */
  width: auto;
  height: 100%;
  /* margin-left: -24px; */
  margin-left: -194px;

  pointer-events: none;
}

/*----------------
    Price list
----------------*/
.price_list .data {
  display: flex;

  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
  flex-wrap: wrap;
}

.price_list .tabs {
  /* display: flex;
  flex-direction: row;
  justify-content: space-between; */
  /* width: 228px; */
  width: 100%;
  max-width: 100%;
  /* margin: 0 0 16px; */
}

.price_list .tabs button {
  color: #159c74;
  /* display: block; */

  /* width: auto; */
  height: 60px;
  box-sizing: border-box;
  display: block;
  text-align: left;
}

.price_list .tabs button + button {
  /* margin-top: 16px; */
  /* margin-left: 16px; */
}

.price_list .tab_content.active {
  width: calc(100% - 204px);
  /* margin-left: 40px; */
}

.price_list .table_wrap {
  overflow: auto;

  border-radius: 8px;
  background: #fff;

  filter: drop-shadow(0px 8px 32px rgba(51, 51, 51, 0.08));
}

.modal .price_list .table_wrap {
  display: none;
}

.price_list .data > .table_wrap {
  width: calc(100% - 332px);
}

.price_list .data > .table_wrap.big_w {
  width: calc(100% - 204px);
}

.price_list .data > .table_wrap table td:last-child {
  width: 224px;

  table-layout: fixed;
}

.price_list table {
  width: 100%;

  border-spacing: 0;
  border-collapse: collapse;
}

.price_list table th {
  color: #1c2321;
  font-size: 14px;
  font-weight: bold;
  line-height: 100%;

  height: 64px;
  padding: 8px 15px;

  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  background: linear-gradient(180deg, #ffb900 0%, #ffb900 100%);
}
.modal_data .price_list table th {
  background: #159c74;
  color: #fff;
}


.price_list table td {
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;

  padding: 8px 16px;
  white-space: nowrap;
  transition: background 0.2s linear;
  text-align: center;
  vertical-align: middle;
}

.price_list table tbody tr:hover td {
  background: #f4f4f6;
}

.price_list table .amount {
  display: flex;

  justify-content: flex-end;
  align-items: center;
  align-content: center;
}

.price_list table .amount button {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 32px;

  display: block;

  width: 32px;
  height: 32px;

  transition: background 0.2s linear;

  border-radius: 4px;
  background: #ffb900;
}

.price_list table .amount button:hover {
  background: #ffcf51;
}


@media (max-width: 740px) {
  /* .price_list table{
      width: 100%;
      max-width: 100%;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      position: relative;
  } */
  /* .price_list table tr{
      display: grid;
      grid-template-columns: 40% 30% 30%;
  }
  .price_list table tr td:nth-child(2){
      grid-row: span 2;
      display: flex;
      flex-direction: column;
      justify-content: center;
  }
  .price_list table tr td{
      
      display:block;
      position: relative;
      box-sizing: border-box;
  }
  .price_list table tr td .amount .input{
      width: 40px;
  } */
  /* .price_list table tr td:nth-child(1){order: 1; }
  .price_list table tr td:nth-child(2){order: 3;}
  .price_list table tr td:last-child{order: 2;}
  .price_list table tr td:nth-child(4){
    order: 4;
    
  } */
  /* .price_list table .amount{
    justify-content: center;
  }
  
  
  .price_list table tr th:nth-child(2), .price_list table tr th:nth-child(3){
      grid-row: span 2;
      display: flex;
      flex-direction: column;
      justify-content: center;
      
  }
  .price_list table tr th{
      display:block;
      align-items: center;
      padding-left: 0;
      padding-right: 0;
      height: auto;
      font-size: 11px;
      box-sizing: border-box;
      
  } */
  /* .price_list table tr th:nth-child(1){order: 1; justify-content: flex-end; padding-bottom: 2px;}
  .price_list table tr th:nth-child(2){order: 3;}
  .price_list table tr th:last-child{order: 2;}
  .price_list table tr th:nth-child(4){
      order: 4;
      padding-top: 2px;
  } */
}




.price_list table .amount .input {
  color: var(--text_color);
  font-family: var(--font_family);
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  display: block;

  width: 64px;
  height: 32px;
  padding: 0 12px;

  text-align: center;

  border: none;
  background: none;
}

.price_list .totals {
  display: flex;

  margin-top: 24px;

  justify-content: flex-end;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.price_list .totals .price .name {
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;
}

.price_list .totals .price .val {
  color: #159c74;
  font-size: 14px;
  font-weight: bold;
  line-height: 100%;

  margin-top: 4px;
}

.price_list .totals .buy_btn {
  color: #fff;
  font-weight: 600;
  line-height: 100%;

  display: block;

  width: 148px;
  margin-left: 16px;
  padding: 8px 16px;

  transition: background 0.2s linear;

  border-radius: 4px;
  background: #ffb900;
}

.price_list .totals .buy_btn:hover {
  background: #ffb900;
}

.price_list .col_right {
  width: 180px;
  max-width: 100%;
}

.price_list .data > .col_right {
  margin-right: auto;
  margin-left: 24px;
}
.price_list .cart_informer {
  display: none;
}
.price_list .cart_informer.active {
  margin-top: 64px;
  padding: 16px;
  display: block;
  border-radius: 8px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

.price_list .cart_informer .item + .item {
  margin-top: 16px;
}

.price_list .cart_informer .item .name {
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;
}

.price_list .cart_informer .item .val {
  color: #159c74;
  font-weight: bold;
  line-height: 100%;

  margin-top: 8px;
}

.price_list .cart_informer .order_btn {
  color: #1c2321;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  display: block;

  width: 100%;
  margin-top: 24px;
  padding: 8px 16px;

  transition: 0.2s linear;

  border-radius: 4px;
  background: #fed66a;
}

.price_list .cart_informer .order_btn:hover {
  background: #ffb900;
}

/*------------
    Scheme
------------*/
.schema .row {
  margin-bottom: -20px;
  margin-left: -80px;

  align-items: stretch;
  align-content: stretch;
}

.schema .row > * {
  width: calc(33.333% - 80px);
  margin-bottom: 20px;
  margin-left: 80px;
}

.schema .types {
  display: flex;

  margin-bottom: 24px;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.schema .types .btn {
  color: #1c2321;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  padding: 15px;

  transition: background 0.2s linear;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
}

.schema .types .btn + .btn {
  margin-left: 16px;
}

.schema .types .btn:hover,
.schema .types .btn.active {
  background: #fed66a;
}

.schema .sep {
  color: #b1d8ff;

  display: block;

  width: 20px;
  height: 24px;
  margin: 0 -50px 20px 30px;

  align-self: center;
}

.schema .step:nth-child(5n) + .sep {
  display: none;
}

.schema .step {
  position: relative;

  padding: 23px;

  text-align: center;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
}

.schema .step .icon {
  color: #ffffff;

  display: flex;

  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  padding: 16px;

  transition: 0.2s linear;

  border-radius: 24px;
  background: #159c74;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.schema .step .icon > * {
  display: block;

  max-width: 100%;
  max-height: 100%;
}

.schema .step .name {
  font-weight: bold;
  line-height: 100%;

  transition: color 0.2s linear;
}

.schema .step .desc {
  font-size: 14px;
  font-weight: 500;
  line-height: 120%;

  width: 224px;
  max-width: 100%;
  margin: 8px auto 0;

  transition: color 0.2s linear;
}

.schema .step.disabled .icon {
  color: #b0b0b0;

  background: #f4f4f6;
}

.schema .step.disabled .name,
.schema .step.disabled .desc {
  color: #b0b0b0;
}

/*------------
    Stocks
------------*/
.stocks .list > * + * {
  margin-top: 16px;
}

.stocks .item {
  display: flex;

  padding: 23px;

  border: 1px solid #f4f4f6;
  border-radius: 8px;

  justify-content: space-between;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.stocks .item .thumb {
  overflow: hidden;

  width: 128px;
  height: 64px;

  border-radius: 4px;
  background: #ddd;
}

.stocks .item .thumb img {
  display: block;

  width: 100%;
  height: 100%;

  border-radius: inherit;

  object-fit: cover;
}

.stocks .item .name {
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  width: calc(100% - 160px);

  align-self: center;
}

/*---------------
    Materials
---------------*/
.materials .row {
  margin-bottom: -24px;
  margin-left: -32px;

  justify-content: center;
}

.materials .row > * {
  width: calc(33.333% - 32px);
  margin-bottom: 24px;
  margin-left: 32px;
}

.materials .item {
  color: currentColor;

  display: block;
  cursor: zoom-in;
  text-decoration: none;
}

.materials .item .thumb {
  position: relative;

  overflow: hidden;

  padding-bottom: 71.91%;

  border-radius: 8px;
  background: #ddd;
}

.materials .item .thumb img:not(.icon) {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  border-radius: inherit;

  object-fit: cover;
}
.materials .item .thumb:hover{
  box-shadow: 0px 0px 10px hsla(0, 0%, 0%, 0.3);
}
.materials .item .icon {
  position: absolute;
  z-index: 3;

  width: 164px;
  height: 116px;
  margin: auto;

  inset: 0;
}

.materials .item.video_link {
  width: calc(50% - 32px);
}

.materials .item.video_link .thumb {
  padding-bottom: 56.36%;
}

/*-------------------
    Search result
-------------------*/
.search_head {
  margin-bottom: 24px;
}

.search_result .result {
  counter-reset: item;
}

.search_result .result > * + * {
  margin-top: 8px;
}

.search_result .result .item {
  position: relative;

  display: inline-block;

  padding: 7px 15px 7px 39px;

  transition: 0.2s linear;
  vertical-align: top;

  border: 1px solid transparent;
}

.search_result .result .item-count {
  color: var(--text_color);
  font-weight: bold;

  position: absolute;
  top: 5px;
  left: 15px;

  content: counter(item) ".";
  counter-increment: item;
}

.search_result .result .item .name {
  color: #159c74;
  font-weight: bold;
  line-height: 100%;
}

.search_result .result .item .name a {
  color: currentColor;

  text-decoration: none;
}

.search_result .result .item:hover {
  border-color: #f4f4f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

/*----------------
    Categories
----------------*/
.categories .block_title {
  color: #b0b0b0;
  font-weight: bold;
  line-height: 100%;

  margin-bottom: 16px;
}

.categories .tabs {
  display: flex;

  margin-bottom: 0;
  margin-left: -32px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.categories .tabs > * {
  width: calc(25% - 32px);
  margin-bottom: 24px;
  margin-left: 32px;
}

.categories .row {
  margin-bottom: -32px;
  margin-left: -32px;

  align-items: stretch;
  align-content: stretch;
}

.categories .row.center {
  justify-content: center;
}

.categories .row > * {
  width: calc(20% - 32px);
  margin-bottom: 32px;
  margin-left: 32px;
}

.categories .item {
  color: currentColor;
  font-size: 14px;
  font-weight: bold;
  line-height: 100%;

  display: block;
  overflow: hidden;

  transition: 0.2s linear;
  text-align: center;
  text-decoration: none;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
}

.categories .item .thumb {
  position: relative;

  overflow: hidden;

  padding-bottom: 100%;

  background: #ddd;
}

.categories .item .thumb img {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.categories .item .name {
  padding: 16px 15px 15px;
}

.categories .item:hover {
  color: #ffb900;

  box-shadow: 0 8px 32px rgba(51, 51, 51, 0.4);
}

/*-------------------
    Contacts info
-------------------*/
.contacts_info .row {
  align-items: stretch;
  align-content: stretch;
  justify-content: space-between;
}

.contacts_info .data {
  /* width: 350px; */
  max-width: 100%;
}

.contacts_info .item + .item {
  margin-top: 16px;
}

.contacts_info .item {
  padding: 15px 31px;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 32px rgba(51, 51, 51, 0.08);
}

.contacts_info .item .name {
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
}

.contacts_info .item .val {
  color: #ffb900;
  font-weight: bold;
  line-height: 100%;

  margin-top: 8px;
}

.contacts_info .item .val a {
  color: currentColor;

  /* white-space: nowrap; */
  text-decoration: none;
}

.contacts_info .map_wrap {
  position: relative;

  overflow: hidden;

  width: calc(100% - 415px);
  /* margin-left: auto; */
  /* transform: translateZ(0); */

  border-radius: 8px;
  background: #ddd;
}

.contacts_info .map_wrap .map {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}

.contacts_info .map_wrap .map iframe {
  width: 100%;
  height: 100%;
}

/*----------
    Calc
----------*/
.calc {
  padding-bottom: 31px;
}

.calc .form {
  display: flex;

  border: 1px solid #f4f4f6;
  border-radius: 8px;

  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

.calc .form .col_left {
  width: calc(50% - 22px);
  padding: 31px;
  margin: auto;
}

.calc .form .col_left > *:last-child {
  margin-bottom: 0;
}

.calc .form .col_right {
  width: calc(50% + 7px);
  margin: -1px -1px -32px 0;
}

.calc .form .call {
  padding: 31px;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

.calc .form .call .title {
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  margin-bottom: 16px;
}

.calc .form .call .desc {
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;

  margin-bottom: 8px;
}

.calc .form .call .phone {
  color: #159c74;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;
}

.calc .form .call .phone a {
  color: currentColor;

  white-space: nowrap;
  text-decoration: none;
}

.calc .form .total {
  display: flex;

  margin-top: 16px;
  padding: 31px;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);

  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

.calc .form .total .item {
  margin-bottom: 24px;
}

.calc .form .total .item + .item {
  margin-left: 64px;
}

.calc .form .total .item .name {
  color: #b0b0b0;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
}

.calc .form .total .item .val {
  font-weight: bold;
  line-height: 100%;

  margin-top: 8px;
}

.calc .form .total .item .val.blue {
  color: #159c74;
}

.calc .form .total .line,
.calc .form .total .submit {
  width: 100%;
}

/*-----------------
    Action form
-----------------*/
.action_form {
  position: relative;
}

.action_form .form {
  position: relative;

  width: 547px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 31px;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

.action_form .form .submit {
  padding-top: 8px;
}

.action_form .form .agree {
  margin-top: 16px;
}

.action_form .contacts {
  position: absolute;
  top: 96px;
  right: 50%;

  margin-right: -564px;
  padding: 31px;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

.action_form .contacts .item + .item {
  margin-top: 24px;
}

.action_form .contacts .name {
  color: #b0b0b0;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
}

.action_form .contacts .val {
  color: #159c74;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  margin-top: 8px;
}

.action_form .contacts .val a {
  color: currentColor;

  white-space: nowrap;
  text-decoration: none;
}

/*----------------
    Advantages
----------------*/
.advantages .row {
  margin-bottom: -32px;
  margin-left: -32px;

  align-items: stretch;
  align-content: stretch;
  justify-content: center;
}

.advantages .row > * {
  width: calc(25% - 32px);
  margin-bottom: 32px;
  margin-left: 32px;
}

.advantages .item {
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  padding: 23px;

  text-align: center;

  border: 1px solid #f4f4f6;
  border-radius: 4px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

.advantages .item .icon {
  display: flex;

  width: 64px;
  height: 64px;
  margin: 0 auto 16px;

  border-radius: 16px;
  background: #159c74;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}
.advantages .item .icon img {
  display: block;
}

/*--------------
    Autopark
--------------*/
.autopark .row {
  margin-bottom: -48px;
  margin-left: -32px;

  justify-content: center;
}

.autopark .row > * {
  width: calc(33.333% - 32px);
  margin-bottom: 48px;
  margin-left: 32px;
}

.autopark .item {
  text-align: center;
}

.autopark .item .thumb {
  position: relative;

  width: 200px;
  height: 200px;
  margin: 0 auto 16px;

  border-radius: 50%;
  background: #fed66a;
}

.autopark .item .thumb div {
  position: absolute;
  left: -55px;

  display: flex;

  width: calc(100% + 110px);
  height: 100%;
  margin: auto;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.autopark .item .thumb img {
  display: block;

  max-width: 100%;
  max-height: 100%;
}

.autopark .item .count {
  color: #b0b0b0;
  font-weight: 500;
  line-height: 100%;

  position: relative;

  height: 24px;
  padding-bottom: 7px;
}

.autopark .item .count:after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;

  display: block;

  width: 32px;
  height: 1px;
  margin: auto;

  content: "";

  background: #b0b0b0;
}

.autopark .item .name {
  font-weight: bold;
  line-height: 100%;

  margin-top: 8px;
}

/*-----------
    Stats
-----------*/
.stats .row {
  margin-bottom: -72px;
  margin-left: -32px;
  padding-top: 24px;
  padding-bottom: 24px;

  align-items: stretch;
  align-content: stretch;
  justify-content: center;
}

.stats .row > * {
  width: calc(33.333% - 32px);
  margin-bottom: 72px;
  margin-left: 32px;
}

.stats .item {
  position: relative;

  padding: 2px;

  text-align: center;

  background: #ffb900;
}

.stats .item > div {
  display: flex;

  height: 124px;

  background: var(--bg);

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.stats .item .name {
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;

  position: absolute;
  top: -17px;

  padding: 0 8px;

  background: var(--bg);
}

.stats .item .name ~ .name {
  top: auto;
  bottom: -8px;
}

.stats .item .val {
  font-size: 48px;
  font-weight: bold;
  line-height: 100%;

  width: 100%;
}

/*-------------------
    Video reviews
-------------------*/
.video_reviews .row {
  margin-bottom: -32px;
  margin-left: -32px;

  justify-content: center;
}

.video_reviews .row > * {
  width: calc(33.333% - 32px);
  margin-bottom: 32px;
  margin-left: 32px;
}

.video_reviews .item {
  color: currentColor;

  display: block;
  box-shadow: -2px 8px 32px rgb(51 51 51 / 8%);
  text-decoration: none;
}

.video_reviews .item .thumb {
  position: relative;

  overflow: hidden;

  padding-bottom: 56.18%;

  border-radius: 8px;
  background: #ddd;
}

.video_reviews .item .thumb img:not(.icon) {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  border-radius: inherit;

  object-fit: cover;
}

.video_reviews .item .icon {
  position: absolute;
  z-index: 3;

  width: 96px;
  height: 68px;
  margin: auto;

  inset: 0;
}

/*-----------
    Certs
-----------*/
.certs .row {
  margin-bottom: -32px;
  margin-left: -32px;

  justify-content: center;
}

.certs .row > * {
  width: calc(33.333% - 32px);
  margin-bottom: 32px;
  margin-left: 32px;
}

.certs .item {
  color: currentColor;

  display: block;

  text-decoration: none;
}

.certs .item img {
  display: block;

  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.certs .links {
  display: flex;

  margin-top: 40px;
  margin-bottom: -24px;
  margin-left: -24px;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.certs .links > * {
  width: calc(16.666% - 24px);
  margin-bottom: 24px;
  margin-left: 24px;
}

.certs .links a {
  cursor: pointer;
  color: #1c2321;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  display: flex;

  padding: 16px 32px;

  transition: 0.2s linear;
  text-decoration: none;

  border-radius: 8px;
  background: #fed66a;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.certs .links a .icon {
  display: block;

  width: 16px;
  height: 16px;
  margin-left: 8px;
}

.certs .links a:hover {
  background: #ffb900;
}

/*--------------
    Delivery
--------------*/
.delivery .map_wrap {
  position: relative;

  overflow: hidden;

  height: 456px;

  transform: translateZ(0);

  border-radius: 8px;
  background: #ddd;
}

.delivery .map_wrap .map {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}

.delivery .regions_link {
  margin-top: 32px;

  text-align: center;
}

.regions_row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0px;
}

.delivery .regions_link a {
  color: #1c2321;
  font-weight: bold;
  line-height: 100%;

  display: inline-block;

  padding: 16px 32px;

  transition: background 0.2s linear;
  vertical-align: top;
  text-decoration: none;

  border-radius: 4px;
  background: #fed66a;
  box-shadow: 0 8px 32px rgba(51, 51, 51, 0.4);
}

.delivery .regions_link a:hover {
  background: #ffb900;
}

/*-------------------
    Order methods
-------------------*/
.order_methods .row {
  margin-bottom: -32px;
  margin-left: -32px;

  align-items: stretch;
  align-content: stretch;
  justify-content: center;
}

.order_methods .row > * {
  width: calc(27% - 32px);
  margin-bottom: 32px;
  margin-left: 32px;
}

.order_methods .item {
  padding: 15px 31px;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

.order_methods .item .name {
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
}

.order_methods .item .val {
  color: #159c74;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  margin-top: 8px;
}

.order_methods .item .val a {
  color: currentColor;

  white-space: nowrap;
  text-decoration: none;
}

.order_methods .order_btn {
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  padding: 15px 31px;

  transition: background 0.2s linear;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #ffb900;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

.order_methods .order_btn:hover {
  background: #ffcf51;
}

/*--------------
    Articles
--------------*/
.articles .row {
  margin-bottom: -32px;
  margin-left: -32px;

  align-items: stretch;
  align-content: stretch;
}

.articles .row > * {
  width: calc(33.333% - 32px);
  margin-bottom: 32px;
  margin-left: 32px;
}

.articles .article {
  overflow: hidden;

  border-radius: 8px;
  background: #f4f4f6;
}

.articles .article .thumb {
  position: relative;

  display: block;
  overflow: hidden;

  padding-bottom: 50%;

  border-radius: 0 0 4px 4px;
  background: #ddd;
}

.articles .article .thumb img {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  border-radius: inherit;

  object-fit: cover;
}

.articles .article .info {
  padding: 24px;
}

.articles .article .name {
  font-weight: bold;
  line-height: 100%;
}

.articles .article .name a {
  color: currentColor;

  transition: color 0.2s linear;
  text-decoration: none;
}

.articles .article .thumb:hover ~ .info .name,
.articles .article .name a:hover {
  color: #ffb900;
}

.articles .article .desc {
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;

  margin-top: 8px;
}

.articles .article .details_link {
  color: #ffb900;
  font-weight: 600;
  line-height: 100%;

  display: flex;

  margin-top: 16px;

  justify-content: flex-end;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

.articles .article .details_link a {
  color: currentColor;

  display: flex;

  text-decoration: none;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.articles .article .details_link a .icon {
  display: block;

  width: 16px;
  height: 16px;
  margin-left: 8px;
}

.articles .all_link {
  margin-top: 24px;

  text-align: center;
}

.articles .all_link a {
  color: #fff;
  font-weight: bold;
  line-height: 100%;

  display: inline-block;

  padding: 16px 32px;

  transition: background 0.2s linear;
  vertical-align: top;
  text-decoration: none;

  border-radius: 4px;
  background: #ffb900;
  box-shadow: 0 8px 32px rgba(51, 51, 51, 0.4);
}

.articles .all_link a:hover {
  background: #ffb900;
}

/*----------------------
    Our achievements
----------------------*/
.our_achievements .row {
  justify-content: space-between;
}

.our_achievements .video_link {
  color: currentColor;

  display: block;

  width: calc(50% - 16px);

  text-decoration: none;
}

.our_achievements .video_link .thumb {
  position: relative;

  overflow: hidden;

  padding-bottom: 56.18%;

  border-radius: 8px;
  background: #ddd;
}

.our_achievements .video_link .thumb img:not(.icon) {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  border-radius: inherit;

  object-fit: cover;
}

.our_achievements .video_link .icon {
  position: absolute;
  z-index: 3;

  width: 164px;
  height: 116px;
  margin: auto;

  inset: 0;
}

.our_achievements .info {
  width: calc(50% - 16px);
  padding-top: 36px;
}

.our_achievements .info .title {
  font-weight: bold;
  line-height: 100%;
}

.our_achievements .info .desc {
  font-weight: 500;
  font-style: italic;
  line-height: 150%;

  margin-top: 8px;
}

/*--------------
    Products
--------------*/
.products .row {
  margin-bottom: -32px;
  margin-left: -32px;

  align-items: stretch;
  align-content: stretch;
  justify-content: center;
}

.products .row > * {
  width: calc(33.333% - 32px);
  margin-bottom: 32px;
  margin-left: 32px;
}

.products .product {
  color: currentColor;

  display: block;

  padding: 23px;

  transition: 0.2s linear;
  text-align: center;
  text-decoration: none;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 32px rgba(51, 51, 51, 0.08);
}

.products .product .name {
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;
}

.products .product .price {
  color: #b0b0b0;
  font-weight: bold;
  line-height: 100%;

  margin-top: 16px;
}

.products .product:hover {
  border-color: #fed66a;
  background: #fed66a;
}

.products .product:hover .name,
.products .product:hover .price {
  color: #1c2321;
}

.product-controls {
  width: 100%;
  display: flex;
  justify-content: center;
}

/*------------------
    Product info
------------------*/
.product_info {
  margin-bottom: 32px;
}

.product_info .cont {
  justify-content: space-between;
}

.product_info .slider {
  overflow: hidden;

  width: calc(50% - 16px);
  margin: 0;

  border-radius: 4px;
}

.product_info .slider .slide {
  overflow: hidden;

  border-radius: 4px;
}

.product_info .slider .thumb {
  position: relative;

  display: block;
  overflow: hidden;

  padding-bottom: 53.82%;

  border-radius: 4px;
  background: #ddd;
}

.product_info .slider .thumb img {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.product_info .data {
  position: relative;

  display: flex;

  width: calc(50% - 16px);
  min-height: 296px;
  margin-left: auto;
  padding-bottom: 64px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.product_info .data .product_name {
  font-size: 32px;
  font-weight: bold;
  line-height: 100%;

  display: block;

  width: 100%;
}

.product_info .data .price {
  font-weight: bold;
  line-height: 100%;

  margin-top: 16px;
  padding: 8px 16px;

  white-space: nowrap;

  border-radius: 4px;
  background: #fed66a;
}

.product_info .data .status {
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  display: flex;

  margin-top: 16px;
  margin-left: auto;
  padding: 4px 8px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.product_info .data .status .icon {
  display: block;

  width: 24px;
  height: 24px;
  margin-right: 4px;
}

.product_info .data .status.green {
  color: #18b787;
}

.product_info .data .desc {
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;

  width: 100%;
  margin-top: 16px;
}

.product_info .data .buy_btn {
  color: #1c2321;
  font-weight: bold;
  line-height: 100%;

  position: absolute;
  bottom: 0;
  left: 0;

  height: 40px;
  padding: 7px 23px;

  transition: background 0.2s linear;

  border: 1px solid #fed66a;
  border-radius: 4px;
  background: #fed66a;
  box-shadow: 0 8px 32px rgba(51, 51, 51, 0.08);
}

.product_info .data .buy_btn:hover {
  background: #ffb900;
}

/*------------------
    Product tabs
------------------*/
.product_tabs .tabs {
  margin-bottom: 48px;
  margin-left: -32px;

  justify-content: flex-start;
}

.product_tabs .tabs button {
  color: #b0b0b0;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;

  margin-left: 32px;
  padding: 0 0 6px;

  transition: color 0.2s linear;

  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
}

.product_tabs .tabs button:hover {
  color: #ffb900;
}

.product_tabs .tabs button.active {
  color: #ffb900;

  border-color: #ffb900;
}

.product_tabs .action_form {
  margin-top: 64px;
}

/*---------------------
    Payment methods
---------------------*/
.payment_methods .row {
  margin-bottom: -32px;
  margin-left: -32px;

  align-items: stretch;
  align-content: stretch;
  justify-content: center;
}

.payment_methods .row > * {
  width: calc(33.333% - 32px);
  margin-bottom: 32px;
  margin-left: 32px;
}

.payment_methods .item {
  color: currentColor;
  font-size: 14px;
  font-weight: bold;
  line-height: 100%;

  display: block;
  overflow: hidden;

  text-decoration: none;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
}

.payment_methods .item .thumb {
  position: relative;

  overflow: hidden;

  padding-bottom: 120px;

  background: #ddd;
}

.payment_methods .item .thumb img {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.payment_methods .item .name {
  padding: 16px 15px 15px;
}

/*------------
    Footer
------------*/
footer {
  padding: 64px 0;

  background: #f4f4f6;
}

footer .cont {
  justify-content: space-between;
}

footer .logo img {
  display: block;
}

footer .location {
  font-size: 12px;
  font-weight: bold;
  line-height: 150%;

  margin-top: 16px;
}

footer .requisites {
  font-size: 12px;
  font-weight: bold;
  line-height: 150%;

  margin-top: 8px;
}

footer .time {
  font-size: 12px;
  font-weight: bold;
  line-height: 150%;

  margin-top: 24px;
}

footer .title {
  color: #b0b0b0;
  font-weight: bold;
  line-height: 100%;

  margin-bottom: 16px;
}

footer .links .items {
  font-size: 12px;
  font-weight: 600;
  line-height: 100%;
  list-style: none;
}

footer .links .items.columns {
  column-gap: 32px;
  column-count: 2;
}

footer .links .items.columns > * {
  transform: translateZ(0);

  --webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}

footer .links .items > * + * {
  margin-top: 16px;
}

footer .links .items a {
  color: currentColor;

  transition: color 0.2s linear;
  text-decoration: none;
}

footer .links .items a:hover,
footer .links .items a.active {
  color: #ffb900;
}

footer .col_right {
  width: 347px;
  max-width: 100%;
}

.search {
  width: 100%;
}

.search form {
  position: relative;

  display: flex;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.search form ::-webkit-input-placeholder {
  color: #b0b0b0;
}

.search form :-moz-placeholder {
  color: #b0b0b0;
}

.search form :-ms-input-placeholder {
  color: #b0b0b0;
}

.search form .input {
  color: var(--text_color);
  font-family: var(--font_family);
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;

  display: block;

  width: 100%;
  height: 64px;
  padding: 0 19px 0 51px;

  border: 1px solid #f4f4f6;
  border-radius: 8px;
  background: #fff;
}

.search form .submit_btn {
  color: #b0b0b0;

  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;

  display: flex;

  width: 24px;
  height: 24px;
  margin: auto;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.search form .submit_btn .icon {
  display: block;
}

footer .socials {
  font-size: 12px;
  font-weight: 500;
  line-height: 150%;

  margin-top: 16px;
}

footer .socials .items {
  display: flex;

  margin-top: 8px;

  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

footer .socials a {
  color: #ffb900;
  border: 1px solid #ffb900;

  display: flex;

  width: 32px;
  height: 32px;

  transition: background 0.2s linear;
  text-decoration: none;

  border-radius: 2px;

  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

footer .socials a + a {
  margin-left: 8px;
}

footer .socials .icon {
  display: block;

  max-width: 100%;
  max-height: 100%;
}

footer .socials .twitter_link .icon {
  width: 24px;
  height: 19px;
}

footer .socials .vkontakte_link .icon {
  width: 24px;
  height: 14px;
}

footer .socials .instagram_link .icon {
  width: 24px;
  height: 24px;
}

footer .socials .facebook_link .icon {
  width: 11px;
  height: 22px;
}

footer .socials .youtube_link .icon {
  width: 24px;
  height: 19px;
}

footer .socials .odnokl_link .icon {
  width: 14px;
  height: 22px;
}

footer .socials a:hover {
  background: #ffb900;
  color: #fff;
}

/*-----------
    PopUp
-----------*/
.modal {
  display: none;
  visibility: visible !important;

  width: 776px;
  max-width: 100%;
  padding: 48px 56px 32px;

  border: 1px solid #f4f4f6;
  border-radius: 16px;
  background: #fff;
  box-shadow: -2px 8px 32px rgba(51, 51, 51, 0.08);
}

.modal_title {
  color: #1b1b1b;
  font-size: 24px;
  font-weight: bold;
  line-height: 120%;

  margin-bottom: 32px;

  text-align: center;
}

.modal_title span {
  color: #159c74;
}

#order_modal .form {
  display: flex;

  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

#order_modal .form .line {
  width: calc((100% - 272px) / 2);
  margin: 0;
}

#order_modal .form .submit {
  width: 232px;
  max-width: 100%;
  margin-left: 8px;
}

#order_modal .form .submit_btn {
  font-size: 16px;
  font-weight: 600;
  line-height: 100%;

  min-height: 64px;
  padding: 16px;

  border-radius: 8px;
  box-shadow: 0 8px 32px #ffdb7c;
}

#order_modal .form .submit_btn small {
  font-size: 12px;
  line-height: 100%;

  display: block;

  width: 100%;
  margin-top: 4px;
}

#order_modal .cart {
  margin-top: 32px;
}

#order_modal .cart .title {
  font-weight: bold;
  line-height: 100%;

  margin-bottom: 16px;
}

#order_modal .cart .table_wrap ~ .table_wrap {
  margin-top: 32px;
}

#order_modal .cart .total_price {
  font-weight: bold;
  line-height: 100%;

  display: flex;

  margin-top: 32px;

  justify-content: flex-end;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

#order_modal .cart .total_price .val {
  color: #ffb900;

  margin-left: 8px;

  white-space: nowrap;
}

#callback_modal {
  width: 596px;
}

#callback_modal .form .submit {
  padding-top: 8px;
}

#callback_modal .form .agree {
  margin-top: 16px;
}

.products .product.hide {
  display: none;
}

/*-----------
    map-scroll
-----------*/
.map-scroll-cover {
  display: none;
  position: absolute;
  background-color: rgb(254 214 106 / 85%);
  color: #fff;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: 700;
  z-index: 1;
  cursor: pointer;
  will-change: opacity;
}
.map-scroll-cover--visible {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-animation: fadeIn;
  animation: fadeIn;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
}

/*-----------
    clicable-elements-hover
-----------*/
.video_reviews .item .thumb,
.our_achievements .video_link .thumb,
.accordion .accordion_item .head,
.certs .item {
  transition: 0.2s;
}
.video_reviews .item .thumb:hover,
.our_achievements .video_link .thumb:hover,
.accordion .accordion_item .head:hover,
.certs .item:hover {
  transform: scale(1.03);
}

/*-----------
    .popular-products
-----------*/

.popular-products {
  margin-bottom: 60px;
  width: 100%;
}
.popular-products .item {
  width: 265px;
  padding: 16px;
  display: grid;
  border: 2px solid #f4f4f6;
  border-radius: 16px;
  transition: 0.3s;
}
.popular-products .image {
  border-radius: 4px;
  width: 100%;
  height: 165px;
  background: #d4d4d4;
  background-size: cover;
}
.popular-products .data ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.popular-products .data ul li {
  display: flex;
  justify-content: space-between;
  position: relative;
  align-items: center;
  overflow: hidden;
}
.popular-products .data ul li:after {
  content: ".............................................................";
  position: absolute;
  width: 100%;
  top: -3px;
  color: #000000;
}
.popular-products .data .key {
  color: #a0a0a0;
  z-index: 1;
  padding-right: 10px;
  background: white;
}
.popular-products .data .value {
  background: #fff;
  z-index: 1;
  padding-left: 10px;
  white-space: nowrap;
}
.popular-products .title {
  font-size: 16px;
}
.popular-products .price {
  font-weight: 700;
  font-size: 20px;
}
.popular-products .title,
.popular-products .data,
.popular-products .price,
.popular-products .btns {
  margin-top: 12px;
}
.popular-products .popular-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
  width: 100%;
  grid-gap: 12px;
}
@media (max-width: 740px) {
  .popular-products .popular-container {
    width: max-content;
    margin: 0 auto;
  }
}
.popular-products .popular-products {
  margin-bottom: 60px;
}
.popular-products .btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
}
.popular-products .btns button {
  width: 100%;
  height: 48px;
}
.popular-products .btns .popular-button {
  border: 1px solid #f2994a;
  border-radius: 64px;
  font-weight: 700;
  transition: 0.2s;
  font-size: 14px;
}
.popular-products .btns .popular-button:hover {
  background: #ffcf51;
  border-color: #ffcf51;
  color: #f4f4f6;
}
.popular-products .item:hover,
.popular-products .item:hover span {
  background: #f4f4f6;
}

.popular-products .item span {
  transition: 0.3s;
}

.popular-products .title a {
  font-weight: 600;
}

.popular-products .title a[href] {
  color: #ffb900;
  text-decoration: none;
}

.popular-products .buy-1-click-btn {
  background: #ffb900;
  border-radius: 64px;
  transition: 0.2s;
  font-weight: 700;
  font-size: 14px;
}

.popular-products .buy-1-click-btn:hover {
  background: #ffcf51;
}

/*-----------
    sale-products
-----------*/

#product_sale {
  overflow: hidden;
}
.product-sale {
  width: 100%;
  margin-bottom: 60px;
}
.product-sale .slick-slide {
  margin: 0 12px;
}
.product-sale .product-sale-item {
  border: 2px solid #f4f4f6;
  border-radius: 16px;
}
.product-sale .product-sale-item:hover {
  background: #f4f4f6;
}
.product-sale .product-sale-item .image {
  width: 100%;
  height: 165px;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 16px;
  padding: 8px;
}
.product-sale .product-sale-item .bottom {
  padding: 16px;
}
.product-sale .product-sale-item .pagetitle {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
}
.product-sale .product-sale-item .price {
  margin-bottom: 12px;
  font-size: 20px;
  font-weight: 700;
}
.product-sale .product-sale-item .label {
  display: flex;
  background: #282a2e;
  align-items: center;
  justify-content: space-between;
  width: 173px;
  height: 32px;
  padding: 9px 16px;
  border-radius: 32px;
  font-weight: 700;
  font-size: 14px;
  color: #fff;
}
.product-sale .product-sale-item .label span {
  background-image: url(/assets/template/images/Fire.svg);
  width: 24px;
  height: 24px;
  display: block;
}
.product-sale .product-sale-item .calculator__bottom-button {
  margin-top: 0 !important;
}
.product-sale .product-sale__buttons {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 32px;
}
.product-sale .product-sale__buttons .product-sale__buttons-prev:before {
  right: -2px;
  position: relative;
  content: "";
  display: block;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  width: 10px;
  height: 10px;
  margin: auto;
  transform: rotate(225deg);
}
.product-sale .product-sale__buttons .product-sale__buttons-next:before {
  right: 2px;
  position: relative;
  content: "";
  display: block;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  width: 10px;
  height: 10px;
  margin: auto;
  transform: rotate(45deg);
}
.product-sale .product-sale__buttons-prev,
.product-sale .product-sale__buttons-next {
  margin: 0 12px;
  width: 40px;
  height: 40px;
  border: 1px solid #f2994a;
  border-radius: 50%;
}

.product-sale .product-sale-button-buy {
  background: #ffb900;
  border-radius: 64px;
  transition: 0.2s;
  font-weight: 700;
  font-size: 14px;
  width: 100%;
  max-width: 234px;
  height: 48px;
  text-transform: uppercase;
}

.product-sale .product-sale-button-buy:hover {
  background: #ffcf51;
}

footer .rating-badge {
    margin-top: 32px
}

.form ::-webkit-input-placeholder, .form ::-moz-placeholder, .form :-moz-placeholder, .form ::placeholder
{
  color: #000 !important;
}


