/************************************ General ************************************/

/* Product Messages */
.woocommerce_message,
.woocommerce_error,
.woocommerce_info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    padding: 15px 20px;
    margin: 0 0 20px;
    background: #eee;
    position: relative;
    list-style: none outside;
    width: auto;
    line-height: 200%;
}

.woocommerce-error {
    background: #fcdede;
    color: #000;
}

.skin-dark-wide .woocommerce_message,
.skin-dark-wide .woocommerce_error,
.skin-dark-wide .woocommerce_info,
.skin-dark-wide .woocommerce-message,
.skin-dark-wide .woocommerce-error,
.skin-dark-wide .woocommerce-info {
    background: #333;
}

.woocommerce_message .button,
.woocommerce_error .button,
.woocommerce_info .button,
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
    float: right;
    line-height: 1;
}

.woocommerce_message::before,
.woocommerce_error::before,
.woocommerce_info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
    content: "";
    height: 16px;
    width: 16px;
    display: block;
    position: absolute;
    top: .8em;
    left: 1em;
}

.woocommerce_message::after,
.woocommerce_error::after,
.woocommerce_info::after,
.woocommerce-message::after,
.woocommerce-error::after,
.woocommerce-info::after {
    content: "";
    display: block;
    clear: both;
}

.woocommerce_error li,
.woocommerce-error li {
    list-style: none;
    background-image: none;
    margin: 0;
}

.woocommerce-page h2,
.woocommerce-page h3 {
    font-size: 100%;
    font-weight: bold;
}

/************************************ Product Categories ************************************/

/* Breadcrumbs */
.woocommerce-breadcrumb {
    width: 100%;
    font-size: 11px;
    line-height: 11px;
    color: #999;
    margin-bottom: 30px;
}

.woocommerce-breadcrumb a {
    color: #999;
}

.woocommerce-breadcrumb a:hover {
    color: #000;
}

/* Category Header */
.category-header {
    margin-bottom: 30px;
    padding-bottom: 10px;
    overflow: hidden;
    border-bottom: 1px solid #eee;
}

.skin-dark-wide .category-header {
    border-color: #333;
}

.woocommerce-page.tax-product_cat .page-title {
    margin-bottom: 0;
}

.term-description p {
    font-size: 12px;
    color: #999;
    margin-top: 5px;
}

.category-thumbnail {
    float: left;
    margin-right: 10px;
    width: auto;
    height: 50px;
}

.woocommerce-result-count {
    display: none;
}

/* Pagination */
.woocommerce-pagination {
    float: right;
}

.woocommerce-pagination .wp-pagenavi.cat-navi {
    margin: 0;
}

/* Ordering Drop Down Menu */
.woocommerce_ordering,
.woocommerce-ordering {
    margin-bottom: 5rem;
}

.jqTransformSelectWrapper {
    position: relative;
    float: left;
    margin-bottom: 30px;
}

.jqTransformSelectWrapper div span {
    width: 100%;
    font-size: 12px;
    color: #333;
    background: #f7f7f7;
    float: none;
    position: absolute;
    white-space: nowrap;
    padding: 8px;
    overflow: hidden;
    cursor: pointer;
}

.jqTransformSelectWrapper a.jqTransformSelectOpen {
    display: block;
    position: absolute;
    top: 0;
    right: 2px;
    background: #333 url(../lib/images/sprite.png) -14px -27px no-repeat;
    width: 30px;
    height: 28px;
}

.jqTransformSelectWrapper ul {
    position: absolute;
    top: 28px;
    left: 0;
    background-color: #f7f7f7;
    display: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    overflow-y: auto;
    z-index: 10;
}

.jqTransformSelectWrapper ul li {
    list-style: none;
    background-image: none;
    padding: 0;
    margin: 0;
}

.jqTransformSelectWrapper ul a {
    display: block;
    color: #333;
    padding: 4px 8px;
    text-decoration: none;
    font-size: 12px;
}

.jqTransformSelectWrapper ul a.selected,
.jqTransformSelectWrapper ul a:hover,
.jqTransformSelectWrapper ul a.selected:hover {
    background: #333;
    color: #fff;
}

.jqTransformSelectWrapper ul a.selected:hover {
    background: #777;
}

.jqTransformHidden {
    display: none;
}

/* Product Items */
ul.products li.first {
    clear: both;
}

ul.products li.product {
    padding: 0;
    position: relative;
    list-style-type: none;
    background-image: none;
    text-align: center;
}

