/* WooCommerce foundation loaded only on commerce-related pages. */

.woo-pagination {
  padding: 1em 1.618em;
  margin: 0;
  text-align: center;
}

.woo-pagination .page-numbers {
  display: inline-block;
  text-decoration: none;
  padding: .382em .53em;
  font-weight: bold;
  border-radius: 100%;
  background-clip: padding-box;
}

.woo-pagination .page-numbers:not(.prev):not(.next) {
  width: 2.4em;
  height: 2.4em;
  padding: 0;
  line-height: 2.4em;
  text-align: center;
  border-radius: 50%;
}

.woo-pagination .page-numbers:hover {
  background: #fff;
}

.woo-pagination .page-numbers.current {
  background: #808080;
  color: #fff;
}

/* 7. WOOCOMMERCE */
/*-------------------------------------------------------------------------------------------*/
p.demo_store {
  background: #4d65a4;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  color: #fff;
  padding: 1em;
}
div.quantity {
  white-space: nowrap;
  /* Disable input[type=number] buttons until the world is ready */
}
div.quantity input::-webkit-outer-spin-button,
div.quantity input::-webkit-inner-spin-button {
  display: none;
}
div.quantity .plus,
div.quantity .minus {
  font-family: 'WebSymbolsRegular';
  background: none;
  border: none;
  font-size: 1.387em;
  padding: 0;
  color: #ff4800;
  transition: all ease-in-out 0.2s;
}
div.quantity .plus:hover,
div.quantity .minus:hover {
  color: #dd2600;
}
div.quantity .qty {
  margin: 0 .618em;
  width: 2.618em;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}
table div.quantity {
  font-size: .857em;
}

@media only screen and (max-width: 767px) {
  .quantity .plus,
  .quantity .minus,
  .quantity::before,
  .quantity::after {
    display: none !important;
    content: none !important;
  }

  .quantity input.qty {
    width: 70px !important;
    height: 40px !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #ccc !important;
    float: none !important;
  }

  .quantity .qty-suffix,
  .quantity + .unit {
    display: none !important;
  }
}
dl.variation dt,
dl.variation dd {
  float: left;
}
dl.variation dt {
  clear: left;
  margin-right: .53em;
}
dl.variation dd ul {
  list-style: none;
}
.backorder_notification {
  clear: both;
}
.validate-required.woocommerce-validated input {
  border-color: #84ac50;
  background: #e5eeda;
}
.validate-required.woocommerce-invalid input {
  border-color: #b85f56;
  background: #f4e7e6;
}
/* 7.1 Messages */
.woocommerce_message,
.woocommerce_info,
.woocommerce_error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: .618em 1em .618em 2.618em;
  margin-bottom: 1.618em;
  background: #fff;
  border: 1px solid #4d65a4;
  border-left-width: .382em ;
  position: relative;
  font-weight: bold;
}
.woocommerce_message:before,
.woocommerce_info:before,
.woocommerce_error:before,
.woocommerce-message:before,
.woocommerce-info:before,
.woocommerce-error:before {
  font-family: 'WebSymbolsRegular';
  content: "S";
  display: block;
  color: #4d65a4;
  font-weight: normal;
  position: absolute;
  top: .618em;
  font-size: 1em;
  left: .857em;
}
.woocommerce_error,
.woocommerce-error {
  border-color: #b85f56;
  list-style: none;
}
.woocommerce_error:before,
.woocommerce-error:before {
  content: "W";
  color: #b85f56;
}
.woocommerce_message,
.woocommerce-message {
  border-color: #84ac50;
}
.woocommerce_message:before,
.woocommerce-message:before {
  content: ".";
  color: #84ac50;
}
.woocommerce_message .button,
.woocommerce-message .button {
  float: right;
  font-size: .857em;
}
/* 7.2 Products */
.price del {
  opacity: 0.5;
}
.price ins {
  text-decoration: none;
  font-weight: bold;
  margin-left: .618em;
  color: #b85f56;
}

