form input.qty {
  width: 40px;
  border: 1px solid #eee;
  font: 16px 'PT Serif', serif;
  background: #f9f9f9;
  color: #000;
  border-radius: 3px;
  margin: .2em 18px .2em 0.2em;
  padding-top: .222em;
  padding-bottom: .222em;
  text-align: center;
}

.ui-spinner-button {
    width: 16px !important;
}

.category-wrapper {
  height: 54px;
}

.category-selector {
    text-align: center;
}

.category-selector-style {
    margin-top: 8px;
    margin-bottom: 8px;
    text-align: center;
    border-radius: 25px;
    border: 2px solid white;
    width: auto;
    display: inline-block;
    position: relative;
}

.category-selector-style:after {
    top: 50%;
    left: 90%;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border: 5px solid rgba(0, 0, 0, 0);
    border-top-color: #000000;
    margin-top: -2px;
    z-index: 100;
}

.category-selector select {
    color: dimgray;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor:pointer;
    border: none;
    padding: 6px 25px;
    font-size: 16px;
    font-weight: bold;
    min-width: 260px;
}

.category-selector select::-ms-expand {
    display: none;
}

.category-selector select > option {
    color: black;
    background: white;
}

@media (max-width: 480px) {
  .category-selector {
    background-color: rgba(220,212,202,1);
  }
}

.category-selector.affix {
    top: 51px;
    width: 100%;
    z-index: 100;
    background-color: rgba(220,212,202,1);
}

@media (min-width: 992px) {
  .category-selector.affix {
    top: 71px;
  }
}

.cart-area {
    background-color: grey;
    width: 88.125%;
    max-width: 460px;
    padding: 10px;
    border-radius: 6px;  
    position: fixed;
    margin-left: 10px;
    padding-bottom: 44px;
    max-height: calc(100vh - 70px);
    top: 64px;
    z-index: 1031;
    border: 4px solid #EEEEEE;
}

@media (min-width: 375px) {
  .cart-area {
    width: 95%;
  }
}

.cart-area-inner {
    overflow-y: auto;
}

.cart-area:after, .cart-area:before {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.cart-area:after {
	border-color: rgba(128, 128, 128, 0);
	border-bottom-color: #808080;
	border-width: 20px;
	margin-left: -20px;
}
.cart-area:before {
	border-color: rgba(238, 238, 238, 0);
	border-bottom-color: #eeeeee;
	border-width: 26px;
	margin-left: -26px;
}

.cart-area > h2 {
    margin-top: 0px !important;
}

@media (min-width: 480px) and (max-width: 991px) {
    .cart-area {
        width: 460px;
    }
}

@media (min-width:768px) {
    .category-selector.affix {
        width: 768px
    }
}

@media (max-width:991px) {
    .cart-area {

    }

    .cart-area-inner {
        max-height: calc(100vh - 108px);
        padding-bottom: 44px;
    }
}

@media (min-width:992px) {
    .cart-area {
        max-height: calc(100vh - 160px);
    }

    .cart-area-inner {
        max-height: calc(100vh - 198px);
    }

    .category-selector.affix {
        width: 970px
    }
    .cart-area:after, .cart-area:before {
        left: 90%;
    }
}

@media (min-width:1200px) {
    .category-selector.affix {
        width: 1170px
    }
}

.cart-counter {
    left: 5px;
    top: 0px;
}

.cart-area-container {
    padding-right: 0px;
}

.cart-area table {
    border-top: 1px solid #ffffff;
    width:100%;
}

.cart-area tr td {
    vertical-align: top;
    line-height: 130%;
    padding-top: 5px;
    padding-bottom: 5px;
}

.cart-area tr:first-child td {
    padding-top: 10px;
}

.cart-area tr td:first-child {
    padding-left: 4px;
    width: 75px;
}

.cart-area tr td:last-child {
    text-align: left;
}

.cart-area-collection-location {
    color: white;
}

.cart-sub-item {
    font-size: 0.9em;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

input[type=number] {
    -moz-appearance:textfield;
}

a.delete-item {
  color: #ff3333;
}

.finalcart-table {
  margin-bottom: 0px !important;
}

.category {
 touch-action: manipulation;
}

#product-search-group {
    padding-top: 10px;
    padding-bottom: 10px;
}

@media (min-width:992px) {
  #product-search-group {
    width: calc(100% - 74px); /* Minus width of shopping cart button */
  }
}

