#locimoi_s { 
  --locimoi-pad: 2px;
  --overbg: #FFF;
  --sbbt-color: #EEE;
  --sbth-color: #37474f;
  --sbtr-color: #b0bec5;
  
  --index-item-pad: 2px;
  --larger-pad: 12px;
  
  /*max-width: 90%;
  margin: 0 auto;*/
  position:fixed;
  right: 0px;
  top: 0px;
  display: flex;
  z-index: 999;
}



.prod-details {
  flex-grow: 1;
  display: flex;
  flex-flow: column wrap;
}
.prod-price {
  &.used {
    /*margin-top: auto;*/
  }
  .pp-title {
    font-size: 13px;
  }
  .pp-icon {}
}


.prod-add {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 100%;
  justify-content: center;
  box-sizing: border-box;
  padding: var(--locimoi-pad);
  border: 1px solid var(--sbbt-color);
  flex-grow: 0;
  z-index: 3;
  cursor: pointer;
  background-color: rgba(33,150,243,0);
  transition: 1s;
  &.adding, &.adding:hover {
    background-color: #FAFAFA;
    transition: 1s;
  }
  &:hover {
    background-color: var(--sbtr-color);
  }
}


.prod-price {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  justify-self: flex-end;
  flex-grow: 0;
  margin-top: 0;
  width: 100%;
  div {
    display: flex;
    position: relative;
    flex-flow: row wrap;
  }
  &:first-of-type {
    margin-top: auto;
  }
  .pp-title {
    justify-content: space-between;
    div {
      &:first-of-type {
        margin-right: 2px;
      }
      flex-grow: 0;
      &:nth-of-type(2) {
        margin-right: 4px;
      }
    }
  }
  .pp-icon {
    flex-grow: 0 !important;
  }
  &.inactive {
    color: var(--primary-60);
    &.static {color: var(--primary-30);}
  }
  &.active {
    color: var(--primary-10);
    &.static {
      color: var(--primary-30);
    }
  }
  &.static {
    .pp-icon {
      display: none !important;
    }
  }
  &.used {
    font-weight: 600;
  }
}




.prod-price.active .pp-icon {
    box-sizing: border-box;
    position: relative;
    display: block;
    width: 22px;
    height: 22px;
    border: 2px solid;
    border-radius: 100px;
    
}
.prod-price.active .pp-icon::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    left: 3px;
    top: -1px;
    width: 6px;
    height: 10px;
    border-color: #3E9E51;
    border-width: 0 2px 2px 0;
    border-style: solid;
    transform-origin: bottom left;
    transform: rotate(45deg)
}


.prod-price.inactive .pp-icon {
    box-sizing: border-box;
    position: relative;
    display: block;
    width: 22px;
    height: 22px;
    border: 2px solid;
    border-radius: 40px
}
.prod-price.inactive .pp-icon::after,
.prod-price.inactive .pp-icon::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 12px;
    height: 2px;
    background: #9E0817;
    transform: rotate(45deg);
    border-radius: 5px;
    top: 8px;
    left: 3px
}
.prod-price.inactive .pp-icon::after {
    transform: rotate(-45deg)
}




#cart {
  display: flex;
  flex-flow: row wrap;
  position:relative;
  overflow: hidden; 
  padding: 8px;
  background-color:#FAFAFA;
  border:1px solid #F2F2F2;
  margin-bottom:10px;
  margin: 10px auto;
  height: 41px;
  max-height: 41px;
  min-width: 28px;
  width: 40px;
  max-width: 40px;
  position: fixed;
  top:30px;
  right:10px;
  z-index: 1000;
  font-size: 10pt;
  transition: all 0.2s ease-in-out;
  display: none;
  box-sizing: border-box;
  &.full {
    display: flex;
  }
  &.editing {
    overflow-x: visible !important; 
  }
  &.show-info {
    display: flex;
    overflow-x: visible !important; 
    width: 300px;
    max-width: 300px;
    transition: all 0.2s ease-in-out;
  }
  &.vis {
    width: 600px;
    max-width: calc(100% - 10px);
    height: auto;
    max-height: none;
  }
  .ci-title {
    font-size: 10pt;
  }
}
#cart_alert {
  display: flex;
  flex-flow: row wrap;
  position: absolute; 
  top: 8px; 
  right:40px; 
  opacity:0; 
  visibility: hidden;
  transition: all 0.8s ease-in-out;
  &.vis {
    opacity:1; 
    visibility:visible;
    width: auto;
  }
  .notification {
    align-items: center;
    padding: 2px 8px;
  }
}
#cart_banner {
  position: relative;
  width: 100%;
  display: none;
  &:before {
    content: "shopping cart";
    display: block;
    margin-bottom: 10px;
    color: var(--tertiary-30);
  }
}
#cart_icon {
  position: relative;
  margin-left: auto;
  cursor: pointer;
}
#cart_items {
  position: relative;
  margin-top: 40px;
  width: 100%;
  overflow: hidden;
  max-height: 60vh;
  overflow-y: scroll;
}
.cart-item {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  overflow: hidden;
  padding: var(--larger-pad) var(--index-item-pad);
  border-bottom:1px solid var(--primary-70);
  width: 100%;
  flex-shrink:0;
  .ci-title {
    display: flex;
    flex-flow: row wrap;
    flex-grow: 1;
    position: relative;
    padding: var(--index-item-pad) var(--larger-pad);
  }
  .ci-remove, .ci-price {
    display: flex;
    flex-flow: row wrap;
    position: relative;
    padding: var(--index-item-pad) var(--larger-pad);
    flex-grow: 0;
    flex-shrink: 0;
    padding: var(--index-item-pad) var(--larger-pad);
    width: 100px;
    align-self: flex-end;
  }
  .ci-remove {
    justify-content: center;
  }
  .ci-price {
    justify-content: flex-end;
  }
}
#cart_actions {
  position: relative;
  display: flex; 
  flex-flow: row wrap;
  justify-content: flex-end;
  margin-top:6px;
  &.disabled {
    display:none;
  }
}
#cart_empty, .ci-remove, #cart_checkout {
  position: relative;
  padding: var(--index-item-pad) var(--larger-pad);
  color: #FFFFFF;
  border: 1px solid #E2E2E2;
  border-radius: 4px;
  box-shadow: 0px 0px 10px rgba(255,255,255,0.4) inset;
  text-align: center; 
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  &:hover {
    box-shadow:0px 0px 16px rgba(50,50,50,0.3) inset;
  }
}
.ci-remove {
  background-color: var(--tertiary-30);
  color: var(--tertiary-90);
}
#cart_empty {
  background-color: var(--quarternary-60);
  color: var(--tertiary-99);
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-content: center; 
  flex-grow:0;
  height: 38px;
  box-sizing: border-box;
}
#cart_checkout {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  flex-grow: 0;
  height: 38px;
  padding: 0;
  background-color: var(--quinary-60);
  color: var(--tertiary-99); 
  box-sizing: border-box;
  &.checking {
    background-color: var(--quinary-99);
  }
  .mask {
    padding: var(--index-item-pad) var(--larger-pad);
    color: var(--quinary-90);
    box-sizing: border-box;
  }
}
#cart_total {
  display: flex;
  flex-flow: row wrap;
  position:relative;
  flex-grow: 0;
  justify-content: flex-end;
  flex-shrink: 0;
  width:100px;
  font-weight:700;
  margin-bottom:10px;
  padding: var(--larger-pad) var(--index-item-pad);
  margin-left: auto;
}