ul.products.shop-columns-1 li.product {
    width: 100%;
    margin-right: 0;
}

ul.products.shop-columns-2 li.product {
    width: 46%;
}

ul.products.shop-columns-3 li.product {
    width: 29.33%;
}

ul.products.shop-columns-4 li.product {

}

ul.products li.product .onsale {
    top: 6px;
    right: 6px;
    left: auto;
}

span.onsale {
    position: absolute;
    background: #000;
    color: #fff;
    font-size: 12px;
    line-height: 12px;
    text-transform: uppercase;
    font-weight: bold;
    padding: 4px 6px;
}

.products li.product img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin-bottom: 10px;
    padding: 5px;
    background: #eee;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.products li.product h2 {
    font-size: 12px;
    font-weight: bold;
    margin: 0 0 3px 0;
    text-align: center;
}

ul.products li.product .price {
    display: inline-block;
    text-align: center;
}

ul.products li.product .price .amount {
    padding: 4px;
}

ul.products li.product .product_buttons {
    display: none;
    position: absolute;
    top: 30%;
    left: 10%;
    width: 80%;
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
}

ul.products li.product .button,
ul.products li.product .view_product_button {
    background: #000;
    display: block;
    color: #fff;
    width: 100%;
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 10px;
    line-height: 1;
    padding: 8px 0;
    margin: 1px 0;
}

ul.products li.product .button:hover,
ul.products li.product .view_product_button:hover {
    color: #000;
}

ul.products li.product .added_to_cart {
    display: none;
}

a.button.loading,
button.button.loading,
input.button.loading,
#respond input#submit.loading {
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
    opacity: 0.5;
}

a.button.added::before,
button.button.added::before,
input.button.added::before,
#respond input#submit.added::before {
    content: "";
    position: absolute;
    width: 13px;
    height: 10px;
    top: 8px;
    right: 4px;
    text-indent: 0;
    background: url(../lib/images/sprite.png) no-repeat -50px -596px;
}

ul.products li.product .price .from {
    color: #999;
}

/* Price Filter Widget */
.widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: #cecece;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
    top: 0;
    height: 100%;
}

.widget_price_filter .ui-slider .ui-slider-range {
    position: absolute;
    z-index: 1;
    display: block;
    border: 0;
    background: #999;
}

.widget_price_filter .ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 4px;
    height: 15px;
    top: -4px;
    cursor: pointer;
    background: #000;
}

.widget_price_filter .ui-slider-horizontal {
    height: .5em;
}

.widget_price_filter .ui-slider {
    position: relative;
    text-align: left;
}

.widget_price_filter .price_slider {
    margin-bottom: 15px;
}

.widget_price_filter .price_slider_amount {
    font-weight: bold;
    text-align: right;
    color: #999;
    font-size: 11px;
    line-height: 2;
}

.widget_price_filter .price_slider_amount input {
    display: none;
}

.widget_price_filter .price_slider_amount .button {
    float: left;
    background: #333;
    color: #eee;
    padding: 6px 8px;
    font-size: 11px;
}

.widget_price_filter .price_slider_amount .button:hover {
    background: #777;
}

/* Layered Nav Widget */
.widget_layered_nav ul li {
    width: 100%;
    list-style: none;
    background-image: none;
    margin: 1px 0 0 0;
    padding: 0 20px 0 0;
}

.widget_layered_nav ul li a,
.widget_layered_nav ul li span {
    float: left;
    padding: 4px 0;
    line-height: 1;
    color: #333;
}

.skin-dark-wide .widget_layered_nav ul li a,
.skin-dark-wide .widget_layered_nav ul li span {
    color: #eee;
}

.widget_layered_nav ul li a:hover {
    color: #999;
    text-decoration: underline;
}

.widget_layered_nav ul li small.count {
    float: right;
    display: block;
    color: #999;
    line-height: 1;
}

.widget_layered_nav ul li.chosen {
    background: #333;
}

.skin-dark-wide .widget_layered_nav ul li.chosen {
    background-color: #222;
}

.widget_layered_nav ul li.chosen a {
    background: #333 url(../lib/images/sprite.png) no-repeat -165px -464px;
    margin-left: -20px;
    padding: 8px 20px;
    line-height: 1;
    color: #fff;
}

.skin-dark-wide .widget_layered_nav ul li.chosen a {
    background-color: #222;
}

