* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

*::before,
*::after {
  box-sizing: border-box;
}

body {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 100vw;
  min-height: 100vh;
  overflow-x: hidden;
  font-size: 16px;
  line-height: 1.5;
  font-family: 'Roboto', sans-serif;
  color: #29323b;  
}

/******************************/

.content-wrapper {
}

.content {
  max-width: 1200px;
  margin: 40px auto;
}

h1 {
  font-size: 30px;
  margin-bottom: 50px;
  font-weight: 500;
  line-height: 1.1;
}

h2 {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 20px;
  line-height: 1.1;
}

h3 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
  line-height: 1.2;
}

a {
  color: #29323b;
}

img {
  display: inline-block;
  max-width: 100%;
}

hr {
  border: none;
  border-bottom: 1px solid #eee;
  margin: 40px 0;
}

sup {
  vertical-align: super;
  line-height: 0;
}

sub {
  vertical-align: sub;
  line-height: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.content ul {
  margin-left: 40px;
}

.accent {
  color: #CC3533;
}

@media (max-width: 1280px) {
  .content {
    margin: 40px;
  }
}

@media (max-width: 1024px) {
  .content {
    margin: 20px 20px 40px 20px;
  }
}

@media (max-width: 768px) {
  .content {
    margin: 10px 10px 40px 10px;
  }
}

/******************************/

.footer-wrapper {
  background: #29323b;
  margin-top: auto;
}

.footer {
  max-width: 1200px;
  margin: 40px auto;
  display: flex;
  justify-content: space-between;
  grid-gap: 40px;
}

.footer-logo {
  display: flex;  
  align-items: center;
  border-radius: 20px;
  padding: 40px 55px 40px 235px;
  color: #7F7F7F;
  background: #fff url(../img/header-logo.svg) 55px center / 155px auto no-repeat;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.1;
}

.footer-menu ul {
  display: flex;
  flex-direction: column;
  font-size: 14px;
}

.footer-menu li {
  display: block;
}

.footer-menu ul a {
  display: block;
  padding: 5px 0;
  color: #fff;  
  text-decoration: none;
  text-transform: uppercase;  
}

.footer-social {
  display: flex;
  grid-gap: 20px;
  margin-top: 40px;
}

.footer-social a {
  width: 30px;
  height: 30px;
  background: center center / contain no-repeat;
}

.footer-social a.footer-social-dz {
  background-image: url(../img/footer-dz.svg);
}
.footer-social a.footer-social-vk {
  background-image: url(../img/footer-vk.svg);
}
.footer-social a.footer-social-ok {
  background-image: url(../img/footer-ok.svg);
}
.footer-social a.footer-social-yt {
  background-image: url(../img/footer-yt.svg);
}

.footer-bottom {
  max-width: 1200px;
  margin: 0px auto;
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  grid-gap: 20px;
  border-top: 1px solid #999;
}

.footer-dev {
  display: block;
  text-decoration: none;
  color: #999;
  font-size: 14px;
}

.footer-copyright {
  display: block;
  color: #fff;
}

@media (max-width: 1280px) {
  .footer {
    padding: 0 40px;
  }
  .footer-bottom {
    padding: 20px 40px;
  }
}

@media (max-width: 1024px) {
  .footer {
    padding: 0 20px;
    flex-wrap: wrap;
  }
  .footer-bottom {
    padding: 20px 20px;
    flex-wrap: wrap;
  }
}

@media (max-width: 768px) {
  .footer {
    padding: 0 10px;
  } 
  .footer-bottom {
    padding: 20px 10px;
  } 
}

@media (max-width: 480px) {
  .footer-logo {
    overflow: hidden;
    line-height: 0; 
    font-size: 0;
    color: transparent; 
  }
}
/******************************/

.form {
}

.form > label,
.form > div {
  display: grid;
  grid-template-columns: 1fr 4fr;
  grid-column-gap: 20px;
  margin-top: 30px;
}

.form-column > label,
.form-column > div {
  display: grid;
  grid-template-columns: 1fr;
  grid-column-gap: 20px;
  margin-top: 30px;
}

@media (max-width: 1024px) {
  .form > label,
  .form > div {
    grid-template-columns: 1fr;
  }
}

.content input:focus,
.content textarea:focus {
  outline: 0;
}

.content input,
.content textarea,
.content select {
  padding: 5px;
  border: 1px solid #ddd;
  border-radius: 4px;  
  background-color: #fff;
  color: #29323b;
  font: inherit;
}

.content input:focus,
.content textarea:focus,
.content select:focus {
  border: 1px solid #29323b;
}

a.button,
.content input[type="submit"],
.content button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 20px;  
  border-radius: 23px;
  font: inherit;
  text-decoration: none;
  border: 1px solid #CC3533;
  color: #fff;
  background-color: #CC3533;
  transition: background 0.2s ease;
  cursor: pointer;
}

a.button:hover,
.content input[type="submit"]:hover,
.content button:hover {
  color: #fff;
  background-color: #CC3533;
  border: 1px solid #CC3533;
}

a.button:focus,
.content input[type="submit"]:focus,
.content button:focus {
  color: #fff;
  background-color: #CC3533;
  border: 1px solid #CC3533;
}

a.button:disabled,
.content input[type="submit"]:disabled,
.content button:disabled {
  border: 1px solid #999 !important;
  color: #fff !important;
  background-color: #999 !important;
  cursor: not-allowed;
}

.button-gray {
  border: 1px solid #999 !important;
  color: #fff !important;
  background-color: #999 !important;
}

.button-gray:hover {
  color: #fff !important;
  background-color: #999 !important;
  border: 1px solid #999 !important;
}

a.button-compact {
  padding: 5px 10px;
}

a.button-disabled,
a.button-disabled:hover,
a.button-disabled:focus {
  border: 1px solid #CCC;
  color: #fff;
  background-color: #CCC;
}

a.button-frame,
a.button-frame:hover,
a.button-frame:focus {
  border: 1px solid #CCC;
  color: #ccc;
  background-color: #fff;
  border-radius: 18px;
}

.content .checkbox label {
  display: flex;
  align-items: center;
}

.content .checkbox label input {
  margin-right: 10px;
}

@media (max-width: 768px) {
  .form input,
  .form button,
  .form select,
  .form textarea {
    width: 100%;
    max-width: 100%;
  }
  .form input[type="checkbox"],
  .form input[type="radio"] {
    width: auto;
    max-width: none;
  }
}

/************************************/

.button-rf {
  display: inline-block;
  padding: 5px 20px;
  color: #CC3533 !important;
  border: 2px solid #CC3533 !important;
  background: #fff !important;
  border-radius: 18px;
  text-decoration: none;
  text-align: center;
}

.button-dl {
  line-height: 1.2;
  border-radius: 26px;
} 

/************************************/

.required {
  color: #f44336;
}

.message-error {
  margin: 20px 0px;
  padding: 10px 20px;
  color: #fff;
  background: #f44336;
  border-radius: 26px;
}

.message-success {
  margin: 20px 0px;
  padding: 10px 20px;
  color: #fff;
  background: #43a047;
  border-radius: 26px;
}

/******************************/

.header-top-wrapper {
  background: #CC3533;
}

