@charset "UTF-8";
/**
 * Styles for Grimlock WooCommerce
 *
 * Adds integration features between Grimlock and WooCommerce
 * https://themosaurus.com/
 *
 */
/**
 * Fonts
 */
:root {
  --grimlock-icon-wc-filters: "";
  --grimlock-icon-wc-filters-font-family: var(--grimlock-icon-font-family);
  --grimlock-icon-wc-wishlist: "";
  --grimlock-icon-wc-wishlist-font-family: var(--grimlock-icon-font-family);
  --grimlock-icon-wc-wishlist-added: "";
  --grimlock-icon-wc-wishlist-added-font-family: var(--grimlock-icon-font-family);
  --grimlock-icon-wc-sort: "";
  --grimlock-icon-wc-sort-font-family: var(--grimlock-icon-font-family);
  --grimlock-icon-wc-coupon: "";
  --grimlock-icon-wc-coupon-font-family: var(--grimlock-icon-font-family);
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce p.no_subscriptions,
.woocommerce .woocommerce-order > .woocommerce-notice,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-error,
.woocommerce-page .woocommerce-info,
.woocommerce-page p.no_subscriptions,
.woocommerce-page .woocommerce-order > .woocommerce-notice, .woocommerce .woocommerce-ResetPassword > p:not([class]),
.woocommerce-page .woocommerce-ResetPassword > p:not([class]), .woocommerce-noreviews {
  position: relative;
  padding: 0.75rem 0.75rem;
  margin-bottom: 1rem;
  border: 0 !important;
  border-radius: var(--grimlock-archive-post-border-radius);
  background-color: var(--grimlock-button-primary-background-color) !important;
  color: var(--grimlock-button-primary-color) !important;
}

.woocommerce .woocommerce-message a, .woocommerce .woocommerce-error a, .woocommerce .woocommerce-info a, .woocommerce p.no_subscriptions a, .woocommerce .woocommerce-order > .woocommerce-notice a, .woocommerce-page .woocommerce-message a, .woocommerce-page .woocommerce-error a, .woocommerce-page .woocommerce-info a, .woocommerce-page p.no_subscriptions a, .woocommerce-page .woocommerce-order > .woocommerce-notice a, .woocommerce .woocommerce-ResetPassword > p:not([class]) a, .woocommerce-page .woocommerce-ResetPassword > p:not([class]) a, .woocommerce-noreviews a {
  color: inherit !important;
}

.woocommerce .woocommerce-message a:not(:hover), .woocommerce .woocommerce-error a:not(:hover), .woocommerce .woocommerce-info a:not(:hover), .woocommerce p.no_subscriptions a:not(:hover), .woocommerce .woocommerce-order > .woocommerce-notice a:not(:hover), .woocommerce-page .woocommerce-message a:not(:hover), .woocommerce-page .woocommerce-error a:not(:hover), .woocommerce-page .woocommerce-info a:not(:hover), .woocommerce-page p.no_subscriptions a:not(:hover), .woocommerce-page .woocommerce-order > .woocommerce-notice a:not(:hover), .woocommerce .woocommerce-ResetPassword > p:not([class]) a:not(:hover), .woocommerce-page .woocommerce-ResetPassword > p:not([class]) a:not(:hover), .woocommerce-noreviews a:not(:hover) {
  opacity: .7;
}

.woocommerce .woocommerce-message a:not(.btn):not(.button), .woocommerce .woocommerce-error a:not(.btn):not(.button), .woocommerce .woocommerce-info a:not(.btn):not(.button), .woocommerce p.no_subscriptions a:not(.btn):not(.button), .woocommerce .woocommerce-order > .woocommerce-notice a:not(.btn):not(.button), .woocommerce-page .woocommerce-message a:not(.btn):not(.button), .woocommerce-page .woocommerce-error a:not(.btn):not(.button), .woocommerce-page .woocommerce-info a:not(.btn):not(.button), .woocommerce-page p.no_subscriptions a:not(.btn):not(.button), .woocommerce-page .woocommerce-order > .woocommerce-notice a:not(.btn):not(.button), .woocommerce .woocommerce-ResetPassword > p:not([class]) a:not(.btn):not(.button), .woocommerce-page .woocommerce-ResetPassword > p:not([class]) a:not(.btn):not(.button), .woocommerce-noreviews a:not(.btn):not(.button) {
  text-decoration: underline !important;
}

.woocommerce .woocommerce-message a:not(.btn):not(.button):hover, .woocommerce .woocommerce-error a:not(.btn):not(.button):hover, .woocommerce .woocommerce-info a:not(.btn):not(.button):hover, .woocommerce p.no_subscriptions a:not(.btn):not(.button):hover, .woocommerce .woocommerce-order > .woocommerce-notice a:not(.btn):not(.button):hover, .woocommerce-page .woocommerce-message a:not(.btn):not(.button):hover, .woocommerce-page .woocommerce-error a:not(.btn):not(.button):hover, .woocommerce-page .woocommerce-info a:not(.btn):not(.button):hover, .woocommerce-page p.no_subscriptions a:not(.btn):not(.button):hover, .woocommerce-page .woocommerce-order > .woocommerce-notice a:not(.btn):not(.button):hover, .woocommerce .woocommerce-ResetPassword > p:not([class]) a:not(.btn):not(.button):hover, .woocommerce-page .woocommerce-ResetPassword > p:not([class]) a:not(.btn):not(.button):hover, .woocommerce-noreviews a:not(.btn):not(.button):hover {
  text-decoration: none !important;
}

.woocommerce .woocommerce-message a.btn, .woocommerce .woocommerce-error a.btn, .woocommerce .woocommerce-info a.btn, .woocommerce p.no_subscriptions a.btn, .woocommerce .woocommerce-order > .woocommerce-notice a.btn, .woocommerce-page .woocommerce-message a.btn, .woocommerce-page .woocommerce-error a.btn, .woocommerce-page .woocommerce-info a.btn, .woocommerce-page p.no_subscriptions a.btn, .woocommerce-page .woocommerce-order > .woocommerce-notice a.btn, .woocommerce .woocommerce-ResetPassword > p:not([class]) a.btn, .woocommerce-page .woocommerce-ResetPassword > p:not([class]) a.btn, .woocommerce-noreviews a.btn,
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-error a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce p.no_subscriptions a.button,
.woocommerce .woocommerce-order > .woocommerce-notice a.button,
.woocommerce-page .woocommerce-message a.button,
.woocommerce-page .woocommerce-error a.button,
.woocommerce-page .woocommerce-info a.button,
.woocommerce-page p.no_subscriptions a.button,
.woocommerce-page .woocommerce-order > .woocommerce-notice a.button,
.woocommerce .woocommerce-ResetPassword > p:not([class]) a.button,
.woocommerce-page .woocommerce-ResetPassword > p:not([class]) a.button,
.woocommerce-noreviews a.button {
  background-color: var(--grimlock-button-primary-color) !important;
  color: var(--grimlock-button-primary-background-color) !important;
  opacity: 1 !important;
  border: 0;
}

.woocommerce .woocommerce-message a.btn:hover, .woocommerce .woocommerce-error a.btn:hover, .woocommerce .woocommerce-info a.btn:hover, .woocommerce p.no_subscriptions a.btn:hover, .woocommerce .woocommerce-order > .woocommerce-notice a.btn:hover, .woocommerce-page .woocommerce-message a.btn:hover, .woocommerce-page .woocommerce-error a.btn:hover, .woocommerce-page .woocommerce-info a.btn:hover, .woocommerce-page p.no_subscriptions a.btn:hover, .woocommerce-page .woocommerce-order > .woocommerce-notice a.btn:hover, .woocommerce .woocommerce-ResetPassword > p:not([class]) a.btn:hover, .woocommerce-page .woocommerce-ResetPassword > p:not([class]) a.btn:hover, .woocommerce-noreviews a.btn:hover,
.woocommerce .woocommerce-message a.button:hover,
.woocommerce .woocommerce-error a.button:hover,
.woocommerce .woocommerce-info a.button:hover,
.woocommerce p.no_subscriptions a.button:hover,
.woocommerce .woocommerce-order > .woocommerce-notice a.button:hover,
.woocommerce-page .woocommerce-message a.button:hover,
.woocommerce-page .woocommerce-error a.button:hover,
.woocommerce-page .woocommerce-info a.button:hover,
.woocommerce-page p.no_subscriptions a.button:hover,
.woocommerce-page .woocommerce-order > .woocommerce-notice a.button:hover,
.woocommerce .woocommerce-ResetPassword > p:not([class]) a.button:hover,
.woocommerce-page .woocommerce-ResetPassword > p:not([class]) a.button:hover,
.woocommerce-noreviews a.button:hover {
  opacity: .7 !important;
}

.woocommerce nav.woocommerce-pagination ul > li > a.previous, .woocommerce nav.woocommerce-pagination ul > li > a.prev, .woocommerce nav.woocommerce-pagination ul > li > a.next,
.woocommerce nav.woocommerce-pagination ul > li span.previous,
.woocommerce nav.woocommerce-pagination ul > li span.prev,
.woocommerce nav.woocommerce-pagination ul > li span.next,
.woocommerce-page nav.woocommerce-pagination ul > li > a.previous,
.woocommerce-page nav.woocommerce-pagination ul > li > a.prev,
.woocommerce-page nav.woocommerce-pagination ul > li > a.next,
.woocommerce-page nav.woocommerce-pagination ul > li span.previous,
.woocommerce-page nav.woocommerce-pagination ul > li span.prev,
.woocommerce-page nav.woocommerce-pagination ul > li span.next {
  font-size: 0;
}

.woocommerce nav.woocommerce-pagination ul > li > a.previous, .woocommerce nav.woocommerce-pagination ul > li > a.prev,
.woocommerce nav.woocommerce-pagination ul > li span.previous,
.woocommerce nav.woocommerce-pagination ul > li span.prev,
.woocommerce-page nav.woocommerce-pagination ul > li > a.previous,
.woocommerce-page nav.woocommerce-pagination ul > li > a.prev,
.woocommerce-page nav.woocommerce-pagination ul > li span.previous,
.woocommerce-page nav.woocommerce-pagination ul > li span.prev {
  text-decoration: none !important;
}

.woocommerce nav.woocommerce-pagination ul > li > a.previous:before, .woocommerce nav.woocommerce-pagination ul > li > a.prev:before,
.woocommerce nav.woocommerce-pagination ul > li span.previous:before,
.woocommerce nav.woocommerce-pagination ul > li span.prev:before,
.woocommerce-page nav.woocommerce-pagination ul > li > a.previous:before,
.woocommerce-page nav.woocommerce-pagination ul > li > a.prev:before,
.woocommerce-page nav.woocommerce-pagination ul > li span.previous:before,
.woocommerce-page nav.woocommerce-pagination ul > li span.prev:before {
  font-family: var(--grimlock-icon-pager-prev-font-family) !important;
  content: var(--grimlock-icon-pager-prev);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: inherit;
  opacity: 1;
  min-width: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: -webkit-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
  transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
}

html[dir="rtl"] .woocommerce nav.woocommerce-pagination ul > li > a.previous:before, .woocommerce nav.woocommerce-pagination html[dir="rtl"] ul > li > a.previous:before, html[dir="rtl"] .woocommerce nav.woocommerce-pagination ul > li > a.prev:before, .woocommerce nav.woocommerce-pagination html[dir="rtl"] ul > li > a.prev:before,
html[dir="rtl"] .woocommerce nav.woocommerce-pagination ul > li span.previous:before, .woocommerce nav.woocommerce-pagination ul > li html[dir="rtl"] span.previous:before,
html[dir="rtl"] .woocommerce nav.woocommerce-pagination ul > li span.prev:before, .woocommerce nav.woocommerce-pagination ul > li html[dir="rtl"] span.prev:before,
html[dir="rtl"] .woocommerce-page nav.woocommerce-pagination ul > li > a.previous:before, .woocommerce-page nav.woocommerce-pagination html[dir="rtl"] ul > li > a.previous:before,
html[dir="rtl"] .woocommerce-page nav.woocommerce-pagination ul > li > a.prev:before, .woocommerce-page nav.woocommerce-pagination html[dir="rtl"] ul > li > a.prev:before,
html[dir="rtl"] .woocommerce-page nav.woocommerce-pagination ul > li span.previous:before, .woocommerce-page nav.woocommerce-pagination ul > li html[dir="rtl"] span.previous:before,
html[dir="rtl"] .woocommerce-page nav.woocommerce-pagination ul > li span.prev:before, .woocommerce-page nav.woocommerce-pagination ul > li html[dir="rtl"] span.prev:before {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.woocommerce nav.woocommerce-pagination ul > li > a.next,
.woocommerce nav.woocommerce-pagination ul > li span.next,
.woocommerce-page nav.woocommerce-pagination ul > li > a.next,
.woocommerce-page nav.woocommerce-pagination ul > li span.next {
  text-decoration: none !important;
}

.woocommerce nav.woocommerce-pagination ul > li > a.next:after,
.woocommerce nav.woocommerce-pagination ul > li span.next:after,
.woocommerce-page nav.woocommerce-pagination ul > li > a.next:after,
.woocommerce-page nav.woocommerce-pagination ul > li span.next:after {
  font-family: var(--grimlock-icon-pager-next-font-family) !important;
  content: var(--grimlock-icon-pager-next);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: inherit;
  opacity: 1;
  min-width: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: -webkit-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
  transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
}

html[dir="rtl"] .woocommerce nav.woocommerce-pagination ul > li > a.next:after, .woocommerce nav.woocommerce-pagination html[dir="rtl"] ul > li > a.next:after,
html[dir="rtl"] .woocommerce nav.woocommerce-pagination ul > li span.next:after, .woocommerce nav.woocommerce-pagination ul > li html[dir="rtl"] span.next:after,
html[dir="rtl"] .woocommerce-page nav.woocommerce-pagination ul > li > a.next:after, .woocommerce-page nav.woocommerce-pagination html[dir="rtl"] ul > li > a.next:after,
html[dir="rtl"] .woocommerce-page nav.woocommerce-pagination ul > li span.next:after, .woocommerce-page nav.woocommerce-pagination ul > li html[dir="rtl"] span.next:after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
  display: flex;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 0;
}

.woocommerce nav.woocommerce-pagination ul::after,
.woocommerce-page nav.woocommerce-pagination ul::after {
  display: block;
  clear: both;
  content: "";
}

.woocommerce nav.woocommerce-pagination ul > li,
.woocommerce-page nav.woocommerce-pagination ul > li {
  display: inline-flex;
  vertical-align: middle;
}

.woocommerce nav.woocommerce-pagination ul > li *, .woocommerce-page nav.woocommerce-pagination ul > li * {
  text-decoration: none !important;
}

.woocommerce nav.woocommerce-pagination ul > li + li a, .woocommerce-page nav.woocommerce-pagination ul > li + li a,
.woocommerce nav.woocommerce-pagination ul > li + li span,
.woocommerce-page nav.woocommerce-pagination ul > li + li span {
  margin-left: .5rem;
}

.woocommerce nav.woocommerce-pagination ul > li > a:hover,
.woocommerce nav.woocommerce-pagination ul > li span:hover,
.woocommerce-page nav.woocommerce-pagination ul > li > a:hover,
.woocommerce-page nav.woocommerce-pagination ul > li span:hover, .woocommerce nav.woocommerce-pagination ul > li > a:focus,
.woocommerce nav.woocommerce-pagination ul > li span:focus,
.woocommerce-page nav.woocommerce-pagination ul > li > a:focus,
.woocommerce-page nav.woocommerce-pagination ul > li span:focus, .woocommerce nav.woocommerce-pagination ul > li > a.current,
.woocommerce nav.woocommerce-pagination ul > li span.current,
.woocommerce-page nav.woocommerce-pagination ul > li > a.current,
.woocommerce-page nav.woocommerce-pagination ul > li span.current {
  color: var(--grimlock-pagination-hover-color);
  background-color: var(--grimlock-pagination-hover-background-color);
  border-color: var(--grimlock-pagination-hover-border-color);
}

.woocommerce nav.woocommerce-pagination ul > li > a,
.woocommerce nav.woocommerce-pagination ul > li span,
.woocommerce-page nav.woocommerce-pagination ul > li > a,
.woocommerce-page nav.woocommerce-pagination ul > li span {
  position: relative;
  float: left;
  padding: var(--grimlock-pagination-padding-y) var(--grimlock-pagination-padding-x);
  background-color: var(--grimlock-pagination-background-color);
  border: var(--grimlock-pagination-border-width) solid var(--grimlock-pagination-border-color);
  border-radius: var(--grimlock-pagination-border-radius);
  color: var(--grimlock-pagination-color);
  text-decoration: none !important;
  font-size: var(--grimlock-pagination-font-size);
  font-weight: var(--grimlock-pagination-font-weight);
  text-transform: var(--grimlock-pagination-text-transform);
  letter-spacing: var(--grimlock-pagination-letter-spacing);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  word-break: break-word;
}

.woocommerce nav.woocommerce-pagination ul > li > a:hover,
.woocommerce nav.woocommerce-pagination ul > li span:hover,
.woocommerce-page nav.woocommerce-pagination ul > li > a:hover,
.woocommerce-page nav.woocommerce-pagination ul > li span:hover, .woocommerce nav.woocommerce-pagination ul > li > a:focus,
.woocommerce nav.woocommerce-pagination ul > li span:focus,
.woocommerce-page nav.woocommerce-pagination ul > li > a:focus,
.woocommerce-page nav.woocommerce-pagination ul > li span:focus {
  text-decoration: none !important;
}

.woocommerce nav.woocommerce-pagination ul > li > a,
.woocommerce nav.woocommerce-pagination ul > li span,
.woocommerce-page nav.woocommerce-pagination ul > li > a,
.woocommerce-page nav.woocommerce-pagination ul > li span {
  padding: calc(var(--grimlock-pagination-padding-y) * .75) calc(var(--grimlock-pagination-padding-x) * .75);
  min-width: 45px;
  min-height: 45px;
  line-height: 1;
}

@-webkit-keyframes placeHolderShimmer {
  0% {
    background-position: -468px 0;
  }
  100% {
    background-position: 468px 0;
  }
}

@keyframes placeHolderShimmer {
  0% {
    background-position: -468px 0;
  }
  100% {
    background-position: 468px 0;
  }
}

/**
 * Wrappers
 */
.woocommerce.post-type-archive-product .grimlock--page-header {
  display: none;
}

.woocommerce.single-product .grimlock--page-header .page-title,
.woocommerce.single-product .grimlock--page-header .breadcrumb {
  display: none;
}

.woocommerce .site-content__row > #container,
.woocommerce-page .site-content__row > #container {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.woocommerce .col2-set,
.woocommerce-page .col2-set {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  width: auto;
  min-width: 100%;
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2 {
  float: none;
  flex: 0 0 100%;
  max-width: 100%;
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 768px) {
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2,
  .woocommerce-page .col2-set .col-1,
  .woocommerce-page .col2-set .col-2 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/**
 * Alert components
 */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce p.no_subscriptions,
.woocommerce .woocommerce-order > .woocommerce-notice,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-error,
.woocommerce-page .woocommerce-info,
.woocommerce-page p.no_subscriptions,
.woocommerce-page .woocommerce-order > .woocommerce-notice {
  border: none !important;
  display: flex;
  align-items: center;
  font-size: .95em;
}

@media (max-width: 991.98px) {
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-error,
  .woocommerce .woocommerce-info,
  .woocommerce p.no_subscriptions,
  .woocommerce .woocommerce-order > .woocommerce-notice,
  .woocommerce-page .woocommerce-message,
  .woocommerce-page .woocommerce-error,
  .woocommerce-page .woocommerce-info,
  .woocommerce-page p.no_subscriptions,
  .woocommerce-page .woocommerce-order > .woocommerce-notice {
    flex-direction: column;
    text-align: center;
  }
}

.woocommerce .woocommerce-message:before,
.woocommerce .woocommerce-error:before,
.woocommerce .woocommerce-info:before,
.woocommerce p.no_subscriptions:before,
.woocommerce .woocommerce-order > .woocommerce-notice:before,
.woocommerce-page .woocommerce-message:before,
.woocommerce-page .woocommerce-error:before,
.woocommerce-page .woocommerce-info:before,
.woocommerce-page p.no_subscriptions:before,
.woocommerce-page .woocommerce-order > .woocommerce-notice:before {
  color: inherit;
  position: static;
  margin-right: 1em;
}

@media (max-width: 991.98px) {
  .woocommerce .woocommerce-message:before,
  .woocommerce .woocommerce-error:before,
  .woocommerce .woocommerce-info:before,
  .woocommerce p.no_subscriptions:before,
  .woocommerce .woocommerce-order > .woocommerce-notice:before,
  .woocommerce-page .woocommerce-message:before,
  .woocommerce-page .woocommerce-error:before,
  .woocommerce-page .woocommerce-info:before,
  .woocommerce-page p.no_subscriptions:before,
  .woocommerce-page .woocommerce-order > .woocommerce-notice:before {
    margin: 0 0 .2rem 0;
    font-size: 1.5em;
    opacity: .5;
  }
}

.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-error a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce p.no_subscriptions a.button,
.woocommerce .woocommerce-order > .woocommerce-notice a.button,
.woocommerce-page .woocommerce-message a.button,
.woocommerce-page .woocommerce-error a.button,
.woocommerce-page .woocommerce-info a.button,
.woocommerce-page p.no_subscriptions a.button,
.woocommerce-page .woocommerce-order > .woocommerce-notice a.button {
  order: 2;
  margin-left: auto;
}

@media (max-width: 991.98px) {
  .woocommerce .woocommerce-message a.button,
  .woocommerce .woocommerce-error a.button,
  .woocommerce .woocommerce-info a.button,
  .woocommerce p.no_subscriptions a.button,
  .woocommerce .woocommerce-order > .woocommerce-notice a.button,
  .woocommerce-page .woocommerce-message a.button,
  .woocommerce-page .woocommerce-error a.button,
  .woocommerce-page .woocommerce-info a.button,
  .woocommerce-page p.no_subscriptions a.button,
  .woocommerce-page .woocommerce-order > .woocommerce-notice a.button {
    margin-left: 0;
    margin-top: .5rem;
    width: 100%;
  }
}

.woocommerce .woocommerce-message a:not(.button),
.woocommerce .woocommerce-message a.showcoupon,
.woocommerce .woocommerce-error a:not(.button),
.woocommerce .woocommerce-error a.showcoupon,
.woocommerce .woocommerce-info a:not(.button),
.woocommerce .woocommerce-info a.showcoupon,
.woocommerce p.no_subscriptions a:not(.button),
.woocommerce p.no_subscriptions a.showcoupon,
.woocommerce .woocommerce-order > .woocommerce-notice a:not(.button),
.woocommerce .woocommerce-order > .woocommerce-notice a.showcoupon,
.woocommerce-page .woocommerce-message a:not(.button),
.woocommerce-page .woocommerce-message a.showcoupon,
.woocommerce-page .woocommerce-error a:not(.button),
.woocommerce-page .woocommerce-error a.showcoupon,
.woocommerce-page .woocommerce-info a:not(.button),
.woocommerce-page .woocommerce-info a.showcoupon,
.woocommerce-page p.no_subscriptions a:not(.button),
.woocommerce-page p.no_subscriptions a.showcoupon,
.woocommerce-page .woocommerce-order > .woocommerce-notice a:not(.button),
.woocommerce-page .woocommerce-order > .woocommerce-notice a.showcoupon {
  margin-left: 5px;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-order > .woocommerce-notice.woocommerce-notice--success,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-order > .woocommerce-notice.woocommerce-notice--success {
  color: #fff !important;
  background-color: #3DBDB6 !important;
}

.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-order > .woocommerce-notice.woocommerce-notice--success a.button,
.woocommerce-page .woocommerce-message a.button,
.woocommerce-page .woocommerce-order > .woocommerce-notice.woocommerce-notice--success a.button {
  color: #3DBDB6 !important;
}

.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error {
  color: #fff !important;
  background-color: #e74c3c !important;
}

.woocommerce .woocommerce-error a.button,
.woocommerce-page .woocommerce-error a.button {
  color: var(--grimlock-color-danger) !important;
}

.woocommerce .woocommerce-NoticeGroup-checkout .woocommerce-error,
.woocommerce-page .woocommerce-NoticeGroup-checkout .woocommerce-error {
  display: flex;
}

p.demo_store {
  color: #fff;
  background-color: var(--grimlock-color-danger);
  top: auto !important;
  bottom: 0;
  position: fixed;
}

p.demo_store a {
  color: inherit !important;
  opacity: .5;
}

/**
 * Buttons components
 */
.woocommerce a.button:disabled, .woocommerce a.button:disabled:hover,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled:hover,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled:hover,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled:hover,
.woocommerce-page a.button:disabled,
.woocommerce-page a.button:disabled:hover,
.woocommerce-page button.button:disabled,
.woocommerce-page button.button:disabled:hover,
.woocommerce-page input.button:disabled,
.woocommerce-page input.button:disabled:hover,
.woocommerce-page #respond input#submit:disabled,
.woocommerce-page #respond input#submit:disabled:hover {
  opacity: 0.5;
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce-page a.button:disabled,
.woocommerce-page button.button:disabled,
.woocommerce-page input.button:disabled,
.woocommerce-page #respond input#submit:disabled {
  cursor: not-allowed;
}

.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:focus,
.woocommerce-page a.button:focus,
.woocommerce-page button.button:focus,
.woocommerce-page input.button:focus,
.woocommerce-page #respond input#submit:focus {
  box-shadow: none !important;
}

.woocommerce a.button.alt:disabled, .woocommerce a.button.alt:disabled:hover,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled:hover,
.woocommerce input.button.alt:disabled,
.woocommerce input.button.alt:disabled:hover,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce #respond input#submit.alt:disabled:hover,
.woocommerce-page a.button.alt:disabled,
.woocommerce-page a.button.alt:disabled:hover,
.woocommerce-page button.button.alt:disabled,
.woocommerce-page button.button.alt:disabled:hover,
.woocommerce-page input.button.alt:disabled,
.woocommerce-page input.button.alt:disabled:hover,
.woocommerce-page #respond input#submit.alt:disabled,
.woocommerce-page #respond input#submit.alt:disabled:hover {
  color: #fff;
  cursor: not-allowed;
}

.woocommerce a.button.loading,
.woocommerce button.button.loading,
.woocommerce input.button.loading,
.woocommerce #respond input#submit.loading,
.woocommerce-page a.button.loading,
.woocommerce-page button.button.loading,
.woocommerce-page input.button.loading,
.woocommerce-page #respond input#submit.loading {
  opacity: 1;
}