.widget_layered_nav ul li.chosen small.count {
    background: #333;
    color: #fff;
    padding: 8px 0;
}

.skin-dark-wide .widget_layered_nav ul li.chosen small.count {
    background: #222;
}

.widget_layered_nav ul li:after {
    content: "";
    display: block;
    clear: both;
}

/* Ajax Layered Nav Widget */
.widget_layered_nav .ajax-layered ul li {
    width: auto;
}

.widget_layered_nav .ajax-layered ul li a {
    line-height: 21px;
}

.widget_layered_nav .ajax-layered ul li.chosen a {
    margin-left: 0;
}

/* Recently Viewed Products Widget */
.widget ul.cart_list,
ul.product_list_widget {
    padding: 0;
    margin: 0;
}

.widget ul.cart_list li,
ul.product_list_widget li {
    list-style: none;
    background-image: none;
    padding: 10px 0;
    margin: 0;
    border-top: 1px solid #eee;
}

.skin-dark-wide .widget ul.cart_list li,
.skin-dark-wide ul.product_list_widget li {
    border-color: #444;
}

.widget ul.cart_list li:first-child,
ul.product_list_widget li:first-child {
    border-top: 0;
    padding-top: 0;
}

.widget ul.cart_list li a,
ul.product_list_widget li a {
    font-weight: bold;
    display: block;
    line-height: 14px;
}

.widget ul.cart_list li img,
ul.product_list_widget li img {
    float: right;
    margin-left: 4px;
    width: 32px;
    height: auto;
    border: 1px solid #eee;
}

.widget ul.cart_list li img:hover,
ul.product_list_widget li img:hover {
    border-color: #999;
}

.widget ul.cart_list li .amount,
ul.product_list_widget li .amount,
.widget ul.cart_list li .from,
ul.product_list_widget li .from {
    font-size: 11px;
    line-height: 16px;
}

.widget ul.cart_list li .star-rating,
ul.product_list_widget li .star-rating {
    float: none;
    margin-top: 3px;
}

/* Shopping Cart Widget */
.widget .buttons .button {
    display: inline-block;
    line-height: 1;
    font-size: 10px;
    margin-top: 5px;
}

.widget .buttons .button:first-child {
    margin-top: 0;
}

/* Search Form */
#searchform label {
    display: none;
}


/************************************ Single Product Page ************************************/
.single-product.sb-right #content-wrapper {
    display: grid;
    grid-template-columns: auto 250px;
    gap: 2rem;
}

.single-product .product:not(li) {
    margin-bottom: 0;
    position: relative;
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-template-rows: auto;
    grid-template-areas:
        "images summary"
        "tabs tabs"
        "upsells upsells"
        "related related";
    gap: 2rem 2rem;
}

.single-product .single-product span.onsale {
    top: 6px;
    left: 6px;
}

.single-product .product .images {
    grid-area: images;
}

.single-product .product .images img {
    display: block;
    width: 100%;
    height: auto;
    padding: 5px;
    background: #eee;
    box-sizing: border-box;
}

.single-product .product .images .thumbnails {
    margin-top: 1em;
    display: inline-grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 3px;
}

.single-product .product .images .thumbnails a {
    max-height: 55px;
    overflow: hidden;
}

.single-product .product .images .thumbnails img {
    padding: 1px;
}

/* Summary */
.single-product .product .summary {
    grid-area: summary;
}

.single-product .product .product_title {
    font-size: 24px;
    margin-bottom: 10px;
    clear: both;
    font-weight: 800;
}

.single-product .product [itemprop="description"] {
    margin-bottom: 12px;
}

.woocommerce-product-rating {
    display: none;
}

/* Price */
.product .price,
.product p.price {
    color: #999;
    font-weight: bold;
}

.product .price {
    font-size: 12px;
}

.product p.price {
    font-size: 18px;
    line-height: 36px;
}

.product .price .amount {
    background: #000;
    padding: 4px;
    line-height: 1;
}

.product p.price .amount {
    padding: 8px 10px;
    font-size: 18px;
}

.product .price ins .amount {
    display: inline-block;
}

.product .price del {
    color: #999;
}

.product .price del .amount {
    background: none;
    color: #999;
    padding: 8px 5px 8px 0;
}

/*div.product [itemprop="offers"] {
width: 30%;
}*/

/* Stock Quantity */
div.product p.stock {
    font-size: 12px;
    color: #000;
    font-weight: bold;
}

