/**
 * Main Template CSS Stylesheet
 * 
 * BOOTSTRAP v3.4.0
 *
 */
.clearBoth {
   clear: both;
}
.forward {
    float: right;
}
.back {
    float: left;
}

/* This is used to re-size images */
img {
    max-width: 100%;
    height: auto;
    border: 0;
}

.qmix > br {
    display: none;
}

.normalprice, .productSpecialPriceSale {
    text-decoration: line-through;
}

#back-to-top {
    position: fixed;
    bottom: 5rem;
    right: 1rem;
    z-index: 1;
    text-align: center;
    cursor: pointer;
    transition: opacity 0.2s ease-out;
    opacity: 0;
}

#back-to-top.show {
    opacity: 1;
    z-index: 1;
}

/* set height of scrollable area in mobile menu */
div#navbarSupportedContent {
    max-height:90vh;
    overflow-y:auto;
}

.zca-banner {
    text-align: center;
}

.ot-title {
    text-align: right;
}
.ot-text,
.totalCell {
    text-align: right;
}

.centeredContent {
    text-align: center;
    padding: 1rem;
}

table.tabTable td {
    padding: 0.5rem;
}
#indexProductList-cat-wrap {
    margin-bottom: 1rem;
}
#productsListing-bottomRow {
    margin-top: 1rem;
}

.sideBoxContent select {
    margin-bottom: 1rem;
}
#navCatTabs a,
#navCatTabs a:hover {
    border: 0.125rem solid #007faf;
}

/* These CSS media queries control how many columns of cards display on the login, checkout_shipping, checkout_payment & checkout_confirmation pages */
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) { 
.card-columns {
  -webkit-column-count: 1;
  -moz-column-count: 1;
  column-count: 1;
}
}

/*  Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
.card-columns {
  -webkit-column-count: 1;
  -moz-column-count: 1;
  column-count: 1;
}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
.card-columns {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
.card-columns {
  -webkit-column-count: 2;
  -moz-column-count:2;
  column-count: 2;
}
}
.gr-message-alert {
  position: relative;
  margin: 90px auto 20px auto !important;
  max-width: 900px;
  width: calc(100% - 24px);
  border: 0 !important;
  border-radius: 16px !important;
  padding: 16px 18px !important;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  line-height: 1.45;
  box-shadow: 0 14px 34px rgba(0,0,0,0.16);
  top: 100px;
}

.gr-message-alert__icon {
  flex: 0 0 auto;
  font-size: 22px;
}

.gr-message-alert__text {
  display: block;
  font-weight: 700;
}

.gr-message-alert--success {
  background: linear-gradient(135deg, #ecfdf3 0%, #d1fae5 100%) !important;
  color: #065f46 !important;
  border-left: 5px solid #10b981 !important;
}

.gr-message-alert--warning {
  background: linear-gradient(135deg, #fff8e6 0%, #fef3c7 100%) !important;
  color: #92400e !important;
  border-left: 5px solid #f59e0b !important;
}

.gr-message-alert--error {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important;
  color: #991b1b !important;
  border-left: 5px solid #ef4444 !important;
}

.gr-message-alert--info {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
  color: #1e3a8a !important;
  border-left: 5px solid #3b82f6 !important;
}

@media (max-width: 767px) {
  .gr-message-alert {
    margin: 80px 10px 16px 10px !important;
    width: auto;
    padding: 14px 14px !important;
    font-size: 14px;
    border-radius: 14px !important;
    gap: 10px;
	top: 100px;
  }

  .gr-message-alert__icon {
    font-size: 20px;
  }

  .gr-message-alert__text {
    font-weight: 700;
    line-height: 1.4;
  }
}
