/* BUTTON */

.wc-backward,
.wc-forward,
.checkout-button,
.restore-item {
  border-radius: .17em;
  color: #fff!important;
  display: inline-block;
  padding: .67em 1.5em;
  text-align: center;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.wc-backward,
.wc-forward {
  background-color: #558B2F;
}

.wc-backward:hover,
.wc-forward:hover {
  background-color: #689F38;
}

.restore-item,
.checkout-button,
#place_order {
  background-color: #ff6d00;
}

.restore-item:hover,
.checkout-button:hover,
#place_order:hover {
  background-color: #ff9100;
}

.checkout-button,
#place_order {
  font-weight: bold;
  margin-top: 1em;
  width: 100%;
}

/* NOTICE */

.woocommerce-notices-wrapper {
  margin: 0 auto;
  max-width: 1140px;
}

.woocommerce-info,
.woocommerce-error,
.woocommerce-message {
  margin: 0;
  text-align: center;
}

.woocommerce-info li,
.woocommerce-error li,
.woocommerce-message li {
  list-style: none;
}

.checkout ul.woocommerce-error,
.woocommerce-error,
.woocommerce-message {
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(33%, #eee), color-stop(66%, #eee), to(transparent));
  background: -o-linear-gradient(left, transparent 0%, #eee 33%, #eee 66%, transparent 100%);
  background: linear-gradient(90deg, transparent 0%, #eee 33%, #eee 66%, transparent 100%);
  padding: 2rem .67rem;
  font-size: .83em;
}

.woocommerce-message::before {
  color: #8bc34a;
  content: "\f058";
  display: inline-block;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.woocommerce-info {
  font-size: 1.17em;
  margin: 0;
}

.woocommerce-error li {
  margin: 1em 0;
}

/* PRODUCT GALLERY */

.woocommerce-product-gallery {
  line-height: 0;
}

.flex-viewport {
  margin-bottom: .67em;
}

.flex-control-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-control-nav > li {
  cursor: pointer;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
}

.flex-control-nav > li img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  opacity: .8;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

.flex-control-nav > li:hover img {
  -webkit-filter: unset;
  filter: unset;
  opacity: 1;
}

.flex-control-nav img {
  max-width: unset;
  width: 100%;
}

/* VARIATIONS */

.variations,
.variations td,
.single_variation {
  margin-bottom: .67em;
}

.variations td {
  border: none;
  display: block;
  padding: 0;
}

/* RIBBON */

.onsale {
  background-color: #e43;
  -webkit-box-shadow: 0 0 3px rgb(0 0 0 / 30%);
  box-shadow: 0 0 3px rgb(0 0 0 / 30%);
  color: #fff;
  left: 0;
  letter-spacing: 1px;
  line-height: 2;
  position: absolute;
  text-align: center;
  top: 5em;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  transform-origin: bottom left;
  width: 10em;
  z-index: 1;
}

/* CART */

.product-remove,
.cart .product-thumbnail {
  display: none;
}

.cart .attachment-woocommerce_thumbnail {
  width: 48px;
}

td.actions {
  text-align: right;
}

.coupon {
  float: left;
  width: 100%;
}

.coupon label {
  position: absolute;
  top: -10000em;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

#coupon_code,
button[name=apply_coupon],
button[name=update_cart] {
  width: 100%;
  margin-bottom: .67em;
}

.wc-proceed-to-checkout {
  margin-top: 1em;
}

.return-to-shop {
  text-align: center;
}

.order-total {
  font-size: 1.17rem;
}

#shipping_method {
  list-style: none;
  padding: 0;
}

#shipping_method li {
  margin-bottom: 1em;
}

#shipping_method input {
  margin-right: .33em;
}

/* CHECKOUT */

.form-row label {
  display: block;
  margin-bottom: .67em;
}

.form-row input[type=email],
.form-row input[type=tel],
.form-row input[type=text] {
  width: 100%;
}

.woocommerce-additional-fields {
  margin: 5em 0;
}

.checkout ul {
  list-style: none;
  padding: 0;
}

.woocommerce-terms-and-conditions-wrapper {
  font-size: .67em;
}

/* ARCHIVE */

li.product {
  position: relative;
}

/* Fluid Elements */

.onsale {
  background-color: #4c6a15;
}

/* Media Queries */

@media only screen and (min-width: 768px) {
  /* NOTICE */

  .woocommerce-info,
  .checkout ul.woocommerce-error,
  .woocommerce-error,
  .woocommerce-message {
    padding: 2rem 1.33rem;
  }

  /* CART */

  .product-remove,
  .cart .product-thumbnail {
    display: table-cell;
  }

  a.remove {
    font-size: 32px;
  }

  .coupon {
    width: auto;
  }

  #coupon_code,
  button[name=apply_coupon],
  button[name=update_cart] {
    margin-bottom: 0;
    width: auto;
  }

  #coupon_code {
    max-width: 14em;
  }

  button[name=update_cart] {
    margin-top: 1px;
  }

  .cart_totals {
    margin-left: auto;
    width: 50%;
  }

  /* CHECKOUT */

  .form-row-wide {
    width: 100%;
  }

  .form-row-first,
  .form-row-last {
    width: calc(50% - 1rem);
  }
}

@media only screen and (min-width: 1025px) {
  /* NOTICE */

  .woocommerce-info,
  .checkout ul.woocommerce-error,
  .woocommerce-error,
  .woocommerce-message {
    padding: 2rem;
  }

  /* CART */

  .cart_totals {
    width: 35%;
  }

  /* CHECKOUT */

  #order_review_heading,
  #order_review {
    margin-left: auto;
    width: 66.666667%;
  }
}