.skin-dark-wide div.product p.stock {
    color: #fff;
}

div.product form.cart div.quantity {
    float: left;
    margin: 0 4px 0 0;
}

.quantity {
    position: relative;
    margin: 0 auto;
    overflow: hidden;
    zoom: 1;
}

.quantity:after {
    content: "";
    display: block;
    clear: both;
}

.quantity .plus,
.quantity .minus {
    display: block;
    padding: 0;
    margin: 0;
    position: absolute;
    text-align: center;
    vertical-align: text-top;
    width: 18px;
    height: 15px;
    text-decoration: none;
    overflow: visible;
    text-decoration: none;
    cursor: pointer;
    line-height: 1;
    font-size: 13px;
    background: #000;
}

.quantity .plus:hover,
.quantity .minus:hover {
    color: #000;
}

.quantity .minus {
    bottom: 0;
    right: 0;
}

.quantity .plus {
    top: 0;
    right: 0;
}

.quantity input.qty {
    width: 42px;
    height: 30px;
    float: left;
    padding: 0;
    text-align: center;
    border-right: 0;
    line-height: 30px;
}

div.product form.cart {
    width: 100%;
    overflow: hidden;
    margin-bottom: 20px;
}

.woocommerce-product-details__short-description {
    margin: 0 0 1rem 0;
}

/* Variations */
table.variations {
    margin: 1rem 0;
}

div.product form.cart .single_variation .price {
    font-size: 18px;
}

div.product form.cart .variations td.label {
    padding-right: 10px;
}

div.product form.cart .variations td {
    vertical-align: top;
}

div.product form.cart .variations label {
    font-weight: bold;
    line-height: 21px;
}

div.product form.cart .variations select {
    width: 100%;
    float: left;
}

.reset_variations {
    font-size: 12px;
    line-height: 26px;
}

/* Add To Cart Button*/
div.product form.cart .button {

}

.single_variation_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}

.woocommerce-variation.single_variation {
    margin: 0 1rem 0 0;
}



div.product .product_meta,
div.product .product_meta a {
    font-size: 12px;
    color: #999;
}

/* Share Links */
.social {
    margin-top: 20px;
}

div.product div.social iframe {
    float: left;
    margin-top: 3px;
}

body.plugin {
    background: transparent;
    overflow: hidden;
}

/* Product Tabs */
.single-product  .product .woocommerce_tabs,
.single-product .product .woocommerce-tabs {
    grid-area: tabs;
}

div.product .woocommerce_tabs ul.tabs,
div.product .woocommerce-tabs ul.tabs {
    background: #000;
    border-bottom-width: 5px;
    border-style: solid;
    margin: 0 0 20px;
    overflow: hidden;
    position: relative;
}

.skin-dark-wide div.product .woocommerce_tabs ul.tabs,
.skin-dark-wide div.product .woocommerce-tabs ul.tabs {
    background: #333;
}

div.product .woocommerce_tabs ul.tabs li,
div.product .woocommerce-tabs ul.tabs li {
    list-style: none;
    background-image: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    position: relative;
}

div.product .woocommerce_tabs ul.tabs li.active,
div.product .woocommerce-tabs ul.tabs li.active {
    z-index: 2;
}

div.product .woocommerce_tabs ul.tabs li a,
div.product .woocommerce-tabs ul.tabs li a {
    display: inline-block;
    font-size: 12px;
    padding: 10px 20px;
    font-weight: bold;
    text-transform: uppercase;
    color: #fff;
    font-weight: bold;
}

div.product .woocommerce_tabs .panel,
div.product .woocommerce-tabs .panel {
    margin: 0 0 30px;
    padding: 0;
}

/* Product Attributes */
table.shop_attributes {
    border: 0;
    border-top: 1px solid #eee;
    margin-bottom: 1.618em;
    width: 100%;
}

.skin-dark-wide table.shop_attributes {
    border-color: #333;
}

table.shop_attributes th {
    width: 150px;
    font-weight: bold;
    padding: 8px;
    border-top: 0;
    border-bottom: 1px solid #eee;
    margin: 0;
    line-height: 1.5em;
}

.skin-dark-wide table.shop_attributes th {
    border-color: #eee;
}

table.shop_attributes td {
    padding: 0;
    border-top: 0;
    border-bottom: 1px solid #eee;
    margin: 0;
    line-height: 1.5em;
}

.skin-dark-wide table.shop_attributes td {
    border-color: #eee;
}