body.woocommerce .price,
body.woocommerce-page .price,
.woocommerce-Price-amount.amount {
  display: inline-block;
  font-family: 'Bree Serif', serif !important;
  font-size: 1.25em !important;
  padding-left: 10px !important;
}
ul.products {
  margin-left: 0 !important;
  list-style: none;
}
ul.products:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
}
ul.products li.product {
  position: relative;
  float: left;
  width: 48%;
  margin-right: 3.8%;
  margin-bottom: 1.618em;
  text-align: center;
}
ul.products li.product h3 {
  margin-bottom: 0;
}
ul.products li.product a:hover h3 {
  color: #ff4800;
}
ul.products li.product .price {
  display: block;
  color: #9f9693;
  margin-bottom: 1em;
}
ul.products li.product img {
  width: 100%;
  height: auto;
  padding: .53em;
  display: block;
  box-sizing: border-box;
  border: 1px solid #e8e4e3;
  background: #fff;
  margin: 0 auto 1em;
}
ul.products li.product:nth-child(2n) {
  margin-right: 0;
}
@media only screen and (min-width: 769px) {
  ul.products.columns-4 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 3.8%;
  }

  ul.products.columns-4 > li.product {
    float: none !important;
    clear: none !important;
    margin-right: 0 !important;
    flex: 0 0 22.05%;
  }
}
.pagination-wrap {
  margin-bottom: 1.618em;
  padding-top: 1.618em;
  border-top: 4px double #e8e4e3;
}
.pagination-wrap:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
}
.pagination-wrap .pagination,
.pagination-wrap .woocommerce_ordering,
.pagination-wrap .woocommerce-ordering {
  width: 48%;
}
.pagination-wrap .pagination {
  float: left;
  margin: 0;
  text-align: left;
  padding: 0;
}
.pagination-wrap .woocommerce_ordering,
.pagination-wrap .woocommerce-ordering {
  float: right;
  text-align: right;
  padding-top: .53em;
}
.woocommerce_result_count,
.woocommerce_ordering,
.woocommerce-result-count,
.woocommerce-ordering {
  width: 48%;
  float: left;
}
.woocommerce_result_count + ul.products,
.woocommerce_ordering + ul.products,
.woocommerce-result-count + ul.products,
.woocommerce-ordering + ul.products {
  clear: both;
}
.woocommerce_ordering,
.woocommerce-ordering {
  text-align: right;
  float: right;
}
/* 7.2.1 Single Product */
.product {
  position: relative;
}
.onsale {
  position: absolute;
  top: 0;
  right: 0;
  background: #ff0000;
  color: #fff;
  font-weight: bold;
  padding: 0 .857em;
  line-height: 4.236em;
  border-radius: 100%;
  background-clip: padding-box;
  text-transform: uppercase;
}
/* 7.3 Cart */
table.cart .product-remove,
table.cart .product-thumbnail,
table.cart .product-price {
  position: absolute;
  left: -999em;
}
table.cart td .backorder_notification {
  font-size: 0.8em;
}
table.cart td.product-remove {
  padding-right: .5em;
}
table.cart td.actions .coupon {
  text-align: left;
  margin-bottom: 0;
}
table.cart td.actions .coupon label {
  display: none;
}
table.cart td.actions .coupon .input-text,
table.cart td.actions .coupon .button {
  width: 48%;
  float: left;
}
table.cart td.actions .coupon .button {
  float: right;
}
table.cart td.actions .button,
table.cart td.actions .checkout-button,
table.cart td.actions .input-text {
  width: 100%;
  display: block;
  box-sizing: border-box;
  margin-bottom: .53em !important;
}
table.cart td.actions .checkout-button {
  margin-bottom: 0 !important;
}
table.cart .product-quantity .plus,
table.cart .product-quantity .minus {
  display: inline-block;
}
table.cart img {
  width: 3.631em;
  height: auto;
}
ul#shipping_method {
  list-style: none;
}
.cross-sells ul.products li img {
  padding: 0;
  border: 0;
  background: 0;
}
/* 7.4 Checkout */
.woocommerce-checkout .type-page h1:before {
  font-family: 'WebSymbolsRegular';
  display: inline-block;
  font-size: .857em;
  margin-right: .618em;
  font-weight: normal;
  content: "x";
}
.required {
  border: 0;
  color: #b85f56;
}
.checkout #shiptobilling {
  float: none;
  width: 100%;
}
.checkout #shiptobilling input[type="checkbox"] {
  float: left;
  margin-right: 1em;
}
.checkout #order_review {
  background: #f7f7f7;
  padding: .618em;
  border-radius: 0.382em;
  background-clip: padding-box;
}
.checkout #order_review table {
  background: #fcfcfc;
  border: 1px solid #e8e4e3;
  border-bottom: 0;
  box-shadow: 0 0 0 0.327em rgba(0, 0, 0, 0.015);
}
.checkout #order_review table tr td:first-child,
.checkout #order_review table tr th:first-child {
  padding-left: 1em;
}
.checkout #order_review #payment ul {
  border-bottom: 4px double #e8e4e3;
}
.checkout #order_review #payment ul li {
  list-style: none;
  margin-bottom: 1em;
}
.checkout #order_review #payment ul li input[type="radio"] {
  margin-right: 1em;
  margin-top: .382em;
  float: left;
  box-shadow: 0 1px 0 0 #ffffff;
}
.checkout #order_review #payment ul li label {
  font-weight: bold;
  margin-bottom: .618em;
  display: block;
}
.checkout #order_review #payment ul li label img {
  float: right;
  padding: 0;
  border: 0;
}
.checkout #order_review #payment ul li .payment_box {
  background: #fff;
  padding: 1em;
  border-radius: 0.382em;
  background-clip: padding-box;
}
.checkout #order_review #payment ul li .payment_box p:last-child {
  margin-bottom: 0;
}
.checkout #order_review #payment ul li .payment_box label {
  font-size: 1em;
}
.checkout #order_review .form-row.place-order {
  width: 100%;
  margin-bottom: 0;
}
.checkout #order_review .form-row.place-order:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
}
.checkout #order_review .form-row.place-order .button {
  font-size: 1.387em;
  margin-bottom: .618em;
  float: left;
}
.checkout #order_review .form-row.place-order .form-row.terms {
  width: auto;
  float: right;
  margin-bottom: 0;
}
.checkout #order_review .form-row.place-order .form-row.terms label {
  float: left;
  margin-right: .618em;
}
.checkout .create-account {
  clear: both;
}
.checkout .create-account p:first-child {
  padding: .618em 1em .618em 2.618em;
  margin-bottom: 1.618em;
  background: #fff;
  border: 1px solid #4d65a4;
  border-left-width: .382em ;
  position: relative;
  font-weight: bold;
}
.checkout .create-account p:first-child:before {
  font-family: 'WebSymbolsRegular';
  content: "S";
  display: block;
  color: #4d65a4;
  font-weight: normal;
  position: absolute;
  top: .618em;
  font-size: 1em;
  left: .857em;
}
ul.order_details {
  border: 1px solid #e8e4e3;
  list-style: none;
  padding-left: 1.618em;
  position: relative;
}
ul.order_details:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
}
ul.order_details li {
  padding: 1em 2em 1em 0;
  margin-right: 2em;
  float: left;
  border-right: 1px solid #e8e4e3;
  text-transform: uppercase;
  font-size: .857em;
  color: #9f9693;
}
ul.order_details li strong {
  display: block;
  text-transform: none;
  font-size: 1.387em;
  color: #6c6360;
}
ul.order_details li:last-child {
  border-right: 0;
}
ul.order_details:before {
  font-family: 'WebSymbolsRegular';
  display: inline-block;
  font-size: .857em;
  margin-left: .618em;
  font-weight: normal;
  content: "/";
  position: absolute;
  top: .327em;
  right: .618em;
  font-size: 2.244em;
  color: #84ac50;
}

