/* Extra css */

span.product_price_inc_gst_string {
  color: #cccccc;
  font-size: 0.7em;
}
.product__prices span.product_price_inc_gst_string {
  font-size: 0.5em;
}
form.product__options select.form-control > option:disabled {
  color: #cccccc;
}
.products-view_pagination {
  margin-top: 20px;
}

div.product_availability {
  margin: 12px 0 0;
  padding: 12px 0 0;
  color: #999;
  font-size: 14px;
}
div.product_availability h4 {
  font-size: 14px;
}
div.product_availability ul {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}

div.product_availability li:has(span.instock),
div.product_availability li:has(span.specialorder),
div.product_availability li:has(span.backorder),
div.product_availability li:has(span.limitedstock) {
  padding-left: 1.3em;
}

div.product_availability li:has(span.instock):before {
  content: "\f058"; /* circle-tick */
  font-family: 'Font Awesome 5 Free';
  display: inline-block;
  margin-left: -1.3em;
  width: 1.3em;
  font-weight: 900;
  color: #7cbc77;
}

div.product_availability li:has(span.specialorder):before {
  content: "\f057"; /* circle-xmark */
  font-family: 'Font Awesome 5 Free';
  display: inline-block;
  margin-left: -1.3em;
  width: 1.3em;
  font-weight: 900;
  color: #e8393e;
}
div.product_availability li:has(span.backorder):before {
  content: "\f057"; /* circle-xmark */
  font-family: 'Font Awesome 5 Free';
  display: inline-block;
  margin-left: -1.3em;
  width: 1.3em;
  font-weight: 900;
  color: #e8393e;
}
div.product_availability li:has(span.limitedstock):before {
  content: "\f06a"; /* circle-exclamation */
  font-family: 'Font Awesome 5 Free';
  display: inline-block;
  margin-left: -1.3em;
  width: 1.3em;
  font-weight: 900;
  color: #ffc937;
}

div.product__quantity_buys:has(span.no_price_breaks) {
  display: none;
}

p.title__quantity-buys:only-child {
  display: none;
}

#sysmenupaddingdiv {
  height: 40px;
}

table.price_breaks {
  width: 100%;
  max-width: 290px;
  margin-bottom: 1.5rem;
}

table.price_breaks th, table.price_breaks td {
  font-size: 15px;
  font-weight: normal;
  border: 1px solid #ebebeb;
  padding: 4px 12px;
}

table.price_breaks th {
  background: #f7f7f7;
}

.row-center {
  justify-content: center;
}

.contact__muted {
  font-size: 14px;
  color: #adadad;
  width: 100%;
}

.contact__branch {
  font-size: 24px;
  line-height: 1.125;
  font-weight: 500;
  width: 100%;
}

div.dropcart__totals th {
  font-size: 15px;
  font-weight: 400;
}

.block-slideshow__slide-text-contrast {
  background-color: #ffffffb8;
  padding: 20px;
  border-radius: 4px;
}

/* Delivery methods radio styling */
.delivery-methods {
  margin-bottom: 30px;
}

.delivery-methods__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}

.delivery-methods__item {
  border-radius: 2px;
  background: transparent;
  border: 1px solid #e5e5e5;
}
.delivery-methods__item:hover {
  background: #f7f7f7;
  border: 1px solid #e5e5e5;
}
.delivery-methods__item + .delivery-methods__item {
  margin-left: 6px;
}

.delivery-methods__item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 14px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.01em;
  cursor: pointer;
  margin-bottom: 0;
}

[dir=ltr] .delivery-methods__item-radio {
  margin-right: 10px;
}
[dir=rtl] .delivery-methods__item-radio {
  margin-left: 10px;
}

.delivery-methods__item-container {
  overflow: hidden;
  height: 0;
  -webkit-transition: height 0.2s;
  transition: height 0.2s;
}

.delivery-methods__item-description {
  font-size: 15px;
  line-height: 20px;
  padding: 2px 16px 13px 16px;
}

.delivery-methods__item:has(input:checked), .delivery-methods__item:has(input:checked):hover {
  background: #f7f7f7;
  border: 1px solid #e5e5e5;
}
.delivery-methods__item--active .delivery-methods__item-container {
  height: auto;
}