/* Product Ratings */
.star-rating {
    float: right;
    width: 80px;
    height: 16px;
    background: url(../lib/images/star.png) repeat-x;
}

.star-rating span {
    background: url(../lib/images/star.png) repeat-x left -32px;
    height: 0;
    padding-top: 16px;
    overflow: hidden;
    float: left;
}

.products .star-rating {
    float: none;
    margin: 0 auto 6px;
}

/* Product Review Box */
p.stars span {
    width: 80px;
    height: 16px;
    position: relative;
    float: left;
    background: url(../lib/images/star.png) repeat-x;
}

p.stars span a {
    float: left;
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 0;
    padding-top: 16px;
    overflow: hidden;
}

p.stars span a:hover,
p.stars span a:focus {
    background: url(../lib/images/star.png) repeat-x left -16px;
}

p.stars span a.active {
    background: url(../lib/images/star.png) repeat-x left -32px;
}

p.stars span a.star-1 {
    width: 16px;
    z-index: 10;
}

p.stars span a.star-2 {
    width: 32px;
    z-index: 9;
}

p.stars span a.star-3 {
    width: 48px;
    z-index: 8;
}

p.stars span a.star-4 {
    width: 64px;
    z-index: 7;
}

p.stars span a.star-5 {
    width: 80px;
    z-index: 6;
}

#review_form form {
    margin: 1rem 0 0 0;
}

#review_form #respond,
.pp_woocommerce #respond {
    position: static;
    margin: 0;
    width: auto;
    padding: 0;
    background: transparent none;
    border: 0;
    color: #000;
}

#review_form #respond #reply-title,
.pp_woocommerce #respond #reply-title {
    color: #000;
    font-size: 20px;
}

#review_form #respond p,
.pp_woocommerce #respond p {
    margin: 0 0 10px;
    overflow: hidden;
}

#respond .comment-form-rating label[for="rating"] {
    float: left;
    margin-right: 10px;
}

.woocommerce p.stars,
.woocommerce-page p.stars {
    overflow: hidden;
    position: relative;
}

.woocommerce #respond .comment-form-comment {
    width: 100%;
    clear: both;
}

/* Related Products */
.single-product .product .upsells {
    grid-area: upsells;
}
div.product .products h2 {
    background: #000;
    border-bottom-width: 5px;
    border-style: solid;
    text-transform: uppercase;
    font-size: 12px;
    color: #fff;
    font-weight: bold;
    padding: 13px 20px;
    margin-bottom: 20px;
}

.skin-dark-wide div.product .products h2 {
    background: #333;
}

.related::after,
.upsells.products::after {
    content: "";
    display: block;
    clear: both;
}

.single-product .product .related {
    grid-area: related;
}

/************************************ Shopping Cart ************************************/

table.shop_table {
    border: 1px solid #eee;
    margin: 0 -1px 24px 0;
    text-align: left;
    width: 100%;
    border-collapse: separate;
}

.skin-dark-wide table.shop_table {
    border-color: #333;
}

table.cart th,
table.cart td {
    vertical-align: middle;
}

table.shop_table th {
    font-weight: bold;
    line-height: 18px;
    padding: 9px 12px;
}

table.cart a.remove {
    display: block;
    font-size: 20px;
}

table.cart .product-thumbnail {
    min-width: 32px;
}

table.cart img {
    width: 32px;
    height: auto;
}

table.cart td.actions {
    text-align: right;
}

table.cart td.actions .coupon label {
    display: none;
}

table.cart td.actions .coupon .input-text {
    width: 80px;
    float: left;
    margin: 0 5px 0 0;
}

table.cart td.actions .coupon {
    float: left;
}

.cart .button,
.cart input.button {
    float: none;
}

table.cart input {
    margin: 0;
    vertical-align: middle;
    line-height: 1em;
}

table.cart td.actions .button.alt {
    float: right;
    margin-left: .25em;
}

.cart-collaterals {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 5rem;
}

.cart-collaterals h2 {
    font-size: 1.2rem;
    font-weight: bold;
}

.cart-collaterals .cart_totals {
    float: right;
    text-align: right;
}

.cart-collaterals .cart_totals table {
    border-collapse: separate;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin: 0 0 6px;
    padding: 0;
    width: 250px;
}

.cart-collaterals .cart_totals table tr:first-child th,
.cart-collaterals .cart_totals table tr:first-child td {
    border-top: 0;
}

