.alert {
  position: relative;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  font-size: 14px;
}

.alert-danger {
  color: #922820;
  background-color: #fdd9d7;
  border-color: #fcc7c3;
}

.alert-success {
  color: #2e6930;
  background-color: #dbefdc;
  border-color: #c9e7cb;
}

.d-none {
  display: none;
}

.btn-outline-danger {
  color: #f44336;
  border-color: #f44336;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #f44336;
  border-color: #f44336;
}

.btn-primary {
  color: #000;
  background-color: #2196f3;
  border-color: #2196f3;
}

.btn-color {
  color: #fff;
}

.btn-outline-success {
  color: #4caf50;
  border-color: #4caf50;
}
.btn-outline-continue:hover{
   color: #fff;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #4caf50;
  border-color: #4caf50;
}
.pagination {
  font-size: 14px;
}


:root {
     /* цвет подложки лоадера */
    --loaderBgColor: rgba(0,0,0,.5);

    /* настройка спиннера*/
    --spinnerWidth:80px;
    --spinnerHeight:80px;
    --spinnerSize:3px;
    --spinnerColor:#003e66;
    --animationSpeed:.8s;
}

.js-page-loader * {
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
}

.js-page-loader {
    background-color: var(--loaderBgColor);
}

.js-page-loader .spinner {
    width: var(--spinnerWidth);
    height: var(--spinnerHeight);
    border-top: var(--spinnerSize) solid var(--spinnerColor);
    border-right: var(--spinnerSize) solid transparent;
    border-radius: 50%;
    animation: spinnerRotation var(--animationSpeed) linear infinite;
}

@keyframes spinnerRotation{
    from{
        transform: rotate(0deg);
    }
    to{
        transform: rotate(360deg);
    }
}
.shop-table {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}


.shop-table .table-row-header {
  position: relative;
  width: 100%;
  background: var(--c-ui-blue);
  padding: 3.1rem 20rem 3.1rem 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  gap:2rem;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  color: #fff;
}

/* TABLE BODY */
.shop-table .table-row-body {
  position: relative;
  background: #fff;
  max-height: 100%;
  overflow-y: auto;
  width: 100%;
  overflow-x: auto;
}

.shop-table .table-row-body .row-body-info{
  border-bottom: 2px solid var(--c-ui-blue);
  padding: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

/* TABLE FOOTER */
.shop-table .table-row-footer  {
  position: relative;
  padding: 5rem 10rem;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.shop-table .table-row-footer .info-items-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  margin: -0.5rem;
  overflow-y: hidden;
  position: relative;
}

.shop-table .order-tip {
  font-size: 2rem;
  font-weight: 400;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  white-space: nowrap;
}

.shop-table .order-summ {
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.1;
  padding: 0 2rem;
  margin-right: 3rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  white-space: nowrap;
}

.shop-table .buttons-group{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  flex-direction: column;
  gap:2rem;
}

.shop-table .buttons-group .buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap:2rem;
}

.shop-table .table-row .table-body-order{
  position: relative;
  padding: 5rem 10rem;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}



/* HELPERS */

.fw-600  {
  font-weight: 600
}

.chapter-title {
  padding-left: 9%;
  padding-right: 3rem;
}

.info-items-wrapper .choose-counter {
  font-size: 1.4rem
}

.info-items-wrapper .choose-counter span {
  font: inherit
}

.info-item-group {
  position: relative;
}

.info-item-group .group-content--header {
  background: var(--c-ui-darkGray);
  padding: 2.5rem 5rem;
  border-bottom: 1px solid var(--c-ui-blue);
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.info-item-group .group-content--header::after {
  content: "";
  position: relative;
  display: block;
  width: 2.9rem;
  height: 1.5rem;
  background: url(/local/templates/devstages/assets/styles/css/../../img/group-poly.svg) no-repeat;
  background-size: contain;
  -webkit-transition: ease .4s;
  transition: ease .4s;
}

.info-item-group .group-content--hidden {
  display: none
}

.info-item-group .group-item {
  width: 100%;
  position: relative;
  padding: 2.3rem 5rem;
  border-bottom: 1px solid var(--c-ui-blue);
}

.button--outline {
  border-color:var(--c-ui-blue) !important;
  color:var(--c-ui-blue);
}

.info-items-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  margin: -0.5rem;
  overflow-y: hidden;
  position: relative;
}