.woocommerce a.button.loading:after,
.woocommerce button.button.loading:after,
.woocommerce input.button.loading:after,
.woocommerce #respond input#submit.loading:after,
.woocommerce-page a.button.loading:after,
.woocommerce-page button.button.loading:after,
.woocommerce-page input.button.loading:after,
.woocommerce-page #respond input#submit.loading:after {
  margin: -10px 0 0 0;
  color: inherit !important;
  width: 20px;
  height: 20px;
  font-size: 13px;
  top: 50%;
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce-page a.button:disabled,
.woocommerce-page button.button:disabled,
.woocommerce-page input.button:disabled,
.woocommerce-page #respond input#submit:disabled {
  padding: 0.8rem 1.25rem;
}

/**
 * Form component
 */
.woocommerce form .form-row,
.woocommerce-page form .form-row {
  flex-direction: column;
  margin: 0 0 1rem 0;
  padding: 0;
}

.woocommerce form .form-row:last-child,
.woocommerce-page form .form-row:last-child {
  margin-bottom: 0;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  line-height: normal;
  font-weight: 600;
  margin-bottom: .5rem;
  display: block;
  width: 100%;
}

.woocommerce form .form-row span.woocommerce-input-wrapper,
.woocommerce-page form .form-row span.woocommerce-input-wrapper {
  display: block;
  width: 100%;
}

.woocommerce form .form-row .input-checkbox,
.woocommerce-page form .form-row .input-checkbox {
  margin-right: .25rem;
}

.woocommerce form .form-row .required,
.woocommerce-page form .form-row .required {
  color: var(--grimlock-color-danger);
}

.woocommerce form .form-row.woocommerce-invalid label,
.woocommerce-page form .form-row.woocommerce-invalid label {
  color: var(--grimlock-color-danger);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce-page form .form-row.woocommerce-invalid input.input-text,
.woocommerce-page form .form-row.woocommerce-invalid select {
  border-color: var(--grimlock-color-danger);
}

.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select,
.woocommerce-page form .form-row.woocommerce-validated input.input-text,
.woocommerce-page form .form-row.woocommerce-validated select {
  border-color: #3DBDB6;
}

@media (max-width: 991.98px) {
  .woocommerce form .form-row.form-row-first, .woocommerce form .form-row.form-row-last,
  .woocommerce-page form .form-row.form-row-first,
  .woocommerce-page form .form-row.form-row-last {
    width: 100%;
  }
}

.woocommerce form .woocommerce form .show-password-input,
.woocommerce-page form .woocommerce form .show-password-input {
  top: 0;
  right: 0;
  height: 100%;
  min-width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--grimlock-control-placeholder-color);
  transition: all 0.2s ease-in-out;
}

.woocommerce form .woocommerce form .show-password-input:not(:hover),
.woocommerce-page form .woocommerce form .show-password-input:not(:hover) {
  opacity: .5;
}

.woocommerce form .woocommerce form .show-password-input:after,
.woocommerce-page form .woocommerce form .show-password-input:after {
  margin: 0;
}

.woocommerce form .woocommerce-form-row input + span > em,
.woocommerce-page form .woocommerce-form-row input + span > em {
  margin-top: 0.5rem;
  display: block;
  font-size: .9em;
}

.woocommerce form .woocommerce-form-row + fieldset,
.woocommerce-page form .woocommerce-form-row + fieldset {
  margin-top: 2.5rem;
  margin-bottom: 1.5rem;
}

.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce-page form.woocommerce-form-login,
.woocommerce-page form.woocommerce-form-register {
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
}

.woocommerce form.woocommerce-form-login div.clear + .form-row,
.woocommerce form.woocommerce-form-register div.clear + .form-row,
.woocommerce-page form.woocommerce-form-login div.clear + .form-row,
.woocommerce-page form.woocommerce-form-register div.clear + .form-row {
  display: flex;
  align-items: flex-start;
}

.woocommerce form.woocommerce-form-login .lost_password,
.woocommerce form.woocommerce-form-register .lost_password,
.woocommerce-page form.woocommerce-form-login .lost_password,
.woocommerce-page form.woocommerce-form-register .lost_password {
  margin-bottom: 0;
}

.woocommerce #customer_login h2,
.woocommerce-page #customer_login h2 {
  text-align: center;
}

.woocommerce .woocommerce-ResetPassword,
.woocommerce-page .woocommerce-ResetPassword {
  margin: 0 auto;
  max-width: 800px;
  text-align: center;
  padding: 1rem;
}

.woocommerce .woocommerce-ResetPassword .woocommerce-form-row,
.woocommerce-page .woocommerce-ResetPassword .woocommerce-form-row {
  width: 100% !important;
}

.woocommerce-lost-password article .entry-content {
  margin: 0 auto;
}

/**
 * Modal component
 */
.woocommerce .pswp,
.woocommerce-page .pswp {
  z-index: 9999999;
}

.woocommerce .pswp__caption__center,
.woocommerce-page .pswp__caption__center {
  text-align: center;
}

/**
 * Product component
 */
.woocommerce .product div.card.product__card,
.woocommerce-page .product div.card.product__card,
.grimlock-query-section__posts .product div.card.product__card {
  overflow: hidden;
}

.woocommerce .product div.card.product__card .product__card-header,
.woocommerce-page .product div.card.product__card .product__card-header,
.grimlock-query-section__posts .product div.card.product__card .product__card-header {
  overflow: hidden;
  position: relative;
}

.woocommerce .product div.card.product__card img,
.woocommerce-page .product div.card.product__card img,
.grimlock-query-section__posts .product div.card.product__card img {
  margin: 0 !important;
}

.woocommerce .product div.card.product__card a.woocommerce-LoopProduct-link,
.woocommerce-page .product div.card.product__card a.woocommerce-LoopProduct-link,
.grimlock-query-section__posts .product div.card.product__card a.woocommerce-LoopProduct-link {
  display: block;
  position: relative;
}