.cart-collaterals .cart_totals tr td,
.cart-collaterals .cart_totals tr th {
    text-align: left;
    border-top: 1px solid #eee;
    padding: 6px 6px;
}

.skin-dark-wide .cart-collaterals .cart_totals tr td,
.skin-dark-wide .cart-collaterals .cart_totals tr th {
    border-color: #333;
}

.wc-proceed-to-checkout {
    margin-top: 20px;
}

.cart-collaterals .shipping_calculator {
    width: 250px;
    text-align: right;
    margin: 20px 0 0 0;
    clear: right;
    float: right;
}

.woocommerce .cart-collaterals .shipping_calculator .shipping-calculator-button:after,
.woocommerce-page .cart-collaterals .shipping_calculator .shipping-calculator-button:after {
    font-family: 'FontAwesome';
    line-height: 1;
    margin-left: 7px;
    content: "\f0d7";
}


/************************************ Checkout ************************************/

/* Addresses */
.woocommerce .checkout h3 {
    font-size: 18px;
    font-weight: bold;
}

.woocommerce .checkout .col-2 h3,
.woocommerce-page .checkout .col-2 h3 {
    float: left;
    clear: none;
}

.woocommerce .checkout_coupon .form-row-last,
.woocommerce-page .checkout_coupon .form-row-last {
    float: left;
    margin-left: 10px;
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1 {

}

.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {

}

.woocommerce #customer_details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.woocommerce form .form-row select,
.woocommerce-page form .form-row select {
    width: 100%;
    cursor: pointer;
    margin: 0;
}

.woocommerce form .form-row-wide,
.woocommerce-page form .form-row-wide {
    clear: both;
    padding: 3px;
    margin: 0 0 6px;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    display: block;
}

.woocommerce form .form-row .required,
.woocommerce-page form .form-row .required {
    color: red;
    font-weight: bold;
    border: 0;
}

#billing_country_field {
    width: 100%;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
    float: left;
    width: 47%;
    overflow: visible;
}

.woocommerce .checkout .col-2 .form-row-first,
.woocommerce-page .checkout .col-2 .form-row-first {
    clear: left;
}

.woocommerce form .form-row-last,
.woocommerce-page form .form-row-last {
    float: right;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    outline: 0;
    line-height: 1em;
}

.woocommerce form .form-row .input-checkbox,
.woocommerce-page form .form-row .input-checkbox {
    display: inline;
    margin: -2px 8px 0 0;
    text-align: center;
    vertical-align: middle;
}

.woocommerce .checkout #shiptobilling,
.woocommerce-page .checkout #shiptobilling,
.woocommerce .checkout .col-2 h3#ship-to-different-address,
.woocommerce-page .checkout .col-2 h3#ship-to-different-address {
    width: 100%;
    text-align: right;
    line-height: 1.62em;
    margin: 0 0 0 0;
    padding: 0;
}

.woocommerce .checkout #shiptobilling label,
.woocommerce-page .checkout #shiptobilling label,
.woocommerce .checkout .col-2 h3#ship-to-different-address label,
.woocommerce-page .checkout .col-2 h3#ship-to-different-address label {
    font-size: 11px;
    font-weight: normal;
}

.woocommerce form .form-row label.checkbox,
.woocommerce-page form .form-row label.checkbox {
    display: inline;
}

.woocommerce .checkout .col-2 .notes,
.woocommerce-page .checkout .col-2 .notes {
    clear: left;
}

/* Order Table */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    border: 1px solid rgba(0, 0, 0, 0.1);
    margin: 0px -1px 24px 0px;
    text-align: left;
    width: 100%;
    border-collapse: separate;
}

.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
    font-weight: bold;
    line-height: 18px;
    padding: 9px 12px;
    border: 0;
}

.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th,
.woocommerce-page table.shop_table tfoot td,
.woocommerce-page table.shop_table tfoot th {
    font-weight: bold;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

/* Payment Methods */
#payment ul.payment_methods {
    text-align: left;
    padding: 10px;
    margin: 0;
}

#payment {
    background: #fbfbfb;
}

.skin-dark-wide #payment {
    background: #333;
}

#payment ul.payment_methods {
    text-align: left;
    padding: 1em;
    border-bottom: 1px solid #eee;
    margin: 0;
    list-style: none outside;
}

.skin-dark-wide #payment ul.payment_methods {
    border-color: #222;
}