/* Price-filter widget. */
.widget_price_filter .price_slider {
  margin-bottom: 1em;
}
.widget_price_filter .price_slider_amount {
  text-align: right;
  line-height: 2.4em;
}
.widget_price_filter .price_slider_amount .button {
  float: left;
}
.widget_price_filter .ui-slider {
  position: relative;
  text-align: left;
}
.widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1em;
  height: 1em;
  border-radius: 1em;
  background-clip: padding-box;
  cursor: pointer;
  outline: none;
  background: #fff;
  border: 1px solid #ff4800;
  box-sizing: border-box;
}
.widget_price_filter .ui-slider .ui-slider-handle:last-child {
  margin-left: -1em;
}
.widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  font-size: .7em;
  display: block;
  border: 0;
  transition: all ease-in-out 0.2s;
  background: #ff4800;
  border-radius: 1em;
  background-clip: padding-box;
}
.widget_price_filter .price_slider_wrapper .ui-widget-content {
  border-radius: 1em;
  background-clip: padding-box;
  background: #e8e4e3;
}
.widget_price_filter .ui-slider-horizontal {
  height: 1em;
}
.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  top: 0;
  height: 100%;
}
.widget_price_filter .ui-slider-horizontal .ui-slider-range-min {
  left: -1px;
}
.widget_price_filter .ui-slider-horizontal .ui-slider-range-max {
  right: -1px;
}

