::-webkit-scrollbar {
  width: 5px;
  height: 5px; }

::-webkit-scrollbar-track {
  background: #f7fafb; }

::-webkit-scrollbar-thumb {
  transition: .3s;
  background: #b5b5b5;
  border-radius: 10px; }

::-webkit-scrollbar-thumb:hover {
  background: #d5e5ea; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

h2 {
  font-weight: 500; }

* {
  box-sizing: border-box;
  transition: all .3s; }

a {
  color: #08c;
  font-weight: 700;
  text-decoration: none; }
  a:hover {
    color: #006699; }

td {
  margin: 0;
  padding: 0; }

body {
  margin: 0;
  padding: 0;
  background-color: #f7fafb;
  color: #333;
  min-height: 100vh;
  line-height: 20px;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 16px; }

button {
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 16px;
  color: #333; }

input {
  background-color: #f7fafb;
  border: 1px solid #546974;
  padding: 3px;
  border-radius: 3px;
  outline: none;
  font-size: 16px; }

.search-block {
  display: flex;
  gap: 10px;
  align-items: center; }
  .search-block div {
    display: flex;
    gap: 10px;
    align-items: center; }

.js-a {
  cursor: pointer; }

.modal-wrapper {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(247, 250, 251, 0.3);
  backdrop-filter: saturate(80%) blur(7px);
  z-index: 10000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px; }
  .modal-wrapper .modal {
    padding: 25px;
    box-shadow: 0 10px 15px #e4e8f0 !important; }

.live-search-wrapper {
  width: -webkit-fill-available; }
  .live-search-wrapper .search-input {
    width: 100%;
    border-radius: 25px;
    padding: 7px 12px;
    margin: 0;
    background-color: transparent; }
  .live-search-wrapper .search-result {
    position: absolute;
    width: 500px;
    display: table;
    margin-top: 5px; }
    .live-search-wrapper .search-result tr td:first-child {
      border-radius: 10px 0 0 10px; }
    .live-search-wrapper .search-result tr td:last-child {
      border-radius: 0 10px 10px 0; }
    .live-search-wrapper .search-result .inline-product {
      color: #191f2f;
      display: table-row; }
      .live-search-wrapper .search-result .inline-product:hover td {
        background-color: #f2f2f2; }
      .live-search-wrapper .search-result .inline-product .image {
        padding: 3px; }
        .live-search-wrapper .search-result .inline-product .image img {
          height: 64px;
          width: 64px;
          border-radius: 7px; }
      .live-search-wrapper .search-result .inline-product .name {
        text-align: center;
        width: -webkit-fill-available; }
      .live-search-wrapper .search-result .inline-product .package {
        text-align: right;
        padding: 5px; }
      .live-search-wrapper .search-result .inline-product .price {
        text-align: right;
        font-weight: bold;
        color: #08c;
        padding: 5px; }
  .live-search-wrapper .more {
    margin: 10px;
    text-align: center; }

.inline-button {
  cursor: pointer;
  border: none;
  display: inline-block;
  padding: 5px 20px;
  background-color: #08c;
  color: white;
  border-radius: 10px;
  font-weight: 500;
  font-size: 16px; }
  .inline-button:hover {
    color: white;
    background-color: #006699; }

.buy-button {
  font-size: 20px; }

.cancel-button {
  background-color: #f56e6e; }
  .cancel-button:hover {
    background-color: #f23e3e; }

.modal-form table th {
  text-align: left; }

.modal-form .buttons {
  margin-top: 1em;
  display: flex;
  justify-content: center;
  justify-content: space-between; }
  .modal-form .buttons button {
    width: 150px;
    padding: 10px 20px; }

.content {
  display: flex;
  align-items: center;
  justify-content: center; }

.headline {
  color: black;
  font-weight: 600;
  font-size: 20px; }

header.hidden {
  transform: translateY(-110%); }

.buttonlink {
  display: inline-block;
  color: #08c;
  border: none;
  background-color: transparent;
  padding: 5px 10px;
  cursor: pointer; }
  .buttonlink:hover {
    color: #333; }

header {
  transform: translateY(0);
  position: sticky;
  background-color: white;
  top: 0;
  width: 100%;
  z-index: 10;
  padding: 0.5rem;
  box-shadow: 0 2px 3px #e4e8f0; }
  header .block {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  header .container {
    margin: 0 auto; }
  header a {
    font-weight: 500; }
  header .languages button {
    color: #333;
    border: none;
    background-color: transparent;
    display: block;
    padding: 5px 10px;
    cursor: pointer; }
  header .theme_dropdown {
    display: inline-block;
    position: relative;
    width: max-content; }
    header .theme_dropdown a {
      display: block;
      padding: 5px 10px; }
    header .theme_dropdown .theme_dropdown_list {
      width: max-content;
      visibility: hidden;
      transition: .3s;
      display: flex;
      position: absolute;
      flex-direction: column;
      top: 0;
      left: 0;
      background-color: #f7fafb;
      border-radius: 10px;
      padding: 10px;
      box-shadow: 0px 2px 24px rgba(114, 138, 150, 0.12);
      border: 1px solid rgba(150, 174, 187, 0.12);
      left: -11px;
      top: -11px;
      opacity: 0%; }
    header .theme_dropdown:hover .theme_dropdown_list {
      visibility: visible;
      opacity: 100%;
      z-index: 100; }
  header .menu-wrapper {
    width: -webkit-fill-available; }
  header .sub-menu {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  header .menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px; }
  header .menu-link {
    cursor: pointer;
    display: inline-block;
    font-weight: 600;
    font-size: 18px;
    color: #333;
    border-radius: 10px;
    display: inline-block;
    padding: 5px 10px;
    white-space: nowrap; }
    header .menu-link:hover {
      background-color: #0088cc10; }
  header .secondary-menu-link {
    cursor: pointer;
    display: inline-block;
    font-weight: normal;
    font-size: 16px;
    color: #333;
    border-radius: 10px;
    display: inline-block;
    padding: 5px 10px;
    white-space: nowrap; }
    header .secondary-menu-link:hover {
      background-color: #0088cc10; }
  header .dropdown {
    position: relative;
    display: inline-block; }
    header .dropdown .dropdown-content {
      visibility: hidden;
      transition: .3s;
      box-shadow: 0px 2px 24px rgba(114, 138, 150, 0.12);
      border: 1px solid rgba(150, 174, 187, 0.12);
      display: flex;
      position: absolute;
      background-color: white;
      border-radius: 25px;
      padding: 25px;
      width: max-content;
      border-radius: 25px;
      transform: translateX(-50%);
      left: 50%;
      opacity: 0%;
      top: calc(100% + 25px);
      gap: 20px; }
      header .dropdown .dropdown-content .section {
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 7px; }
        header .dropdown .dropdown-content .section .section-title {
          font-weight: 500;
          margin-bottom: 5px; }
    header .dropdown:hover .dropdown-content {
      visibility: visible;
      opacity: 100%;
      top: 100%; }

footer {
  display: flex;
  padding: 25px;
  margin-top: 75px;
  flex-direction: column;
  align-items: center;
  background-color: white;
  top: 0;
  width: 100%;
  padding: 0.5rem;
  box-shadow: 0 2px 3px #e4e8f0; }
  footer .footer-links {
    justify-content: center;
    display: flex;
    width: 100%;
    padding: 20px;
    gap: 20px; }
    footer .footer-links .footer-links-column {
      white-space: nowrap;
      display: flex;
      flex-direction: column;
      align-items: start;
      justify-content: start; }

.page-h1 h1 {
  font-size: 24px; }

.container {
  width: 100%;
  max-width: 1366px; }

.block {
  margin: 1.25rem !important; }

.m-h {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important; }

.card {
  box-shadow: 0 2px 3px #e4e8f0;
  display: inline-block;
  background-color: white;
  border-radius: 25px;
  padding: 15px; }
  .card-filled {
    background-color: white; }

.place {
  color: #333 !important; }

.product-detail-wrapper {
  width: -webkit-fill-available;
  padding: 0 !important;
  position: relative; }
  .product-detail-wrapper .numbers {
    font-family: monospace;
    font-weight: 100;
    font-size: 14px;
    line-height: 16px;
    position: absolute;
    right: 50px;
    top: 30px;
    text-align: right;
    color: silver; }
  .product-detail-wrapper .product-detail {
    padding: 30px 50px; }
    .product-detail-wrapper .product-detail .data-grid {
      display: grid;
      gap: 20px; }
      .product-detail-wrapper .product-detail .data-grid .image {
        display: flex;
        height: 100%;
        align-items: center;
        justify-content: center; }
        .product-detail-wrapper .product-detail .data-grid .image img {
          max-width: 100%; }
      .product-detail-wrapper .product-detail .data-grid .filters {
        line-height: 30px; }
        .product-detail-wrapper .product-detail .data-grid .filters table {
          width: 100%; }
        .product-detail-wrapper .product-detail .data-grid .filters .filter {
          display: flex;
          position: relative;
          justify-content: space-between; }
          .product-detail-wrapper .product-detail .data-grid .filters .filter::before {
            content: "";
            display: block;
            position: absolute;
            left: 0;
            bottom: 10px;
            width: 100%;
            border-bottom: 1px dotted #d2d2d2; }
          .product-detail-wrapper .product-detail .data-grid .filters .filter .caption {
            color: #4d4d4d;
            padding-right: 0.5rem;
            background-color: white;
            position: relative; }
          .product-detail-wrapper .product-detail .data-grid .filters .filter .options {
            text-align: right;
            background-color: white;
            padding-left: 0.5rem;
            position: relative; }
      .product-detail-wrapper .product-detail .data-grid .variants {
        line-height: 30px;
        display: flex;
        align-items: center;
        gap: 20px;
        flex-wrap: wrap; }
        .product-detail-wrapper .product-detail .data-grid .variants .passport {
          gap: 20px; }
        .product-detail-wrapper .product-detail .data-grid .variants .variant .package {
          text-align: left;
          padding-left: 0.25rem; }
        .product-detail-wrapper .product-detail .data-grid .variants .variant .divider {
          background: #dfe5e8;
          width: 1px;
          height: 24px; }
        .product-detail-wrapper .product-detail .data-grid .variants .variant .price {
          text-align: right;
          padding-right: 0.25rem;
          color: #08c;
          font-size: 24px;
          font-weight: 500; }

.product {
  margin: 0;
  padding: 15px;
  font-weight: 400;
  color: #191f2f;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-clip: border-box;
  align-items: center;
  justify-content: space-between; }
  .product:hover {
    color: #191f2f;
    z-index: 100; }
    .product:hover .description {
      display: block; }
  .product .data {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    gap: 20px;
    width: -webkit-fill-available; }
  .product .caption {
    display: flex;
    flex-direction: column;
    height: -webkit-fill-available;
    justify-content: center; }
  .product .img img {
    width: 100%;
    border-radius: 10px; }
  .product .name {
    display: block; }
  .product .description {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    text-align: center; }
  .product .variants {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    align-items: flex-end; }
    .product .variants .variant {
      display: inline-flex;
      border-radius: 5px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: 14px; }
      .product .variants .variant.with-discount {
        background-color: rgba(0, 220, 0, 0.2); }
      .product .variants .variant .price {
        color: #08c;
        font-size: 18px;
        font-weight: 500; }
      .product .variants .variant .divider {
        height: 1px;
        width: 100%;
        background: #dfe5e8;
        margin: 3px 0; }
      .product .variants .variant .unit {
        margin-left: 5px; }

.discount {
  text-decoration: line-through;
  font-weight: 300;
  color: #333 !important; }

.label-discount {
  position: absolute;
  left: 20px;
  top: 20px;
  padding: 5px 10px;
  background-color: #eb3f3f;
  color: white;
  border-radius: 10px; }

.section {
  margin: 1em 0; }

.filters-block .filters {
  width: -webkit-fill-available; }
  .filters-block .filters .title {
    font-size: 24px;
    padding: 16px 8px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .filters-block .filters .filter {
    border-radius: 1rem;
    padding: 16px;
    margin-top: 0.75rem;
    background-color: #f4f8f9;
    cursor: pointer; }
    .filters-block .filters .filter .name {
      font-weight: 500; }
    .filters-block .filters .filter .options {
      display: none;
      margin-top: 10px; }
      .filters-block .filters .filter .options .empty {
        filter: contrast(50%); }
      .filters-block .filters .filter .options label {
        padding: 5px;
        border-radius: 10px;
        width: 100%;
        display: flex;
        align-items: center;
        cursor: pointer; }
        .filters-block .filters .filter .options label:hover {
          background-color: #edf4f6; }
        .filters-block .filters .filter .options label input {
          margin: 0;
          margin-right: 10px; }
        .filters-block .filters .filter .options label .count {
          font-weight: 300; }
    .filters-block .filters .filter.opened .options {
      display: block; }

.catalog-wrapper {
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: 20px; }

.product-items {
  height: fit-content;
  gap: 20px; }

.similar-product-items {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, 1fr);
  padding-bottom: 20px; }

.items-palette {
  justify-content: center !important; }
  .items-palette .palette {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 75px;
    text-align: center; }
  .items-palette .palette-variant {
    width: 150px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold; }

.items-certificate {
  justify-content: center !important; }
  .items-certificate .certificate {
    width: 300px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center; }

.items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px; }
  .items .item {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center; }
    .items .item img {
      max-height: 100%;
      max-width: 100%; }

.partner-items {
  gap: 50px !important; }

.breadcrumbs {
  overflow: auto;
  display: flex;
  list-style-type: none;
  padding: 0;
  margin-top: 0;
  margin-bottom: 40px; }
  .breadcrumbs li {
    white-space: nowrap;
    display: inline; }
    .breadcrumbs li a {
      font-weight: 400;
      color: #333; }
      .breadcrumbs li a:hover {
        color: #b3b3b3; }
    .breadcrumbs li:not(:first-child):before {
      content: '>';
      margin: 0 5px;
      color: #999999; }
    .breadcrumbs li:last-child {
      color: #999999; }

.contacts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .contacts .contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 20px 50px; }
    .contacts .contact h2 {
      margin-bottom: 10px; }
    .contacts .contact i {
      margin-right: 5px; }

.map-wrapper {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center; }
  .map-wrapper h2 {
    margin-bottom: 10px; }
  .map-wrapper .map {
    margin-top: 10px;
    width: 100%;
    height: 400px;
    border: none; }

.product-table {
  gap: 0;
  border: none;
  border-collapse: collapse !important;
  border-spacing: 0;
  background: none !important;
  padding: 0;
  width: 100%; }
  .product-table img {
    max-width: 64px; }
  .product-table thead {
    display: none; }
  .product-table tr {
    background-color: white;
    border-radius: 10px;
    padding-top: 16px;
    display: flex;
    padding-bottom: 15px;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
  .product-table td {
    padding: 5px 20px; }
  .product-table tr:first-child td:last-child {
    border-radius: 0px 25px 0px 0px; }
  .product-table tr:first-child td:first-child {
    border-radius: 25px 0px 0px 0px; }
  .product-table tr:last-child td:last-child {
    border-radius: 0px 0px 25px 0px; }
  .product-table tr:last-child td:first-child {
    border-radius: 0px 0px 0px 25px; }
  .product-table tr:not(:first-child) {
    border-top: 2px solid #f7fafb; }
  .product-table td:not(:first-child) {
    border-left: 2px solid #f7fafb; }
  .product-table .price {
    white-space: nowrap; }
  .product-table .package-variant {
    white-space: nowrap; }

.card-hover:hover {
  transform: scale(1.05) translate(0px, -15px);
  box-shadow: 0 10px 15px #e4e8f0;
  z-index: 2; }

.line {
  text-align: center;
  color: white;
  font-weight: bold;
  padding: 3px 6px; }

.slogan {
  font-style: italic;
  font-size: 16px;
  font-weight: 600; }

.header-callback {
  margin-left: 10px; }

.additional-inscription {
  color: rgba(235, 63, 63, 0.8);
  font-weight: bold; }

.logo-wrapper {
  display: flex; }
  .logo-wrapper .logo {
    display: block;
    height: 36px; }

.flex {
  display: flex;
  align-items: center;
  justify-content: center; }

.gap-10 {
  gap: 10px; }

.scroll-to-top {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 48px;
  border-radius: 50%;
  font-size: 24px;
  bottom: 20px;
  right: 20px;
  cursor: pointer;
  transform: translateY(200%); }
  .scroll-to-top.show {
    transform: translateY(0); }

.apply-filters-sticky-button-container {
  position: sticky;
  bottom: 0;
  padding-top: 20px; }
  .apply-filters-sticky-button-container .apply-filters-button {
    background-color: #007bff;
    color: white;
    padding: 20px 30px;
    border: none;
    border-radius: 16px;
    cursor: pointer;
    width: 100%; }
    .apply-filters-sticky-button-container .apply-filters-button:hover {
      background-color: #0056b3; }

.in-stock-section {
  color: green;
  text-align: right;
  font-weight: 600; }

.side-btn-wrapper {
  display: flex;
  position: fixed;
  bottom: 20px;
  right: 20px;
  flex-direction: column;
  gap: 15px;
  z-index: 11; }
  .side-btn-wrapper .phone-btn {
    font-size: 48px;
    padding: 0;
    height: 48px;
    width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%; }

@media screen and (min-width: 992px) {
  .product-detail .data-grid {
    grid-template-columns: 400px 1fr; }
  .product-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr); } }

@media screen and (min-width: 1200px) {
  .product-items {
    grid-template-columns: repeat(3, 1fr); } }