#payment ul.payment_methods li {
    list-style: none;
    background-image: none;
    line-height: 2em;
    text-align: left;
    margin: 0;
    font-weight: normal;
}

#payment ul.payment_methods li input {
    margin: 0 1em 0 0;
}

#payment ul.payment_methods li img {
    vertical-align: middle;
    margin: -2px 0 0 .5em;
    position: relative;
}

#payment div.payment_box {
    position: relative;
    width: 96%;
    padding: 1em 2%;
    margin: 1em 0 1em 0;
    border-radius: 2px;
    line-height: 1.5em;
    background: #eee;
}

.skin-dark-wide #payment div.payment_box {
    background: #222;
}

#payment div.form-row {
    padding: 10px;
    overflow: hidden;
}

#payment #place_order {
    float: right;
    margin: 0;
}

.woocommerce-checkout #payment .payment_method_paypal .about_paypal {
    float: right;
    line-height: 52px;
    font-size: .83em;
}

.woocommerce-checkout #payment .payment_method_paypal img {
    max-height: 52px;
    vertical-align: middle;
}

/* Order Received Page */
.order_details {
    margin: 0 0 1.5em;
    color: #000;
}

.skin-dark-wide .order_details {
    color: #eee;
}

.order_details::after {
    content: "";
    display: block;
    clear: both;
}

.order_details li {
    list-style: none;
    background-image: none;
    float: left;
    font-size: 12px;
    margin: 0 20px 0 0;
    text-transform: uppercase;
    line-height: 1em;
    border-right: 1px solid #eee;
    padding: 0 20px 0 0;
}

.skin-dark-wide .order_details li {
    border-color: #333;
}

.order_details li {
    border-color: #eee;
}

.order_details li strong {
    display: block;
    font-size: 1.4em;
    text-transform: none;
    line-height: 1.5em;
}


/************************************ Drop Down Shopping Cart Widget ************************************/

#dropdowncart-wrapper {
    float: left;
    width: 100%;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#dropdowncart-wrapper .dropdowncart {
    display: none;
}

.dropdowncart {
    position: relative;
    font-weight: bold;
    float: right;
    margin-bottom: 15px;
}

.skin-dark .dropdowncart,
.skin-dark-wide .dropdowncart {
    color: #fff;
}

.skin-light .dropdowncart,
.skin-light-wide .dropdowncart {
    color: #000;
}

.cart-link {
    background: url(../lib/images/sprite.png);
    padding: 3px 0 3px 27px;
    margin: -3px 0 0 20px;
    cursor: pointer;
}

.skin-dark .cart-link,
.skin-dark-wide .cart-link {
    background-position: -50px -33px;
}

.skin-light .cart-link,
.skin-light-wide .cart-link {
    background-position: -50px -63px;
}

.skin-dark .cart-link,
.skin-dark-wide .cart-link {
    color: #fff;
}

.skin-light .cart-link,
.skin-light-wide .cart-link {
    color: #000;
}

.dropdowncart-contents {
    display: none;
    width: 345px;
    position: absolute;
    right: -10px;
    z-index: 99999;
    padding: 10px;
    margin-top: 15px;
    border-bottom-width: 10px;
    border-style: solid;
}

.skin-dark .dropdowncart-contents,
.skin-dark-wide .dropdowncart-contents {
    border-color: #ffde45;
    background: #3c3c3c;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

.skin-light .dropdowncart-contents,
.skin-light-wide .dropdowncart-contents {
    border-color: #31c8ff;
    background: #f7f7f7;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.dropdowncart-contents .cart_list li {
    list-style: none;
    background-image: none;
    position: relative;
    line-height: 1;
    border-bottom-width: 1px;
    border-style: solid;
    padding: 10px 0;
    margin: 0;
    font-size: 12px;
}

.skin-dark .dropdowncart-contents .cart_list li,
.skin-dark-wide .dropdowncart-contents .cart_list li {
    border-color: #666;
    color: #eee;
}

.skin-light .dropdowncart-contents .cart_list li,
.skin-light-wide .dropdowncart-contents .cart_list li {
    border-color: #ddd;
    color: #333;
}

.dropdowncart-contents .cart_list li.empty {
    padding: 0 0 10px 0;
}

.dropdowncart-contents .dropdowncartimage {
    float: left;
    width: 15%;
}

.dropdowncart-contents .dropdowncartproduct {
    float: left;
    width: 55%;
}

.dropdowncart-contents .dropdowncartquantity {
    float: left;
    width: 30%;
    text-align: right;
}

#dropdowncart .dropdowncart-contents .dropdowncartquantity .quantity,
#dropdowncart .dropdowncart-contents .dropdowncartquantity .amount {
    font-size: 12px;
}