/* 7.6 Account */
#customer_login .col-1 h2:before,
#customer_login .col-2 h2:before {
  font-family: 'WebSymbolsRegular';
  display: inline-block;
  font-size: .857em;
  margin-right: .618em;
  font-weight: normal;
}
#customer_login .col-1 h2:before {
  content: "x";
}
#customer_login .col-2 h2:before {
  content: "U";
}
#customer_login .lost_password {
  display: block;
  margin-top: 1em;
}
ul.digital-downloads li {
  list-style: none;
  padding-bottom: .618em;
}
ul.digital-downloads li:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
}
ul.digital-downloads li .count {
  float: right;
}
ul.digital-downloads li a:before {
  font-family: 'WebSymbolsRegular';
  display: inline-block;
  font-size: .857em;
  margin-right: .618em;
  font-weight: normal;
  content: ";";
}
table.my_account_orders .button {
  font-size: .857em;
}

/* Desktop WooCommerce layout. */
@media only screen and (min-width: 768px) {
  .col2-set {
    clear: both;
  }
  .col2-set:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden;
    clear: both;
  }
  .col2-set .col-1 {
    width: 48%;
    float: left;
  }
  .col2-set .col-2 {
    width: 48%;
    float: right;
  }
  .form-row {
    width: 48%;
    float: left;
    margin-bottom: 2.053em;
  }
  .form-row label {
    display: block;
    padding: .206em 0;
  }
  .form-row .input-text,
  .form-row select {
    width: 100%;
    box-sizing: border-box;
  }
  .form-row input[type=checkbox] {
    float: left;
  }
  .form-row.notes {
    width: 100%;
    float: none;
  }
  .form-row.notes textarea {
    width: 100%;
  }
  .form-row.notes + h3 {
    clear: both;
  }
  .form-row-first {
    clear: left;
  }
  .form-row-last {
    float: right;
  }
  .form-row-wide {
    float: left;
    width: 100%;
    clear: both;
  }
  header.title {
    overflow: hidden;
  }
  header.title h1,
  header.title h2,
  header.title h3,
  header.title h4,
  header.title h5 {
    float: left;
  }
  header.title a.edit {
    float: right;
    font-weight: bold;
    line-height: 2.4em;
  }
  header.title a.edit:before {
    font-family: 'WebSymbolsRegular';
    display: inline-block;
    font-size: .857em;
    margin-right: .618em;
    font-weight: normal;
    content: "S";
  }

  /* 7. WOOCOMMERCE */
  /*-------------------------------------------------------------------------------------------*/
  /* 7.1 Messages */
  /* 7.2 Products */
  ul.products li.product {
    position: relative;
    width: 22.05%;
  }
  ul.products li.product:nth-child(2n) {
    margin-right: 3.8%;
  }
  ul.products li.product.first {
    clear: both;
  }
  ul.products li.product.last {
    margin-right: 0;
  }
  /* 7.2.1 Single Product */
  .single-product .images {
    width: 48%;
    float: left;
  }
  .single-product .summary {
    width: 48%;
    float: right;
  }
  .single-product .related {
    clear: both;
  }
  .single-product .sale .summary h1 {
    width: 80%;
  }
  /* 7.3 Cart */
  table.cart {
    margin-bottom: 2.618em;
  }
  table.cart .product-remove,
  table.cart .product-thumbnail,
  table.cart .product-price {
    position: static;
  }
  table.cart td.actions {
    text-align: right;
  }
  table.cart td.actions .coupon {
    width: 50%;
    float: left;
  }
  table.cart td.actions .input-text,
  table.cart td.actions .button,
  table.cart td.actions .checkout-button {
    width: auto !important;
    display: inline-block;
    margin-bottom: 0 !important;
  }
  table.cart td.actions .button {
    margin-left: .618em;
    float: none !important;
  }
  .cart-collaterals:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden;
    clear: both;
  }
  .cart-collaterals .cross-sells,
  .cart-collaterals .cart_totals,
  .cart-collaterals .shipping_calculator {
    width: 48%;
    font-size: .857em;
    float: left;
  }
  .cart-collaterals .cart_totals {
    float: right;
  }
  .cart-collaterals .shipping_calculator {
    float: right;
    clear: right;
  }
  .cart-collaterals .cross-sells ul.products li.product {
    width: 48%;
  }
  /* 7.4 Checkout */
  .checkout #order_review {
    padding: 1.618em;
  }
  .checkout #shiptobilling {
    float: right;
    margin: 0;
    text-align: right;
    width: 48%;
  }
  .checkout #shiptobilling label {
    white-space: nowrap;
  }
  .checkout #shiptobilling input[type="checkbox"] {
    float: right;
    margin-left: 1em;
    margin-right: 0;
  }
  /* 7.5 Widgets */
  /* 7.6 Account */
  /* 7.7 Shortcodes */
}