/* handling for appear/disapper of shipping fields based on different address checkbox */
div.card-body:has(#checkout-different-address) .shop_shipping_details {
  display: none;
}
div.card-body:has(#checkout-different-address:checked) .shop_shipping_details.form-group {
  display: block;
}
div.card-body:has(#checkout-different-address:checked) .shop_shipping_details.form-row  {
  display: flex;
}
/* handling for appear/disapper of billing fields based on same address checkbox */
div.card-body:has(#checkout-same-billing-address) .shop_billing_details {
  display: none;
}
div.card-body:has(#checkout-same-billing-address:not(:checked)) .shop_billing_details.form-group {
  display: block;
}
div.card-body:has(#checkout-same-billing-address:not(:checked)) .shop_billing_details.form-row  {
  display: flex;
}

tbody.checkout__totals-products img.product-image__img {
  width: 70px;
  height: 70px;
  position: relative;
  border: 1px solid #7f7f7f;
}
tbody.checkout__totals-products span.indicator__area {
  height: auto;
  padding: 0;
  position: relative;
}
tbody.checkout__totals-products span.indicator__value {
  position: absolute;
  right: 0px;
  height: 20px;
  top: -7px;
  background: #7f7f7f;
  color: #ffffff;
  padding: 0px 5px 5px 5px;
}

/* Don't show product cpllection warning if empty */
.checkout__totals-products div.alert-danger:empty {
  display: none;
}
/* Allow wrap on collection warning */
.checkout__totals-products div.alert-danger {
  white-space: normal;
  text-align: left;
  border-left: 5px solid #c33;
}


/* If collect is selected, we hide the shipping row on the order details */
div.container:has(#delivery_method_0:checked) .checkout__totals-shipping {
  display: none;
}
/* If collect is selected, we hide the carrier selection stuff */
div.container:has(#delivery_method_0:checked) #delivery-method-selection {
  display: none;
}

/* If delivery is selected, we hide the store selection stuff */
div.container:has(#delivery_method_1:checked) #collect-store-selection {
  display: none;
}
/* If delivery is selected, we show the carrier selection stuff */
div.container:has(#delivery_method_1:checked) #delivery-method-selection {
  display: block;
}

/* Control the size of credit card icons */
.payment-methods__item-container img {
  height: 2rem;
}

/* Pick up invalid style */
.form-control.invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-color: #ffcccc;
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

/*Margin to space the inputs on the contact page*/
.widget-newsletter__form input {
  margin-bottom: 12px;
}

/* Styles and controls for forgot password form */
#forgotform input[type=text], select, textarea {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 2px;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

#forgotform input[type=text]:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

#forgotform input[type=submit] {
  border-color: #cc3333;
  background: #cc3333;
  color: #fff;
  fill: #fff;
  cursor: pointer;
  border: none;
  border-radius: 2px;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  font-size: 1rem;
  height: calc(2.25rem + 2px);
  line-height: 1.5;
  padding: 0.375rem 1.25rem;
  font-weight: 500;
}

#forgotform input[type=submit]:hover {
  border-color: #3d464d;
  background: #3d464d;
  color: #fff;
  fill: #fff;
}

#forgotform p.defaultmessage {
  display: none;
}

#forgotform > form :only-child {
  background-color: #f0f9ef;
  border: 2px solid #7cbc77;
  border-left: 10px solid #7cbc77;
  border-radius: 3px;
  padding: 6px 10px;
}

#forgotform > form > p {
  background-color: #fff5f5;
  border: 2px solid #f98a89;
  border-left: 10px solid #f98a89;
  border-radius: 3px;
  padding: 6px 10px;
}

/* Account login indicator on top navigation bar */

.indicator__login {
  margin-left: -5px;
  margin-right: -8px;
  top: -11px;
  position: relative;
  color: #7cbc77;
  background: #fff;
  border-radius: 8px;
}

h1, h2, h3, h4, h5, h6 {
color: #3d464d;
}

#dropcart__cart-empty {
  display: none;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