.skin-dark #dropdowncart .dropdowncart-contents .dropdowncartquantity .quantity,
.skin-dark #dropdowncart .dropdowncart-contents .dropdowncartquantity .amount,
.skin-dark-wide #dropdowncart .dropdowncart-contents .dropdowncartquantity .quantity,
.skin-dark-wide #dropdowncart .dropdowncart-contents .dropdowncartquantity .amount {
    color: #fff;
}

.skin-light #dropdowncart .dropdowncart-contents .dropdowncartquantity .quantity,
.skin-light #dropdowncart .dropdowncart-contents .dropdowncartquantity .amount,
.skin-light-wide #dropdowncart .dropdowncart-contents .dropdowncartquantity .quantity,
.skin-light-wide #dropdowncart .dropdowncart-contents .dropdowncartquantity .amount {
    color: #000;
}

.dropdowncart-contents span.quantity {
    padding-right: 5px;
}

.dropdowncart-contents .cart_list li img {
    margin: 0;
    width: 30px;
    height: auto;
    line-height: 0;
    padding: 3px;
    background: #eee;
}

.skin-dark .dropdowncart-contents .cart_list li a,
.skin-dark-wide .dropdowncart-contents .cart_list li a {
    color: #fff;
}

.skin-light .dropdowncart-contents .cart_list li a,
.skin-light-wide .dropdowncart-contents .cart_list li a {
    color: #000;
}

.dropdowncart-contents .variation dl {
    float: left;
}

.dropdowncart-contents p.total {
    margin-top: 10px;
    text-align: right;
}

.dropdowncart-contents p.buttons {
    margin-bottom: 0;
}

.dropdownbutton {
    font-weight: bold;
    text-transform: uppercase;
    display: inline-block;
    margin: 0 5px 0 0;
    line-height: 1;
    padding: 8px 12px;
    background: #000;
    font-size: 12px;
}

.dropdownbutton:hover {
    color: #000;
}

/* Account Pages */
table.my_account_orders th,
table.my_account_orders td {
    vertical-align: top;
}

address {
    line-height: 19px !important;
}

.addresses .title::after {
    content: "";
    display: block;
    clear: both;
}

.addresses .title h3 {
    float: left;
}

.addresses .title .edit {
    float: right;
}

/* Login Page */
.woocommerce-account .lost_password {
    display: block;
    margin-top: 10px;
    font-size: 12px;
}


/************************************ Cloud Zoom Image ************************************/

.mousetrap {
    background-image: url(../lib/images/blank.gif);
}

.cloud-zoom-lens {
    border: 1px solid #eee;
    background: rgba(255, 255, 255, 0.5);
    cursor: move;
}

.cloud-zoom-title {
    font-family: Arial, Helvetica, sans-serif;
    position: absolute !important;
    background-color: #000;
    color: #fff;
    padding: 3px;
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-size: 10px;
    top: 0px;
}

.cloud-zoom-big {
    border: 4px solid #eee;
    margin-left: -4px;
    background-repeat: no-repeat;
    overflow: hidden;
}

.cloud-zoom-loading {
    display: none;
}


/************************************ Fancybox ************************************/

#fancybox-wrap {
    z-index: 9999999;
}

#fancybox-overlay {
    z-index: 99999;
}

#fancybox-outer {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

#fancybox-outer #reply-title {
    color: #000;
}

#fancybox-title-float {
    border: 0;
    text-transform: uppercase;
    padding: 6px 12px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}


/************************************ Demo Banner ************************************/

p.demo_store {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    width: 100%;
    font-size: 1em;
    padding: .5em 0;
    text-align: center;
    background: #AD74A2;
    background: -webkit-gradient(linear, left top, left bottom, from(#AD74A2), to(#96588A));
    background: -webkit-linear-gradient(#AD74A2, #96588A);
    background: -moz-linear-gradient(center top, #AD74A2 0, #96588A 100%);
    background: -moz-gradient(center top, #AD74A2 0, #96588A 100%);
    border: 1px solid #96588A;
    color: #fff;
    z-index: 999999;
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.2);
    -webkit-box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.2);
    -moz-box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.2);
}