.info-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: .5rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  text-align: left;
  font-size: 1.8rem;
}

.info-item p,
.info-item span {
  font: inherit
}

.info-item.photo--item {
  width: 5%;
}

.info-item.article--item {
  width: 12%;
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.info-item.name--item {
  width: 40%
}

.info-item.count--item {
  width: 15%;
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.info-item.type--item {
  width: 7%;
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.info-item.price-rub--item {
  margin-left: auto;
  width: 10%;
  text-align: right;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.buttons-group .checkbox {
  margin-left: auto;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}

.custom-checkbox {
  display: flex;
  align-items: center;
  gap:1rem;
}

.buttons-group .checkbox .custom-checkbox input{
  display:none !important;
}

.custom-checkbox .icon {
  width: 3rem;
  height: 3rem;
  position: relative;
  border-radius: .5rem;
  background: #e7eaef;
  transition: ease .3s;
}

.custom-checkbox input:checked ~ .icon::after {
  opacity: 1
}

.custom-checkbox input:checked ~ .icon {
  background: #4caf50;
}

.custom-checkbox .icon::after {
  content:"";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 2;
  width: 2rem;
  height: 2rem;
  background: url(../../img/check-icon.svg) no-repeat center center;
  background-size: contain;
  transition: ease .4s;
  opacity:0;
  pointer-events: none;
}

.buttons-group .checkbox input {
  margin-right: 1rem;
  appearance:auto;
  width: auto;
}

.buttons-group .checkbox label {
  font-size: 2rem;
  line-height: 1;
}

.product-order-counter {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 100%;
  height: 3.5rem
}

.product-order-counter.disabled--counter button,
.product-order-counter.disabled--counter input{
 pointer-events: none !important;
 user-select: none;
}

.orders-history-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  gap:2rem;
  padding: 2rem 0;
}

.orders-history-wrapper .total-summ{
  margin-left: auto;
  padding-right: 5rem;

}

.orders-history-wrapper .button {
  min-width: 25rem;
}

.product-order-counter.disabled--counter .counter-btn::after ,
.product-order-counter.disabled--counter  .counter-btn.counter-plus::before {
  background: rgba(0, 0, 0, .2) !important;
}

.product-order-counter.disabled--counter  .counter-btn.active-btn::after, .product-order-counter.disabled--counter  .counter-btn.active-btn::before {
    background: rgba(0, 0, 0, .2) !important;
}


.product-order-counter .counter-btn {
  position: relative;
  width: 1.7rem;
  height: 100%;
  background: none;
  cursor: pointer;
  padding: 0;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto
}

.product-order-counter .counter-btn::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
  height: 2px;
  background: rgba(0, 0, 0, .2);
  -webkit-transition: ease .4s;
  transition: ease .4s
}

.product-order-counter .counter-btn.btn-disabled {
  pointer-events: none !important
}

.product-order-counter .counter-btn.active-btn::after, .product-order-counter .counter-btn.active-btn::before {
  background: #000 !important
}

.product-order-counter .counter-btn.counter-plus::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 2px;
  height: 1.7rem;
  background: rgba(0, 0, 0, .2);
  -webkit-transition: ease .4s;
  transition: ease .4s
}

.product-order-counter .counter-total {
  border-radius: .3rem;
  background: #dedede;
  overflow: hidden;
  padding: .55rem 1.55rem;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 1.4rem;
  text-align: center;
  -webkit-transition: background ease .4s;
  transition: background ease .4s;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 4.1rem;
  max-width: 6.6rem
}

.product-order-counter .counter-total.active {
  background: var(--c-ui-blue);
}

.info-item-group .group-content--hidden.basket--item {
  display: block !important
}

.item-delivery-wrapper {
  display: flex;
  flex-direction: column;
  gap:2rem;
  padding: 2rem 1rem;
}

.item-delivery-wrapper  .delivery-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap:2rem;
}

.checkbox-delivery {
  display: block;
  width: 100%;
  padding: 2rem;
  position: relative;
  cursor: pointer;
}

.checkbox-delivery .check {
  position: absolute;
  right: 1.4rem;
  top: -1.4rem;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #e7eaef;
      transition: ease .4s;
  z-index: 3
}

.checkbox-delivery .check::after {
  content:"";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 2;
  width: 2rem;
  height: 2rem;
  background: url(../../img/check-icon.svg) no-repeat center center;
  background-size: contain;
  transition: ease .4s;
  opacity:0;
  pointer-events: none;
}