.header-top {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-top-logo {
  padding: 20px 55px 20px 235px;
  color: #7F7F7F;
  background: #fff url(../img/header-logo.svg) 55px center / 155px auto no-repeat;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.1;
}

.header-top-menu ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-top-menu li {
  display: block;
}

.header-top-menu a {
  display: block;
  padding: 10px 35px;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
}

/******************************/

.header-location-wrapper {
}

.header-location {
  min-width: 30px;
  min-height: 30px;
  display: flex;
  align-items: center;
  background: url(../img/header-location.svg) center top / auto 30px no-repeat;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  white-space: nowrap;
  padding-top: 25px;
}

.header-location:hover {
  color: #fff;
}

.header-location-dialog {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  color: #fff;
  font-size: 12px;  
}

.header-location-dialog-answers {
  display: flex;
  grid-gap: 10px;
}

.header-location-dialog-answers a {
  padding: 5px 5px;
  color: #CC3533;
  background: #fff;
  text-decoration: none;
}

/******************************/

@media (max-width: 1280px) {
  .header-top {
    margin: 0 40px 0 40px;
  }
  .header-top-menu a {
    padding: 10px 20px;
  }
}

@media (max-width: 1024px) {
  .header-top {
    display: none;
  }
}

@media (max-width: 768px) {
}

/*******************/

.header {
  position: sticky;
  top: 0;
  transition: all 0.2s ease;
  z-index: 9;
  background: #fff;
}

.header-scrolled {
  box-shadow: 0px 2px 4px rgba(50, 50, 50, 0.2);
}

/*******************/

.header-bottom {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-menu-controls {
  display: none;
}

.header-menu-controls a {
  display: block;
  width: 30px;
  height: 30px;
  background: #f5f5f5 center center / 15px auto no-repeat;
  border-radius: 50%;
}

.header-menu-controls a.header-menu-show {
  background-image: url(../img/header-menu-show.svg);
}

.header-menu-controls a.header-menu-hide {
  background-image: url(../img/header-menu-hide.svg);
  background-size: 12px auto;
  display: none;
}

.header-bottom-logo {
  width: 155px;
  width: 0px;
  height: 75px;
  background: url(../img/header-logo.svg) left center / 100% auto no-repeat;
  transition: all 0.2s ease;
}

.header-scrolled .header-bottom-logo {
  width: 155px;
}

.header-search form {
  border: 1px solid #ccc;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
}

.header-search input[type="search"] {
  display: block;
  width: 240px;
  height: 40px;
  border: none;
  padding: 0 20px;
}

.header-search input[type="search"]:focus {
  outline: none;
}

.header-search input[type="search"]::placeholder {
  color: #999;
}

.header-search input[type="submit"] {
  display: block;
  width: 40px;
  height: 40px;
  background: #fff url(../img/header-search.svg) center center / 20px 20px no-repeat;
  border: none;
}

.search-found {
  position: absolute;
  background: #fff;
  overflow-y: scroll;
  min-width: 300px;
  max-height: 300px;
  z-index: 3;
  font-size: 14px;  
  box-shadow: 0px 3px 6px 0 rgba(50, 50, 50, 0.3);  
  scrollbar-width: thin;
  scrollbar-color: #8C8C8C #C4C4C4;
}

.search-found::-webkit-scrollbar {
  width: 8px;  
}
.search-found::-webkit-scrollbar-track {
  background: #C4C4C4;  
}
.search-found::-webkit-scrollbar-thumb {
  background-color: #8C8C8C;
}

.search-found a {
  display: flex;
  grid-gap: 10px;
  width: 100%;
  padding: 10px;
  color: #333;
  text-decoration: none;
}

.search-found a:hover {
  background: #f1f1f1;
}

.search-found-image {
  width: 40px;
  height: 40px;
  margin-right: var(--padding-quarter);
  flex-shrink: 0;
}

.search-found-image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  margin: 0 auto;
}

.search-found-title {
  margin-right: var(--padding-quarter);
}

.search-found-price {
  font-weight: bold;
  margin-left: auto;
}

.search-found-more {
  width: 100%;
  display: flex;  
  justify-content: center;
  padding: 10px;
  border: none;
  cursor: pointer;
  color: #fff;
  background: #40745e;
}

.search-found-more:hover {
  background: #325a49;
}

/**************************************/

.header-phone {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.header-phone a {
  color: #CC3533;
  font-size: 24px;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.3;
}

.header-phone span {
  color: #7F7F7F;
  font-size: 12px;
  line-height: 1;
}

.header-callback {
  display: inline-block;
  padding: 10px 20px;
  color: #fff;
  background: #CC3533;
  border-radius: 19px;
  font-size: 12px;
  text-transform: lowercase;
  text-decoration: none;
  text-align: center;
}

.header-compare {
  min-width: 30px;
  min-height: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: url(../img/header-compare.svg) center center / auto 30px no-repeat;
  color: #fff;
  text-decoration: none;
}

.header-compare-count {
  margin-left: 20px;
  margin-top: -5px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #CC3533;
  color: #fff;
  font-size: 10px;
}

.header-compare-empty .header-compare-count {
  opacity: 0;
}

.header-compare-title {
  display: none;
}

/******************************/

.header-wishlist {
  min-width: 30px;
  min-height: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: url(../img/header-wishlist.svg) center center / 30px auto no-repeat;
  color: #fff;
  text-decoration: none;
}

.header-wishlist:hover {
  color: #fff;
}

.header-wishlist-count {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 20px;
  margin-top: -5px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #CC3533;
  color: #fff;
  font-size: 10px;
}

.header-wishlist-empty .header-wishlist-count {
  opacity: 0;
}

.header-wishlist-title {
  display: none;
}

/******************************/

.header-cart {
  min-width: 30px;
  min-height: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: url(../img/header-cart.svg) center center / auto 30px no-repeat;
  color: #fff;
  text-decoration: none;
}

.header-cart:hover {
  color: #fff;
}

.header-cart-count {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  margin-left: 20px;
  margin-top: -5px;
  background: #CC3533;
  color: #fff;
  font-size: 10px;
}

.header-cart-empty .header-cart-count {
  opacity: 0;
}

.header-cart-title {
  display: none;
}

/******************************/

.header-private {
  min-width: 30px;
  min-height: 30px;
  display: flex;
  flex-direction: column;
  background: url(../img/header-private.svg) center center / auto 30px no-repeat;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  white-space: nowrap;
}

.header-private-loggedin {
  background-image: url(../img/header-private-loggedin.svg);
}

.header-private:hover {
  color: #fff;
}

.header-private-title {
  display: none;
}

/*******************/

@media (max-width: 1280px) {
  .header-bottom {
    margin: 0 40px;
  }
  .header-search input[type="search"] {
    width: 200px;
  }
  .header-callback {
    display: none;
  }
}

@media (max-width: 1024px) {
  .header-bottom {
    margin: 0 20px;
  }
  .header-menu-controls {
    display: block;
  }
  .header-bottom-logo {
    width: 155px;
  }
  .header-phone {
    width: 30px;
    height: 30px;
    background: url(../img/header-phone.svg) center top / auto 30px no-repeat;
    overflow: hidden;
    text-indent: 50px;
  }
  .header-phone span {
    display: none;
  }
  .header-phone a {
    font-size: 0;
  }
}

@media (max-width: 768px) {
  .header-bottom {
    margin: 0 10px;
  }
  .header-bottom-logo {
    width: 120px;
  }
  .header-scrolled .header-bottom-logo {
    width: 120px;
  }
  .header-search {
    display: none;
  }
}

@media (max-width: 480px) {
  .header-bottom-logo {
    width: 50px;
    background: url(../img/favicon.svg) center center / contain no-repeat;
    margin: 0 20px;
  }
  .header-scrolled .header-bottom-logo {
    width: 50px;    
  }
}

/*******************/

.header-menu > ul {
  display: flex;
  justify-content: center;
}

.header-menu > ul > li {
  display: block;
}

.header-menu > ul > li > a {
  display: block;
  padding: 20px 75px;
  color: #29323b;
  font-size: 20px;
  text-transform: uppercase;
  text-decoration: none;
}

.header-menu a:hover,
.header-menu a.active {
  color: #CC3533;
}

.header-menu > ul ul {
  position: absolute;
  left: 0;
  background: #f5f5f5;
  display: none;
  flex-wrap: wrap;
  grid-template-columns: repeat(7, 1fr);
  grid-gap: 10px 75px;
  padding: 10px 55px;
  box-shadow: inset 0px 2px 4px rgba(50, 50, 50, 0.2), 0px 2px 4px rgba(50, 50, 50, 0.2);
}

.header-menu > ul li:hover ul {
  display: grid;
}

.header-menu > ul li:nth-child(1) ul {
  /*display: grid;*/
}

.header-menu > ul li:nth-child(2):hover ul {
  width: 100%;
  display: flex;
  justify-content: center;
}

.header-menu > ul ul li {
  display: block;
  align-self: center;
}

.header-menu > ul ul li a {
  display: flex;
  align-items: center;
  border-radius: 10px;
  min-height: 4em;
  padding: 10px 10px 10px 60px;
  background: 10px center / 40px auto no-repeat;
  font-size: 12px;
  line-height: 1.3;
  color: #3b3b3b;
  text-decoration: none;
}

.header-menu > ul ul li:hover a {
  background-color: #fff;
}

.categories li.category-864 a {
  background-image: url(../img/categories/category-864.svg);
}
.categories li.category-875 a {
  background-image: url(../img/categories/category-875.svg);
}
.categories li.category-868 a {
  background-image: url(../img/categories/category-868.svg);
}
.categories li.category-860 a {
  background-image: url(../img/categories/category-860.svg);
}
.categories li.category-870 a {
  background-image: url(../img/categories/category-870.svg);
}
.categories li.category-862 a {
  background-image: url(../img/categories/category-862.svg);
}
.categories li.category-886 a {
  background-image: url(../img/categories/category-886.svg);
}
.categories li.category-866 a {
  background-image: url(../img/categories/category-866.svg);
}
.categories li.category-944 a {
  background-image: url(../img/categories/category-944.svg);
}
.categories li.category-854 a {
  background-image: url(../img/categories/category-854.svg);
}
.categories li.category-895 a {
  background-image: url(../img/categories/category-895.svg);
}
.categories li.category-857 a {
  background-image: url(../img/categories/category-857.svg);
}
.categories li.category-884 a {
  background-image: url(../img/categories/category-884.svg);
}
.categories li.category-1302 a {
  background-image: url(../img/categories/category-1302.svg);
}

/*******************/

@media (max-width: 1800px) {
  .header-menu > ul ul {
    grid-gap: 10px 40px;
    padding: 10px 40px;
  }
}

@media (max-width: 1600px) {
  .header-menu > ul ul {
    grid-gap: 10px 20px;
    padding: 10px 20px;
  }
  .header-menu > ul ul {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (max-width: 1400px) {
  .header-menu > ul ul {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (max-width: 1280px) {
  .header-menu > ul > li > a {
    padding: 20px 50px;
  }
  .header-menu > ul ul {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1024px) {
  .header-menu {
    display: none;
  }
}

@media (max-width: 768px) {
}

/***************************/

.header-mobile {
  display: none;
  grid-gap: 20px;
  flex-direction: column;
  width: 100%;
  left: -100%;
  position: absolute;
  z-index: 2;
  height: auto;
  box-shadow: 0px 3px 6px 0 rgba(50, 50, 50, 0.3);
  padding: 20px;
  background: #f5f5f5;
}

.header-mobile-phone {
  display: flex;
  justify-content: space-between;
  grid-gap: 20px;
}

.header-mobile-phone .header-phone {
  text-indent: 0;
}

.header-mobile-menu {  
}

.header-mobile-menu > ul {
}

.header-mobile-menu > ul > li {
  display: block;
}

.header-mobile-menu > ul > li > a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 40px 10px 0;
  font-size: 20px;
  text-decoration: none;
  color: #29323b;
}

.header-mobile-menu > ul > li > ul {
  width: 100%;
  padding: 20px 20px;
}

.header-mobile-menu > ul > li > ul > a {
  content: '';
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  background: #fff url(../img/icon-arrow.svg) center center / auto 12px no-repeat;
  border-radius: 50%;
  transform: rotate(0.5turn);
}

.header-mobile-menu > ul > li > ul > li {
  display: block;
}

.header-mobile-menu > ul > li > ul > li > a {
  display: block;
  padding: 10px 10px 10px 70px;
  margin: 5px 0;
  font-size: 16px;
  text-decoration: none;
  color: #29323b;
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 40px auto;
}

.header-mobile-menu-footer {
  background: #CC3533;
  margin: 0 -20px -20px -20px;
  padding: 20px 0px;
}

.header-mobile-menu-footer ul {
}

.header-mobile-menu-footer li {
  display: block;
}

.header-mobile-menu-footer a {
  display: block;
  padding: 5px 20px;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 1280px) {
  .header-mobile .header-search input[type="search"] {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .header-mobile {
    display: flex;    
  }
  .header-mobile .header-phone {
    width: auto;
    height: auto;
    background: none;
  }
  .header-mobile .header-phone span {
    display: block;
  }
  .header-mobile .header-callback {
    display: inline-block;
    align-self: flex-end;
  }
  .header-mobile-menu > ul > li > ul {
    display: block;
  }
}

@media (max-width: 768px) {
  .header-mobile .header-search {
    display: block;
  }
}

@media (max-width: 480px) {
  .header-mobile-phone {
    flex-direction: column;
    grid-gap: 10px;
  }
}

/*************************/

.header-notification {  
  color: #fff;
  background: #D1EEFC;
  text-align: center;  
}

.header-notification:empty {
  display: none;
}

.header-notification a {
  color: #000;
  text-decoration: none;
  display: block;
  padding: 10px 10px;  
  font-size: 12px;
}

/**********************/

.header-print {
  display: none;
  margin-bottom: 40px;
}

/******************************/

.page-actions {
  display: grid;
  grid-gap: 40px;
  grid-template-columns: 1fr 1fr;
}

.page-actions a {
  display: block;
}
/******************************/

.cart-wrapper {
  display: flex;
  justify-content: space-between;
  grid-gap: 80px;
}

/***********************/

.cart-list {
  display: flex;
  flex-direction: column;
  grid-gap: 20px;
}

.cart-list > div {
  display: grid;
  grid-gap: 10px 20px;
  padding: 20px 20px 40px 20px;
  border-bottom: 1px solid #ccc;
  grid-template-columns: 100px 3fr 1fr 1fr;
  grid-template-areas:
    "image title quantity price"
    "image controls price-unit .";
}

.cart-list > div:last-child {
  border: none;
}

.cart-list > div.cart-outofstock {
  background: #eee;
  padding: 20px 20px 20px 20px;
  border: none;
  grid-template-areas:
    "image title outofstock outofstock"
    "image controls . .";
}

.cart-image {
  grid-area: image;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100px;
  max-height: 100px;
}

.cart-image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

.cart-title {
  grid-area: title;
}

.cart-good {
  display: block;
  font-size: 120%;
}

.cart-variant {
  grid-area: variant;
  font-size: 100%;
}

.cart-quantity {
  grid-area: quantity;
  justify-self: center;
  align-self: start;
  display: inline-flex;
  border: 1px solid #ccc;
  border-radius: 18px;
  overflow: hidden;
}

.cart-quantity a {
  flex-shrink: 0;
  width: 30px;
  background: #fff center center / 20px auto no-repeat;
}

.cart-quantity a.cart-quantity-dec {
  background-image: url(../img/icon-minus.svg);
}

.cart-quantity a.cart-quantity-inc {
  background-image: url(../img/icon-plus.svg);
}

.cart-quantity a:hover {
  background-color: #f1f1f1;
}

.cart-quantity input,
.cart-quantity input:focus {
  border: 1px solid transparent;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-radius: 0;
  text-align: center;
}

.cart-price {
  grid-area: price;
  justify-self: end;
  text-align: right;
}

.cart-price span {
  font-size: 120%;
  font-weight: bold;
}

.cart-price-old {
  color: #ccc;
  text-decoration: line-through;
  text-decoration-color: #c00;
}

.cart-outofstock-message {
  grid-area: outofstock;
}

/********************/

.cart-controls {
  grid-area: controls;
  display: flex;
  align-items: center;
  grid-gap: 10px;
}

.cart-controls > * {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: center center / 20px auto no-repeat;
}

.cart-wishlist {
  background-image: url(../img/icon-wishlist.svg);
}

.cart-delete {
  background-image: url(../img/icon-delete.svg);
}

/***********************/

.cart-summary {
  align-self: flex-start;
  position: sticky;
  top: 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  grid-gap: 20px;
  background: #fff;
  border: 1px solid #ccc;
}

/********************/

.cart-goods,
.cart-discount,
.cart-total {
  display: flex;
  grid-gap: 20px;
  justify-content: space-between;
  align-items: center;
}

.cart-goods span,
.cart-discount span,
.cart-total span {
  font-size: 18px;
  font-weight: bold;
}

/********************/

.cart-coupon-wrapper {
  display: flex;
  flex-direction: column;
  grid-gap: 5px;
}

.cart-coupon {
  display: flex;
  justify-content: space-between;
  align-items: center;
  grid-gap: 20px;
}

.cart-coupon > div:first-child {
  display: flex;
  align-items: center;
  grid-gap: 10px;
}

.cart-coupon-delete {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../img/icon-delete.svg) center center / 20px auto no-repeat;
}

.cart-coupon-discount {
}

.cart-coupon-discount span {
  font-size: 18px;
  font-weight: bold;
}

.cart-coupon-info {
  font-size: 80%;
}

.cart-coupon-form {
  display: flex;
  flex-direction: column;
  grid-gap: 5px;
}

.cart-coupon-form > div {
  display: flex;
  align-items: center;
  grid-gap: 10px;
}

/********************/

.cart-order {
  text-align: center;
}

.cart-order .button {
  width: 100%;
}

@media (max-width: 1024px) {
  .cart-wrapper {
    flex-direction: column;
    grid-gap: 40px;
  }
  .cart-summary {
    align-self: stretch;
    padding: 20px;
  }
}

@media (max-width: 640px) {
  .cart-list > div {
    grid-gap: 20px 20px;
    grid-template-columns: 120px 1fr 1fr;
    grid-template-areas:
      "image title title"
      "image controls controls "
      "image quantity price";
  }
  .cart-list > div.cart-outofstock {
    grid-template-areas:
      "image title title"
      "image controls controls"
      "image outofstock outofstock";
  }
  .cart-quantity {
    justify-self: start;
  }
  .cart-price {
    align-self: center;
  }
}

@media (max-width: 480px) {
  .cart-list > div {
    grid-gap: 20px 20px;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "image image"
      "title title"
      "controls controls"
      "quantity price";
  }
  .cart-list > div.cart-outofstock {
    grid-template-areas:
      "image image"
      "title title"
      "controls controls"
      "outofstock outofstock";
  }
  .cart-image {
    justify-self: center;
  }
}
/******************************/

.categories {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 40px;
  margin: 20px 0 !important;
}

.categories li {  
  display: flex;
  flex-direction: column;
  padding: 10px;
  transition: all 0.2s ease;
}

.categories li:hover {
  box-shadow: 0 0 10px rgba(50, 50, 50, 0.3);
}

.categories-image {
  display: flex;
  height: 100%;
  align-items: center;
}

.categories-image img {
  display: block;
  max-width: 100%;
  max-height: 150px;
  margin: 0 auto 10px auto;
}

.categories-title {
  margin-top: auto;
  display: block;
  color: #333;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
  word-break: break-word;
}

@media (max-width: 1024px) {
  .categories {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .categories {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .categories {
    grid-template-columns: 1fr;
  }
}

/******************************/

.filter-toggle {
  display: none;
  align-self: flex-end;
  padding: 5px 40px;
  background-image: url(../img/icon-filter.svg), url(../img/icon-arrow-down.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: left 10px center, right 10px center;
  background-size: 20px auto, 30px auto;
  cursor: pointer;
}

.filter-opened .filter-toggle {
  background-image: url(../img/icon-filter.svg), url(../img/icon-arrow-up.svg);
}

.filter {
  width: 300px;
  padding: 20px 20px;
  background: #fafafa;
  align-self: flex-start;
}

.filter-chosen {
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.filter-chosen-title {
  display: block;
  margin-bottom: 10px;
  font-weight: bold;
  text-transform: uppercase;
}

.filter-chosen-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.filter-chosen-list a {
  display: inline-block;
  text-decoration: none;
  border: 1px solid #eee;
  color: #444;
  padding: 5px 30px 5px 10px;
  background: url(../img/icon-delete.png) right 5px center no-repeat;
  background-size: 16px auto;
  line-height: 1.2;
  margin: 0 10px 10px 0;
  font-size: 12px;
}

.filter-chosen-list a.filter-chosen-clear {
  color: #da271f;
}

.filter form {
}

.filter-section {
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
  margin-bottom: 20px;
  position: relative;
}

.filter-section-title {
  display: block;
  margin-bottom: 10px;
  font-weight: bold;
  text-transform: uppercase;
}

.filter-price-range {
  margin: 20px 10px 40px 10px;
}

.filter-price-input {
  display: flex;
  justify-content: space-between;
}

.filter-price-input label {
  display: inline-block;
}

.filter-price-input input {
  width: 75px;
  padding: 2px;
  margin-left: 5px;
}

.filter-checkboxes {
  display: flex;
  flex-wrap: wrap;
}

.filter-checkboxes label {
  width: 100%;
  display: flex;
  grid-gap: 10px;
  align-items: center;
  margin-bottom: 10px;
  font-size: 12px;
}

.filter-checkboxes input[type=checkbox] {
  display: inline-block;
  vertical-align: middle;
}

.filter-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.filter-controls .filter-reset {
  padding: 2px;
  display: inline-block;
  color: #000;
  text-decoration: none;
  font-size: 12px;
}

.filter-controls input[type="submit"] {
  display: flex;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid #CC3533;
  background: #CC3533;
  color: #fff;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 12px;
}

/*********************/

.filter-found {
  position: absolute;
  background: #fff;
  z-index: 2;
  box-shadow: 0px 3px 6px 0 rgba(50, 50, 50, 0.3);
  padding: 10px 20px;
}

.filter-found button {
  display: flex;
  align-items: center;
  width: 100%;
  height: 30px;
  padding: 0 20px;
  border: none;
  margin-top: 5px;
  text-align: center;
  color: #fff;
  background: #CC3533;
  border-radius: 4px;
  transition: all 0.2s ease;
}

/*******************/

@media (max-width: 1024px) {
  .filter {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .filter-toggle {
    display: inline-block;
  }
  .filter form {
    display: flex;
    flex-direction: column;
    grid-gap: 40px;
    overflow: hidden;
    height: 0;
  }
  .filter-opened form {
    height: auto;
  }
  .filter-chosen {
    border-bottom: none;
    padding-bottom: 0px;
    margin-bottom: 20px;
  }
  .filter-section {
    border-bottom: none;
    padding-bottom: 0px;
    margin-bottom: 0px;
  }
  .filter-section-title {
    font-size: 14px;
  }
  .filter-checkboxes {
    grid-gap: 10px 20px;
  }
  .filter-checkboxes label {
    width: auto;
  }
  #filter-section-price {
    width: 100%;
  }
  .filter-controls {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .filter-section {
    border-bottom: none;
    padding-bottom: 0px;
    margin-bottom: 0px;
  }
}
/******************************/

.page-search {  
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
  width: 100%;
  padding: 20px 20px;
  border: 1px solid #f5f5f5;
  background: #f5f5f5;
  border-radius: 20px;  
}

.page-search form {
  display: flex;
  grid-gap: 20px;
  width: 100%;
}

.page-search input[type="search"] {
  width: 100%;
  border-radius: 10px;
}

.page-search input[type="submit"] {
  border-radius: 10px;
}

.page-search a {
  color: #006eb8;
  font-size: 12px;
}

/**********************/

.categories-schemes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 40px;
  margin: 20px 0 !important;
}

.categories-schemes li {  
  display: flex;
  grid-gap: 15px;
  align-items: center;
  padding: 10px;
  transition: all 0.2s ease;
}

.categories-schemes li:hover {
  box-shadow: 0 0 10px rgba(50, 50, 50, 0.3);
}

.categories-schemes-image {
  width: 40px;
  height: 40px;
  display: flex;
  flex-shrink: 0;
  align-items: center;
}

.categories-schemes-image img {
  display: block;
  max-width: 40px;
}

.categories-schemes-title {
  display: block;
  color: #333;
  text-decoration: none;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  .categories-schemes {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .categories-schemes {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .categories-schemes {
    grid-template-columns: 1fr;
  }
}

/************************/

.goods-schemes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 40px;
  margin: 20px 0 !important;
}

.goods-schemes li {  
  display: flex;
  grid-gap: 20px;
  align-items: center;
  padding: 10px;
  transition: all 0.2s ease;
}

.goods-schemes li:hover {
  box-shadow: 0 0 10px rgba(50, 50, 50, 0.3);
}

.goods-schemes-image {
  display: flex;
  flex-shrink: 0;
  align-items: center;
}

.goods-schemes-image img {
  display: block;
  width: 30px;
}

.goods-schemes-title {
  display: block;
  color: #333;
  text-decoration: none;
  line-height: 1.3;
}

@media (max-width: 480px) {
  .goods-schemes {
    grid-template-columns: 1fr;
  }
}

/******************************/

.category-wrapper {  
  display: flex;
  grid-gap: 40px;
}

.category-content {
  width: 100%;
}

/*******************/

.category-actions {
  display: flex;
  grid-gap: 40px;
  overflow: hidden;
}

.category-actions a {
  width: calc(50% - 20px);
  display: block;
  overflow: hidden;
  border-radius: 20px;
}

/***********************/

.category-controls {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}

.category-controls-view {
  display: flex;
  align-items: center;
}

.category-controls-view-button {
  display: block;
  width: 24px;
  height: 24px;
  opacity: 0.5;
  margin-left: 10px;
}

.category-controls-view a:hover {
  opacity: 0.75;
}

.category-controls-view-active {
  opacity: 1;
}

.category-controls-view-grid {
  background: url(../img/icon-view-grid.png) center center no-repeat;
  background-size: contain;
}

.category-controls-view-list {
  background: url(../img/icon-view-list.png) center center no-repeat;
  background-size: contain;
}

/******************************/

.goods {
  display: grid;
  grid-gap: 40px 0;
  margin: 0 !important;
}

.goods-grid {
  grid-template-columns: repeat(4, 1fr);
}

.goods-grid-5 {
  grid-template-columns: repeat(5, 1fr);
}

.goods-list {
  grid-template-columns: 100%;
}

.goods li {
  position: relative;
  padding: 20px;
  transition: box-shadow 0.2s ease;
}

.goods li:hover {
  box-shadow: 0 0 10px rgba(50, 50, 50, 0.3);
}

.goods-grid li {
  display: grid;
  grid-gap: 10px 0;
  grid-template-columns: 50% 50%;
  grid-template-areas:
    "image image"
    "title title"    
    "specs specs"
    "price to-cart";
}

.goods-list li {
  display: grid;
  grid-template-columns: 260px 1fr 1fr 1fr 2fr;
  grid-gap: 10px 40px;
  grid-template-areas:
    "image title title title price"
    "image specs specs specs to-cart"
    "image specs specs specs delivery"
    "image specs specs specs delivery";
}

/***************************/

.category-goods {
  margin-top: 40px;
}

.category-goods .goods-grid li {
  grid-template-areas:
    "image image"
    "title title"    
    "price to-cart";
}

.category-goods .goods-specs {
  display: none;
}

/******************************/

.goods-sku {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 10px;
}

/******************************/

.goods-tags {
  position: absolute;
  top: 40px;
  left: 20px;
  display: flex;
  flex-direction: column;
  grid-gap: 5px;
}

.goods-tags > span {
  font-size: 10px;
  display: inline-block;
  padding: 4px 10px;
  text-align: center;  
}

.goods-tags-new {
  background: #1a74bb;
  background: url(../img/catalog-new.png) left top / 100% 100% no-repeat;
  color: #fff;
}

.goods-tags-sale {
  background: #ed1c24;
  background: url(../img/catalog-sale.png) left top / 100% 100% no-repeat;
  color: #fff;
  text-transform: uppercase;
}

.goods-tags-master {
  background: #fff202;
  background: url(../img/catalog-master.png) left top / 100% 100% no-repeat;
  color: #000;
}

.goods-tags-popular {
  background: #8dc63f;
  background: url(../img/catalog-popular.png) left top / 100% 100% no-repeat;
  color: #fff;
}

.goods-tags-discount {
  background: #bed73b;
  background: url(../img/catalog-discount.png) left top / 100% 100% no-repeat;
  color: #fff;
  text-transform: uppercase;
}

/*******************************/

.goods-controls {
  position: absolute;
  display: flex;
  grid-gap: 5px;
  right: 10px;
  top: 10px;
}

.goods-list .goods-controls {
  right: 20px;
  top: 35px;
}

.goods-wishlist {
  display: inline-block;
  background: url(../img/icon-wishlist.svg) center center / 24px auto no-repeat;
  width: 24px;
  height: 24px;
  transition: opacity 0.2s ease;
  opacity: 0.75;
}

.goods-wishlist:hover {
  opacity: 1;
}

.goods-wishlist-remove {
  background-image: url(../img/icon-wishlist-remove.svg);
}

.goods-compare {
  display: inline-block;
  background: url(../img/icon-compare.svg) center center / 24px auto no-repeat;
  width: 24px;
  height: 24px;
  transition: opacity 0.2s ease;
  opacity: 0.75;
}

.goods-compare:hover {
  opacity: 1;
}

.goods-compare-remove {
  background-image: url(../img/icon-compare-remove.svg);
}

/******************************/

.goods-image {
  grid-area: image;
  display: block;
}

.goods-image img {
  display: block;
  max-width: 100%;
  max-height: 200px;
  margin: 20px auto 0 auto;
}

.goods-list .goods-image img {
  margin: 20px 0 0 60px;
}

.goods-title {
  grid-area: title;
  display: block;
  color: #000;
  line-height: 1.3;
  text-decoration: none;
  text-align: center;
  overflow: hidden;
  height: 5.3rem;
}

.goods-title span {
  display: block;
  font-size: 18px;
  color: #c12c30;
}

.goods-list .goods-title {
  text-align: left;
}

.goods-price {
  grid-area: price;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #000;
}

.goods-price-call {
  font-size: 100%;
  display: block;
}

.goods-price-actual {
  white-space: nowrap;
  font-size: 18px;
  font-weight: bold;
}

.goods-price-old {
  text-decoration: line-through;
  white-space: nowrap;
  font-size: 14px;
  color: #666;
}

.goods-price-not-in-stock {
  text-transform: uppercase;
  color: #ccc;
}

/******************************/

.goods-specs {
  grid-area: specs;
  width: 100%;  
  align-self: start;
  display: table;
  font-size: 12px;
  line-height: 1.3;
}

.goods-specs > div {
  display: table-row;
}

.goods-specs > div > div {
  display: table-cell;
  padding: 4px 5px;
}

.goods-specs > div:not(:last-child) > div {
  border-bottom: 1px dotted #999;
}

/******************************/

.goods-to-cart-wrapper {
  grid-area: to-cart;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.goods-to-cart {
  display: flex;
  align-items: center;
  width: 40px;
  height: 40px;  
  border-radius: 50%;
  background: #CC3533 url(../img/icon-cart.svg) center center / 24px auto no-repeat;
  text-indent: 50px;
  white-space: nowrap;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
}

.goods-list .goods-to-cart {
  width: 100%;
  border-radius: 20px;  
  background-position: 20px center;
  text-indent: 0px;
  padding-left: 60px;
}

.goods-to-cart-not-in-stock {
  background-color: #cccccc;
}

@keyframes process {
  0% {
    transform: rotate(0turn);
  }
  100% {
    transform: rotate(5turn);
  }
}

.goods-to-cart-process, a.goods-to-cart-process:hover {  
  /*animation: process 1s linear infinite;*/
}

.goods-to-cart-done {
  background-image: url(../img/icon-check.svg) !important;
}

/**********************/

.goods-delivery {
  grid-area: delivery;
  display: none;
  font-size: 12px;
  line-height: 1.3;
}

.goods-delivery span {
  font-size: 16px;
}

.goods-delivery a {
  display: block;  
}

.goods-list .goods-delivery {
  display: block;
}

/****************************/

li.goods-banner {
  display: flex;  
  align-items: stretch;
  padding: 0px;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
}

.goods-list li.goods-banner {
  border-radius: 20px;
}

li.goods-banner a {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
}

.goods-list li.goods-banner a {
  flex-direction: row;
  max-height: 220px;
  font-size: 16px;
}

li.goods-banner a img {
  display: block;
  width: 100%;
  height: 100%;
}

li.goods-banner a > div:first-child {
  display: none;
}

.goods-list li.goods-banner a > div:first-child {
  display: flex;
}

.goods-banner-image {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  flex-shrink: 0;
}

.goods-list .goods-banner-image {  
  width: 60%;
  flex-shrink: 1;
}

li.goods-banner .goods-banner-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #83c441;
}

.goods-list li.goods-banner .goods-banner-text {
  background: #ca2f34;
}

/**************************************/

@media (max-width: 1280px) {
  .goods-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .goods-grid-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

@media (max-width: 1024px) {
  .category-wrapper {
    flex-direction: column;
  }
  .goods-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .goods-grid-5 {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .category-controls-view {
    display: none;
  }
}

@media (max-width: 768px) {
  .goods-grid {
    grid-template-columns: 1fr 1fr;
  }
  .category-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .goods-grid {
    grid-template-columns: 1fr;
  }
  .goods-list {
    grid-template-columns: 1fr;
  }
}

/******************************/

.compare-header {
  display: flex;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}

.compare-controls {
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 0px 40px 0 0;
}

.compare-controls a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  padding: 0px 10px;
  font-size: 14px;
  color: #fff;
  background: #CC3533;
  text-decoration: none;
  text-align: center;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.compare-controls a:hover {
  background: #CC3533;
}

.compare-show-all {
  display: block;
}

.compare-show-different {
  display: block;
  margin-top: 20px;
}

.compare-header-good {
  width: 100%;
  min-width: 33.33%;
  max-width: 33.33%;
  display: flex;
  flex-direction: column;
  padding: 0 20px;
}

.compare-image {
  display: block;
  margin-bottom: 20px;
  min-height: 100px;
}

.compare-image img {
  margin: 0 auto;
  display: block;
  max-width: 100px;
  max-height: 100px;
}

.compare-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  line-height: 1.2;
  margin-bottom: 20px;
}

.compare-delete {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background: url(../img/icon-delete.png) center center no-repeat;
  background-size: 20px 20px;
}

.compare-price {
  margin-top: auto;
  text-align: center;
  white-space: nowrap;
  font-size: 18px;
}

.compare-to-cart {
  display: inline-block;
  margin-top: 20px;
  background: url(../img/icon-cart.svg) left 30px center / 24px auto no-repeat;
}

.compare-to-cart.goods-to-cart-done {
  background-image: url(../img/icon-check.svg)
}

.compare-specs {
  display: flex;
  border-bottom: 1px solid #eee;
}

.compare-specs-hidden {
  display: none;
}

.compare-specs:hover {
  background: #f5f5f5;
}

.compare-specs-name {
  width: 25%;
  padding: 5px 10px;
  flex-shrink: 0;
  flex-grow: 0;
}

.compare-spec {
  padding: 5px 10px;
  width: 100%;
  min-width: 33.33%;
  max-width: 33.33%;
  text-align: center;
}

.compare-left {
  width: 30px;
  flex-shrink: 0;
  align-self: center;
}

.compare-right {
  width: 30px;
  flex-shrink: 0;
  align-self: center;
}

.compare-scroll {
  width: 100%;
  display: flex;
  overflow: hidden;
}

.compare-scroll-button {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #CC3533 center center no-repeat;
  background-size: auto 20px;
  cursor: pointer;
}

.compare-scroll-button-left {
  background-image: url(../img/icon-arrow-left.png);
}

.compare-scroll-button-right {
  background-image: url(../img/icon-arrow-right.png);
}

.compare-scroll-button:hover {
  background-color: #CC3533;
}

.compare-scroll-button-disabled {
  opacity: 0.3;
  cursor: default;
}

@media (max-width: 1024px) {
  .compare-spec {
    min-width: 50%;
    max-width: 50%;
  }
  .compare-header-good {
    min-width: 50%;
    max-width: 50%;
  }
}

@media (max-width: 768px) {
  .compare-controls a {
    display: none;
  }
  .compare-specs-name {
    width: 40%;
  }
  .compare-spec {
    min-width: 100%;
    max-width: 100%;
  }
  .compare-header-good {
    min-width: 100%;
    max-width: 100%;
  }
}

/******************************/

.contacts {
  display: flex;
  grid-gap: 100px;
}

.contacts > div {
  width: 50%;
}

.contacts-phones {
  padding: 0 0 20px 80px;
  background: url(../img/contacts-phones.svg) left 5px top / 30px auto no-repeat;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
}

.contacts-address {
  padding: 0 0 20px 80px;
  background: url(../img/contacts-address.svg) left top / 40px auto no-repeat;
}

.contacts-coords {
  padding: 0 0 20px 80px;
  background: url(../img/contacts-coords.svg) left top / 40px auto no-repeat;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
}

.contacts-emails {
  padding: 0 0 40px 80px;
  background: url(../img/contacts-emails.svg) left top / 40px auto no-repeat;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
}

.contacts-workhours {
  padding: 0 0 40px 80px;
  background: url(../img/contacts-workhours.svg) left 5px top / 30px auto no-repeat;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
}

.contacts-service {
  padding: 0 0 40px 80px;
  background: url(../img/contacts-service.svg) left top / 40px auto no-repeat;
}

.contacts-req {
  padding: 40px;
  border: 1px solid #ccc;
}

@media (max-width: 768px) {
  .contacts {
    flex-direction: column;
    grid-gap: 40px;
  }
  .contacts > div {
    width: 100%;
  }
}
/******************************/

.delivery-variants {
  display: grid;  
  grid-gap: 40px;
  grid-template-columns: repeat(4, 1fr);
  justify-content: center;
}

.delivery-variants div {  
  background: #fafafb center 90px / 80px auto no-repeat;
  border-radius: 10px;
  padding: 20px 20px 120px 20px;
  text-align: center;
}

.delivery-variants a {  
  font-size: 12px;
}

.delivery-variants div:nth-child(1) {  
  background-image: url(../img/delivery-variants-1.svg);
  background-position: center 90px;
  background-size: 60px auto;
}
.delivery-variants div:nth-child(2) {  
  background-image: url(../img/delivery-variants-2.svg);
}
.delivery-variants div:nth-child(3) {  
  background-image: url(../img/delivery-variants-3.svg);
  background-size: 70px auto;
}
.delivery-variants div:nth-child(4) {  
  background-image: url(../img/delivery-variants-4.svg);
  background-position: center 100px;
  background-size: 110px auto;
}

/*******************/

.delivery-selfpickup {
  padding: 40px;
  margin-top: 40px;  
  text-align: center;
  background: #fafafb center 90px / 80px auto no-repeat;
}

/*******************/

.delivery-form {
  margin: 0 auto;
  max-width: 600px;
}

.delivery-form h3 {
  text-align: center;
}

.delivery-form > div {
  display: flex;
}

.delivery-form input[type="button"] {
  margin-left: 20px;
}

.delivery-result {
  margin: 0 auto;
  max-width: 600px;
  margin-top: 20px;  
  display: flex;
  flex-direction: column;
}

.delivery-result > div {  
  display: grid;
  grid-template-columns: 70% 30%;
  grid-gap: 10px;
  align-items: center;
  border-bottom: 1px solid #f1f1f1;
  padding: 5px 20px;
}

.delivery-result > div div:last-child {  
  font-size: 20px;
  bont-weight: bold;
}

.delivery-result-waiting {
  height: 40px;
  background: url(../img/loader.gif) center center / 40px auto no-repeat;
}

/*******************/

.delivery-table {
  margin: 0 auto;
  border-collapse: collapse;
}

.delivery-table td {
  padding: 10px 40px;  
  border-bottom: 1px solid #f1f1f1;
}

/*******************/

.delivery-order {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 40px;
  justify-content: center;
}

.delivery-order div {  
  width: 20%;
  background: #fafafb center 20px / 80px auto no-repeat;
  border-radius: 10px;
  padding: 120px 20px 20px 20px;
  text-align: center;
}

.delivery-order div:nth-child(1) {  
  background-image: url(../img/delivery-1.svg);
}
.delivery-order div:nth-child(2) {  
  background-image: url(../img/delivery-2.svg);
}
.delivery-order div:nth-child(3) {  
  background-image: url(../img/delivery-3.svg);
  background-position: center 40px;
  background-size: 100px auto;
}
.delivery-order div:nth-child(4) {  
  background-image: url(../img/delivery-4.svg);
  background-position: center 40px;
  background-size: 120px auto;
}
.delivery-order div:nth-child(5) {  
  background-image: url(../img/delivery-5.svg);
}
.delivery-order div:nth-child(6) {  
  background-image: url(../img/delivery-6.svg);
  background-position: center 40px;
  background-size: 90px auto;
}
.delivery-order div:nth-child(7) {  
  background-image: url(../img/delivery-7.svg);
}

@media (max-width: 1024px) {
  .delivery-variants {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .delivery-table tr {
    display: flex;
    flex-wrap: wrap;
  }
  .delivery-table td {
    display: inline-block;
    width: 40%;
  }
  .delivery-table tr td:nth-child(1) {
    border: none;
    padding: 20px 10px 0px 10px;
    order: 1;
  }
  .delivery-table tr td:nth-child(2) {
    order: 3;    
    padding: 0px 10px 20px 10px;
  }
  .delivery-table tr td:nth-child(3) {
    order: 2;
    border: none;
    padding: 20px 10px 0px 10px;
  }
  .delivery-table tr td:nth-child(4) {
    padding: 0px 10px 20px 10px;
    order: 4;
  }
  .delivery-order {
    grid-gap: 20px;
  }
  .delivery-order div {  
    width: 25%;
  }
}

@media (max-width: 480px) {
  .delivery-variants {  
    grid-template-columns: repeat(1, 1fr);
  }
  .delivery-order div {  
    width: 40%;
  }
}

/******************************/

.good-title-pdf {
  margin-left: auto;
}

.good-title-pdf a {
  display: flex;
  align-items: center;
  background: url(../img/icon-pdf.svg) 20px center / auto 24px no-repeat;
  padding: 0px 0 0px 60px;
  color: #000;
  text-decoration: none;
  min-height: 30px;
}

.good-schemes h2 {
  padding-bottom: 10px;
  border-bottom: 2px solid #CC3533;
}

.good-scheme {
  display: flex;
  grid-gap: 40px;
  margin-bottom: 60px;
  font-size: 12px;
}

.good-scheme-image {
  width: 30%;
  flex-shrink: 0;
}

.good-scheme-image a {
}

.good-scheme-image img {
  max-width: 100%;
}

.good-scheme-parts {
  width: 100%;
}

.good-scheme-parts-table {  
  width: 100%;
}

.good-scheme-parts-table tr:nth-child(even) {  
  background: #f5f5f5;
}

.good-scheme-parts-table th {  
  padding: 5px 10px;
}

.good-scheme-parts-table td {  
  padding: 5px 10px;
}

.good-scheme-to-cart {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(../img/icon-cart-parts.svg) center center / 20px auto no-repeat;
}

.good-scheme-to-cart.goods-to-cart-done {
  background: url(../img/icon-check-parts.svg) center center / 20px auto no-repeat !important;
}

.good-scheme-inline {
  display: none;
}

@media (max-width: 768px) {
  .good-scheme {
    flex-direction: column;
    font-size: 10px;
    margin: 0 -10px;
  }
  .good-scheme-image {
    width: 100%;
  }
  .good-scheme-parts-table th {  
    padding: 3px 5px;
  }
  .good-scheme-parts-table td {  
    padding: 3px 5px;
  }
  .good-scheme-inline {
    display: block;
  }
  .good-scheme-parts-table td:nth-child(3),
  .good-scheme-parts-table th:nth-child(3),
  .good-scheme-parts-table th:nth-child(4),
  .good-scheme-parts-table td:nth-child(4) {  
    display: none;
  }
}
/******************************/

.good-wrapper {
}

.good-title {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.good-title h1 {
  margin: 0;
}

/******************************/

.good {
  display: grid;
  grid-gap: 20px 60px;
  grid-template-columns: repeat(12, 1fr);
  grid-template-areas:
    "ph-o ph-o ph-f ph-f ph-f ph-f ph-f sku  sku  sku  sku  ctrl"
    "ph-o ph-o ph-f ph-f ph-f ph-f ph-f blk  blk  blk  blk  blk"
    "ph-o ph-o ph-f ph-f ph-f ph-f ph-f blk  blk  blk  blk  blk "
    "ph-o ph-o ph-f ph-f ph-f ph-f ph-f blk  blk  blk  blk  blk "
    "ph-o ph-o ph-f ph-f ph-f ph-f ph-f spkp spkp spkp spkp spkp"
    "ph-o ph-o ph-f ph-f ph-f ph-f ph-f dlvr dlvr dlvr dlvr dlvr"
    "ph-o ph-o pdf  pdf  pdf  pdf  pdf  spcs spcs spcs spcs spcs"
    "ph-o ph-o pdf  pdf  pdf  pdf  pdf  spcs spcs spcs spcs spcs"
    "ph-o ph-o pdf  pdf  pdf  pdf  pdf  spcs spcs spcs spcs spcs"
    "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
    "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
    "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
    "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
    "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
    "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
    "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs";
}

@media (max-width: 1280px) {
  .good {
    grid-gap: 20px 40px;
    grid-template-areas:
      "ph-o ph-o ph-f ph-f ph-f ph-f ph-f sku  sku  sku  sku  ctrl"
      "ph-o ph-o ph-f ph-f ph-f ph-f ph-f blk  blk  blk  blk  blk"
      "ph-o ph-o ph-f ph-f ph-f ph-f ph-f blk  blk  blk  blk  blk "
      "ph-o ph-o ph-f ph-f ph-f ph-f ph-f blk  blk  blk  blk  blk "
      "ph-o ph-o ph-f ph-f ph-f ph-f ph-f spkp spkp spkp spkp spkp"
      "ph-o ph-o ph-f ph-f ph-f ph-f ph-f dlvr dlvr dlvr dlvr dlvr"
      "ph-o ph-o pdf  pdf  pdf  pdf  pdf  spcs spcs spcs spcs spcs"
      "ph-o ph-o pdf  pdf  pdf  pdf  pdf  spcs spcs spcs spcs spcs"
      "ph-o ph-o pdf  pdf  pdf  pdf  pdf  spcs spcs spcs spcs spcs"
      "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
      "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
      "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
      "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
      "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
      "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs"
      "dscr dscr dscr dscr dscr dscr dscr spcs spcs spcs spcs spcs";
  }
}

@media (max-width: 1024px) {
  .good {
    grid-gap: 20px 20px;
    grid-template-columns: repeat(6, 1fr);
    grid-template-areas:
      "ph-o ph-f ph-f ph-f ph-f ph-f"
      "sku  sku  sku  sku  sku  ctrl"
      "blk  blk  blk  blk  blk  blk "
      "spkp spkp spkp spkp spkp spkp"
      "dlvr dlvr dlvr dlvr dlvr dlvr"
      "dscr dscr dscr dscr dscr dscr"
      "pdf  pdf  pdf  pdf  pdf  pdf "
      "spcs spcs spcs spcs spcs spcs";
  }
}

@media (max-width: 768px) {
  .good {
    grid-gap: 20px 20px;
    grid-template-columns: repeat(6, 1fr);
    grid-template-areas:
      "ph-f ph-f ph-f ph-f ph-f ph-f"
      "ph-o ph-o ph-o ph-o ph-o ph-o"
      "sku  sku  sku  sku  sku  ctrl"
      "blk  blk  blk  blk  blk  blk "
      "spkp spkp spkp spkp spkp spkp"
      "dlvr dlvr dlvr dlvr dlvr dlvr"
      "dscr dscr dscr dscr dscr dscr"
      "pdf  pdf  pdf  pdf  pdf  pdf "
      "spcs spcs spcs spcs spcs spcs";
  }
}

/******************************/

.good-photos-others-wrapper {
  grid-area: ph-o;
  align-self: start;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.good-photos-others {
  display: flex;
  flex-direction: column;
  grid-gap: 20px;
  height: 460px;
  overflow: hidden;
}

.good-photos-others-scroll {
  margin: 40px 0;
}

.good-photos-others a {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.good-photos-others img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

.good-photos-others-up {
  position: absolute;
  top: 0;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #fff center center / 36px auto no-repeat;
  cursor: pointer;
  background-image: url(../img/icon-arrow-up.svg);
  box-shadow: 3px 3px 5px rgba(0.5, 0.5, 0.5, 0.2);
}

.good-photos-others-down {
  position: absolute;
  bottom: 0;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #fff center center / 36px auto no-repeat;
  cursor: pointer;
  background-image: url(../img/icon-arrow-down.svg);
  box-shadow: 3px 3px 5px rgba(0.5, 0.5, 0.5, 0.2);
}

.good-photos-video {
  position: relative;
}

.good-photos-video::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../img/icon-play.png) center center / 40px auto no-repeat;
  opacity: 1;
}

@media (max-width: 768px) {
  .good-photos-others {
    flex-wrap: wrap;
    flex-direction: row;
    height: auto;
    overflow: visible;
  }
  .good-photos-others-up,
  .good-photos-others-down { 
    display: none;
  }
}

/******************************/

.good-photos-first {
  grid-area: ph-f;
  position: relative;
}

.good-photos-first a {
  display: block;
}

.good-photos-first img {
  max-width: 100%;
  display: block;
}

.good-photos-first .goods-tags {
  left: 0;
  top: 0;
}

/******************************/

.good-pdf {
  grid-area: pdf;
  display: flex;
  flex-direction: column;
  grid-gap: 0px;
}

.good-pdf a {
  display: flex;
  align-items: center;
  background: url(../img/icon-pdf.svg) 20px center / auto 24px no-repeat;
  padding: 20px 0 20px 60px;
  color: #000;
  text-decoration: none;
  min-height: 30px;
  border-bottom: 1px solid #ccc;
}

.good-pdf a.good-parts {
  background: url(../img/icon-parts.svg) 20px center / auto 24px no-repeat;
}

/******************************/

.good-sku {
  grid-area: sku;
}

/******************************/

.good-controls {
  grid-area: ctrl;
  display: flex;
  grid-gap: 10px;
}

/******************************/

.good-block {
  grid-area: blk;
  border: 1px solid #ccc;
  background: #fafafa;
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 20px;
  padding: 30px 30px;
}

.good-price {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  margin-right: 30px;  
}

.good-old-price {
  font-size: 16px;
  color: #999;
  text-decoration: line-through;
}

.good-current-price {
  font-size: 24px;
  color: #000;
  font-weight: 700;
}

.good-buttons {
  width: 100%;
}

.good-to-cart {
  display: flex;
  grid-gap: 10px;
  margin-bottom: 20px;
}

.good-quantity {
  display: inline-flex;
  border: 1px solid #ddd;
  border-radius: 20px;
  overflow: hidden;
  flex-shrink: 0;
}

.good-quantity a {
  flex-shrink: 0;
  width: 30px;
  background: #fff center center / 20px auto no-repeat;
}

.good-quantity a.good-quantity-dec {
  background-image: url(../img/icon-minus.png);
}

.good-quantity a.good-quantity-inc {
  background-image: url(../img/icon-plus.png);
}

.good-quantity a:hover {
  background-color: #f1f1f1;
}

.good-quantity input,
.good-quantity input:focus {
  border: 1px solid transparent;
  border-left: 1px solid #f1f1f1;
  border-right: 1px solid #f1f1f1;
  border-radius: 0;
  text-align: center;
}

.good-to-cart-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 40px;
  border-radius: 20px;
  background: #CC3533 url(../img/icon-cart.svg) left 20px center / 24px auto no-repeat;
  white-space: nowrap;
  text-decoration: none;
  text-indent: 30px;
  color: #fff;
  overflow: hidden;
}

.good-one-click-button {
  color: #000 !important;
}

.good-in-stock {
  grid-area: 1 / 1 / 1 / 3;
  text-align: left;
  margin: 0px 0 0px 0;
}

.good-in-stock::before {
  content: "";
  display: inline-block;
  margin-right: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #0b0;
}

.good-not-in-stock {
  text-align: left;
  margin: 20px 0;
}

.good-not-in-stock::before {
  content: "";
  display: inline-block;
  margin-right: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #b00;
}

/******************************/

.good-selfpickup {
  grid-area: spkp;
  padding: 10px 20px 20px 20px;
  border-bottom: 1px solid #ccc;
  font-size: 14px;
}

.good-selfpickup span {
  font-weight: 500;
}

/******************************/

.good-deliveries {
  grid-area: dlvr;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 10px 20px 20px 20px;
}

.good-deliveries a {
  height: 50px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.good-deliveries a:nth-child(1) {
  background-image: url(/attachments/d/5/d5448bdc4758d7976ffca6666661df6540b3676a-d7f688862c473bbf27c0f28472987544f88f482c.png);
}
.good-deliveries a:nth-child(2) {
  background-image: url(/attachments/9/e/9e3b629956d37f8ecbc5b1db0c7f1f09a1de166d-ee1cf764511b5b3578cb568612d0641615e46dfa.png);
}
.good-deliveries a:nth-child(3) {
  background-image: url(/attachments/8/5/8505344b7989aaaf89acdb47c82c097d4a61e918-f58660f68492e5ee049f8f6ffe9f30c4e78d5cdd.png);
}
.good-deliveries a:nth-child(4) {
  background-image: url(/attachments/b/a/bac03b5eee496193ee92a73567084cfb59e296ff-1e943e044db35eda40d3813b786e5205b21d8ae5.png);
}

/******************************/

.good-payment {
  grid-area: pmnt;
  padding: 10px 20px 20px 20px;
  border-bottom: 1px solid #ccc;
  font-size: 14px;
}

.good-payment span {
  font-size: 20px;
}

/******************************/

.good-specs-wrapper {
  grid-area: spcs;
  padding: 0 20px;
}

.good-specs-wrapper h2 {
  text-align: center;
}

.good-specs {
  border-collapse: collapse;
}

.good-specs td {
  padding: 2px 0;
  overflow: hidden;
}

.good-specs td:first-child {
  padding-right: 30px;
}

.good-specs td:first-child::after {
  content: '';
  display: inline-block;
  width: 100%;
  margin: 0 -100% 0 5px;
  border-bottom: 1px dotted #ddd;
}

.good-specs td:last-child {
  padding-left: 5px;
}

/******************************/

.good-description {
  grid-area: dscr;
}

.good-packaging-title {
  margin-top: 40px;
}

.good-packaging-table {
  margin-left: -20px;
}

.good-packaging-table td {
  padding: 2px 20px;
}

/*****************************/

.good-related {
  margin-top: 40px;
}

/*****************************/

.good-faq {
  margin-top: 40px;
  padding: 40px;
  background: #fafafb;
}

.good-faq-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.faq {
  display: flex;
  flex-direction: column;
  grid-gap: 20px;
}

/*****************************/

.good-popular {
  margin-top: 40px;
}

/*****************************/

.good-viewed {
  margin-top: 40px;
}

/*****************************/

.good-perks-wrapper {
  background: #fafafb;
}

.good-perks {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 40px;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
}

.good-perks div {
  width: 30%;
  background: left 20px center / 60px auto no-repeat;
  padding: 40px 20px 40px 120px;
  font-size: 12px;
}

.good-perks div:nth-child(1) {
  background-image: url(../img/good-1.svg);
}
.good-perks div:nth-child(2) {
  background-image: url(../img/good-2.svg);
  background-size: 50px auto;
  background-position: left 30px center;
}
.good-perks div:nth-child(3) {
  background-image: url(../img/good-3.svg);
}

@media (max-width: 1280px) {
  .good-block {
    flex-direction: column;
  }
}

@media (max-width: 1024px) {
  .good-block {
    grid-template-columns: 1fr 1fr;
  }
  .good-perks {
    grid-gap: 20px;
  }
}

@media (max-width: 768px) {
  .good-perks {
    justify-content: center;
  }
  .good-perks div {
    width: 45%;
    padding: 20px 20px 20px 120px;
  }
}

@media (max-width: 640px) {
  .good-block {
    grid-template-columns: 1fr;
  }
  .good-price {
    grid-area: 2 / 1 / 2 / 2;
  }
  .good-buttons {
    grid-area: 3 / 1 / 3 / 2;
  }
  .good-perks div {
    width: 100%;
  }
}

/******************************/

.index-sections {
  display: flex;
  grid-gap: 40px;
}

.index-sections div {
  display: flex;
  flex-direction: column;
  width: calc(33.33% - 26.66px);
  flex-shrink: 0;
  background: #f5f5f5;
  border-radius: 20px;
  overflow: hidden;
}

.index-sections a {
  display: flex;
  align-items: center;
  padding: 20px 20px 20px 130px;
  border-radius: 20px 20px 0 0;
  background: #f5f5f5 url(../img/icon-tools.svg) 40px center / 60px auto no-repeat;  
  border-bottom: 1px solid #cccccc;
  text-decoration: none;
  line-height: 1.3;
  min-height: 5em;
  color: #29323b;
  font-size: 18px;
  font-weight: 500;
  text-transform: uppercase;
}

.index-sections div:nth-child(2) a {
  background-image: url(../img/icon-parts.svg);
  background-size: 60px auto;
}

.index-sections div:nth-child(3) a {
  background-image: url(../img/icon-repair.svg);
  background-size: 50px auto;
}

@media (max-width: 1024px) {
  .index-sections {
    flex-direction: column;
    grid-gap: 20px;
    margin-top: 20px;
  }
  .index-sections div {
    width: 100%;    
  }
  .index-sections a {
    border: none;
    border-radius: 20px;
    background-size: 40px auto;
    background-position: 30px center;
    padding: 20px 20px 20px 90px;
  }
  .index-sections div:nth-child(2) a {
    background-size: 40px auto;
  }
  .index-sections div:nth-child(3) a {
    background-size: 35px auto;
  }
  .index-sections img {
    display: none;
  }
}

/***********************/

.index-perks {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 40px;
  margin-top: 100px;
}

.index-perks div {
  display: flex;
  flex-direction: column;  
  padding: 0px 0px 0px 90px;
  font-size: 12px;  
  background: left top / 70px auto no-repeat;
  min-height: 70px;
}

.index-perks div span {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
  color: #CC3533;
  font-weight: 500;
}

.index-perks div:nth-child(1) {
  background-image: url(../img/index-perks-1.svg);
}
.index-perks div:nth-child(2) {
  background-image: url(../img/index-perks-2.svg);
}
.index-perks div:nth-child(3) {
  background-image: url(../img/index-perks-3.svg);
}
.index-perks div:nth-child(4) {
  background-image: url(../img/index-perks-4.svg);
}

@media (max-width: 1024px) {
  .index-perks {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .index-perks {
    grid-template-columns: repeat(1, 1fr);
  }
}

/**************************/

.subscribe {
  margin-top: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 80px;
  padding: 20px 80px;
  border-radius: 45px;
  background: #f5f5f5;
}

.subscribe-title {
  display: flex;
  grid-gap: 5px;
  flex-direction: column;
  color: #CC3533;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
}

.subscribe-title span {
  color: #29323b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.subscribe form {
  display: flex;
  grid-gap: 20px;
}

.subscribe input[type="email"] {
  display: inline-block;
  background: #fff;
  border-radius: 19px;
  border: none;
  padding: 10px 20px;
  min-width: 150px;
  width: 350px;
}

.subscribe input[type="submit"] {
  display: inline-block;
  padding: 10px 20px;
  color: #fff;
  background: #CC3533;
  border-radius: 19px;
  border: none;
  font-size: 12px;
  text-decoration: none;
  text-align: center;
}

@media (max-width: 1280px) {
  .subscribe {
    grid-gap: 60px;
    padding: 20px 60px;
  }
  .subscribe input[type="email"] {
    width: 250px;
  }
}

@media (max-width: 1024px) {
  .subscribe {
    flex-wrap: wrap;
    grid-gap: 40px;    
    padding: 20px 40px;
  }
}

@media (max-width: 480px) {
  .subscribe {
    grid-gap: 20px;    
  }
  .subscribe-title {
    grid-gap: 10px;
  }
  .subscribe form {
    flex-wrap: wrap;
  }
  .subscribe input[type="email"] {
    width: 100%;
  }
  .subscribe input[type="submit"] {
    width: 100%;
  }
}

/*************************/

.index-news-wrapper {
  margin-top: 50px;
}

.index-news-title {
  font-size: 24px;
  margin-left: 45px;
  margin-bottom: 20px;
  text-decoration: none;  
}

.index-news,
.page-news {
  display: flex;  
  overflow: hidden;
  grid-gap: 40px;
}

.page-news {
  flex-wrap: wrap;
}

.index-news > a,
.page-news > a {
  width: 31%;
  flex-shrink: 0;
  scroll-snap-align: center;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  padding: 40px 50px;
  color: #29323b;
  background: #f5f5f5;
  border-radius: 20px;
  overflow: hidden;
}

.index-news-text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
}

.index-news-image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: 100px;
  margin: 20px -50px -40px -50px;
}

.index-news-image img {
  display: block;
  width: 100%;
}

@media (max-width: 1024px) {
  .index-news > a,
  .page-news > a {
    width: 45%;
  }
}

@media (max-width: 768px) {
  .index-news > a,
  .page-news > a {
    width: 100%;
  }
}

/******************************/

﻿.location-list-major {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.location-list-major > a {
  display: inline-block;
  width: 50%;
  text-decoration: none;
  font-size: 14px;
}

.location-list-major > a:last-child {
  margin-right: auto;
}

/**********************/

.location-filter {
  display: block;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

/**********************/

.location-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  overflow-y: scroll;
  max-height: 300px;
}

.location-list > a {
  display: inline-block;
  width: 50%;
  text-decoration: none;
  font-size: 12px;
}

.location-list > a:last-child {
  margin-right: auto;
}

.location-list > a.location-list-title {
  margin-top: 16px;
  margin-bottom: 8px;
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  text-decoration: none;
}

.location-list > a.location-list-title:first-child {
  margin-top: 0px;
}

/**********************/

.location-list {
  scrollbar-width: thin;
  scrollbar-color: #8C8C8C #C4C4C4;
}

.location-list::-webkit-scrollbar {
  width: 8px;
}
.location-list::-webkit-scrollbar-track {
  background: #C4C4C4;
  border: none;
}
.location-list::-webkit-scrollbar-thumb {
  background-color: #8C8C8C;
  border: none;
}

/******************************/

.news-item {
  margin-bottom: 30px;
}

.news-item:after {
  content: "";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
}

.news-item-title {
}

.news-item-date {
  font-size: 80%;
  color: #000;
  height: 20px;
  line-height: 20px;
  background: url(../img/icon-date.png) left center no-repeat;
  background-size: auto 20px;
  padding: 0 0 0 25px;
  margin-bottom: 10px;
  opacity: 0.75;
}

.news-item-text {
  margin-bottom: 30px;
}

.news-item-image {
  float: left;
  margin-right: 30px;
  margin-bottom: 1em;
}

.news-item-image img {
  display: block;
}

/****************************/

.news-date {
  font-size: 80%;
  color: #000;
  height: 20px;
  line-height: 20px;
  background: url(../img/icon-date.png) left center no-repeat;
  background-size: auto 20px;
  padding: 0 0 0 25px;
  margin-bottom: 10px;
  opacity: 0.75;
}

.news-text {
  margin-bottom: 30px;
}

.news-image {
  margin-bottom: 1em;
}

.news-image img {
  display: block;
}

/******************************/

.order-progress {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 40px;
  margin-bottom: 40px;
}

.order-progress span {
  padding: 10px 30px;
  border-radius: 22px;
}

span.order-progress-active {
  background: #f1f1f1;
}

.order-wrapper {
  width: 100%;
  display: flex;
  justify-content: space-between;
  grid-gap: 40px;
}

.order-form {
  width: 100%;
}

.order-summary {
  position: sticky;
  top: 0;
  align-self: flex-start;
  flex-shrink: 0;
  max-width: 350px;
  padding: 20px;
  border: 1px solid #ccc;
}

.order-summary > div {
  display: flex;
  justify-content: space-between;
  grid-gap: 20px;
  margin-top: 15px;
}

.order-summary > div.order-summary-button {
  display: flex;
  justify-content: center;
}

/***************************/

.order-summary > div.order-summary-goods {
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
}

.order-summary-goods > div {
  display: flex;
  grid-gap: 20px;
}

.order-summary-goods-image {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 50px;
  max-height: 50px;
}

.order-summary-goods-image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

.order-summary-goods-info {
  font-size: 12px;
  line-height: 1.3;
}

.order-summary-goods-price {
}

/***************************/

.order-summary-price {
  font-size: 20px;
  font-weight: bold;
}

#order-delivery-additional {
  display: none;
}

.order-form-line {
  display: block;
  margin-bottom: 30px;
}

.order-form .order-form-line:last-child {
  margin-bottom: 0px;
}

.order-form-line-flex {
  display: flex;
  grid-gap: 10px 20px;
  flex-wrap: wrap;
  align-items: center;
}

.order-form-line-title {
  display: inline-block;
  margin-bottom: 5px;
}

.order-form-types {
  display: flex;
  grid-gap: 40px;
}

.order-form-radio {
  display: flex;
  align-items: center;
  grid-gap: 10px;
  margin-bottom: 10px;
}

.order-form-radio img {
  max-height: 30px;
}

.order-form-radio input[type="radio"] {
  z-index: -1;
}

.order-form-radio div {
}

.order-form-line textarea {
  width: 100%;
}

.order-confirmed {
  display: inline-block;
  display: none;
  width: 24px;
  height: 24px;
  background: url(../img/icon-check-green.svg) left center no-repeat;
}

.order-form-buttons {
  display: flex;
  justify-content: flex-start;
  grid-gap: 40px;
  margin-top: 40px;
}

.order-delivery-result {
  display: flex;
  flex-direction: column;
  font-weight: bold;
}

.order-delivery-visible {
  margin-top: 10px;
  margin-bottom: 20px;
}

.order-delivery-waiting {
  height: 40px;
  background: url(../img/loader.svg) center center / 40px auto no-repeat;
}

.order-compact {
  font-size: 14px;
}

.order-compact .order-summary-price {
  font-size: 16px;
}

.order-payment-details {
  display: none;
  margin-left: 25px;
  font-size: 14px;
}

.order-section {
  padding: 20px 40px 20px 70px;
  margin-bottom: 20px;
}

.order-form .order-section:nth-child(1) {
  background: url(../img/order-user.svg) 0px 15px / 40px auto no-repeat;
}

.order-form .order-section:nth-child(2) {
  background: url(../img/order-delivery.svg) 0px 12px / 40px auto no-repeat;
}

.order-form .order-section:nth-child(3) {
  background: url(../img/order-payment.svg) 0px 10px / 40px auto no-repeat;
}

.order-section-edit {
  display: none;
}

.order-section-edit-button {
  float: right;
}

.order-address-required input {
  border-color: #f00;
}

#order-address-confirm {
  margin-top: -20px;
  display: none;
  margin-bottom: 20px;
}

/**************/

.order-type {
  display: flex;
  grid-gap: 20px;
  flex-wrap: wrap;
}

.order-type label {
  display: flex;  
}

.order-type input {
  display: none;
}

.order-type span {
  display: flex;
  align-items: center;
  grid-gap: 20px;
  width: 100%;
  padding: 10px 20px;
  border: 2px solid #ccc;
  border-radius: 10px;
  line-height: 1.2;
}

.order-type input:checked + span {
  border-color: #CC3533;
  color: #CC3533;
}

/**************/

.order-delivery {
  display: flex;
  grid-gap: 20px;
  flex-wrap: wrap;
}

.order-delivery label {
  display: flex;  
  width: 31%;
}

.order-delivery input {
  display: none;
}

.order-delivery span {
  display: flex;
  align-items: center;
  grid-gap: 20px;
  width: 100%;
  padding: 10px 20px;
  border: 2px solid #ccc;
  border-radius: 10px;
  line-height: 1.2;
}

.order-delivery input:checked + span {
  border-color: #CC3533;
  color: #CC3533;
}

.order-delivery img {
  max-width: 70px;
  max-height: 70px;
}

.order-delivery-info {
  margin-top: 20px;
}

.order-delivery-params {
  display: none;
}

.order-address-wrapper {
  display: none;
}

.order-other-tk {
  display: none;
}

.order-delivery-pvz {
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
  margin-top: 20px;
  border: 1px solid #ccc;
  padding: 20px;
}

.order-delivery-pvz a {
  align-self: flex-start;
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
  color: #00f;
}

.order-delivery-pvz-address {
  display: flex;
  align-items: flex-start;
  grid-gap: 10px;
}

.order-delivery-pvz-price {
  display: flex;
  align-items: flex-end;
  grid-gap: 5px;
}

#order-delivery-pvz-price {
  font-size: 18px;
  font-weight: bold;
}

.order-delivery-courier {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 20px;
  margin-bottom: 0px !important;
}

.order-delivery-courier input {
  width: 100%;
}

.order-address-calc {
  margin-top: -10px;
}

.order-delivery-calculated {
  border: 1px solid #ccc;
  padding: 20px;
}

.order-delivery-calculated-price {
  display: flex;
  align-items: flex-end;
  grid-gap: 5px;
}

#order-delivery-calculated-price {
  font-size: 18px;
  font-weight: bold;
}

/*******************/

.order-payments {
  display: flex;
  grid-gap: 20px;
  flex-wrap: wrap;
}

.order-payments label {
  display: flex;  
}

.order-payments input {
  display: none;
}

.order-payments span {
  display: flex;
  align-items: center;
  grid-gap: 10px;
  padding: 10px 20px;
  border: 2px solid #ccc;
  border-radius: 10px;
}

.order-payments input:checked + span {
  border-color: #CC3533;
  color: #CC3533;
}

/*******************/

.order-summary > div.order-delivery-description {
  margin-top: -10px;
  font-size: 14px;
}

.order-summary > div.order-payment-description {
  margin-top: -5px;
  font-size: 14px;
}

.order-summary > div.order-summary-total {
  font-size: 20px;
}

.order-summary > label.order-summary-disclaimer {
  display: block;
  margin-top: 10px;
  font-size: 10px;
}

/*******************/

@media (max-width: 1280px) {
  .order-delivery label {
    width: 48%;
  }
}

@media (max-width: 1024px) {
  .order-wrapper {
    flex-direction: column;
  }
  .order-summary {
    align-self: stretch;
    max-width: none;
  }
}

@media (max-width: 768px) {  
  .order-form-types {
    flex-direction: column;
    grid-gap: 10px;
  }
  .order-delivery label {
    width: 100%;
  }
}

@media (max-width: 480px) {  
  .order-section {
    padding: 20px 0px 20px 0px;
    border: none;
    border-bottom: 1px solid #ccc;
  }
  .order-form .order-section:nth-child(1),
  .order-form .order-section:nth-child(2),
  .order-form .order-section:nth-child(3) {
    background: none;
  }
}
/******************************/

.payment-variants {
  display: grid;  
  grid-gap: 40px;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
}

.payment-variants div {  
  background: #fafafb center 20px / 80px auto no-repeat;
  border-radius: 10px;
  padding: 120px 20px 20px 20px;  
}

.payment-variants span {  
  display: block;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}

.payment-variants ul {  
  margin-left: 20px;
  font-size: 14px;
}

.payment-variants li {  
  margin-bottom: 10px;
}

.payment-variants div:nth-child(1) {  
  background-image: url(../img/payment-1.svg);
  background-position: center 20px;
  background-size: 70px auto;
  display: none;
}
.payment-variants div:nth-child(2) {  
  background-image: url(../img/payment-5.svg);
  background-size: 60px auto;
}
.payment-variants div:nth-child(3) {  
  background-image: url(../img/payment-3.svg);
  background-size: 70px auto;
}
.payment-variants div:nth-child(4) {  
  background-image: url(../img/payment-4.svg);
  background-position: center 30px;
  background-size: 60px auto;
}

/****************************/

.payments-options {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 40px;
  justify-content: center;
}

.payments-options div {  
  diplay: flex;
  align-items: center;
  width: 30%;
  position: relative;
}

.payments-options div span:first-child {  
  font-size: 100px;
  color: #f9e9e9;
  font-weight: 700;
}

.payments-options div span:last-child {
  position: absolute;
  margin-top: 65px;
  margin-left: -60px;
  white-space: nowrap;
  padding: 1px 5px;
  font-size: 14px;
  color: #000;
  text-transform: uppercase;
  z-index: 1;
  background: #fff;
}

.payments-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  grid-gap: 20px;
}

.payments-logos img {
  max-height: 100px;
  max-width: 100px;
}

@media (max-width: 1024px) {  
  .payments-options div {
    width: calc(50% - 40px);
  }
}

@media (max-width: 768px) {
  .payment-variants {
    grid-template-columns: repeat(2, 1fr);
  }
  .payments-options div {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .payment-variants {
    grid-template-columns: repeat(1, 1fr);
  }
}
/******************************/

.login-wrapper {
  display: flex;
  grid-gap: 40px;
}

.login-wrapper form {
  max-width: 300px;
}

.login-img {
  max-width: 300px;
}

label.countdown-hide {
  margin-top: 0;
}

@media (max-width: 768px) {
  .login-wrapper {
    flex-wrap: wrap;
  }
  .login-wrapper form {
    max-width: 100%;
  }

  .login-img {
    max-width: 100%;
  }
}

/**************/

.login-tabs {  
  display: flex;
  grid-gap: 10px;
  /*justify-content: center;*/
  font-size: 20px !important;
}

.login-tabs span,
.login-tabs a {
  padding: 5px 15px;
}

.login-tabs a {
  color: #CC3533;
  border: 1px solid #CC3533;
  border-radius: 17px;
  text-decoration: none;
}

/***********************/

.private-email-edit {
  position: relative;
  top: 4px;
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../img/icon-edit.png) center center / 20px auto no-repeat;
}

/***********************/

.private-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.private-title h1 {
  margin: 0;
}

.private-title a.private-logout {
  background: url(../img/icon-logout.svg) left 20px center / 24px auto no-repeat;
  color: #CC3533;
  border: none;
  padding-left: 50px;
}

/****************************/

.content ul.private-menu {
  display: flex;
  grid-gap: 20px;
  margin: 40px 0 40px 0;
}

.private-menu li {
  display: block;  
}

.private-menu li a {
  display: flex;
  align-items: center;
  padding: 5px 20px;
  border: 1px solid #CC3533;
  border-radius: 18px;
  text-decoration: none;
  color: #333;
}

.private-menu li:hover a,
.private-menu li.private-menu-active a {
  background-color: #999;
  border: 1px solid #999;
  color: #fff;
}

.private-menu a.private-help {
  background: url(../img/icon-help.svg) left 15px center / 20px auto no-repeat;
  padding-left: 40px;
}

.button.private-delete {
  color: #CC3533;
  background: #ffdade;
  border-color: #ffdade;
  font-size: 80%;
  padding: 3px 15px;
}

.private-delete-text {
  margin-top: 10px;
  font-size: 80%;
}

/***********************/

.private-content-wrapper {
  display: flex;
  justify-content: space-between;
  grid-gap: 40px;
}

.private-content {
  width: 100%;
}

.private-content-support {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  grid-gap: 20px;
}

/****************************/

.private-orders {  
  display: flex;
  flex-direction: column;
  grid-gap: 40px;
}

.private-orders > div {  
  border: 1px solid #ccc;
  border-radius: 20px;
  padding: 20px;
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(8, 1fr);
  grid-template-areas:
    "date date status status total total paid paid"
    "cart cart cart cart cart cart tracking tracking"
    "cart cart cart cart cart cart return tocart";
}

.private-orders-date {
  grid-area: date;
  font-weight: bold;
  align-self: center;
}

.private-orders-status {
  grid-area: status;
  justify-self: start;
  align-self: center;
  border: 1px solid #ccc;
  padding: 5px 20px;
  border-radius: 18px;
  background: #f5f5f5;
}

.private-orders-total {
  grid-area: total;
  align-self: center;
  font-weight: bold;
}

.private-orders-paid {
  grid-area: paid;
  justify-self: start;
  align-self: center;
  border: 1px solid #ccc;
  padding: 5px 20px;
  border-radius: 18px;
  background: #f5f5f5;
}

.private-orders-cart {
  grid-area: cart;
  display: flex;
  flex-wrap: wrap;
  grid-gap: 20px;
}

.private-orders-cart a {
  width: 100px;
  font-size: 10px;
}

.private-orders-tracking {
  grid-area: tracking;
  justify-self: start;
  align-self: center;
}

.private-orders-tracking span {
  display: block;
  color: #000;
  font-weight: bold;
}

.private-orders-return {
  grid-area: return;
  justify-self: start;
  align-self: end;
}

.private-orders-tocart {
  grid-area: tocart;
  justify-self: start;
  align-self: end;
}

/****************************/

.private-requests {
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
}

.private-requests > div {
  display: flex;
  grid-gap: 40px;
  justify-content: space-between;
}

/****************************/

.private-order-info  {
  display: table;
  margin-bottom: 30px;
}

.private-order-info > div {
  display: flex;
  display: table-row;
  margin-bottom: 5px;
}

.private-order-info > div:nth-child(odd) {
  background: #f2f2f2;
}

.private-order-info > div > div {
  display: table-cell;
  padding: 3px 15px;
}

.private-order-cart {
  width: 100%;
}

.private-order-cart th {
  padding: 5px 20px;
}

.private-order-cart td {
  padding: 5px 20px;
}

.private-order-cart tr:nth-child(even) {
  background: #f2f2f2;
}

.private-order-cart-image {
  max-width: 50px;
  max-height: 50px;
}

@media (max-width: 1024px) {
  .content ul.private-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .private-orders > div {  
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas:
      "date status"
      "total paid"
      "cart cart"
      "tracking tracking"
      "return tocart";
  }
}

@media (max-width: 768px) {
  .private-orders-table tr {
    display: flex;
    flex-wrap: wrap;
  }
  .private-orders-table th {
    display: none;
  }
  .private-orders-table td {
    width: 100%;
    text-align: left;
  }
  .private-orders-table td:nth-child(3) {
    text-align: left;
  }
  .private-orders-table td::before {
    content: attr(data-th) ": ";
    font-weight: bold;
  }
  .private-order-cart th {
    padding: 5px 10px;
  }
  .private-order-cart td {
    padding: 5px 10px;
  }
}

@media (max-width: 480px) {
  .content ul.private-menu {
    grid-template-columns: 1fr;
  }
}

/******************************/

.quick-buy-wrapper {
  display: flex !important;
  margin-bottom: 20px;
}

.quick-buy-image {
  margin-right: 40px;
  max-width: 80px;
  flex-shrink: 0;
}

.quick-buy-image img {
  max-width: 100%;
}

.quick-buy-variants {
  width: 100%;
}

.quick-buy-variants label {
  display: block;
  margin: 0 0 10px 0;
  cursor: pointer;
}

.quick-buy-variants label:last-child {
  margin: 0;
}

.quick-buy-variants input {
  display: none;
}

.quick-buy-variants input:checked + div {
}

.quick-buy-variant {
  display: flex;
  align-items: center;
  grid-gap: 10px;
}

.quick-buy-variant-image {
  width: 48px;
  height: 48px;
}

.quick-buy-variant-image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

.quick-buy-title {
  display: block;
}

.quick-buy-sku {
  display: block;
  font-size: 80%;
}

.quick-buy-price {
  margin-left: auto;
  text-align: right;
}

.quick-buy-price-value {
  display: block;
  font-weight: bold;
}

.quick-buy-price-unit {
  display: block;
  font-size: 80%;
}

/******************************/


/******************************/

.services-table {
  width: 100%;
  margin: 40px 0;
}

.services-table td {
  padding: 10px 20px;
}

.services-table img {
  display: block;
  max-width: 100px;
  max-height: 40px;  
}

.services-table td.services-address {
  padding: 0 0 0 30px;
  background: url(../img/services-coords.svg) left center / 20px auto no-repeat;
}

.services-table td.services-phone {
  padding: 0 0 0 30px;
  background: url(../img/services-phone.svg) left center / 20px auto no-repeat;
}

.services-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ebebeb;
  padding: 20px 10px;
  color: #2b3990;
  font-weight: bold;
}

.services-wrapper form {
  background: url(../img/icon-geo-blue.png) left center / auto 100% no-repeat;
  padding-left: 30px;
}

.services-wrapper select {
  padding: 5px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;  
  color: #29323b;
}
/******************************/

.sitemap li {
  margin-left: 40px;
}

/******************************/

.page-video {
  display: grid;
  grid-gap: 40px;
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 768px) {
  .page-video {
    grid-template-columns: 1fr;
  }
}

.page-video a {
  display: block;
}

.page-video img {
  display: block;
}
/******************************/

.paginator {
  padding: 20px 0;
  display: flex;
  justify-content: center;
}

.paginator a,
.paginator span {
  display: inline-block;
  text-decoration: none;
  padding: 5px 10px;
  margin: 0 5px;
}

.paginator a:hover {
  color: #fff;
  background-color: #CC3533;
}

.paginator b {
  display: inline-block;
  font-weight: bold;
  padding: 5px 10px;
  margin: 0 5px;
  color: #fff;
  background-color: #CC3533;
}

/******************************/

.panel {
  float: left;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-top: 7px;
  margin-right: 10px;
  opacity: 0.7;
  display: inline-block;
  background: #ccc url(../img/icon-edit.png) center center no-repeat;
  background-size: 20px auto;
  transition: opacity 0.2s ease;
  flex-shrink: 0;
}
.panel:hover {
  opacity: 1;
}

.panel-compact {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  opacity: 0.7;
  display: inline-block;
  background: #ccc url(../img/icon-edit.png) center center no-repeat;
  background-size: 15px auto;
  transition: opacity 0.2s ease;
  position: absolute;
  z-index: 2;
}
.panel-compact:hover {
  opacity: 1;
}

@media print {
  .panel, .panel-compact {
    display: none;
  }
}

/******************************/

.breadcrumbs {
  margin-bottom: 40px;
  font-size: 80%;
  margin-left: -5px;
}

.breadcrumbs li {
  display: inline-block;
}

.breadcrumbs li a {
  display: inline-block;
  padding: 0 5px;
  color: #29323b;
  text-decoration: none;
}

.breadcrumbs li a:hover {
  color: #000;
}

.breadcrumbs li:last-child a {
  cursor: default;
}

.breadcrumbs li:last-child a:hover {
  color: #29323b;
}
/******************************/

.cookie-dialog {  
  position: fixed;
  z-index: 6;
  bottom: 30px;
  right: 100px;
  display: flex;
  grid-gap: 32px;
  align-items: center;
  padding: 16px;
  background: #fff;
  box-shadow: 0px 4px 12px rgba(25, 26, 55, 0.12);
  font-size: 12px;
}

.cookie-text {
  color: #000;
}

.cookie-button {
  display: inline-block;
  padding: 5px 20px;
  color: #fff;
  background: #CC3533;
  border-radius: 19px;  
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}

/******************************/

.popup {
  /* body */

}

.popup .content {
  width: 100%;
  background: #fff;
  padding: 20px;
  margin: 0;
}

.popup h1 {
  text-align: center;
  margin-bottom: 10px;
  font-size: 24px;
  line-height: 1.1;
}

.popup h2 {
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 1.3;
}

.popup h3 {
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 1.3;
}

/************************************/

.popup .form > label,
.popup .form > div {
  display: block;
  margin-top: 20px;
}

.popup .form input,
.popup .form select,
.popup .form textarea {
  width: 100%;
  max-width: 100%;
}

.popup .form input[type="checkbox"],
.popup .form input[type="radio"] {
  width: auto;
  max-width: none;
}

/******************************/

@media print {

  .header-notification,
  .header-top-wrapper,
  .header,
  .footer-wrapper,
  .sidebar,
  .breadcrumbs,
  .good-photos-others-wrapper,
  .good-buttons,
  .good-related,
  .good-popular,
  .good-viewed,
  .goods-tags,
  .good-pdf,
  .good-perks-wrapper,
  .cookie-dialog,
  .top {
    display: none;
  }
  .header-print {
    display: table;
  }
}

/******************************/

.slider-wrapper {
  position: relative;
  margin: 20px 0 10px 0;
  display: flex;
  align-items: center;
}

.slider-wrapper .categories,
.category-goods .goods,
.good-popular .goods,
.good-viewed .goods {
  display: flex;
  overflow: hidden;
  grid-gap: 0;
  min-width: 100%;
}

.slider-wrapper .categories li,
.category-goods .goods li,
.good-popular .goods li,
.good-viewed .goods li {
  flex-shrink: 0;
  width: 25%;
}

.slider-wrapper .categories li:hover,
.category-goods .goods li:hover,
.good-popular .goods li:hover,
.good-viewed .goods li:hover {
  box-shadow: none;
}

.category-actions a {
  flex-shrink: 0;
  width: calc(50% - 20px);
}

/******************************/

.slider-button {
  position: absolute;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #fff center center / 50px auto no-repeat;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 3px 3px 5px rgba(0.5, 0.5, 0.5, 0.2);
}

.slider-button-left {
  left: -50px;
  background-image: url(../img/icon-arrow-left.svg);
}

.slider-button-right {
  right: -50px;
  background-image: url(../img/icon-arrow-right.svg);
}

.slider-button-disabled {
  opacity: 0;
  cursor: default;
}

/******************************/

.slider-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.slider-controls a {
  width: 15px;
  height: 15px;
  margin: 5px 10px;
  border-radius: 50%;
  border: 2px solid #dedede;
  cursor: pointer;
}

.slider-controls a:hover,
.slider-controls .slider-controls-active {
  background: #CC3533;
  border: 2px solid #CC3533;
}

@media (max-width: 1280px) {
  .slider-button {
    width: 30px;
    height: 30px;
    background-size: 24px auto;
  }
  .slider-button-left {
    left: -30px;
  }
  .slider-button-right {
    right: -30px;
  }
}

@media (max-width: 1024px) {
  .slider-wrapper .categories li,
  .slider-wrapper .goods li {
    width: 33%;
  }

  .slider-button {
    display: none;
  }
}

@media (max-width: 768px) {
  .slider-wrapper .categories li,
  .slider-wrapper .goods li {
    width: 50%;
  }
}

@media (max-width: 480px) {
  .slider-wrapper {
    margin: 0 -10px;
  }
  .slider-wrapper .categories li,
  .slider-wrapper .goods li {
    width: 80%;
  }
}
/******************************/

.suggestions-nowrap{white-space:nowrap}.suggestions-input{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.suggestions-input::-ms-clear{display:none}.suggestions-wrapper{position:relative;margin:0;padding:0;vertical-align:top;-webkit-text-size-adjust:100%}.suggestions-suggestions{background:#fff;border:1px solid #999;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:default;left:0;min-width:100%;position:absolute;z-index:9999;-webkit-text-size-adjust:100%}.suggestions-suggestions strong{font-weight:400;color:#39f}.suggestions-suggestions.suggestions-mobile{border-style:none}.suggestions-suggestions.suggestions-mobile .suggestions-suggestion{border-bottom:1px solid #ddd}.suggestions-suggestion{padding:4px 4px;overflow:hidden}.suggestions-suggestion:hover{background:#f7f7f7}.suggestions-selected{background:#f0f0f0}.suggestions-selected:hover{background:#f0f0f0}.suggestions-hint{padding:4px 4px;white-space:nowrap;overflow:hidden;color:#777;font-size:85%;line-height:20px}.suggestions-subtext{color:#777}.suggestions-subtext_inline{display:inline-block;min-width:6em;vertical-align:bottom;margin:0 .5em 0 0}.suggestions-subtext-delimiter{display:inline-block;width:2px}.suggestions-subtext_label{margin:0 0 0 .25em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:0 3px;background:#f5f5f5;font-size:85%}.suggestions-value[data-suggestion-status=LIQUIDATED]{position:relative}.suggestions-value[data-suggestion-status=LIQUIDATED]:after{position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(0,0,0,.4);content:""}.suggestions-promo{font-size:85%;display:none;color:#777;padding:4px;text-align:center}.suggestions-promo a{color:#777;display:block;filter:grayscale(100%);line-height:20px;text-decoration:none}.suggestions-promo a:hover{filter:grayscale(0)}.suggestions-promo svg{height:20px;vertical-align:bottom}@media screen and (min-width:600px){.suggestions-promo{position:absolute;top:0;right:0;text-align:left}}
/******************************/

.top {
  z-index: 4;
  display: inline-block;
  position: fixed;
  visibility: hidden;
  bottom: 20px;
  left: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
  background: #CC3533 url(../img/icon-top.png) center center / 30px auto no-repeat;
  transition: all ease 0.3s;
}

.top:hover {
  opacity: 1;
}

.top-visible {
  visibility: visible;
  opacity: 0.75;
}

/******************************/