/* Override th styling on the cart page*/
th.cart-table__column {
  font-size: 15px;
}

table.cart__totals th {
  font-size: 16px;
}

/*Additional style control for mobile sub-menu*/
.mobile-links__item-button, .mobile-links__item-button:focus {
  text-align: left;
  border: none;
  background: #fff;
  outline: none;
}

/*Ensure no-results and missing-department is not visible*/
#no-results, #missing-department {
  display: none;
}

/*Styling on tables in staff info tab on product page*/
.staffinfo > table td {
  border: 1px solid #c3c3c3;
  padding: 3px 5px;
}
.staffinfo > table tbody tr:nth-child(odd) {
  background-color: #efefef;
}
#shop_pl :is(.rotext, .text, .float, .date),
#shop_pb :is(.int, .currency, .rotext) {
  border: none;
  padding: 0;
}
#shop_pl th,
#shop_pb th {
  font-size: 14px;
  padding: 3px 5px;
}


/* Show different things based on whether or not the cart has rows in it */
#cart-block:has(tbody.cart-table__body > tr) #cart__populated {
  display: block;
}
#cart-block:not(:has(tbody.cart-table__body > tr)) #cart__populated {
  display: none;
}
#cart-block:has(tbody.cart-table__body > tr) #cart__empty {
  display: none;
}
#cart-block:not(:has(tbody.cart-table__body > tr)) #cart__empty {
  display: block;
}

/* Toggle the display of related products depending on whether it is populated */
#related-block:has(.owl-stage > .owl-item) #related-populated {
  display: block;
}
#related-block:not(:has(.owl-stage > .owl-item)) #related-populated {
  display: none;
}


/* Toggle the display of department filter depending on whether it is populated */
#department-content:not(:has(div.widget-filters__item > .filter)) #desktop-filters-block {
  display: none !important;
}
#department-content:not(:has(div.widget-filters__item > .filter)) #mobile-filters-block {
  display: none !important;
}
#department-content:not(:has(div.widget-filters__item > .filter)) #specials-block {
  margin-top: 0;
}

/* Used to make breadcrumbs responsive */
@media screen and (max-width: 767px) {
  .breadcrumb li {
    display: none;
  }
  .breadcrumb li:nth-last-child(-n+2) {
    display: list-item;
  }
  .breadcrumb li:nth-last-child(2):before {
    content: "\f060"; /* arrow-left */
    font-family: 'Font Awesome 5 Free';
    display: inline-block;
    width: 1.3em;
    font-weight: 600;
    color: #d1d1d1;
  }
}

@media screen and (max-width: 410px) {
  .breadcrumb li, .breadcrumb li:last-child  {
    display: none;
  }
  .breadcrumb li:nth-last-child(2) {
    display: list-item;
  }
  .breadcrumb-item svg {
    display: none;
  }
  .breadcrumb li:nth-last-child(2):before {
    content: "\f060"; /* arrow-left */
    font-family: 'Font Awesome 5 Free';
    display: inline-block;
    width: 1.3em;
    font-weight: 600;
    color: #d1d1d1;
  }
}

/* Product availability tooltip popups */
@media screen and (max-width: 560px) {
  .availability-tooltip {
    display: none !important;
  }
}

@media screen and (max-width: 1200px) {
  .availability-tooltip .availability-tooltip-popup::after {
  right: 8% !important;
  }
}

.availability-tooltip {
  position: relative;
  display: inline-block;
  cursor: auto !important;
}

.availability-tooltip .availability-tooltip-popup {
  visibility: hidden;
  width: 240px;
  background-color: #f0f0f0;
  color: #3d464d;
  text-align: left;
  border-radius: 4px;
  padding: 16px;
  position: absolute;
  z-index: 10;
  bottom: 150%;
  right: -50%;
  margin-left: -60px;
  opacity: 0;
  transition: opacity 0.2s ease 0.3s;
}

.availability-tooltip .availability-tooltip-popup::after {
  content: "";
  position: absolute;
  top: 100%;
  right: 12%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #f0f0f0 transparent transparent transparent;
}

.availability-tooltip:hover .availability-tooltip-popup {
  visibility: visible;
  opacity: 1;
}