.checkbox-delivery input {
  display: none;
}

.checkbox-delivery .checkbox-title {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 300;
  display: block
}

.checkbox-delivery .city {
  font-weight: 600;
  transition: ease .3s;
  font-size: 1.8rem;
}

.checkbox-delivery .spacer {
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 1rem;
    border: 1px solid rgba(0, 0, 0, .2);
    width: 100%;
    height: 100%;
    transition: ease .4s;
}

.checkbox-delivery .spacer:hover {
  box-shadow: 0px 3px 12px 3px rgba(0,0,0,.1);
}

.checkbox-delivery input:checked+.check {
background-color: #4caf50;
}

.checkbox-delivery input:checked ~ .city {
    color:var(--c-ui-blue);
}

.checkbox-delivery input:checked ~ .check::after {
  opacity: 1
}

@media(max-width: 1200px) {

  .shop-table .table-row .table-row-body .row-body-info {
    padding: 2rem
  }

  .shop-table .table-row-header {
    padding: 2rem 10rem 2rem 2rem
  }

  .info-item-group .group-item {
    padding: 2rem
  }

  .shop-table .table-row .table-body-order {
    padding: 5rem 2rem
  }

  .chapter-title {
    padding-left: 0
  }

  .info-item-group .group-content--header {
    padding: 2rem
  }

  .shop-table .order-summ {
    font-size: 3rem
  }

  .shop-table .table-row-header .header-tip {
    font-size: 1.4rem
  }

  .product-order-counter .counter-total {
    font-size: 1.8rem;
    padding: .55rem 1.5rem;
    margin: 0 .5rem
  }

  .product-order-counter .counter-btn {
    width: 1rem
  }

  .product-order-counter .counter-btn.counter-plus::before {
    height: 1rem
  }

  .info-item-group .group-content--header::after {
    width: 1.5rem;
    height: 1.1rem
  }

  .shop-table .table-close {
    width: 2rem;
    height: 2rem
  }

  .info-item {
    font-size: 1.6rem
  }

  .shop-table .table-row-footer {
    padding: 5rem 3rem;
  }

  .shop-table .order-tip {
    font-size: 1.6rem
  }
}


@media(max-width: 1099px) {

  .shop-table .table-body-order .info-items-wrapper,
  .shop-table .table-row-footer .info-items-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .shop-table .table-body-order,
  .shop-table .table-row-footer {
    padding:3rem 1rem
  }

  .shop-table .order-summ {
    padding-left: 0;
    padding-right: 0
  }
  .info-item.name--item {
    width: 30%
  }

  .info-item-group, .shop-table .table-row .table-row-body .row-body-info {
    width: 100rem
  }

  .chapter-title {
    position: sticky;
    left: 2rem
  }

  .info-item-group .group-content--header::after {
    position: sticky;
    right: 2rem
  }

  .shop-table .table-row .table-body-order .order-summ {
    margin-right: 0rem;
    padding-left: 0;
    margin-top: .5rem
  }

  .buttons-group {
    margin-top: 2rem;
    width: 100%
  }

  .buttons-group .button {
    width: 50%
  }

  .info-item-group .group-content--header .info-items-wrapper {
    width: auto;
    position: sticky;
    left: 2rem
  }

  .info-item.type--item {
    width: 10%
  }

  .info-item.price-dollar--item {
    width: 15%
  }

}

@media(max-width: 768px) {
  .group-content--header .info-items-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }

  .shop-table .table-body-order .order-summ {
    margin-right: 2rem
  }

  .shop-table .table-body-order .order-summ {
    font-size: 2.4rem
  }

  .shop-table .table-body-order .order-tip {
    font-size: 1.6rem
  }

  .product-order-counter .counter-total {
    font-size: 1.6rem
  }

  .shop-table .table-body-order {
    padding: 3rem 2rem
  }


  .shop-table .table-close {
    right: 2rem
  }

  .shop-table .table-row-header {
    padding: 2rem 3rem 2rem 2rem
  }

  .shop-table .table-row-header .h1, .shop-table .table-row-header .header-tip {
    font-size: 1.3rem
  }

}
.search-inner{
    margin-bottom: 15px;
}

.delivery-error{
      border: 1px solid red;
    border-radius: 14px;
}