/*#cart_send {
  position: relative;
  display: block; 
  height:30px; 
  margin-top:6px;
}*/
 
#cart_send {
  position: absolute;
  padding:0;
  margin:0;
  left: 0;
  top:0;
  right:0;
  bottom:0;
  input[name='prices'], input[name='products'] {
    display: none;
    visibility: hidden;
  }
  input[type='submit'] {
    position: absolute;
    padding:0;
    margin:0;
    left: 0;
    top:0;
    right:0;
    bottom:0;
    opacity: 0;
    cursor: pointer;
  }
}




.pa-icon, #cart_icon {
  flex-grow: 0;
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 20px;
  height: 21px;
  background:
        linear-gradient(
            to left,currentColor 12px,
            transparent 0)
            no-repeat -1px 6px/18px 2px,
        linear-gradient(
            to left,currentColor 12px,
            transparent 0)
            no-repeat 6px 14px/11px 2px,
        linear-gradient(
            to left,currentColor 12px,
            transparent 0)
            no-repeat 0 2px/4px 2px,
        radial-gradient(
            circle,currentColor 60%,
            transparent 40%)
            no-repeat 12px 17px/4px 4px,
        radial-gradient(
            circle,currentColor 60%,
            transparent 40%)
            no-repeat 6px 17px/4px 4px
}
.pa-icon::after,
.pa-icon::before,
#cart_icon::after,
#cart_icon::before  {
    content: "";
    display: block;
    position: absolute;
    box-sizing: border-box;
    width: 2px;
    height: 14px;
    background: currentColor;
    top: 2px;
    left: 4px;
    transform: skew(12deg)
}
.pa-icon::after,
#cart_icon::after {
    height: 10px;
    top: 6px;
    left: 16px;
    transform: skew(-12deg)
}

#cart.vis #cart_icon {
  background: none;
}
#cart.vis #cart_icon::after,
#cart.vis #cart_icon::before {
  box-sizing: border-box;
  position: relative;
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 3px;
  background: var(--primary-50);
  background: transparent;
  overflow: visible;
}
#cart.vis #cart_icon::after,
#cart.vis #cart_icon::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0px;
  transform: rotate(45deg);
  background: currentColor;
}
#cart.vis #cart_icon::after {
  top: 10px;
  left: 0px;
  transform: rotate(-45deg);
  background: currentColor;
}
#cart.editing #cart_icon,
.prod-add.adding .pa-icon {
  border: 5px solid #FFF;
  border-bottom-color: #FF3D00;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
} 

#cart.editing #cart_icon,
#cart.editing #cart_icon::after,
#cart.editing #cart_icon::before,
.prod-add.adding .pa-icon,
.prod-add.adding .pa-icon::after,
.prod-add.adding .pa-icon::before {
  background: transparent !important;
}
#cart_icon:hover {
  color: var(--secondary-40);
}




/* ----------- extra small ----------- */
@media screen
  and (max-width: 399px) {
    .content-item.product {
      width: 98%;
    }
  }
/* ----------- small ----------- */
@media screen
  and (min-width: 400px) 
  and (max-width: 599px) {
    .content-item.product {
      width: 48%;
    }
  }
/* ----------- small types ----------- */
@media screen
  and (max-width: 599px) {
  #cart {
    position: absolute;
    top: 80px;
    
  }
  #cart.vis {
    max-width: calc(100% - 20px);
  }
}

/* ----------- medium ----------- */
@media screen 
  and (min-width: 600px) 
  and (max-width: 899px) {
    .content-item.product {
      width: 28%;
    }
  }
/* ----------- large ----------- */
@media screen 
  and (min-width: 900px) 
  and (max-width: 1279px) {
    .content-item.product {
      width: 23%;
    }
  }
/* ----------- extra large ----------- */
@media screen 
  and (min-width: 1280px) {
    .content-item.product {
      width: 18%;
    }
  }

.content-item.category {
 > .locus.gene {
 }
}
  
.content-item.product {
  flex-grow: 1;

}