.desktop-cart-button {
  position: absolute;
  right: 15px;
  top: 2px;
}

.position-absolute {
    position: absolute !important;
}

.affix-top.position-absolute {
    width: 100%;
}

body.scrollauto {
    -webkit-overflow-scrolling : touch !important;
    overflow: auto !important;
    height: 100% !important;
}

/* Two identical styles which when toggled will force a redraw */
#product-search {
  text-shadow: rgba(0,0,0,0) 0px 0px 0px;
}

#product-search.force-redraw {
  text-shadow: none;
}

#product-search-show {
  touch-action: manipulation;
  margin-left: 5px;
  cursor: pointer;
}

@media (max-width: 480px) {
  #goto-customer-details {
    margin-top: 10px;
  }
}

#shop_order_form #pickupdate {
  background-color: white !important;
}

/* Progress Steps */
.stepwizard-step p {
    margin-top: 10px;
}

.stepwizard-row {
    display: table-row;
}

.stepwizard {
    display: table;     
    width: 100%;
    position: relative;
    margin-top: 10px;
}

.stepwizard-step button[disabled] {
    opacity: 1 !important;
    filter: alpha(opacity=100) !important;
}

.stepwizard-row:before {
    top: 14px;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 100%;
    height: 1px;
    background-color: #ccc;
    z-index: 0;
}

.stepwizard-step {    
    display: table-cell;
    text-align: center;
    position: relative;
    /* Width is 100/number of steps */
    width: 33.3333%;
    width: calc(100% / 3);
}

.btn-circle {
  width: 30px;
  height: 30px;
  text-align: center;
  padding: 6px 0;
  font-size: 12px;
  line-height: 1.428571429;
  border-radius: 15px;
}

.btn-img-mastercard {
    width: 130px;
    height: 42px;
}

.img-cart-small {
    height: 35px;
    max-height: 35px;
    padding-right: 8px;
}

.btn-strip > .btn {
  margin-bottom: 5px;
}

.col-xs-3 + .col-xs-3:before {
    content: "-";
    position: absolute;
    left: -2%;
    top: 6px;
}

.jq-couponcode-inner .jq-couponcode-col + .jq-couponcode-col:before {
    content: "-";
    position: absolute;
    left: -2px;
    top: 6px;
}

.collection_location_picker {
    min-height: 12em;
    background-color: black;
    background-clip: content-box;
}

.collection_location_picker h3 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding-right: 15px;
    padding-left: 15px;
}

.collection_location_picker h4 {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding-right: 15px;
    padding-left: 15px;
}

.pickup_location_name, .pickup_location_details {
    background: rgb(0, 0, 0);
    background: rgba(0, 0, 0, 0.7);
    letter-spacing: -1px;
    padding-left: 5px;
    padding-right: 5px;
    line-height: 1.2em;
}

.unpaid-watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 0.5;
    z-index: 99;
    color: red;
    font-size: 95px;
    transform: translateX(-50%) translateY(-48%) rotate(-45deg);
    overflow: hidden;
}

.btn-fulfillment-type {
    border-width: 1px;
    border-radius: 2px;
    width: 100%;
    margin-right: 0.5em;
    height: 60px;
    font-size: large;
}

.btn-delivery-location {
    margin-bottom: 1.2em;
    background: #696969;
    padding:10px
}

.btn-delivery-location:hover {
    background: #4f4f4f;
}

/* From Bootstrap 4 @TODO remove once we update */
.d-none {
    display: none!important;
}

.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}

.align-items-stretch {
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
}

.align-items-center {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
}

.justify-content-center {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.error_message {
    font-weight: bold;
}

.error_message:before {
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    display: inline-block;
    text-decoration: inherit;
    content: "\f071";
    margin-right: 5px;
    color: orange;
    font-size: 1.5em;
}