.woocommerce .product div.card.product__card a.woocommerce-LoopProduct-link, .woocommerce .product div.card.product__card a.woocommerce-LoopProduct-link:hover, .woocommerce .product div.card.product__card a.woocommerce-LoopProduct-link:active, .woocommerce .product div.card.product__card a.woocommerce-LoopProduct-link:focus,
.woocommerce-page .product div.card.product__card a.woocommerce-LoopProduct-link,
.woocommerce-page .product div.card.product__card a.woocommerce-LoopProduct-link:hover,
.woocommerce-page .product div.card.product__card a.woocommerce-LoopProduct-link:active,
.woocommerce-page .product div.card.product__card a.woocommerce-LoopProduct-link:focus,
.grimlock-query-section__posts .product div.card.product__card a.woocommerce-LoopProduct-link,
.grimlock-query-section__posts .product div.card.product__card a.woocommerce-LoopProduct-link:hover,
.grimlock-query-section__posts .product div.card.product__card a.woocommerce-LoopProduct-link:active,
.grimlock-query-section__posts .product div.card.product__card a.woocommerce-LoopProduct-link:focus {
  text-decoration: none !important;
  color: inherit;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons {
  position: absolute;
  bottom: 0;
  right: -70px;
  width: 70px;
  display: flex;
  will-change: transform;
  transition: none;
  justify-content: flex-end;
  align-items: center;
  flex-direction: column;
  padding: 10px;
  z-index: 99;
  overflow: hidden;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a {
  transition: opacity 0.15s, background-color 0.2s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.15s, background-color 0.2s;
  transition: transform 0.3s, opacity 0.15s, background-color 0.2s, -webkit-transform 0.3s;
  border: 0;
  -webkit-transform: translate3d(0, 105%, 0) scale(0.5);
          transform: translate3d(0, 105%, 0) scale(0.5);
  width: 50px;
  height: 50px;
  min-width: 50px;
  min-height: 50px;
  line-height: 50px;
  font-size: 0 !important;
  overflow: hidden;
  margin: .5rem 0 0 0;
  border-radius: 500px;
  background-color: var(--grimlock-archive-post-background-color);
  padding: 0;
  opacity: 0;
  color: var(--grimlock-archive-post-title-color);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05) !important;
}

@media screen and (prefers-reduced-motion: reduce) {
  .woocommerce .product div.card.product__card .product__card-header div.product-buttons a,
  .woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a,
  .grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a {
    transition: none;
  }
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a:hover,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a:hover,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a:hover {
  background-color: var(--grimlock-button-primary-background-color);
  color: var(--grimlock-button-primary-color);
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a:before,
.woocommerce .product div.card.product__card .product__card-header div.product-buttons a i,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a i,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a i {
  font-size: 20px;
  line-height: inherit;
  width: 100%;
  text-align: center;
  margin: 0;
  padding: 0;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button:before, .woocommerce .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart:before {
  font-family: var(--grimlock-icon-cart-font-family) !important;
  content: var(--grimlock-icon-cart);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button:after, .woocommerce .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart:after,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button:after,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart:after,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button:after,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart:after {
  content: none;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.added, .woocommerce .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.added,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.added,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.added,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.added,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.added {
  background-color: var(--grimlock-button-primary-background-color);
  color: var(--grimlock-button-primary-color);
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.added:before, .woocommerce .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.added:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.added:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.added:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.added:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.added:before {
  font-family: var(--grimlock-icon-check-font-family) !important;
  content: var(--grimlock-icon-check);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.loading, .woocommerce .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.loading,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.loading,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.loading,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.loading,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.loading {
  cursor: wait;
  background-color: var(--grimlock-archive-post-color) !important;
  color: var(--grimlock-archive-post-background-color) !important;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.loading:before, .woocommerce .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.loading:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.loading:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.loading:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.add_to_cart_button.loading:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.ajax_add_to_cart.loading:before {
  font-family: var(--grimlock-icon-loading-font-family) !important;
  content: var(--grimlock-icon-loading);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation: fa-spin 1.2s infinite linear;
          animation: fa-spin 1.2s infinite linear;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1rem;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.product_type_variable:before, .woocommerce .product div.card.product__card .product__card-header div.product-buttons a.product_type_grouped:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.product_type_variable:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.product_type_grouped:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.product_type_variable:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.product_type_grouped:before {
  font-family: var(--grimlock-icon-list-font-family) !important;
  content: var(--grimlock-icon-list);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.product_type_external:before,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.product_type_external:before,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.product_type_external:before {
  font-family: var(--grimlock-icon-external-link-font-family) !important;
  content: var(--grimlock-icon-external-link);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
}

.woocommerce .product div.card.product__card .product__card-header div.product-buttons a.added_to_cart,
.woocommerce-page .product div.card.product__card .product__card-header div.product-buttons a.added_to_cart,
.grimlock-query-section__posts .product div.card.product__card .product__card-header div.product-buttons a.added_to_cart {
  display: none;
}

.woocommerce .product div.card.product__card .woocommerce-loop-product__title,
.woocommerce .product div.card.product__card .entry-title,
.woocommerce-page .product div.card.product__card .woocommerce-loop-product__title,
.woocommerce-page .product div.card.product__card .entry-title,
.grimlock-query-section__posts .product div.card.product__card .woocommerce-loop-product__title,
.grimlock-query-section__posts .product div.card.product__card .entry-title {
  padding: 0 0 .5rem 0;
  font-size: 1.2rem;
  margin: 0 !important;
}

.woocommerce .product div.card.product__card .price,
.woocommerce-page .product div.card.product__card .price,
.grimlock-query-section__posts .product div.card.product__card .price {
  color: inherit;
  font-weight: 600;
  opacity: 0.75;
  font-size: 1em;
  margin-bottom: 0;
}

.woocommerce .product div.card.product__card .price .from,
.woocommerce-page .product div.card.product__card .price .from,
.grimlock-query-section__posts .product div.card.product__card .price .from {
  color: #3DBDB6;
}

.woocommerce .product div.card.product__card .price del,
.woocommerce-page .product div.card.product__card .price del,
.grimlock-query-section__posts .product div.card.product__card .price del {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.4rem;
}

.woocommerce .product div.card.product__card .price ins,
.woocommerce-page .product div.card.product__card .price ins,
.grimlock-query-section__posts .product div.card.product__card .price ins {
  text-decoration: none;
}

.woocommerce .product div.card.product__card .entry-footer .product-buttons,
.woocommerce-page .product div.card.product__card .entry-footer .product-buttons,
.grimlock-query-section__posts .product div.card.product__card .entry-footer .product-buttons {
  margin-top: 1rem;
}

.woocommerce .product div.card.product__card .star-rating,
.woocommerce-page .product div.card.product__card .star-rating,
.grimlock-query-section__posts .product div.card.product__card .star-rating {
  font-size: .9em;
}

.woocommerce .product div.card.product__card:hover .product__card-header div.product-buttons,
.woocommerce-page .product div.card.product__card:hover .product__card-header div.product-buttons,
.grimlock-query-section__posts .product div.card.product__card:hover .product__card-header div.product-buttons {
  right: 0;
}

.woocommerce .product div.card.product__card:hover .product__card-header div.product-buttons a,
.woocommerce-page .product div.card.product__card:hover .product__card-header div.product-buttons a,
.grimlock-query-section__posts .product div.card.product__card:hover .product__card-header div.product-buttons a {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
          transform: translate3d(0, 0, 0) scale(1);
  opacity: 1;
}

.woocommerce .product div.card.product__card .entry-footer,
.woocommerce-page .product div.card.product__card .entry-footer,
.grimlock-query-section__posts .product div.card.product__card .entry-footer {
  position: relative;
  z-index: 9;
}

.woocommerce .product div.card.product__card .edit-link,
.woocommerce-page .product div.card.product__card .edit-link,
.grimlock-query-section__posts .product div.card.product__card .edit-link {
  display: none;
}

/**
 * Quantity
 */
.woocommerce div.quantity,
.woocommerce-page div.quantity {
  display: flex;
  align-items: center;
  height: 50px;
}

.woocommerce div.quantity > div:not([class]),
.woocommerce div.quantity + div:not([class]),
.woocommerce-page div.quantity > div:not([class]),
.woocommerce-page div.quantity + div:not([class]) {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  width: 25px;
  height: 50px;
  margin-left: .5rem;
  margin-right: 0;
}

.woocommerce div.quantity > div:not([class]) button.qty,
.woocommerce div.quantity + div:not([class]) button.qty,
.woocommerce-page div.quantity > div:not([class]) button.qty,
.woocommerce-page div.quantity + div:not([class]) button.qty {
  padding: 0;
  border: 0;
  background: none;
  border-radius: 0;
  box-shadow: none !important;
  width: 100%;
  height: 25px;
  align-items: center;
  -webkit-filter: none !important;
          filter: none !important;
  opacity: .5;
  line-height: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.woocommerce div.quantity > div:not([class]) button.qty:hover,
.woocommerce div.quantity + div:not([class]) button.qty:hover,
.woocommerce-page div.quantity > div:not([class]) button.qty:hover,
.woocommerce-page div.quantity + div:not([class]) button.qty:hover {
  opacity: 1;
}

.woocommerce div.quantity > div:not([class]) button.qty.plus, .woocommerce div.quantity > div:not([class]) button.qty.minus,
.woocommerce div.quantity + div:not([class]) button.qty.plus,
.woocommerce div.quantity + div:not([class]) button.qty.minus,
.woocommerce-page div.quantity > div:not([class]) button.qty.plus,
.woocommerce-page div.quantity > div:not([class]) button.qty.minus,
.woocommerce-page div.quantity + div:not([class]) button.qty.plus,
.woocommerce-page div.quantity + div:not([class]) button.qty.minus {
  font-size: 0;
}

.woocommerce div.quantity > div:not([class]) button.qty.plus:before, .woocommerce div.quantity > div:not([class]) button.qty.minus:before,
.woocommerce div.quantity + div:not([class]) button.qty.plus:before,
.woocommerce div.quantity + div:not([class]) button.qty.minus:before,
.woocommerce-page div.quantity > div:not([class]) button.qty.plus:before,
.woocommerce-page div.quantity > div:not([class]) button.qty.minus:before,
.woocommerce-page div.quantity + div:not([class]) button.qty.plus:before,
.woocommerce-page div.quantity + div:not([class]) button.qty.minus:before {
  font-size: .95rem;
}

.woocommerce div.quantity > div:not([class]) button.qty.plus:before,
.woocommerce div.quantity + div:not([class]) button.qty.plus:before,
.woocommerce-page div.quantity > div:not([class]) button.qty.plus:before,
.woocommerce-page div.quantity + div:not([class]) button.qty.plus:before {
  font-family: var(--grimlock-icon-angle-up-font-family) !important;
  content: var(--grimlock-icon-angle-up);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.woocommerce div.quantity > div:not([class]) button.qty.minus:before,
.woocommerce div.quantity + div:not([class]) button.qty.minus:before,
.woocommerce-page div.quantity > div:not([class]) button.qty.minus:before,
.woocommerce-page div.quantity + div:not([class]) button.qty.minus:before {
  font-family: var(--grimlock-icon-angle-down-font-family) !important;
  content: var(--grimlock-icon-angle-down);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.woocommerce div.quantity input.qty,
.woocommerce-page div.quantity input.qty {
  padding: 8px;
  min-width: 80px !important;
  height: 50px !important;
  text-align: center;
  border: 2px solid var(--grimlock-table-striped-background-color);
  background: var(--grimlock-table-striped-background-color);
  border-radius: var(--grimlock-button-border-radius);
}

.woocommerce div.quantity input.qty ~ [type="submit"],
.woocommerce-page div.quantity input.qty ~ [type="submit"] {
  height: 50px !important;
}

.woocommerce div.quantity ~ [type="submit"],
.woocommerce-page div.quantity ~ [type="submit"] {
  height: 50px !important;
  margin-left: 1rem;
}

.woocommerce div.quantity.buttons_added,
.woocommerce-page div.quantity.buttons_added {
  border-radius: 0.25rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: auto;
  border: 0;
  padding: 0;
  margin: 0;
}

@media (min-width: 992px) {
  .woocommerce div.quantity.buttons_added,
  .woocommerce-page div.quantity.buttons_added {
    margin-right: 2rem !important;
    align-items: center;
    justify-content: center;
  }
}

.woocommerce div.quantity.buttons_added .minus,
.woocommerce div.quantity.buttons_added .plus,
.woocommerce-page div.quantity.buttons_added .minus,
.woocommerce-page div.quantity.buttons_added .plus {
  background: none;
  border: 1px solid #454748;
  height: 30px;
  width: 30px;
  padding: 0;
  border-radius: 50%;
  margin: 0;
  position: static;
  line-height: 0;
  opacity: 0.4;
  text-align: center;
  color: inherit;
  font-weight: 400;
  font-family: sans-serif;
}

.woocommerce div.quantity.buttons_added .minus:hover,
.woocommerce div.quantity.buttons_added .plus:hover,
.woocommerce-page div.quantity.buttons_added .minus:hover,
.woocommerce-page div.quantity.buttons_added .plus:hover {
  opacity: 1;
}

.woocommerce div.quantity.buttons_added input[type="number"],
.woocommerce-page div.quantity.buttons_added input[type="number"] {
  height: 100%;
  border: 0;
  min-height: 40px;
  background: none;
  text-align: center;
  padding-left: 5px;
  padding-right: 5px;
  color: inherit !important;
  font-weight: 600;
}

.woocommerce div.quantity.buttons_added input[type="number"]::-webkit-outer-spin-button, .woocommerce div.quantity.buttons_added input[type="number"]::-webkit-inner-spin-button,
.woocommerce-page div.quantity.buttons_added input[type="number"]::-webkit-outer-spin-button,
.woocommerce-page div.quantity.buttons_added input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce div.quantity.hidden,
.woocommerce-page div.quantity.hidden {
  display: none !important;
}

.woocommerce div.quantity.hidden + button,
.woocommerce-page div.quantity.hidden + button {
  margin-left: 0;
}

/**
 * Remove component
 */
.woocommerce .woocommerce-product-rating,
.woocommerce-page .woocommerce-product-rating {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.woocommerce .woocommerce-product-rating .star-rating,
.woocommerce-page .woocommerce-product-rating .star-rating {
  font-size: .9em;
  margin: 0 .25rem 0 0;
}

.woocommerce .woocommerce-product-rating .star-rating:before,
.woocommerce-page .woocommerce-product-rating .star-rating:before {
  color: inherit;
  opacity: 0.4;
}

.woocommerce .woocommerce-product-rating .woocommerce-review-link,
.woocommerce-page .woocommerce-product-rating .woocommerce-review-link {
  font-size: 0;
  color: inherit;
}

.woocommerce .woocommerce-product-rating .woocommerce-review-link .count,
.woocommerce-page .woocommerce-product-rating .woocommerce-review-link .count {
  font-size: .7rem;
  border-radius: 500px;
  background-color: var(--grimlock-table-striped-background-color);
  min-width: 20px;
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  font-weight: 600;
}

.woocommerce .comment-form-rating .stars,
.woocommerce-page .comment-form-rating .stars {
  cursor: pointer;
}

.woocommerce .comment-form-rating label,
.woocommerce-page .comment-form-rating label {
  width: 100%;
  display: block;
}

/**
 * Related products
 */
.products-related {
  padding-top: 5%;
  padding-bottom: 5%;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: auto !important;
  max-width: 1000% !important;
  background-color: rgba(0, 0, 0, 0.04);
}

.region--9-3-cols-left .products-related,
.region--3-9-cols-left .products-related,
.region--3-6-3-cols-left .products-related {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  background: none !important;
}

.region--9-3-cols-left .products-related > .container,
.region--3-9-cols-left .products-related > .container,
.region--3-6-3-cols-left .products-related > .container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.cross-sells {
  padding-top: 2.5rem;
  margin-top: 2.5rem;
  border-top: 1px solid var(--grimlock-table-striped-background-color);
}

.woocommerce-cart-form ~ .cross-sells {
  width: 100%;
}

@media (min-width: 576px) {
  .woocommerce-cart-form ~ .cross-sells {
    margin-bottom: -30px;
  }
}

@media (min-width: 992px) {
  .woocommerce-cart-form ~ .cross-sells {
    float: left;
    max-width: calc(70% - 30px);
  }
}

.up-sells,
.related products {
  margin-bottom: 2rem;
}

.cross-sells > h2,
.up-sells > h2,
.related.products > h2,
.related-title {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  text-align: left;
}

#after_content > .widget-area .widget.widget_recently_viewed_products span.widget-title {
  text-align: left;
  margin-bottom: 0;
}

#after_content > .widget-area .widget.widget_recently_viewed_products span.widget-title:after {
  display: none !important;
}

/**
 * Remove component
 */
.woocommerce a.remove,
.woocommerce-page a.remove {
  position: relative;
  top: auto;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1em;
  font-weight: normal !important;
  color: inherit !important;
  text-indent: -9999px;
  padding: 0;
  clear: none;
  background: none;
  z-index: 2;
  font-size: 1em;
  opacity: .5;
}

.woocommerce a.remove:before,
.woocommerce-page a.remove:before {
  font-family: var(--grimlock-icon-times-circle-font-family) !important;
  content: var(--grimlock-icon-times-circle);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  text-indent: 0;
}

.woocommerce a.remove:hover, .woocommerce a.remove:active, .woocommerce a.remove:focus,
.woocommerce-page a.remove:hover,
.woocommerce-page a.remove:active,
.woocommerce-page a.remove:focus {
  background: none !important;
  color: var(--grimlock-color-danger) !important;
  opacity: 1;
}

/**
 * Reviews component
 */
.woocommerce #reviews h2 small,
.woocommerce-page #reviews h2 small {
  color: inherit;
}

.woocommerce #reviews h2 small a,
.woocommerce-page #reviews h2 small a {
  color: inherit;
}

.woocommerce #reviews #comments ol.commentlist,
.woocommerce-page #reviews #comments ol.commentlist {
  padding-left: 0;
}

.woocommerce #reviews #comments ol.commentlist li,
.woocommerce-page #reviews #comments ol.commentlist li {
  padding-left: 0;
}

.woocommerce #reviews #comments ol.commentlist li .meta,
.woocommerce-page #reviews #comments ol.commentlist li .meta {
  color: inherit;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar,
.woocommerce-page #reviews #comments ol.commentlist li img.avatar {
  border: 0;
  padding: 0;
  background: none;
  width: 60px;
  height: 60px;
  object-fit: cover;
  object-position: center;
  border-radius: 500px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text,
.woocommerce-page #reviews #comments ol.commentlist li .comment-text {
  padding: 1.25em;
  margin-left: 75px;
  border: 0;
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta .woocommresponderce-review__author,
.woocommerce-page #reviews #comments ol.commentlist li .comment-text .meta .woocommresponderce-review__author {
  color: var(--grimlock-archive-post-title-color);
  font-size: 1.15em;
  display: block;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta .woocommerce-review__dash,
.woocommerce-page #reviews #comments ol.commentlist li .comment-text .meta .woocommerce-review__dash {
  display: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description,
.woocommerce-page #reviews #comments ol.commentlist li .comment-text .description {
  font-size: .9em;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description p:last-child,
.woocommerce-page #reviews #comments ol.commentlist li .comment-text .description p:last-child {
  margin-bottom: 0;
}

.woocommerce #reviews #respond,
.woocommerce-page #reviews #respond {
  width: 100%;
  margin-top: 2rem;
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
}

.woocommerce #reviews #respond span#reply-title,
.woocommerce-page #reviews #respond span#reply-title {
  margin-top: 0;
  margin-bottom: .5rem;
  display: block;
}

/**
 * Sale component
 */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
  position: static;
  background-color: var(--grimlock-color-success);
  color: #fff;
  line-height: normal;
  min-height: 0;
  text-transform: uppercase;
  font-size: .75em;
  font-weight: 600;
  letter-spacing: 0;
  padding: .4em .75em;
  border-radius: var(--grimlock-button-border-radius);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  line-height: inherit;
}

.woocommerce .products .product span.onsale,
.woocommerce-page .products .product span.onsale {
  position: absolute;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  margin: 0 !important;
}

/**
 * Stock component
 */
.woocommerce .outofstock span.onsale,
.woocommerce-page .outofstock span.onsale {
  display: none !important;
}

/**
 * Widgets
 */
.widget_search button[type="submit"]:hover, .widget_search button[type="submit"]:active, .widget_search button[type="submit"]:focus {
  color: inherit !important;
}

.woocommerce.widget_shopping_cart .woocommerce-mini-cart-item,
.woocommerce .widget_shopping_cart .woocommerce-mini-cart-item {
  padding-left: 0;
}

.woocommerce.widget_shopping_cart .cart_list li,
.woocommerce .widget_shopping_cart .cart_list li {
  text-align: left;
  padding: 0.5rem;
  margin: .7rem 0;
  border: 0;
  background-color: var(--grimlock-table-striped-background-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  font-size: 0.9em;
}

.woocommerce.widget_shopping_cart .buttons,
.woocommerce .widget_shopping_cart .buttons {
  margin: 0;
  text-align: center;
  display: flex;
}

.woocommerce.widget_shopping_cart .buttons > .button,
.woocommerce .widget_shopping_cart .buttons > .button {
  width: 100%;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 0;
  background-color: var(--grimlock-table-striped-background-color);
  padding: .5rem !important;
  font-size: 0.85em !important;
}

.woocommerce.widget_shopping_cart .buttons > .button:first-child,
.woocommerce .widget_shopping_cart .buttons > .button:first-child {
  margin-left: 0;
}

.woocommerce.widget_shopping_cart .buttons > .button:last-child,
.woocommerce .widget_shopping_cart .buttons > .button:last-child {
  margin-right: 0;
}

.woocommerce ul.product_list_widget {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce ul.product_list_widget li {
  position: relative;
  text-align: left;
  padding: 0;
  font-size: .85rem;
}

.woocommerce ul.product_list_widget li:not(:last-child) {
  padding: 0 0 15px 0;
}

.vertical-navbar .woocommerce ul.product_list_widget li:hover {
  background: none !important;
  color: inherit !important;
}

.sidebar .woocommerce ul.product_list_widget li a:not(:hover) {
  color: var(--grimlock-archive-post-title-color);
}

.woocommerce ul.product_list_widget li > a:not(.remove) {
  padding-right: 30px;
  font-size: .9rem;
}

.vertical-navbar .woocommerce ul.product_list_widget li > a:not(.remove) {
  font-size: 0.8rem;
}

.woocommerce ul.product_list_widget li > a:not(.remove):before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}

.woocommerce ul.product_list_widget li img {
  float: left;
  margin-left: 0;
  margin-right: .75rem;
  width: 60px;
  border-radius: var(--grimlock-archive-post-border-radius);
  opacity: 1;
}

.vertical-navbar .woocommerce ul.product_list_widget li img {
  width: 40px;
}

.woocommerce ul.product_list_widget li .product-title {
  color: var(--grimlock-archive-post-title-color);
  font-size: 0.9rem;
}

.woocommerce ul.product_list_widget li.mini_cart_item a.remove {
  right: 0;
  left: auto;
  top: .15em;
  z-index: 3;
}

.woocommerce ul.product_list_widget li.mini_cart_item .reviewer {
  font-size: .8em;
}

.woocommerce ul.product_list_widget li.mini_cart_item dl.variation {
  display: none;
  float: left;
  padding-right: .5rem;
  padding-left: 0;
  border: 0;
  font-size: .85em;
}

.woocommerce ul.product_list_widget li.mini_cart_item dl.variation dd {
  margin: 0;
}

.woocommerce ul.product_list_widget li.mini_cart_item dl.variation dd p {
  max-width: 50px;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.woocommerce ul.product_list_widget li.mini_cart_item .quantity {
  float: left;
  font-size: .85em;
}

.woocommerce ul.product_list_widget li.mini_cart_item .star-rating {
  font-size: .7em;
}

.woocommerce ul.product_list_widget li.mini_cart_item del,
.woocommerce ul.product_list_widget li.mini_cart_item ins,
.woocommerce ul.product_list_widget li.mini_cart_item small,
.woocommerce ul.product_list_widget li.mini_cart_item .woocommerce-Price-amount {
  font-size: .8rem;
}

.woocommerce ul.product_list_widget li.mini_cart_item del {
  opacity: .3;
  margin-right: .25rem;
}

#primary > #main > .widget-area .woocommerce .product_list_widget,
#before_content .woocommerce .product_list_widget,
#after_content .woocommerce .product_list_widget {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

#primary > #main > .widget-area .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item),
#before_content .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item),
#after_content .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item) {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  margin-top: 30px;
}

@media (min-width: 576px) {
  #primary > #main > .widget-area .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item),
  #before_content .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item),
  #after_content .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item) {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  #primary > #main > .widget-area .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item),
  #before_content .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item),
  #after_content .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item) {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 992px) {
  #primary > #main > .widget-area .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item),
  #before_content .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item),
  #after_content .woocommerce .product_list_widget > li:not(.woocommerce-mini-cart-item) {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.woocommerce .widget_layered_nav ul li,
.woocommerce .widget_product_categories ul li {
  padding: 0 0 .4rem !important;
  font-size: 1em !important;
  display: block;
  width: 100%;
  position: relative;
}

.woocommerce .widget_layered_nav ul li:before,
.woocommerce .widget_product_categories ul li:before {
  position: absolute;
  top: .35em;
  left: 0;
  margin: 0;
  pointer-events: none;
}

.woocommerce .widget_layered_nav ul li.cat-item-none:before, .woocommerce .widget_layered_nav ul li.cat-item-none:after,
.woocommerce .widget_product_categories ul li.cat-item-none:before,
.woocommerce .widget_product_categories ul li.cat-item-none:after {
  content: none;
}

.woocommerce .widget_layered_nav ul li:hover:before,
.woocommerce .widget_product_categories ul li:hover:before {
  color: var(--grimlock-button-primary-background-color);
}

.woocommerce .widget_layered_nav ul li a,
.woocommerce .widget_product_categories ul li a {
  padding: 0 25px 0 23px !important;
  display: block;
  font-size: .95em;
}

.woocommerce .widget_layered_nav ul li.chosen:before, .woocommerce .widget_layered_nav ul li.active:before, .woocommerce .widget_layered_nav ul li.current-cat:before,
.woocommerce .widget_product_categories ul li.chosen:before,
.woocommerce .widget_product_categories ul li.active:before,
.woocommerce .widget_product_categories ul li.current-cat:before {
  color: var(--grimlock-button-primary-background-color);
  text-decoration: none !important;
}

.woocommerce .widget_layered_nav ul li.chosen a, .woocommerce .widget_layered_nav ul li.active a, .woocommerce .widget_layered_nav ul li.current-cat a,
.woocommerce .widget_product_categories ul li.chosen a,
.woocommerce .widget_product_categories ul li.active a,
.woocommerce .widget_product_categories ul li.current-cat a {
  font-weight: 600;
}

.woocommerce .widget_layered_nav ul li.chosen a:hover, .woocommerce .widget_layered_nav ul li.active a:hover, .woocommerce .widget_layered_nav ul li.current-cat a:hover,
.woocommerce .widget_product_categories ul li.chosen a:hover,
.woocommerce .widget_product_categories ul li.active a:hover,
.woocommerce .widget_product_categories ul li.current-cat a:hover {
  color: inherit !important;
}

.woocommerce .widget_layered_nav ul li.chosen a:hover:before, .woocommerce .widget_layered_nav ul li.active a:hover:before, .woocommerce .widget_layered_nav ul li.current-cat a:hover:before,
.woocommerce .widget_product_categories ul li.chosen a:hover:before,
.woocommerce .widget_product_categories ul li.active a:hover:before,
.woocommerce .widget_product_categories ul li.current-cat a:hover:before {
  color: var(--grimlock-color-danger) !important;
}

.woocommerce .widget_layered_nav ul li .count,
.woocommerce .widget_product_categories ul li .count {
  display: inline-block;
  font-size: .7em;
  width: 20px;
  height: 20px;
  background: var(--grimlock-table-striped-background-color);
  line-height: 20px;
  text-align: center;
  border-radius: 500px;
  float: right;
  position: absolute;
  top: .15em;
  right: 0;
  margin: 0;
  pointer-events: none;
  font-weight: 600;
  color: inherit !important;
}

.woocommerce .widget_rating_filter .wc-layered-nav-rating a {
  display: flex;
  width: 100%;
  align-items: center;
}

.woocommerce .widget_rating_filter .wc-layered-nav-rating a .star-rating {
  margin-right: auto;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  border: 4px solid var(--grimlock-button-primary-background-color);
  background-color: #fff !important;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
  border-color: var(--grimlock-button-primary-background-color);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background-color: var(--grimlock-button-primary-background-color);
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background-color: #3D404A;
}

.woocommerce .widget_price_filter .price_slider_amount {
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.woocommerce .widget_price_filter .price_slider_amount input {
  display: inline-block;
  max-width: 100px;
  vertical-align: top;
}

.woocommerce .widget_price_filter .price_slider_amount .button {
  padding: 5px 11px;
  font-size: .9em;
}

.woocommerce .widget_price_filter .price_slider_amount div.clear:empty {
  display: none;
}

.woocommerce .widget_price_filter .button {
  background-color: var(--grimlock-table-striped-background-color);
}

.woocommerce .widget_product_tag_cloud .tagcloud a {
  padding: .1em .6em;
  background-color: var(--grimlock-table-striped-background-color);
  border-radius: var(--grimlock-button-border-radius);
  margin-right: .2rem;
  margin-bottom: .1rem;
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item:before, .woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item:after {
  content: none !important;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item a {
  padding-left: 0 !important;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item--chosen a::before {
  color: inherit !important;
  position: relative;
  top: .1em;
}

.woocommerce .widget_layered_nav_filters ul {
  display: flex;
  flex-wrap: wrap;
}

.woocommerce .widget_layered_nav_filters ul li {
  margin-bottom: .35em;
  display: inline-block;
  width: auto !important;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  font-size: .9rem;
  padding: 0;
}

.woocommerce .widget_layered_nav_filters ul li:not(:last-child) {
  margin-right: .35em;
}

.woocommerce .widget_layered_nav_filters ul li > a,
.woocommerce .widget_layered_nav_filters ul li > a[aria-label^="Remove"] {
  position: relative;
  color: inherit !important;
  background: var(--grimlock-table-striped-background-color);
  padding: .3em .5em !important;
  border: 2px solid var(--grimlock-table-striped-background-color);
  border-radius: var(--grimlock-button-border-radius);
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  font-weight: 600;
}

.woocommerce .widget_layered_nav_filters ul li > a:before,
.woocommerce .widget_layered_nav_filters ul li > a[aria-label^="Remove"]:before {
  color: inherit;
}

.woocommerce .widget_layered_nav_filters ul li > a:hover, .woocommerce .widget_layered_nav_filters ul li > a:active, .woocommerce .widget_layered_nav_filters ul li > a:focus,
.woocommerce .widget_layered_nav_filters ul li > a[aria-label^="Remove"]:hover,
.woocommerce .widget_layered_nav_filters ul li > a[aria-label^="Remove"]:active,
.woocommerce .widget_layered_nav_filters ul li > a[aria-label^="Remove"]:focus {
  opacity: 1;
}

.woocommerce .widget_layered_nav_filters ul li > a:hover:before, .woocommerce .widget_layered_nav_filters ul li > a:active:before, .woocommerce .widget_layered_nav_filters ul li > a:focus:before,
.woocommerce .widget_layered_nav_filters ul li > a[aria-label^="Remove"]:hover:before,
.woocommerce .widget_layered_nav_filters ul li > a[aria-label^="Remove"]:active:before,
.woocommerce .widget_layered_nav_filters ul li > a[aria-label^="Remove"]:focus:before {
  color: var(--grimlock-color-danger) !important;
}

/**
 * Navigation
 */
.main-navigation .navbar-nav.navbar-nav--woocommerce {
  display: flex;
  align-items: center;
}

@media (max-width: 991.98px) {
  .main-navigation .navbar-nav.navbar-nav--woocommerce {
    order: -2;
    display: flex !important;
    flex-direction: row !important;
    flex: 0 0 auto !important;
    padding: 0;
  }
}

.main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item {
  margin-left: 0;
}

@media (min-width: 992px) {
  .main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item {
    height: 100%;
  }
}

.main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents {
  display: flex;
  align-items: center;
  justify-content: normal;
  padding: .75rem 1rem;
}

@media (min-width: 992px) {
  .main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents {
    justify-content: center;
    padding: 0;
  }
}

@media (max-width: 991.98px) {
  .main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents {
    width: 100%;
  }
  .main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents .bubble-count {
    display: none;
  }
}

.main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents .cart-icon {
  margin-right: 0;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents .cart-icon:before {
  font-family: var(--grimlock-icon-cart-font-family) !important;
  content: var(--grimlock-icon-cart);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-flex;
  pointer-events: none;
  font-size: 1rem;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents .amount {
  margin-left: 1rem;
  margin-right: 0;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents .amount:after {
  content: var(--grimlock-ornament);
  padding-left: .6rem;
  padding-right: .6rem;
  display: inline-flex;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce li.menu-item > a.cart-contents .count {
  margin-right: 0;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu {
  left: auto;
  right: 0;
  min-width: 260px;
  max-width: 260px;
}

@media (min-width: 992px) {
  .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu {
    padding: .3rem;
  }
}

@media (max-width: 991.98px) {
  .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu {
    display: none !important;
  }
}

.woocommerce-cart .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu,
.woocommerce-checkout .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu {
  display: none !important;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu > li {
  width: 100%;
  display: block;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .woocommerce-mini-cart__empty-message {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  font-size: .8em;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart {
  font-size: .8rem;
  border: 0;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart h2,
.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart .widgettitle {
  display: none;
}

@media (min-width: 992px) {
  .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list {
    max-height: 260px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list::-webkit-scrollbar {
    width: 0px;
  }
  .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list::-webkit-scrollbar-track {
    -webkit-box-shadow: none;
  }
  .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.04);
    outline: 0;
  }
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item {
  position: relative;
  margin: 0;
  padding: .75rem 1rem .75rem 3.75rem;
  color: inherit;
  transition: background-color .2s ease-in-out;
  border-radius: var(--grimlock-archive-post-border-radius);
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item::after {
  display: block;
  clear: both;
  content: "";
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item a {
  text-transform: none;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item a:hover {
  text-decoration: none !important;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item > a:last-of-type {
  display: block;
  clear: none;
  padding: 0 1.2rem 0 0;
  color: inherit;
  background: none !important;
  font-size: 1.1em;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item > a:last-of-type:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item a.remove {
  width: 1em;
  height: 1em;
  padding: 0;
  line-height: 1em;
  top: 50%;
  right: 1rem;
  left: auto;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  font-size: 1em;
  background: none;
  opacity: 0.5;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item a.remove, .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item a.remove:hover {
  color: inherit !important;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item a.remove:hover, .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item a.remove:active, .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item a.remove:focus {
  opacity: 1;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item .quantity {
  opacity: .7;
  float: left;
  font-size: .85em;
  color: inherit;
  width: 100%;
  display: block;
  padding-right: 1.2rem;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item img {
  width: 40px;
  height: auto;
  position: absolute;
  top: .75rem;
  left: .75rem;
  margin: 0 0 0;
  border-radius: var(--grimlock-archive-post-border-radius);
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item dl.variation {
  display: none;
  float: left;
  width: 100%;
  border: 0;
  font-size: .8em;
  opacity: .7;
  color: inherit;
  margin: 0;
  padding-left: 58px;
  padding-right: 1.2rem;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item dl.variation dd,
.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item dl.variation dt {
  display: inline-block;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item dl.variation dd p,
.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item dl.variation dt p {
  margin: 0;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart ul.cart_list li.mini_cart_item dl.variation dd p {
  max-width: 50px;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart li.empty {
  padding: 1em 1.387em;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart p {
  text-align: center;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart .buttons {
  margin: 0;
  text-align: center;
  display: flex;
  margin-bottom: 0 !important;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart .buttons > a {
  padding: 12px 5px;
  width: 100%;
  border: 0;
  background-color: transparent;
  border-radius: 0 !important;
  color: inherit;
  font-size: .85em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: normal;
  margin: 0;
  font-family: inherit;
  font-weight: bolder;
}

.main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart .buttons > a:hover, .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart .buttons > a:active, .main-navigation .navbar-nav.navbar-nav--woocommerce ul.sub-menu .widget_shopping_cart .buttons > a:focus {
  text-decoration: none;
  background: var(--grimlock-table-striped-background-color) !important;
  opacity: 0.7;
}

.main-navigation:not(.vertical-navbar) .navbar-nav.navbar-nav--woocommerce > .menu-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin-top: 0;
}

@media (min-width: 992px) {
  .main-navigation:not(.vertical-navbar) .navbar-nav.navbar-nav--woocommerce > .menu-item > a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    width: 40px;
    height: 40px;
    color: inherit;
  }
}

@media (min-width: 992px) {
  .main-navigation:not(.vertical-navbar) .navbar-nav.navbar-nav--woocommerce > .menu-item > a:before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
  }
}

.main-navigation:not(.vertical-navbar) .navbar-nav.navbar-nav--woocommerce > .menu-item > a.cart-contents:after {
  display: none;
}

@media (min-width: 992px) {
  .main-navigation:not(.vertical-navbar) .navbar-nav.navbar-nav--woocommerce > .menu-item > a.cart-contents .amount,
  .main-navigation:not(.vertical-navbar) .navbar-nav.navbar-nav--woocommerce > .menu-item > a.cart-contents .count {
    display: none;
  }
}

.main-navigation:not(.vertical-navbar) .navbar-nav.navbar-nav--woocommerce > .menu-item > a:hover {
  opacity: .8;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce {
  order: -2;
  flex-direction: row;
  padding: 0;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce li.menu-item a.cart-contents {
  justify-content: normal;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce li.menu-item .bubble-count {
  display: none;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce li.menu-item .sub-menu {
  padding-bottom: 0 !important;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce .woocommerce-mini-cart__total {
  display: none;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce .woocommerce-mini-cart__buttons {
  margin-top: .5rem !important;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce .woocommerce-mini-cart__buttons .button {
  background-color: var(--grimlock-table-striped-background-color);
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce .button.checkout {
  display: none;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce .widget_shopping_cart + .widget_shopping_cart {
  display: none;
}

.main-navigation.vertical-navbar .navbar-nav.navbar-nav--woocommerce .sub-menu {
  max-height: none;
}

@media (min-width: 992px) {
  .main-navigation.navbar--fat-center .navbar-nav--main-menu + .navbar-nav--woocommerce, .main-navigation.navbar--fat-left .navbar-nav--main-menu + .navbar-nav--woocommerce {
    margin-right: 0 !important;
    padding-right: 0 !important;
    margin-left: -50px !important;
  }
  .main-navigation.navbar--fat-center .navbar-nav--main-menu + .navbar-nav--login + .navbar-nav--woocommerce, .main-navigation.navbar--fat-left .navbar-nav--main-menu + .navbar-nav--login + .navbar-nav--woocommerce {
    margin-left: 1rem;
  }
}

/**
 * Pagination
 */
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
  border: 0;
}

@media (max-width: 767.98px) {
  .woocommerce nav.woocommerce-pagination ul,
  .woocommerce-page nav.woocommerce-pagination ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}

.woocommerce nav.woocommerce-pagination ul > li,
.woocommerce-page nav.woocommerce-pagination ul > li {
  overflow: visible;
  border: 0;
  float: none;
}

@media (max-width: 767.98px) {
  .woocommerce nav.woocommerce-pagination ul > li,
  .woocommerce-page nav.woocommerce-pagination ul > li {
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

.woocommerce nav.woocommerce-pagination ul > li > a:after,
.woocommerce nav.woocommerce-pagination ul > li span:after,
.woocommerce-page nav.woocommerce-pagination ul > li > a:after,
.woocommerce-page nav.woocommerce-pagination ul > li span:after {
  line-height: inherit;
  font-size: 1rem;
}

.woocommerce nav.woocommerce-pagination ul > li .dots,
.woocommerce-page nav.woocommerce-pagination ul > li .dots {
  pointer-events: none;
}

/**
 * Archive
 */
.woocommerce-products-header {
  display: none;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  z-index: 2;
  margin-bottom: 0;
}

.woocommerce ul.products:before, .woocommerce ul.products:after,
.woocommerce-page ul.products:before,
.woocommerce-page ul.products:after {
  width: 0;
}

.woocommerce ul.products ul,
.woocommerce-page ul.products ul {
  margin-bottom: 0;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  width: 100% !important;
  margin: 0 0 30px 0 !important;
}

@media (min-width: 576px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 992px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.woocommerce ul.products li.product .card,
.woocommerce-page ul.products li.product .card {
  height: 100%;
}

@media (min-width: 576px) {
  .woocommerce ul.products.columns-1 li.product,
  .woocommerce-page ul.products.columns-1 li.product {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .woocommerce ul.products.columns-1 li.product,
  .woocommerce-page ul.products.columns-1 li.product {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .woocommerce ul.products.columns-1 li.product,
  .woocommerce-page ul.products.columns-1 li.product {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 576px) {
  .woocommerce ul.products.columns-2 li.product,
  .woocommerce-page ul.products.columns-2 li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .woocommerce ul.products.columns-2 li.product,
  .woocommerce-page ul.products.columns-2 li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 992px) {
  .woocommerce ul.products.columns-2 li.product,
  .woocommerce-page ul.products.columns-2 li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 576px) {
  .woocommerce ul.products.columns-3 li.product,
  .woocommerce-page ul.products.columns-3 li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .woocommerce ul.products.columns-3 li.product,
  .woocommerce-page ul.products.columns-3 li.product {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 992px) {
  .woocommerce ul.products.columns-3 li.product,
  .woocommerce-page ul.products.columns-3 li.product {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 576px) {
  .woocommerce ul.products.columns-5 li.product,
  .woocommerce-page ul.products.columns-5 li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .woocommerce ul.products.columns-5 li.product,
  .woocommerce-page ul.products.columns-5 li.product {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 1200px) {
  .woocommerce ul.products.columns-5 li.product,
  .woocommerce-page ul.products.columns-5 li.product {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media (min-width: 576px) {
  .woocommerce ul.products.columns-6 li.product,
  .woocommerce-page ul.products.columns-6 li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .woocommerce ul.products.columns-6 li.product,
  .woocommerce-page ul.products.columns-6 li.product {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

@media (min-width: 992px) {
  .woocommerce ul.products.columns-6 li.product,
  .woocommerce-page ul.products.columns-6 li.product {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

.woocommerce ul.products > .product-categories,
.woocommerce-page ul.products > .product-categories {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  flex: 0 0 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.woocommerce ul.products > .product-categories .product-categories,
.woocommerce-page ul.products > .product-categories .product-categories {
  padding: 0;
}

@media (min-width: 576px) {
  .woocommerce .region--9-3-cols-left ul.products li.product,
  .woocommerce .region--3-9-cols-left ul.products li.product,
  .woocommerce-page .region--9-3-cols-left ul.products li.product,
  .woocommerce-page .region--3-9-cols-left ul.products li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .woocommerce .region--9-3-cols-left ul.products li.product,
  .woocommerce .region--3-9-cols-left ul.products li.product,
  .woocommerce-page .region--9-3-cols-left ul.products li.product,
  .woocommerce-page .region--3-9-cols-left ul.products li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 992px) {
  .woocommerce .region--9-3-cols-left ul.products li.product,
  .woocommerce .region--3-9-cols-left ul.products li.product,
  .woocommerce-page .region--9-3-cols-left ul.products li.product,
  .woocommerce-page .region--3-9-cols-left ul.products li.product {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 576px) {
  .woocommerce .region--3-6-3-cols-left ul.products li.product,
  .woocommerce .region--container-narrow ul.products li.product,
  .woocommerce .region--container-narrower ul.products li.product,
  .woocommerce-page .region--3-6-3-cols-left ul.products li.product,
  .woocommerce-page .region--container-narrow ul.products li.product,
  .woocommerce-page .region--container-narrower ul.products li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .woocommerce .region--3-6-3-cols-left ul.products li.product,
  .woocommerce .region--container-narrow ul.products li.product,
  .woocommerce .region--container-narrower ul.products li.product,
  .woocommerce-page .region--3-6-3-cols-left ul.products li.product,
  .woocommerce-page .region--container-narrow ul.products li.product,
  .woocommerce-page .region--container-narrower ul.products li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 992px) {
  .woocommerce .region--3-6-3-cols-left ul.products li.product,
  .woocommerce .region--container-narrow ul.products li.product,
  .woocommerce .region--container-narrower ul.products li.product,
  .woocommerce-page .region--3-6-3-cols-left ul.products li.product,
  .woocommerce-page .region--container-narrow ul.products li.product,
  .woocommerce-page .region--container-narrower ul.products li.product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

.woocommerce .region--3-6-3-cols-left #content div.product div.images,
.woocommerce .region--3-6-3-cols-left div.product div.images,
.woocommerce .region--3-6-3-cols-left div.product div.summary,
.woocommerce .region--container-narrow #content div.product div.images,
.woocommerce .region--container-narrow div.product div.images,
.woocommerce .region--container-narrow div.product div.summary,
.woocommerce .region--container-narrower #content div.product div.images,
.woocommerce .region--container-narrower div.product div.images,
.woocommerce .region--container-narrower div.product div.summary,
.woocommerce-page .region--3-6-3-cols-left #content div.product div.images,
.woocommerce-page .region--3-6-3-cols-left div.product div.images,
.woocommerce-page .region--3-6-3-cols-left div.product div.summary,
.woocommerce-page .region--container-narrow #content div.product div.images,
.woocommerce-page .region--container-narrow div.product div.images,
.woocommerce-page .region--container-narrow div.product div.summary,
.woocommerce-page .region--container-narrower #content div.product div.images,
.woocommerce-page .region--container-narrower div.product div.images,
.woocommerce-page .region--container-narrower div.product div.summary {
  width: 100% !important;
  float: none;
}

.woocommerce .region--3-6-3-cols-left div.images,
.woocommerce .region--container-narrow div.images,
.woocommerce .region--container-narrower div.images,
.woocommerce-page .region--3-6-3-cols-left div.images,
.woocommerce-page .region--container-narrow div.images,
.woocommerce-page .region--container-narrower div.images {
  margin-bottom: 0 !important;
}

.woocommerce .region--3-6-3-cols-left div.images .flex-control-thumbs,
.woocommerce .region--container-narrow div.images .flex-control-thumbs,
.woocommerce .region--container-narrower div.images .flex-control-thumbs,
.woocommerce-page .region--3-6-3-cols-left div.images .flex-control-thumbs,
.woocommerce-page .region--container-narrow div.images .flex-control-thumbs,
.woocommerce-page .region--container-narrower div.images .flex-control-thumbs {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 9;
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category {
  vertical-align: top;
  height: 260px;
  margin-bottom: 30px;
  float: left;
  width: 100%;
  clear: none;
}

@media (min-width: 992px) {
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category {
    width: 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category > .product-category__thumbnail {
  background-size: cover;
  background-position: center center;
  height: 100%;
  overflow: hidden;
  border-radius: var(--grimlock-archive-post-border-radius);
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category > .product-category__thumbnail > a {
  display: block;
  height: 100%;
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category > .product-category__thumbnail:not([style*="background-image"]) {
  background-color: var(--grimlock-button-primary-background-color);
  color: var(--grimlock-button-primary-color);
}

@media (min-width: 992px) {
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category:nth-child(1) {
    width: 50%;
    flex: 0 0 50%;
    max-width: 50%;
    height: 450px;
  }
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category:nth-child(2) {
    height: 450px;
  }
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category:nth-child(3) {
    float: left;
  }
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category:nth-child(4) {
    float: right;
    height: 450px;
  }
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category:nth-child(6) {
    width: 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category:nth-child(n+7) {
    width: 50%;
  }
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category .product-category__meta {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding: 20px;
  text-align: left;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  transition: all 0.2s ease-in-out;
}

@media screen and (prefers-reduced-motion: reduce) {
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category .product-category__meta {
    transition: none;
  }
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category .woocommerce-loop-category__title {
  font-size: 1.4em;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column-reverse;
  color: inherit;
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category .woocommerce-loop-category__title .count {
  display: block;
  color: inherit !important;
  opacity: .7;
  font-size: 2em;
  padding: 0;
  background: none !important;
  transition: all 0.2s ease-in-out;
}

@media screen and (prefers-reduced-motion: reduce) {
  .grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category .woocommerce-loop-category__title .count {
    transition: none;
  }
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category .woocommerce-loop-category__title .count:not(.count--done) {
  opacity: 0;
}

.grimlock-woocommerce-products-categories--layout_grid ul.products li.product.product-category:hover .product-category__meta {
  background-color: rgba(0, 0, 0, 0.6);
}

@media (min-width: 992px) {
  .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--1 li.product.product-category:nth-child(1) {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--2 li.product.product-category:nth-child(1), .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--2 li.product.product-category:nth-child(2) {
    width: 100%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--3 li.product.product-category:nth-child(3),
  .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--4 li.product.product-category:nth-child(3) {
    height: 450px;
  }
  .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--4 li.product.product-category:nth-child(4) {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--5 li.product.product-category:nth-child(5) {
    width: 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--7 li.product.product-category:nth-child(7) {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .grimlock-woocommerce-products-categories--layout_grid .product-categories-count--9 li.product.product-category:nth-child(9) {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.woocommerce-archive-header {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.woocommerce-archive-header .woocommerce-ordering select.orderby,
.woocommerce-archive-header #dropdownWcFiltersButton {
  padding: .9em 1.2em;
  border: 0;
  box-shadow: 0 0 0 1px var(--grimlock-table-striped-background-color);
  border-radius: var(--grimlock-button-border-radius);
  font-size: .85rem;
  background-color: var(--grimlock-archive-post-background-color);
  color: var(--grimlock-archive-post-title-color) !important;
  font-weight: 400 !important;
  height: 45px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.woocommerce-archive-header .woocommerce-ordering select.orderby:hover,
.woocommerce-archive-header #dropdownWcFiltersButton:hover {
  opacity: .75;
}

.woocommerce-archive-header .woocommerce-ordering {
  margin: 0;
  float: none;
  position: relative;
  color: var(--grimlock-archive-post-title-color);
}

.woocommerce-archive-header .woocommerce-ordering select.orderby {
  min-width: 135px !important;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  padding-right: 40px;
  padding-left: 30px;
}

.woocommerce-archive-header .woocommerce-ordering select.orderby::-ms-expand {
  display: none;
}

.woocommerce-archive-header .woocommerce-ordering select.orderby option {
  font-weight: normal;
}

.woocommerce-archive-header .woocommerce-ordering:before {
  font-family: var(--grimlock-icon-wc-sort-font-family) !important;
  content: var(--grimlock-icon-wc-sort);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: calc(50% - 10px);
  left: .5em;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  font-size: 1rem;
  opacity: 1 !important;
  z-index: 9;
}

.woocommerce-archive-header .woocommerce-ordering:after {
  font-family: var(--grimlock-icon-angle-down-font-family) !important;
  content: var(--grimlock-icon-angle-down);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: calc(50% - 10px);
  right: .5em;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  font-size: 1rem;
  z-index: 99;
}

.woocommerce-archive-header .woocommerce-result-count {
  margin: 0;
  float: none;
}

@media (min-width: 768px) {
  .grimlock--navigation-fixed-right .dropdown-wc-filters,
  .grimlock--navigation-hamburger-right .dropdown-wc-filters {
    margin-left: 0 !important;
    padding-left: 0 !important;
    order: -1 !important;
    padding-right: 1.5rem !important;
  }
}

.dropdown-wc-filters #dropdownWcFiltersButton {
  display: flex;
  justify-content: center;
  align-items: center;
}

.dropdown-wc-filters #dropdownWcFiltersButton:before {
  font-family: var(--grimlock-icon-wc-filters-font-family) !important;
  content: var(--grimlock-icon-wc-filters);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: .5rem;
  position: relative;
}

.dropdown-wc-filters #dropdownWcFiltersButton:after {
  display: none;
}

.dropdown-wc-filters .dropdown-menu {
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
  position: fixed !important;
  right: 0 !important;
  left: auto !important;
  top: 0 !important;
  bottom: auto !important;
  height: 100vh !important;
  -webkit-transform: translate3d(300px, 0, 0) !important;
          transform: translate3d(300px, 0, 0) !important;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  overflow: hidden;
  width: 300px;
  max-width: 87%;
  z-index: 1071;
  pointer-events: none;
  opacity: 0;
  display: block !important;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.1);
  transition: opacity 0.15s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.15s;
  transition: transform 0.3s, opacity 0.15s, -webkit-transform 0.3s;
}

@media screen and (prefers-reduced-motion: reduce) {
  .dropdown-wc-filters .dropdown-menu {
    transition: none;
  }
}

.grimlock--navigation-fixed-right .dropdown-wc-filters .dropdown-menu,
.grimlock--navigation-hamburger-right .dropdown-wc-filters .dropdown-menu {
  right: auto !important;
  left: 0 !important;
  -webkit-transform: translate3d(-300px, 0, 0) !important;
          transform: translate3d(-300px, 0, 0) !important;
}

.dropdown-wc-filters .dropdown-backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  z-index: 1070;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  display: none;
}

.dropdown-wc-filters #woocommerce-filters {
  padding: 2rem 2.8rem 2rem 0.3rem;
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: -20px;
  z-index: 1;
  background-color: var(--grimlock-archive-post-background-color);
}

.admin-bar .dropdown-wc-filters #woocommerce-filters {
  padding-top: calc(2rem + 32px);
}

.dropdown-wc-filters #woocommerce-filters .widget-title {
  font-size: .9rem;
  margin-bottom: 1rem;
  color: var(--grimlock-archive-post-title-color);
}

.dropdown-wc-filters #woocommerce-filters .widget + .widget {
  padding-top: 1.5rem;
  margin-top: 1.5rem;
  border-top: 1px solid var(--grimlock-table-striped-background-color);
}

.dropdown-wc-filters #woocommerce-filters .widget_layered_nav ul li a,
.dropdown-wc-filters #woocommerce-filters .widget_product_categories ul li a {
  padding: 0 !important;
}

.dropdown-wc-filters.show .dropdown-menu {
  -webkit-transform: translate3d(0, 0, 0) !important;
          transform: translate3d(0, 0, 0) !important;
  pointer-events: auto;
  opacity: 1;
}

.dropdown-wc-filters.show .dropdown-backdrop {
  display: block;
}

/**
 * Cart
 */
.woocommerce .woocommerce::after,
.woocommerce-page .woocommerce::after {
  display: block;
  clear: both;
  content: "";
}

.woocommerce .woocommerce-cart-form,
.woocommerce-page .woocommerce-cart-form {
  width: 100%;
}

@media (min-width: 992px) {
  .woocommerce .woocommerce-cart-form,
  .woocommerce-page .woocommerce-cart-form {
    float: left;
    max-width: calc(70% - 30px);
  }
}

.woocommerce .woocommerce-cart-form table.shop_table,
.woocommerce-page .woocommerce-cart-form table.shop_table {
  border: none;
  background: none !important;
  margin: 0;
}

.woocommerce .woocommerce-cart-form table.shop_table a:not(:hover),
.woocommerce-page .woocommerce-cart-form table.shop_table a:not(:hover) {
  color: inherit;
}

.woocommerce .woocommerce-cart-form table.shop_table thead td, .woocommerce .woocommerce-cart-form table.shop_table thead th,
.woocommerce .woocommerce-cart-form table.shop_table tbody td,
.woocommerce .woocommerce-cart-form table.shop_table tbody th,
.woocommerce .woocommerce-cart-form table.shop_table tfoot td,
.woocommerce .woocommerce-cart-form table.shop_table tfoot th,
.woocommerce-page .woocommerce-cart-form table.shop_table thead td,
.woocommerce-page .woocommerce-cart-form table.shop_table thead th,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody th,
.woocommerce-page .woocommerce-cart-form table.shop_table tfoot td,
.woocommerce-page .woocommerce-cart-form table.shop_table tfoot th {
  border: none;
}

.woocommerce .woocommerce-cart-form table.shop_table thead th,
.woocommerce-page .woocommerce-cart-form table.shop_table thead th {
  border-bottom: 1px solid var(--grimlock-table-striped-background-color);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.7em;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody > tr,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody > tr {
  background: none;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody > tr:not(:first-child),
.woocommerce-page .woocommerce-cart-form table.shop_table tbody > tr:not(:first-child) {
  border-top: 1px solid var(--grimlock-table-striped-background-color);
  padding-top: 15px;
  padding-bottom: 10px;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody > tr > td,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody > tr > td {
  background: none !important;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.product-thumbnail,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.product-thumbnail {
  width: 80px;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.product-thumbnail > a,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.product-thumbnail > a {
  display: block;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.product-thumbnail img,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.product-thumbnail img {
  width: 56px !important;
  height: auto !important;
  object-fit: cover;
  object-position: center;
  border-radius: var(--grimlock-archive-post-border-radius);
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.product-name,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.product-name {
  word-break: break-word;
  white-space: normal;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.product-remove,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.product-remove {
  width: 40px;
  text-align: center;
}

@media (max-width: 991.98px) {
  .woocommerce .woocommerce-cart-form table.shop_table tbody tr.tr-actions,
  .woocommerce-page .woocommerce-cart-form table.shop_table tbody tr.tr-actions {
    display: flex !important;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.actions,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.actions {
  background: none !important;
  padding: 20px 0 0 0;
}

@media (max-width: 991.98px) {
  .woocommerce .woocommerce-cart-form table.shop_table tbody td.actions,
  .woocommerce-page .woocommerce-cart-form table.shop_table tbody td.actions {
    width: 100%;
  }
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.actions .button,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.actions .button {
  line-height: normal;
  height: 45px;
  padding: .3rem 1.2rem;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.actions .coupon,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.actions .coupon {
  position: relative;
  display: flex;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td.actions .coupon .input-text,
.woocommerce-page .woocommerce-cart-form table.shop_table tbody td.actions .coupon .input-text {
  border: var(--grimlock-control-border-width) solid var(--grimlock-control-border-color);
  background: var(--grimlock-control-background-color);
  padding: .3rem 1rem;
  width: 100% !important;
  margin-right: .75rem;
  height: 45px;
}

.woocommerce .woocommerce-cart-form table.shop_table .product-name,
.woocommerce-page .woocommerce-cart-form table.shop_table .product-name {
  font-weight: 600;
}

.woocommerce .woocommerce-cart-form table.shop_table .actions,
.woocommerce-page .woocommerce-cart-form table.shop_table .actions {
  padding: .5rem;
}

.woocommerce .woocommerce-cart-form table.shop_table td,
.woocommerce-page .woocommerce-cart-form table.shop_table td {
  padding: 20px 12px;
}

.woocommerce .woocommerce-cart-form table.shop_table td.product-quantity,
.woocommerce-page .woocommerce-cart-form table.shop_table td.product-quantity {
  min-width: 110px !important;
}

.woocommerce .woocommerce-cart-form table.shop_table td.product-quantity .buttons_added,
.woocommerce-page .woocommerce-cart-form table.shop_table td.product-quantity .buttons_added {
  margin-right: 0 !important;
  min-width: 110px !important;
}

@media (max-width: 767.98px) {
  .woocommerce .woocommerce-cart-form table.shop_table_responsive,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive {
    display: block;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive tbody,
  .woocommerce .woocommerce-cart-form table.shop_table_responsive tfoot,
  .woocommerce .woocommerce-cart-form table.shop_table_responsive tr,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive tbody,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive tfoot,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive tr {
    display: block;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive thead,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive thead {
    display: none;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item {
    margin-bottom: 20px;
    padding-bottom: 15px;
    padding-left: 105px;
    min-height: 135px;
    position: relative;
    border-top: none !important;
    border-bottom: 1px solid var(--grimlock-table-striped-background-color);
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td {
    display: flex !important;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 5px;
    padding: 5px 0;
    text-align: right;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td:not(:last-child),
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td:not(:last-child) {
    border-bottom: 1px solid var(--grimlock-table-striped-background-color);
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td:before,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td:before {
    content: none;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td:not(.product-thumbnail):not(.product-name):before,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td:not(.product-thumbnail):not(.product-name):before {
    flex: 1 1 auto;
    padding-top: 0;
    text-align: left;
    content: attr(data-title);
    float: left;
    color: inherit;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 11px;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-remove,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-remove {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9;
    margin: 0;
    border: none;
    justify-content: flex-end;
    padding: 0;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-thumbnail,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    margin-bottom: 0;
    padding-bottom: 0;
    width: 80px;
    height: auto;
    max-height: 115px;
    border: none;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-thumbnail img,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-thumbnail img {
    width: 80px !important;
    height: auto;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-name,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-name {
    margin-bottom: 0;
    text-align: left !important;
    border: none;
    padding: 0 25px 15px 0;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-quantity div.quantity,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-quantity div.quantity {
    height: 35px !important;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-quantity div.quantity .input-text,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive .woocommerce-cart-form__cart-item td.product-quantity div.quantity .input-text {
    height: 35px !important;
    min-width: 35px !important;
    padding: 5px;
    width: 50px !important;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive tr:not(.woocommerce-cart-form__cart-item),
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive tr:not(.woocommerce-cart-form__cart-item) {
    border: none !important;
    padding: 0 0 0 0 !important;
    margin: 0 !important;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive td.actions .coupon,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive td.actions .coupon {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 1px solid var(--grimlock-table-striped-background-color);
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive td.actions .coupon #coupon_code,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive td.actions .coupon #coupon_code {
    margin-bottom: .5rem;
  }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive td.actions .coupon input,
  .woocommerce .woocommerce-cart-form table.shop_table_responsive td.actions .coupon button,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive td.actions .coupon input,
  .woocommerce-page .woocommerce-cart-form table.shop_table_responsive td.actions .coupon button {
    width: 100% !important;
  }
}

.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
  width: 100%;
  margin-top: 1.5rem;
}

@media (min-width: 992px) {
  .woocommerce .cart-collaterals,
  .woocommerce-page .cart-collaterals {
    position: sticky;
    position: -webkit-sticky;
    top: 100px;
    align-self: flex-start;
    z-index: 2;
    float: right;
    max-width: 30%;
    margin-top: 0;
  }
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
  position: relative;
  width: 100%;
}

.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-page .cart-collaterals .cart_totals h2 {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  text-align: left;
}

.woocommerce .cart-collaterals .cart_totals .shop_table,
.woocommerce-page .cart-collaterals .cart_totals .shop_table {
  border: 0;
  font-size: .9em;
}

@media (min-width: 992px) {
  .woocommerce .cart-collaterals .cart_totals .shop_table,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table {
    table-layout: fixed;
  }
}

.woocommerce .cart-collaterals .cart_totals .shop_table strong,
.woocommerce-page .cart-collaterals .cart_totals .shop_table strong {
  font-weight: 600;
}

.woocommerce .cart-collaterals .cart_totals .shop_table tr:not(:first-child) th,
.woocommerce .cart-collaterals .cart_totals .shop_table tr:not(:first-child) td,
.woocommerce-page .cart-collaterals .cart_totals .shop_table tr:not(:first-child) th,
.woocommerce-page .cart-collaterals .cart_totals .shop_table tr:not(:first-child) td {
  border-top: 1px solid var(--grimlock-table-striped-background-color);
}

.woocommerce .cart-collaterals .cart_totals .shop_table tr,
.woocommerce-page .cart-collaterals .cart_totals .shop_table tr {
  background: none;
}

.woocommerce .cart-collaterals .cart_totals .shop_table th,
.woocommerce .cart-collaterals .cart_totals .shop_table td,
.woocommerce-page .cart-collaterals .cart_totals .shop_table th,
.woocommerce-page .cart-collaterals .cart_totals .shop_table td {
  padding: 15px 12px;
  vertical-align: middle;
  background: none;
  border-top: none;
}

@media (max-width: 991.98px) {
  .woocommerce .cart-collaterals .cart_totals .shop_table th,
  .woocommerce .cart-collaterals .cart_totals .shop_table td,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table th,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table td {
    padding-left: 0;
    padding-right: 0;
  }
}

.woocommerce .cart-collaterals .cart_totals .shop_table th,
.woocommerce-page .cart-collaterals .cart_totals .shop_table th {
  font-weight: normal;
  padding-left: 0;
}

.woocommerce .cart-collaterals .cart_totals .shop_table td[data-title],
.woocommerce-page .cart-collaterals .cart_totals .shop_table td[data-title] {
  text-align: right;
  padding-right: 0;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-destination,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-destination {
  font-size: .8em;
  line-height: 1.35em;
  font-style: italic;
}

@media (max-width: 991.98px) {
  .woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-destination,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-destination {
    text-align: left;
  }
}

.woocommerce .cart-collaterals .cart_totals .shop_table ul#shipping_method .amount,
.woocommerce-page .cart-collaterals .cart_totals .shop_table ul#shipping_method .amount {
  font-weight: 600;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button {
  font-size: .85em;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button:not(:hover),
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button:not(:hover) {
  color: inherit;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button:before,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button:before {
  font-family: var(--grimlock-icon-edit-font-family) !important;
  content: var(--grimlock-icon-edit);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: .25rem;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button:after,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button:after {
  display: none;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .form-row,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .form-row {
  margin-bottom: .5rem;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator input,
.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator button,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator input,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator button {
  font-size: .9em;
  width: 100%;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .order-total,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .order-total {
  font-weight: 600;
}

.woocommerce .cart-collaterals .cart_totals .shop_table .order-total th, .woocommerce .cart-collaterals .cart_totals .shop_table .order-total td, .woocommerce .cart-collaterals .cart_totals .shop_table .order-total strong,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .order-total th,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .order-total td,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .order-total strong {
  font-weight: inherit;
}

.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout,
.woocommerce-page .cart-collaterals .cart_totals .wc-proceed-to-checkout {
  padding: 0;
  margin-top: .5rem;
}

.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button {
  margin-bottom: 0;
  white-space: normal;
  padding: 1.2rem 1rem;
  font-size: 1em;
}

.woocommerce .cart-collaterals .cart_totals small,
.woocommerce-page .cart-collaterals .cart_totals small {
  color: inherit;
}

.woocommerce .cart-collaterals .cart_totals .discount td,
.woocommerce-page .cart-collaterals .cart_totals .discount td {
  color: #3DBDB6;
}

.woocommerce .cart-collaterals .shipping-calculator-form,
.woocommerce-page .cart-collaterals .shipping-calculator-form {
  padding-top: 1rem;
}

.woocommerce.woocommerce-cart .cart-empty,
.woocommerce-page.woocommerce-cart .cart-empty {
  margin-bottom: 1.5rem;
}

.woocommerce.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-page.woocommerce-cart .cart-empty.woocommerce-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 6% 2%;
  margin: 6% auto 1rem auto;
  max-width: 600px;
  color: inherit !important;
  background-color: var(--grimlock-table-striped-background-color) !important;
  border-radius: var(--grimlock-archive-post-border-radius);
}

.woocommerce.woocommerce-cart .cart-empty.woocommerce-info:before,
.woocommerce-page.woocommerce-cart .cart-empty.woocommerce-info:before {
  margin-top: 0;
}

.woocommerce.woocommerce-cart .cart-empty:before,
.woocommerce-page.woocommerce-cart .cart-empty:before {
  font-family: var(--grimlock-icon-cart-font-family) !important;
  content: var(--grimlock-icon-cart);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  margin: 2rem 0 1rem 0;
  font-size: 3em;
}

.woocommerce.woocommerce-cart .cart-empty + .return-to-shop,
.woocommerce-page.woocommerce-cart .cart-empty + .return-to-shop {
  margin: 0 auto 3% auto;
  max-width: 600px;
}

.woocommerce.woocommerce-cart .cart-empty + .return-to-shop .button,
.woocommerce-page.woocommerce-cart .cart-empty + .return-to-shop .button {
  width: 100%;
}

.woocommerce.woocommerce-cart .return-to-shop,
.woocommerce-page.woocommerce-cart .return-to-shop {
  max-width: 600px;
  display: block;
  text-align: center;
  margin: 0 auto;
}

.woocommerce.woocommerce-cart .return-to-shop .button,
.woocommerce-page.woocommerce-cart .return-to-shop .button {
  width: 100%;
}

.wc_ppec_large_payment_buttons {
  width: 100% !important;
}

/**
 * Account
 */
.woocommerce-account .grimlock--page-content > .woocommerce {
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 1.5rem;
}

@media (min-width: 768px) {
  .woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 992px) {
  .woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul {
  padding: 0;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  list-style: none;
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul > li {
  padding: 0;
  margin: 0 0 .15rem 0;
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul > li a {
  color: inherit;
  background: none;
  border: none;
  padding: 0.75rem 1.25rem;
  display: block;
  width: 100%;
  text-align: left;
  font-weight: var(--grimlock-navigation-font-weight);
  border-radius: var(--grimlock-button-border-radius);
  position: relative;
  z-index: 1;
  overflow: hidden;
  font-size: .9em;
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul > li a:after {
  content: '';
  display: block;
  background-color: var(--grimlock-button-primary-background-color);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul > li.is-active a,
.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul > li a:hover {
  color: var(--grimlock-button-primary-background-color);
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul > li.is-active a:after,
.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul > li a:hover:after {
  opacity: .1;
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-navigation > ul > li.is-active a {
  font-weight: 600;
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-content {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  padding: 0 1.5rem 1.5rem 1.5rem;
}

@media (min-width: 768px) {
  .woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-content {
    padding: 2rem;
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
    border-left: 1px solid var(--grimlock-table-striped-background-color) !important;
  }
}

@media (min-width: 992px) {
  .woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-content {
    flex: 0 0 75%;
    max-width: 75%;
  }
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-content legend {
  font-weight: 600;
  font-size: 1.5rem;
  color: var(--grimlock-archive-post-title-color);
  padding-bottom: .5rem;
}

.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-content .woocommerce-EditAccountForm p:last-child,
.woocommerce-account .grimlock--page-content > .woocommerce .woocommerce-MyAccount-content .woocommerce-address-fields p:last-child {
  margin-bottom: 0;
}

.woocommerce-account:not(.logged-in) .grimlock--page-content > .woocommerce {
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  flex-direction: column;
}

.woocommerce-account:not(.logged-in) .grimlock--page-content > .woocommerce .col2-set {
  justify-content: center;
}

.woocommerce-account:not(.logged-in) .grimlock--page-content > .woocommerce > h2 {
  text-align: center;
  margin-bottom: 1rem;
}

.woocommerce-account:not(.logged-in) .grimlock--page-content > .woocommerce > .woocommerce-form {
  flex-direction: column;
  max-width: 100%;
  margin: 0 auto;
  width: 100%;
}

@media (min-width: 768px) {
  .woocommerce-account:not(.logged-in) .grimlock--page-content > .woocommerce > .woocommerce-form {
    width: auto;
    min-width: 350px;
  }
}

.woocommerce-account:not(.logged-in) .grimlock--page-content > .woocommerce .woocommerce-form-login__submit {
  margin-right: 0;
}

.woocommerce-Addresses .woocommerce-Address {
  padding-top: 1.5rem;
}

.woocommerce-Addresses .woocommerce-Address-title {
  display: flex;
  align-items: center;
  margin-bottom: .75rem;
}

.woocommerce-Addresses .woocommerce-Address-title h3 {
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
}

.woocommerce-Addresses .woocommerce-Address-title .edit {
  margin-left: .25rem;
  font-size: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 500px;
  background-color: var(--grimlock-table-striped-background-color);
}

.woocommerce-Addresses .woocommerce-Address-title .edit:before {
  font-family: var(--grimlock-icon-edit-font-family) !important;
  content: var(--grimlock-icon-edit);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: .9rem;
}

.woocommerce-Addresses .woocommerce-Address-title .edit:not(:hover) {
  color: inherit;
  opacity: .5;
  background-color: transparent;
}

.woocommerce-Addresses address {
  padding: 1rem;
  font-size: .9em;
  border-radius: var(--grimlock-archive-post-border-radius);
  background-color: var(--grimlock-table-striped-background-color);
}

/**
 * Checkout
 */
.woocommerce-form-coupon-toggle .woocommerce-info:before {
  font-family: var(--grimlock-icon-wc-coupon-font-family) !important;
  content: var(--grimlock-icon-wc-coupon);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.woocommerce-form-coupon-toggle .woocommerce-info:last-child {
  margin-bottom: 30px;
}

.woocommerce-form-coupon-toggle .woocommerce-info + * {
  margin-top: .5rem;
}

@media (max-width: 991.98px) {
  .woocommerce-form-coupon-toggle .woocommerce-info {
    flex-direction: column;
  }
  .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    font-size: 0;
  }
}

form.woocommerce-checkout::after {
  display: block;
  clear: both;
  content: "";
}

form.woocommerce-checkout > div {
  width: 100%;
}

@media (min-width: 992px) {
  form.woocommerce-checkout > div {
    float: left;
    max-width: calc(70% - 30px);
  }
}

form.woocommerce-checkout > #order_review_heading {
  display: none;
}

form.woocommerce-checkout #order_review {
  width: 100%;
  margin-bottom: 30px;
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
}

@media (min-width: 992px) {
  form.woocommerce-checkout #order_review {
    position: sticky;
    position: -webkit-sticky;
    top: 100px;
    align-self: flex-start;
    z-index: 2;
    float: right;
    max-width: 30%;
    margin-bottom: 0;
  }
}

form.woocommerce-checkout #order_review h3 {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  text-align: left;
}

form.woocommerce-checkout #order_review .shop_table {
  border: 0;
  font-size: .9em;
  margin-bottom: 0;
}

@media (min-width: 992px) {
  form.woocommerce-checkout #order_review .shop_table {
    table-layout: fixed;
  }
}

form.woocommerce-checkout #order_review .shop_table strong {
  font-weight: 600;
}

form.woocommerce-checkout #order_review .shop_table thead {
  display: none;
}

form.woocommerce-checkout #order_review .shop_table th {
  font-weight: normal;
  padding-left: 0;
}

form.woocommerce-checkout #order_review .shop_table tr:not(:first-child) th,
form.woocommerce-checkout #order_review .shop_table tr:not(:first-child) td {
  border-top: 1px solid var(--grimlock-table-striped-background-color);
}

form.woocommerce-checkout #order_review .shop_table tr {
  background: none;
}

form.woocommerce-checkout #order_review .shop_table th,
form.woocommerce-checkout #order_review .shop_table td {
  padding: 15px 12px;
  vertical-align: middle;
  background: none;
  border-top: none;
}

@media (max-width: 991.98px) {
  form.woocommerce-checkout #order_review .shop_table th,
  form.woocommerce-checkout #order_review .shop_table td {
    padding-left: 0;
    padding-right: 0;
  }
}

form.woocommerce-checkout #order_review .shop_table td.product-name {
  padding-left: 0;
}

form.woocommerce-checkout #order_review .shop_table td.product-name .product-quantity {
  font-weight: inherit;
  opacity: 0.7;
  font-size: .8em;
}

form.woocommerce-checkout #order_review .shop_table td.product-total {
  text-align: right;
  padding-right: 0;
}

form.woocommerce-checkout #order_review .shop_table tfoot {
  border-top: 2px solid var(--grimlock-table-striped-background-color);
}

form.woocommerce-checkout #order_review .shop_table tfoot strong, form.woocommerce-checkout #order_review .shop_table tfoot th, form.woocommerce-checkout #order_review .shop_table tfoot td, form.woocommerce-checkout #order_review .shop_table tfoot label, form.woocommerce-checkout #order_review .shop_table tfoot ul#shipping_method .amount {
  font-weight: inherit;
  border: none;
}

form.woocommerce-checkout #order_review .shop_table tfoot td {
  text-align: right;
  padding-right: 0;
}

form.woocommerce-checkout #order_review .shop_table tfoot th {
  padding-left: 0;
}

form.woocommerce-checkout #order_review .shop_table tfoot .woocommerce ul#shipping_method li {
  margin-bottom: 0;
}

form.woocommerce-checkout #order_review .shop_table tfoot .woocommerce ul#shipping_method li + li {
  margin-top: .25rem;
}

form.woocommerce-checkout #order_review .shop_table .order-total {
  font-weight: 600;
}

form.woocommerce-checkout #order_review .shop_table ul#shipping_method li {
  margin-bottom: 0;
}

form.woocommerce-checkout #order_review .shop_table ul#shipping_method li + li {
  margin-top: .25rem;
}

form.woocommerce-checkout .col2-set {
  display: flex;
  flex-direction: column;
  margin: 0;
}

form.woocommerce-checkout .col2-set > div.col-1,
form.woocommerce-checkout .col2-set > div.col-2 {
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
  flex: 0 0 100%;
  max-width: 100%;
  margin-bottom: 30px;
}

form.woocommerce-checkout .col2-set h3 {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  text-align: left;
}

.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address, #add_payment_method .checkout .col-2 h3#ship-to-different-address {
  width: 100%;
}

.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address label, #add_payment_method .checkout .col-2 h3#ship-to-different-address label {
  display: inline-block;
  font-weight: inherit;
}

.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address input, #add_payment_method .checkout .col-2 h3#ship-to-different-address input {
  vertical-align: middle;
  display: inline-block;
}

.woocommerce-checkout .checkout .create-account small, #add_payment_method .checkout .create-account small {
  color: inherit;
}

.woocommerce-checkout #payment, #add_payment_method #payment {
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
}

.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method, #add_payment_method #payment .wc_payment_methods li.wc_payment_method {
  margin-bottom: .5rem;
}

.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label, #add_payment_method #payment .wc_payment_methods li.wc_payment_method label {
  margin-bottom: 0;
}

.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method img, #add_payment_method #payment .wc_payment_methods li.wc_payment_method img {
  padding: 0;
  height: 32px;
  width: auto;
}

.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method .about_paypal, #add_payment_method #payment .wc_payment_methods li.wc_payment_method .about_paypal {
  line-height: 32px;
  font-weight: normal;
  font-size: 0.7em;
  font-style: italic;
}

.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method .about_paypal:not(:hover), #add_payment_method #payment .wc_payment_methods li.wc_payment_method .about_paypal:not(:hover) {
  color: inherit;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text:not(:hover), #add_payment_method #payment .woocommerce-terms-and-conditions-checkbox-text:not(:hover) {
  text-decoration: underline;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions, #add_payment_method #payment .woocommerce-terms-and-conditions {
  border-radius: 0.25rem;
  border: 0;
  box-shadow: none;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions ol, #add_payment_method #payment .woocommerce-terms-and-conditions ol {
  padding-left: 1rem;
  font-weight: bolder;
  text-transform: uppercase;
}

.woocommerce-checkout #payment div.form-row, #add_payment_method #payment div.form-row {
  padding: 0;
}

.woocommerce-checkout #payment #place_order, #add_payment_method #payment #place_order {
  float: none;
  width: 100%;
  margin-top: 1rem;
}

.woocommerce-checkout #payment .terms,
.woocommerce-checkout #payment .wc-terms-and-conditions, #add_payment_method #payment .terms,
#add_payment_method #payment .wc-terms-and-conditions {
  padding: 0;
  margin: 0;
}

.woocommerce-checkout #payment ul.payment_methods, #add_payment_method #payment ul.payment_methods {
  border: none;
  padding: 0;
  margin-bottom: 1rem;
}

.woocommerce-checkout #payment ul.payment_methods li input, #add_payment_method #payment ul.payment_methods li input {
  margin-right: .5rem;
}

.woocommerce-checkout #payment ul.payment_methods li img, #add_payment_method #payment ul.payment_methods li img {
  padding: 3px 10px;
  margin-right: 10px;
  background: #fff;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper, #add_payment_method #payment .woocommerce-terms-and-conditions-wrapper {
  background-color: var(--grimlock-table-striped-background-color);
  padding: 1rem;
  border-radius: var(--grimlock-archive-post-border-radius);
}

.woocommerce-checkout #payment div.payment_box, #add_payment_method #payment div.payment_box {
  background-color: rgba(0, 0, 0, 0.04);
  color: inherit;
}

.woocommerce-checkout #payment div.payment_box input.input-text, .woocommerce-checkout #payment div.payment_box textarea, #add_payment_method #payment div.payment_box input.input-text, #add_payment_method #payment div.payment_box textarea {
  border-color: #3D404A;
  border-top-color: #3D404A;
}

.woocommerce-checkout #payment div.payment_box ::-webkit-input-placeholder, #add_payment_method #payment div.payment_box ::-webkit-input-placeholder {
  color: #3D404A;
}

.woocommerce-checkout #payment div.payment_box :-moz-placeholder, #add_payment_method #payment div.payment_box :-moz-placeholder {
  color: #3D404A;
}

.woocommerce-checkout #payment div.payment_box :-ms-input-placeholder, #add_payment_method #payment div.payment_box :-ms-input-placeholder {
  color: #3D404A;
}

.woocommerce-checkout #payment div.payment_box:before, #add_payment_method #payment div.payment_box:before {
  border-bottom-color: rgba(0, 0, 0, 0.04);
  top: -1em;
}

.woocommerce #add_payment_method #payment ul.payment_methods li,
.woocommerce #payment ul.payment_methods li,
.woocommerce-page #add_payment_method #payment ul.payment_methods li,
.woocommerce-page #payment ul.payment_methods li {
  line-height: inherit;
}

.woocommerce .order_details,
.woocommerce-page .order_details {
  padding-left: 0;
}

.woocommerce .order_details li,
.woocommerce-page .order_details li {
  border-right: 1px dashed #3D404A;
}

.woocommerce .woocommerce-customer-details address,
.woocommerce-page .woocommerce-customer-details address {
  padding: 1rem;
  border: 0;
}

.woocommerce small.note,
.woocommerce-page small.note {
  color: inherit;
}

.woocommerce form.checkout_coupon {
  padding: 20px;
  margin-top: -15px;
  border: 2px solid rgba(0, 0, 0, 0.04);
  display: block;
}

.woocommerce form.checkout_coupon > .form-row {
  margin-bottom: 0;
  width: auto;
  float: none;
  display: inline-block;
  vertical-align: top;
}

.woocommerce form.checkout_coupon input,
.woocommerce form.checkout_coupon button {
  min-height: 50px;
}

.woocommerce form.checkout_coupon input[type="submit"] {
  padding: 0.8rem 1.25rem !important;
}

/**
 * Tracking order
 */
.woocommerce .track_order,
.woocommerce-page .track_order {
  max-width: 800px;
  margin: 0 auto;
}

.woocommerce table.my_account_orders .button,
.woocommerce-page table.my_account_orders .button {
  padding: 3px 10px;
}

/**
 * Single
 */
.woocommerce.single-product .woocommerce-variation {
  margin-bottom: 2rem;
}

.woocommerce.single-product div.product .stock {
  color: var(--grimlock-color-success);
  font-weight: bolder;
}

.woocommerce.single-product div.product .stock:before {
  font-family: var(--grimlock-icon-check-circle-font-family) !important;
  content: var(--grimlock-icon-check-circle);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 3px;
}

.woocommerce.single-product div.product .out-of-stock {
  color: var(--grimlock-color-danger);
  font-weight: bolder;
}

.woocommerce.single-product div.product .out-of-stock:before {
  font-family: var(--grimlock-icon-times-circle-font-family) !important;
  content: var(--grimlock-icon-times-circle);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 3px;
}

.woocommerce.single-product div.product div.images {
  margin-bottom: 2rem;
}

.woocommerce.single-product div.product div.images .flex-viewport {
  width: 100% !important;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery::after {
  display: block;
  clear: both;
  content: "";
}

@media (min-width: 768px) {
  .woocommerce.single-product div.product div.images.woocommerce-product-gallery {
    display: flex;
    flex-direction: row-reverse;
  }
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  width: 100%;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) {
  opacity: 1 !important;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) > * img {
  opacity: 0;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper {
  max-height: 600px;
  border-radius: var(--grimlock-archive-post-border-radius);
  width: 100%;
  overflow: hidden;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div:first-child {
  width: 85%;
  float: right;
  background-color: var(--grimlock-table-striped-background-color);
  background-image: linear-gradient(to right, transparent 8%, var(--grimlock-table-striped-background-color) 38%, transparent 54%);
  background-size: 1000px 640px;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-iteration-count: 10;
          animation-iteration-count: 10;
  -webkit-animation-name: placeHolderShimmer;
          animation-name: placeHolderShimmer;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div ~ div {
  width: calc(15% - 15px) !important;
  display: block;
  position: absolute;
  left: 0;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div:not([style*="width"]) {
  background-color: var(--grimlock-table-striped-background-color);
  background-image: linear-gradient(to right, transparent 8%, var(--grimlock-table-striped-background-color) 38%, transparent 54%);
  background-size: 1000px 640px;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-iteration-count: 10;
          animation-iteration-count: 10;
  -webkit-animation-name: placeHolderShimmer;
          animation-name: placeHolderShimmer;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div:not([style*="width"]):last-child {
  width: 100%;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div:not([style*="width"]) + div {
  top: 0;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div:not([style*="width"]) + div + div {
  top: calc(15% + 15px);
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div:not([style*="width"]) + div + div + div {
  top: calc(30% + 30px);
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div:not([style*="width"]) + div + div + div + div {
  top: calc(45% + 45px);
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper > div:not([style*="width"]) + div + div + div + div ~ div {
  display: none !important;
}

.woocommerce.single-product div.product div.images.woocommerce-product-gallery:not([style*="opacity: 1"]) .woocommerce-product-gallery__wrapper[style*="transform"] > div:not(:first-child) {
  opacity: 0 !important;
}

.woocommerce.single-product div.product div.images .flex-control-thumbs {
  margin-top: 15px;
  overflow: visible;
  padding: 0;
}

@media (min-width: 768px) {
  .woocommerce.single-product div.product div.images .flex-control-thumbs {
    display: flex;
    flex-direction: column;
    flex: 0 0 15%;
    padding-right: 15px;
    margin: 0;
  }
  @supports ((position: -webkit-sticky) or (position: sticky)) {
    .woocommerce.single-product div.product div.images .flex-control-thumbs {
      position: sticky;
      position: -webkit-sticky;
      top: 100px;
      align-self: flex-start;
      z-index: 2;
    }
  }
}

@media (min-width: 768px) {
  .woocommerce.single-product div.product div.images .flex-control-thumbs li {
    width: 100%;
    background-color: var(--grimlock-table-striped-background-color);
    position: relative;
    padding: 100% 0 0 0;
    border-radius: var(--grimlock-archive-post-border-radius);
    overflow: hidden;
  }
  .woocommerce.single-product div.product div.images .flex-control-thumbs li:not(:last-child) {
    margin-bottom: calc((30px / 2) - 2px);
  }
}

.woocommerce.single-product div.product div.images .flex-control-thumbs li img {
  transition: all 0.2s ease-in-out;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: opacity;
  max-width: 100%;
  border-bottom: 2px solid transparent;
  opacity: 1 !important;
  background-color: var(--grimlock-table-striped-background-color);
}

@media screen and (prefers-reduced-motion: reduce) {
  .woocommerce.single-product div.product div.images .flex-control-thumbs li img {
    transition: none;
  }
}

@media (min-width: 768px) {
  .woocommerce.single-product div.product div.images .flex-control-thumbs li img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

.woocommerce.single-product div.product div.images .flex-control-thumbs li img:hover {
  border-color: currentColor;
}

.woocommerce.single-product div.product div.images .flex-control-thumbs li img.flex-active {
  border-color: var(--grimlock-button-primary-background-color);
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger {
  top: .3em;
  right: .3em;
  background-color: rgba(0, 0, 0, 0.2);
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:hover {
  background-color: rgba(0, 0, 0, 0.4);
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:before, .woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:after {
  opacity: 1;
  transition: all 0.2s ease-in-out;
}

@media screen and (prefers-reduced-motion: reduce) {
  .woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:before, .woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:after {
    transition: none;
  }
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:before {
  border-color: #fff;
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:after {
  background-color: #fff;
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:hover:before, .woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger:hover:after {
  opacity: .9;
}

.woocommerce.single-product div.product div.summary {
  margin-bottom: 3rem;
  margin-top: 4%;
}

.woocommerce.single-product div.product div.summary .woocommerce-product-rating {
  margin-bottom: .6rem;
}

.woocommerce.single-product div.product div.summary .woocommerce-product-details__short-description {
  margin-bottom: 2rem;
}

.woocommerce.single-product div.product div.summary .price {
  color: inherit;
  margin-bottom: 2rem;
}

.woocommerce.single-product div.product div.summary .price del,
.woocommerce.single-product div.product div.summary .price ins {
  margin-right: 5px;
}

.woocommerce.single-product div.product div.summary table.variations {
  display: block;
  max-width: 330px;
  margin-bottom: 0;
}

.woocommerce.single-product div.product div.summary table.variations tbody,
.woocommerce.single-product div.product div.summary table.variations tr,
.woocommerce.single-product div.product div.summary table.variations td {
  display: block;
  padding: 0;
}

.woocommerce.single-product div.product div.summary table.variations tr {
  margin-bottom: .75rem;
}

.woocommerce.single-product div.product div.summary table.variations select {
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  background-color: var(--grimlock-table-striped-background-color);
}

.woocommerce.single-product div.product div.summary table.variations label {
  margin-bottom: 0;
  font-weight: 600;
}

.woocommerce.single-product div.product div.summary table.variations a.reset_variations {
  margin-top: .25rem;
  display: inline-block !important;
}

.woocommerce.single-product div.product div.summary .grouped_form {
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
}

.woocommerce.single-product div.product div.summary .grouped_form .group_table td {
  vertical-align: middle;
}

.woocommerce.single-product div.product div.summary .grouped_form .group_table a:not(:hover) {
  color: inherit !important;
}

.woocommerce.single-product div.product div.summary ~ * {
  clear: both;
}

.woocommerce.single-product div.product form.cart:not(.variations_form),
.woocommerce.single-product div.product .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: center;
}

.woocommerce.single-product div.product form.cart .variations .label {
  color: inherit;
}

.woocommerce.single-product div.product form.cart .variations .reset_variations {
  color: inherit;
  opacity: .6;
}

.woocommerce.single-product div.product form.cart .variations .reset_variations[style*="visibility: hidden"] {
  display: none;
}

.woocommerce.single-product div.product form.cart .variations .reset_variations:hover {
  opacity: 1;
}

.woocommerce.single-product div.product .product_meta {
  padding-top: 2rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
  font-size: 0.8em;
  font-weight: 600;
  opacity: .5;
}

.woocommerce.single-product div.product .product_meta:before {
  width: 60px;
  height: 2px;
  background-color: #3D404A;
  opacity: 0.5;
  margin-bottom: 1rem;
  display: block;
  content: '';
}

.woocommerce.single-product div.product .product_meta > span {
  display: block;
}

.woocommerce.single-product div.product .product_meta > span > span:first-of-type {
  margin-right: 8px;
  display: inline-block;
}

.woocommerce.single-product div.product .product_meta > span a {
  color: inherit;
}

.woocommerce.single-product div.product .product_meta > span a:hover {
  opacity: .7;
}

.woocommerce.single-product div.product .woocommerce-tabs::after {
  display: block;
  clear: both;
  content: "";
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  border: 0;
  width: auto;
  background: none;
  float: none;
  display: flex;
  text-align: center;
  align-items: center;
}

@media (max-width: 991.98px) {
  .woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
    flex-direction: column;
  }
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs:before {
  border-bottom: 2px solid var(--grimlock-table-striped-background-color);
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  margin: 0;
  padding: 0;
  background: none;
  float: left;
  border-radius: 0;
  opacity: 0.75;
}

@media (max-width: 991.98px) {
  .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li {
    width: 100%;
  }
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:before, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:after {
  content: none;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:hover, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:active, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:focus, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active {
  opacity: 1;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a {
  background: none;
  padding: 17px 19px;
  border-radius: 0;
  border: none;
  font-size: .9em;
  font-weight: 600;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a:hover, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a:active, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a:focus {
  color: inherit !important;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a:before {
  content: none;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a:after {
  content: '';
  width: 0;
  position: absolute;
  bottom: 0;
  right: 0;
  height: 2px;
  background-color: var(--grimlock-button-primary-background-color);
  opacity: 0;
  pointer-events: none;
  transition: inherit;
  transition-duration: .38s;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  will-change: transform;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:hover {
  background: none;
  border: 0;
  color: var(--grimlock-button-primary-background-color);
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active a, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:hover a {
  border: 0;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active a:after, .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:hover a:after {
  opacity: 1;
  width: 100%;
  left: 0;
}

.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  padding-top: 1rem;
  margin-bottom: 7%;
  color: inherit;
  -webkit-animation: none;
          animation: none;
  transition: none;
}

.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Reviews-title {
  display: none;
}

.woocommerce.single-product .related.products {
  margin-bottom: 3%;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--reviews {
  max-width: 800px;
  margin: 0 auto;
}

.woocommerce table.shop_attributes,
.woocommerce-page table.shop_attributes {
  background-color: var(--grimlock-archive-post-background-color);
  color: var(--grimlock-archive-post-color);
  border: 1px solid var(--grimlock-table-striped-background-color);
}

.woocommerce table.shop_attributes th,
.woocommerce-page table.shop_attributes th {
  border-right: 1px solid var(--grimlock-table-striped-background-color);
  font-weight: 600;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td,
.woocommerce-page table.shop_attributes th,
.woocommerce-page table.shop_attributes td {
  padding: 16px 7px;
  text-align: center;
  width: 50%;
  vertical-align: middle;
}

.woocommerce table.shop_attributes tr,
.woocommerce-page table.shop_attributes tr {
  border-bottom: 1px solid var(--grimlock-table-striped-background-color);
}

.woocommerce table.shop_attributes td,
.woocommerce-page table.shop_attributes td {
  border: none;
  font-style: normal;
}

.woocommerce table.shop_attributes .alt td,
.woocommerce table.shop_attributes .alt th,
.woocommerce-page table.shop_attributes .alt td,
.woocommerce-page table.shop_attributes .alt th {
  background: var(--grimlock-table-striped-background-color);
}

.woocommerce-noreviews {
  display: none !important;
}

.grimlock--single_product .site-content {
  padding-bottom: 0 !important;
}

.woocommerce-grouped-product-list-item__quantity {
  min-width: 130px;
}

/**
 * YITH plugins
 *
 * Common components form Yith plugins
 */
/* Loading state */
.woocommerce .yith-wcqv-button,
.woocommerce .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a,
.woocommerce-page .yith-wcqv-button,
.woocommerce-page .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a {
  opacity: 1 !important;
}

.woocommerce .yith-wcqv-button .blockUI.blockOverlay,
.woocommerce .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a .blockUI.blockOverlay,
.woocommerce-page .yith-wcqv-button .blockUI.blockOverlay,
.woocommerce-page .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a .blockUI.blockOverlay {
  background-image: none !important;
  opacity: 1 !important;
  background-color: var(--grimlock-archive-post-color) !important;
  cursor: wait !important;
}

.woocommerce .yith-wcqv-button .blockUI.blockOverlay:before,
.woocommerce .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a .blockUI.blockOverlay:before,
.woocommerce-page .yith-wcqv-button .blockUI.blockOverlay:before,
.woocommerce-page .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a .blockUI.blockOverlay:before {
  display: block !important;
  font-family: var(--grimlock-icon-loading-font-family) !important;
  content: var(--grimlock-icon-loading);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation: fa-spin 1.2s infinite linear;
          animation: fa-spin 1.2s infinite linear;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1rem;
  color: var(--grimlock-archive-post-background-color) !important;
  background: none !important;
}

/**
 * YITH WooCommerce Wishlist
 *
 * Save favourite products into a wishlist
 * https://wordpress.org/plugins/yith-woocommerce-wishlist/
 */
.woocommerce #yith-wcwl-popup-message,
.woocommerce-page #yith-wcwl-popup-message {
  display: none !important;
}

.woocommerce .wishlist_table thead,
.woocommerce-page .wishlist_table thead {
  display: none !important;
}

.woocommerce .wishlist_table tr td.product-stock-status span.wishlist-in-stock,
.woocommerce-page .wishlist_table tr td.product-stock-status span.wishlist-in-stock {
  color: var(--grimlock-);
}

.woocommerce .wishlist_table .yith-wcwl-share,
.woocommerce-page .wishlist_table .yith-wcwl-share {
  margin-bottom: 0;
}

.woocommerce .wishlist_table .yith-wcwl-share-title,
.woocommerce-page .wishlist_table .yith-wcwl-share-title {
  margin-top: 0;
}

.woocommerce .wishlist_table tfoot,
.woocommerce-page .wishlist_table tfoot {
  display: none !important;
}

.woocommerce .wishlist_table td.product-name > a:first-of-type,
.woocommerce-page .wishlist_table td.product-name > a:first-of-type {
  font-size: 1.2em;
  color: inherit;
  margin-bottom: .5rem;
  display: block;
}

.woocommerce .wishlist_table td.product-name a.yith-wcqv-button,
.woocommerce-page .wishlist_table td.product-name a.yith-wcqv-button {
  padding: .2rem .4rem;
  font-size: 1em;
}

.woocommerce .wishlist_table td.product-remove,
.woocommerce-page .wishlist_table td.product-remove {
  padding: 16px 12px;
}

.woocommerce .wishlist_table td.product-thumbnail img,
.woocommerce-page .wishlist_table td.product-thumbnail img {
  max-width: 100px !important;
  border-radius: var(--grimlock-archive-post-border-radius);
}

.woocommerce .wishlist_table td.product-name,
.woocommerce-page .wishlist_table td.product-name {
  font-weight: 600;
}

.woocommerce .wishlist_table td.product-add-to-cart a,
.woocommerce-page .wishlist_table td.product-add-to-cart a {
  display: inline-block !important;
  padding: 5px 10px;
  border: 0;
  line-height: 23px;
  margin-top: 5px;
}

.woocommerce .wishlist_table .dateadded,
.woocommerce-page .wishlist_table .dateadded {
  display: block;
  margin-bottom: .2rem;
}

.woocommerce .wishlist_table td.wishlist-empty,
.woocommerce-page .wishlist_table td.wishlist-empty {
  padding: 3rem 1rem;
  font-weight: bold;
}

.woocommerce .wishlist_table .amount,
.woocommerce-page .wishlist_table .amount {
  font-weight: 600;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-weight: 600;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist a,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist a {
  color: inherit !important;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist a:hover, .woocommerce.single-product .summary .yith-wcwl-add-to-wishlist a:active, .woocommerce.single-product .summary .yith-wcwl-add-to-wishlist a:focus,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist a:hover,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist a:active,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist a:focus {
  opacity: 0.7;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist a i,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist a i {
  margin-right: .2rem;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist a .blockUI,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist a .blockUI {
  top: -1px !important;
  left: -1px !important;
  right: 0 !important;
  width: 25px !important;
  background: var(--grimlock-content-background-color) !important;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist a .blockUI:before,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist a .blockUI:before {
  color: inherit !important;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist .feedback:before,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist .feedback:before {
  margin-right: 6px;
  display: inline-block;
  font-size: .98rem;
  color: var(--grimlock-button-primary-background-color);
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist .feedback + a,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist .feedback + a {
  opacity: .55;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist .ajax-loading,
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist .ajax-loading {
  visibility: hidden;
  display: none !important;
  margin: 0;
  position: relative;
  top: -2px;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist .ajax-loading[style*="visible"],
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist .ajax-loading[style*="visible"] {
  display: inline-block !important;
  visibility: visible;
}

.woocommerce.single-product .summary .yith-wcwl-add-to-wishlist .view-wishlist:not(:hover),
.woocommerce-page.single-product .summary .yith-wcwl-add-to-wishlist .view-wishlist:not(:hover) {
  text-decoration: underline;
}

.woocommerce .yith-wcwl-share .yith-wcwl-share-title,
.woocommerce-page .yith-wcwl-share .yith-wcwl-share-title {
  margin-bottom: 0;
}

.woocommerce .yith-wcwl-share .share-button a,
.woocommerce-page .yith-wcwl-share .share-button a {
  color: #fff !important;
}

.woocommerce .yith_wcwl_wishlist_footer,
.woocommerce-page .yith_wcwl_wishlist_footer {
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
}

.woocommerce .yith_wcwl_wishlist_footer::after,
.woocommerce-page .yith_wcwl_wishlist_footer::after {
  display: block;
  clear: both;
  content: "";
}

.woocommerce .woocommerce-cart-form .wishlist-link,
.woocommerce-page .woocommerce-cart-form .wishlist-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-transform: uppercase;
  background-color: var(--grimlock-table-striped-background-color);
  color: inherit;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: var(--grimlock-archive-post-border-radius);
}

#yith-wcwl-form {
  background-color: var(--grimlock-archive-post-background-color);
  border: var(--grimlock-archive-post-border-width) solid var(--grimlock-archive-post-border-color);
  border-radius: var(--grimlock-archive-post-border-radius);
  box-shadow: var(--grimlock-archive-post-box-shadow-x-offset) var(--grimlock-archive-post-box-shadow-y-offset) var(--grimlock-archive-post-box-shadow-blur-radius) var(--grimlock-archive-post-box-shadow-spread-radius) var(--grimlock-archive-post-box-shadow-color);
  padding: 1.5rem;
  color: var(--grimlock-archive-post-color);
}

#yith-wcwl-form .wishlist-title.wishlist-title-with-form {
  margin-bottom: 1rem;
}

#yith-wcwl-form .wishlist-title.wishlist-title-with-form h2 {
  background: none !important;
  font-size: 1.4rem;
}

#yith-wcwl-form .wishlist-title.wishlist-title-with-form .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  visibility: visible !important;
  font-size: 0;
  color: inherit;
  width: 40px;
  height: 40px;
  border-radius: 500px;
  background-color: var(--grimlock-table-striped-background-color);
}

#yith-wcwl-form .wishlist-title.wishlist-title-with-form .button:hover {
  background-color: transparent;
}

#yith-wcwl-form .wishlist-title.wishlist-title-with-form .button:before {
  font-family: var(--grimlock-icon-edit-font-family) !important;
  content: var(--grimlock-icon-edit);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1rem;
  margin: 0;
}

#yith-wcwl-form .wishlist-title.wishlist-title-with-form .button i {
  display: none;
}

#yith-wcwl-form .hidden-title-form {
  margin: 0 0 1rem 0;
}

#yith-wcwl-form .hidden-title-form[style*="block"] {
  display: flex !important;
}

#yith-wcwl-form .hidden-title-form input[type="submit"],
#yith-wcwl-form .hidden-title-form input[type="text"],
#yith-wcwl-form .hidden-title-form .btn {
  height: 50px;
}

#yith-wcwl-form .hidden-title-form input[type="text"] {
  width: auto;
}

#yith-wcwl-form .hidden-title-form input[type="submit"],
#yith-wcwl-form .hidden-title-form .btn {
  margin-left: .5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* In Products loops */
.products .product .yith-wcwl-add-button .separator,
.products .product .yith-wcwl-add-button .view-wishlist {
  display: none !important;
}

.products .product div.product-buttons .yith-wcwl-add-to-wishlist {
  margin: 0;
}

.products .product div.product-buttons .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse.show,
.products .product div.product-buttons .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse.show {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.products .product div.product-buttons .yith-wcwl-add-to-wishlist .feedback {
  display: none;
}

.products .product div.product-buttons .yith-wcwl-add-to-wishlist .feedback + a {
  display: none;
}

.products .product div.product-buttons .yith-wcwl-add-to-wishlist .feedback + a:before {
  font-family: var(--grimlock-icon-wc-wishlist-added-font-family) !important;
  content: var(--grimlock-icon-wc-wishlist-added);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.products .product.add-to-wishlist-before_image .yith-wcwl-add-to-wishlist {
  position: absolute;
  top: 10px;
  right: 10px;
  left: auto;
  z-index: 100;
}

.products .product.add-to-wishlist-before_image .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a {
  width: 30px;
  height: 30px;
  border-radius: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  overflow: hidden;
  background: var(--grimlock-archive-post-background-color);
  color: var(--grimlock-archive-post-title-color);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05) !important;
  font-size: 0;
}

.products .product.add-to-wishlist-before_image .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a.delete_item, .products .product.add-to-wishlist-before_image .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a:hover {
  background: var(--grimlock-button-primary-background-color);
  color: var(--grimlock-button-primary-color);
}

.products .product.add-to-wishlist-before_image .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a i {
  font-size: 1rem;
}

/**
 * YITH WooCommerce Quick View
 *
 * Display most important features and qualities of a product in a quick modal
 * https://wordpress.org/plugins/yith-woocommerce-quick-view/
 */
.woocommerce .yith-wcqv-button:before,
.woocommerce-page .yith-wcqv-button:before {
  font-family: var(--grimlock-icon-eye-font-family) !important;
  content: var(--grimlock-icon-eye);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 3px;
}

.woocommerce #yith-quick-view-modal,
.woocommerce-page #yith-quick-view-modal {
  padding: 5% 20px 5% 20px;
  overflow: auto !important;
  z-index: 99999999;
}

.woocommerce #yith-quick-view-modal .yith-quick-view-overlay,
.woocommerce-page #yith-quick-view-modal .yith-quick-view-overlay {
  position: fixed;
  z-index: 9999999;
}

.woocommerce #yith-quick-view-modal div.product::after,
.woocommerce-page #yith-quick-view-modal div.product::after {
  display: block;
  clear: both;
  content: "";
}

.woocommerce #yith-quick-view-modal .yith-wcqv-wrapper,
.woocommerce-page #yith-quick-view-modal .yith-wcqv-wrapper {
  height: auto !important;
  overflow: hidden !important;
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999999;
  padding: 5% 20px;
}

.woocommerce #yith-quick-view-modal .yith-wcqv-main,
.woocommerce-page #yith-quick-view-modal .yith-wcqv-main {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  border-radius: var(--grimlock-archive-post-border-radius);
  padding: 1rem;
  overflow-y: hidden;
  height: auto;
  max-width: 900px;
}

.woocommerce #yith-quick-view-modal .woocommerce-product-gallery__image,
.woocommerce-page #yith-quick-view-modal .woocommerce-product-gallery__image {
  pointer-events: none;
}

.woocommerce #yith-quick-view-modal p.price,
.woocommerce-page #yith-quick-view-modal p.price {
  font-size: 1em;
}

.woocommerce #yith-quick-view-modal .woocommerce-product-rating,
.woocommerce-page #yith-quick-view-modal .woocommerce-product-rating {
  margin-bottom: 4px;
}

.woocommerce #yith-quick-view-modal .woocommerce-product-rating .star-rating,
.woocommerce-page #yith-quick-view-modal .woocommerce-product-rating .star-rating {
  margin-top: 0;
}

.woocommerce #yith-quick-view-modal #yith-quick-view-close,
.woocommerce-page #yith-quick-view-modal #yith-quick-view-close {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
  top: 1rem;
  right: 1rem;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.woocommerce #yith-quick-view-modal #yith-quick-view-close:before,
.woocommerce-page #yith-quick-view-modal #yith-quick-view-close:before {
  font-family: var(--grimlock-icon-times-circle-font-family) !important;
  content: var(--grimlock-icon-times-circle);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--grimlock-text-color);
  font-size: 1.5rem;
}

@media (max-width: 991.98px) {
  .woocommerce #yith-quick-view-modal #yith-quick-view-close,
  .woocommerce-page #yith-quick-view-modal #yith-quick-view-close {
    right: auto;
    left: 1rem;
  }
}

.woocommerce #yith-quick-view-modal.open .yith-wcqv-main,
.woocommerce-page #yith-quick-view-modal.open .yith-wcqv-main {
  overflow-y: auto;
}

.woocommerce #yith-quick-view-modal #yith-quick-view-content div.summary,
.woocommerce-page #yith-quick-view-modal #yith-quick-view-content div.summary {
  padding: 2rem;
}

@media (max-width: 991.98px) {
  .woocommerce #yith-quick-view-modal #yith-quick-view-content div.summary,
  .woocommerce-page #yith-quick-view-modal #yith-quick-view-content div.summary {
    padding: 2rem 0 0 0;
  }
}

.woocommerce #yith-quick-view-modal #yith-quick-view-content div.summary .summary-content,
.woocommerce-page #yith-quick-view-modal #yith-quick-view-content div.summary .summary-content {
  word-break: break-word;
}

.woocommerce #yith-quick-view-modal #yith-quick-view-content div.summary .woocommerce div.product .product_title,
.woocommerce-page #yith-quick-view-modal #yith-quick-view-content div.summary .woocommerce div.product .product_title {
  font-size: 1.5em;
}

.woocommerce #yith-quick-view-modal #yith-quick-view-content div.summary p.price,
.woocommerce-page #yith-quick-view-modal #yith-quick-view-content div.summary p.price {
  font-size: 1.2em;
}

.woocommerce #yith-quick-view-modal #yith-quick-view-content .onsale,
.woocommerce-page #yith-quick-view-modal #yith-quick-view-content .onsale {
  position: absolute;
}

/**
 * YITH WooCommerce Ajax Search
 *
 * Improve default WP Search with WooCommerce content autocomplete
 * https://wordpress.org/plugins/yith-woocommerce-ajax-search/
 */
.yith-ajaxsearchform-container {
  margin-top: 1rem;
}

.yith-ajaxsearchform-container #yith-ajaxsearchform {
  position: relative;
}

.yith-ajaxsearchform-container #yith-ajaxsearchform > div {
  display: flex;
}

.yith-ajaxsearchform-container #yith-ajaxsearchform > div > p {
  width: 100%;
}

.yith-ajaxsearchform-container #yith-ajaxsearchform > div > p:last-child {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  padding-left: .5rem;
}

.yith-ajaxsearchform-container #yith-ajaxsearchform > div > p input[type="search"] {
  width: 100%;
}

.yith-ajaxsearchform-container #yith-ajaxsearchform > div > p input[type="search"][style*="background-image"] {
  background-position: 98% center !important;
  background-blend-mode: difference;
}

.yith-ajaxsearchform-container #yith-ajaxsearchform input[type="submit"] {
  margin-top: 0;
  padding: .5rem 1.2rem;
  position: absolute;
  top: 0;
  right: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  z-index: 2;
}

.yith-ajaxsearchform-container .autocomplete-suggestions {
  margin-top: 8px;
  border: 0;
  padding: 0;
}

.yith-ajaxsearchform-container .autocomplete-suggestions .autocomplete-suggestion {
  word-wrap: break-word;
  padding: 15px;
  line-height: 1.2em;
  background: none;
}

.yith-ajaxsearchform-container .autocomplete-suggestions .autocomplete-suggestion:hover {
  background: var(--grimlock-table-striped-background-color);
}

/**
 * YITH infinite scroll
 *
 * Add infinite scroll feature to WooCommerce products page
 * https://wordpress.org/plugins/yith-infinite-scrolling/
 */
.woocommerce .yith-infs-loader,
.woocommerce-page .yith-infs-loader {
  margin: 1rem 0 2rem 0;
}

.woocommerce .yith-infs-loader img,
.woocommerce-page .yith-infs-loader img {
  display: none;
}

.woocommerce .yith-infs-loader:before,
.woocommerce-page .yith-infs-loader:before {
  font-family: var(--grimlock-icon-loading-font-family) !important;
  content: var(--grimlock-icon-loading);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation: fa-spin 1.2s infinite linear;
          animation: fa-spin 1.2s infinite linear;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.5rem;
  color: inherit;
  opacity: .3;
  display: inline-block;
}

/*span.ajax-loading {
    visibility: hidden;
}*/
/**
 * WooCommerce Subscriptions
 *
 * Capture Residual Revenue with Recurring Payments
 * https://woocommerce.com/products/woocommerce-subscriptions/
 */
.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product {
  margin-top: 1rem;
  margin-bottom: 0 !important;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button {
  color: #fff;
  background-color: #3DBDB6;
  border-color: #3DBDB6;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button:hover {
  color: #fff;
  background-color: #34a09a;
  border-color: #319691;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button:focus, .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button.focus {
  box-shadow: 0 0 0 0.2rem rgba(61, 189, 182, 0.5);
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button.disabled, .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button:disabled {
  color: #fff;
  background-color: #3DBDB6;
  border-color: #3DBDB6;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button:not(:disabled):not(.disabled):active, .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button:not(:disabled):not(.disabled).active,
.show > .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button.dropdown-toggle {
  color: #fff;
  background-color: #319691;
  border-color: #2d8d88;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button:not(:disabled):not(.disabled):active:focus, .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button:not(:disabled):not(.disabled).active:focus,
.show > .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .product:not(.featured) .button.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(61, 189, 182, 0.5);
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan {
  text-align: center;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan:hover {
  cursor: pointer;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__header {
  background: none;
  border: 0;
  padding: 3rem 1rem 1rem 1rem;
  margin: 0;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__excerpt {
  font-size: .75em;
  opacity: .7;
  max-width: 80%;
  margin: 0 auto;
  line-height: 1.7em;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__price {
  font-size: 2em;
  line-height: 1em;
  color: #245CC5;
  line-height: 1em;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__price del {
  opacity: .7;
  font-size: .5em;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__price ins {
  text-decoration: none;
  font-weight: 600;
  letter-spacing: -0.8px;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__price .subscription-details {
  opacity: .7;
  font-size: .5em;
  display: block;
  margin: 0 auto;
  max-width: 220px;
  line-height: 1.4em;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__content > ul,
.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__content > p {
  margin: 0;
  padding: 0 15px !important;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__content > ul > li {
  display: block;
  padding: .5rem;
  opacity: .8;
  transition: all 0.2s ease-in-out;
}

@media screen and (prefers-reduced-motion: reduce) {
  .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__content > ul > li {
    transition: none;
  }
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__content > ul > li:hover {
  opacity: 1;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__footer {
  margin-top: 1.5rem;
  position: static;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__footer .button {
  width: 100%;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__footer .add_to_cart_button.loading:before {
  display: inline-block;
  margin-right: 3px;
  font-family: var(--grimlock-icon-loading-font-family) !important;
  content: var(--grimlock-icon-loading);
  font-weight: 100;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation: fa-spin 1.2s infinite linear;
          animation: fa-spin 1.2s infinite linear;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .card--subscription-plan__footer .added_to_cart {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9999999;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 600;
  font-size: 1;
  text-transform: uppercase;
  letter-spacing: 1px;
}

@media (min-width: 768px) {
  .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .featured {
    margin-top: 0;
  }
  .grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .featured .card--subscription-plan__header {
    padding-top: 4rem;
  }
}

.grimlock-query-section--woocommerce-subscriptions .grimlock-query-section__posts .featured .card--subscription-plan {
  border-width: 2px !important;
  border-style: solid;
  border-color: #245CC5;
}

/**
 * Do not add your customizations here, this file will be overridden in future release of the plugin.
 * Make your CSS changes in the Custom CSS panel of the WordPress Customizer or create a child theme : https://codex.wordpress.org/Child_Themes
 */
