/* Clear: both */
.woocommerce form .form-row-wide, 
.woocommerce form .form-row:after, 
.woocommerce ul.cart_list li:after, 
.woocommerce ul.product_list_widget li:after, 
.woocommerce-page .cart-collaterals .shipping_calculator:after, 
.woocommerce-page form .form-row-wide, 
.woocommerce-page form .form-row:after, 
.woocommerce-page ul.cart_list li:after, 
.woocommerce-page ul.product_list_widget li:after { clear: both; }

/* Overlay */
.blockOverlay { background: rgba(255 255 255 / 80%) !important; opacity: 100% !important; z-index: 10 !important; }
body.woocommerce-checkout .blockOverlay { background: rgba(245 242 239 / 80%) !important; }

/* Default: H3 */
.u-columns h3 { margin-bottom: 20px; font-size: 30px !important; text-transform: uppercase; color: #162840 !important; position: relative; }

/* Product categories */
.dropdown_product_cat_wrapper { padding: 20px 20px 0 20px; }
body.home .dropdown_product_cat_wrapper { padding: 20px; }
.dropdown_product_cat { width: 100%; height: 50px; padding-left: 10px; background: white; border: 1px solid #ddd; -moz-box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); -webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); }
.dropdown_product_cat:focus { border-color: #ccc; }


/*
-----------------
	MESSAGES
-----------------
*/
.notice { font-size: 16px; font-weight: 700; color: #000 !important }

.notice.success,
.woocommerce-message { margin-bottom: 20px; padding: 10px 20px; color: #000; background: var(--color-light-green); border: 1px solid var(--color-green); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }

/* Info */
.woocommerce-info { margin-bottom: 20px; padding: 10px 20px; color: #000; background: var(--color-light-yellow); border: 1px solid var(--color-yellow); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }

/* Message */
.woocommerce-message { background: var(--color-light-green); border: 1px solid var(--color-green); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.woocommerce-message a.button { height: 40px !important; padding: 0 15px !important; font-size: 15px !important; line-height: 40px !important; background-image: none !important; }

.notice.error, 
.woocommerce-error { margin-bottom: 20px !important; margin-left: 0 !important; padding: 10px 20px; background: #fbeded; border-left: 3px solid #d13939; }

.notice.error li, 
.woocommerce-error li { list-style: none !important; }


/*
-----------------------
	PRODUCTS BEFORE
-----------------------
*/
.woocommerce-result-count { line-height: 50px; float: left; }

form.woocommerce-ordering { margin-bottom: 20px; float: right; }
form.woocommerce-ordering select { width: 100%; height: 50px; padding-left: 10px; background: white; border: 1px solid var(--color-sand); outline: 3px solid transparent; }
form.woocommerce-ordering select:focus { border-color: var(--color-purple); outline-color: var(--color-purple-a15); }

.itemsorder { margin-left: 30px; float: right; }
.itemsorder label { margin-right: 10px; font-weight: 700; color: #000; line-height: 40px; }

/* Category selector */
ul.category_selector { font-size: 0; text-align: center; }
ul.category_selector li { margin: 0 10px; display: inline-block; }
ul.category_selector li a { font-size: 20px; color: #162840; }


/*
--------------------
	PRODUCT LIST
--------------------
*/
ul.products { margin-left: -10px !important; margin-right: -10px; display: flex; flex-wrap: wrap; clear: both; }
ul.products li { width: calc(25% - 20px); margin: 50px 10px 0; padding-left: 0 !important; border: 1px solid var(--color-sand); position: relative; }
ul.products li:nth-child(-n+4) { margin-top: 0; }

/* On sale */
ul.products li .onsale { left: 0; top: 10px; padding: 5px; font-size: 14px; color: white; background: #e44d84; position: absolute; }

/* Thumbnail */
ul.products li a.thumbnail { text-align: center; display: block; }
ul.products li a.thumbnail img { width: 100%; height: auto; display: block; }

ul.products li .entry { padding: 20px; }
ul.products li .entry h3 { height: 90px; margin-bottom: 0 !important; font-weight: normal; }
ul.products li .entry h3 a { font-size: 17px; font-weight: 700; text-decoration: none !important; color: #1f2326 !important; line-height: 100%; display: block; }

ul.products li .entry .short_description { min-height: 60px; font-size: 16px; color: #777; line-height: 20px; }
ul.products li .entry .short_description p { margin-bottom: 0 !important; display: inline; }
ul.products li .entry .short_description strong { font-weight: normal; }

/* Price and button */
ul.products li .entry .price { height: 50px; font-size: 20px; font-weight: 700; color: #e44d84; }
ul.products li .entry .price del { font-size: 14px; font-weight: 400; text-decoration: line-through; color: #999; line-height: 13px; display: block; }
ul.products li .entry .button { height: 40px; font-size: 15px; font-weight: 700; text-transform: uppercase; line-height: 40px; }
ul.products li .entry .button:hover { background-color: #272727; }

body.single-product .products_panel { margin-left: -30px; margin-right: -30px; }

/* Post type archive products */
body.post-type-archive-product ul.products { margin-left: 0 !important; margin-right: 0; border-top: none; }
body.post-type-archive-product ul.products .wrapper {  }
body.post-type-archive-product ul.products .wrapper a { padding: 20px; text-align: center; text-decoration: none; display: block; }
body.post-type-archive-product ul.products .wrapper img { width: 100%; height: auto; display: block; }
body.post-type-archive-product ul.products .wrapper h2 { height: 60px; padding-top: 10px; font-size: 16px; font-weight: 700; }

/* Categories */
ul.products li.product-category a img { width: auto; max-height: 210px; }


/*
-----------------------
	SINGLE PRODUCT
-----------------------
*/
.product { display: table; position: relative; }
body.single-product .product.custom_single_product { width: 100%; display: table; table-layout: fixed; }

/* Labels */
.product .label { left: 0; padding: 10px; font-size: 14px; font-weight: 700; color: white; line-height: 14px; position: absolute; z-index: 9; }
.product .onsale { top: 50px; background: #d13939; }
.product .free_shipping { top: 50px; background: #fc9b19; }
.product .free_shipping.has_sale { top: 90px; }

/* Images */
.product .images { width: 50%; margin-bottom: 30px; padding-right: 30px; font-size: 0; display: table-cell; position: relative; z-index: 1; }
.product .images img { width: auto; max-width: 100%; }

.product .images .woocommerce-product-gallery__wrapper { display: flex; flex-wrap: wrap; justify-content: center; }

.product .images .woocommerce-product-gallery__image:nth-child(1) { margin-bottom: 10px; }
.product .images .woocommerce-product-gallery__image:nth-child(1) a { display: block; }
.product .images .woocommerce-product-gallery__image:nth-child(1) img { width: auto; max-width: 100%; height: auto; display: block; }

.product .images .woocommerce-product-gallery__image:nth-child(n+2) { width: 20%; text-align: center; }
.product .images .woocommerce-product-gallery__image:nth-child(n+2) a { padding: 0 5px; text-align: center; display: inline-block; }
.product .images .woocommerce-product-gallery__image:nth-child(n+2) a img { width: 100%; height: auto; margin: auto; display: block; }


/* Summary */
.product .summary { width: 50%; vertical-align: top; display: table-cell; }
.product .summary h1 { margin-bottom: 20px; font-size: 30px !important; color: #162840; line-height: 100%; position: relative; }
.product .summary h1 small { font-size: 18px; display: block; }

/* Entry */
.product .summary .admin_actions { margin-bottom: 30px; }
.product .summary .admin_actions label { font-size: 12px; font-weight: 700; display: block; }
.product .summary .admin_actions a { height: 30px; padding-left: 25px; line-height: 30px; background-repeat: no-repeat; background-position: left center; background-size: auto 16px; display: block; }
.product .summary .admin_actions a.post-edit-link { background-image: url(../images/icon_edit.svg); }

.product .summary .button_back_wrapper { height: 50px; position: relative; overflow: hidden; }
.product .summary a.button_back { font-size: 14px; font-weight: bold; text-decoration: none !important; color: #000 !important; border-bottom: none !important; display: inline-block; position: relative; opacity: 0.5; }
.product .summary a.button_back:hover { text-decoration: underline !important; opacity: 1; }
.product .summary a.button_back svg { margin-right: 5px; vertical-align: sub; display: inline-block; }

/* Rating */
.product .summary .woocommerce-product-rating { padding-bottom: 10px; }
.product .summary .woocommerce-product-rating .star-rating { display: inline-block; }

/* Price */
.product .summary .price_wrapper { margin-bottom: 15px; padding: 20px 0; border-top: 3px solid var(--color-sand); border-bottom: 3px solid var(--color-sand); position: relative; }
.product .summary .price { margin-bottom: 0 !important; font-size: 25px; font-weight: 900; color: #162840; }
.product .summary .price del { font-size: 17px; text-decoration: line-through; opacity: 0.5; display: block; }
.product .summary .price_info { right: 0; top: 20px; font-size: 15px; font-weight: 900; color: #999; position: absolute; }

/* Description */
.product .summary .description { margin-bottom: 20px; font-size: 14px; color: #777; line-height: 20px; position: relative; }
.product .summary .description p { margin-bottom: 0 !important; }
.product .summary .description ul li { list-style: square; }

/* Stock */
.product .summary .stock_status { right: 0; top: 22px; font-size: 15px; font-weight: 900; text-transform: uppercase; position: absolute; }
.product .summary .stock_status.stock { color: #8bb94d; }
.product .summary .stock_status.fewdays, 
.product .summary .stock_status.onrequest, 
.product .summary .stock_status.out_of_stock { color: #d13939; }

/* Cart */
.product .summary form.cart { margin-bottom: 20px; font-size: 0; position: relative; }
.product .summary form.cart .quantity { width: 30%; height: 60px; display: inline-block; }
.product .summary form.cart .quantity input { width: 100%; height: 100%; font-size: 18px; text-align: center; vertical-align: top; background: white; border: 2px solid var(--color-sand); border-right: none; }
.product .summary form.cart .single_add_to_cart_button { width: 70%; height: 60px; font-size: 19px; vertical-align: top; line-height: 60px; display: inline-block; -webkit-border-radius: 0 3px 3px 0; -moz-border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0; }

/* Product meta */
.product .summary .product_meta { /*display: none !important;*/ }
.product .summary .product_meta .sku_wrapper { display: none !important; }
.product .summary .curtain_height { height: 40px; margin-bottom: 20px; padding: 0 10px 0 40px; font-weight: 500; color: #000; line-height: 40px; background: #f1f5ea url(../images/icon_alert.svg) no-repeat 10px center; background-size: auto 20px; border: 1px solid #8bb94d; }

/* Calc */
.product .summary #calc { font-size: 15px; border: 1px solid #e44d84; }
.product .summary #calc .calc_header { padding: 10px 20px; font-size: 20px; color: white; background: #e44d84; }
.product .summary #calc .calc_inner { padding: 20px; }
.product .summary #calc .calc_inner.total { border-top: 1px solid #e44d84; }
.product .summary #calc select { height: 40px; padding-left: 5px; }
.product .summary #calc input.small_input { width: 45px; height: 40px; text-align: center; border: 1px solid #ddd; -moz-box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); -webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); } 
.product .summary #calc ul.calcDesc li { padding: 5px; }
.product .summary #calc ul.calcDesc li:nth-child(odd) { background: #f5f5f5; }

/* Tabs */
.product .woocommerce-tabs { margin-bottom: 70px; padding-top: 40px; position: relative; clear: both; }
.product .woocommerce-tabs h2 { margin-bottom: 20px !important; font-size: 35px !important; }
.product .woocommerce-tabs ul.tabs { margin-left: 0 !important; margin-bottom: 30px !important; font-size: 0; border-bottom: 2px solid var(--color-sand); }
.product .woocommerce-tabs ul.tabs li { display: inline-block; list-style: none !important; }
.product .woocommerce-tabs ul.tabs li a { height: 50px; margin-right: 20px; margin-bottom: -2px; font-size: 18px; font-weight: 500; text-transform: uppercase; text-decoration: none !important; color: #888 !important; border-bottom: 3px solid transparent; display: block; }
.product .woocommerce-tabs ul.tabs li a:hover { color: #162c4a !important; }
.product .woocommerce-tabs ul.tabs li.active a { color: #162c4a !important; border-bottom-color: #162c4a; }

.product .woocommerce-tabs .panel { font-size: 16px; color: #777; }
.product .woocommerce-tabs .panel.panel-description { margin-bottom: 70px; display: block !important; }
.product .woocommerce-tabs .panel.panel-description h2 { margin-bottom: 20px; font-size: 40px !important; text-transform: uppercase; color: #e44d84; }
.product .woocommerce-tabs .panel.panel-description h3 { margin-bottom: 20px; font-size: 18px !important; font-weight: 500; text-transform: uppercase; color: #162c4a; }
.product .woocommerce-tabs .panel.panel-description h3 span { font-size: 25px; color: #d13939; }
.product .woocommerce-tabs .panel.panel-reviews { display: block !important; }

.product .panel .technical_description a { min-height: 25px; font-size: 16px; font-weight: 500; line-height: 25px; display: block; }
.product .panel .technical_description a:before { font-size: 25px; text-decoration: none; vertical-align: middle; color: #162840; display: inline-block; }

/* Reviews */
.product .reviews h2.reviews_title { margin-bottom: 30px; font-size: 35px; color: #162c4a; }
.product .reviews h3.comment-reply-title { display: none; }
.product .reviews p.noreviews { margin-bottom: 20px; padding: 3px 10px; font-size: 14px; color: white; background: var(--color-green); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }

.product .reviews form.comment-form .required { color: #013b6b; }
.product .reviews form.comment-form .comment-notes { padding: 3px 10px; font-size: 14px; color: white; background: var(--color-green); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.product .reviews form.comment-form .comment-form-author { width: 48%; float: left; }
.product .reviews form.comment-form .comment-form-email { width: 48%; float: right; }
.product .reviews form.comment-form label { font-weight: 700; color: #000; display: block; }

.product .reviews form.comment-form input[type=text],
.product .reviews form.comment-form input[type=email] { width: 100%; height: 40px; padding-left: 10px; background: white; border: 1px solid #ddd; }

.product .reviews form.comment-form input[type=text]:focus, 
.product .reviews form.comment-form input[type=email]:focus { -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.07); -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.07); box-shadow: 0 1px 2px rgba(0,0,0,0.07); }

.product .reviews p.comment-form-rating { border-bottom: 1px solid #cdcdcd; }
.product .reviews p.comment-form-rating label { width: 100%; font-weight: 500; color: #000; line-height: 30px; display: block; }

.product .reviews p.comment-form-comment label { font-weight: 500; color: #000; display: block; }
.product .reviews p.comment-form-comment textarea { height: 150px; padding: 10px; background: white; border: 1px solid #ddd; }
.product .reviews p.comment-form-comment textarea:focus { -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.07); -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.07); box-shadow: 0 1px 2px rgba(0,0,0,0.07); }

.product .reviews p.comment-form-comment input[type=submit] {}

.product .reviews ol.commentlist { margin-left: 0 !important; padding-top: 30px; border-top: 3px solid #cdcdcd; }
.product .reviews ol.commentlist li { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 3px solid #cdcdcd; position: relative; }
.product .reviews ol.commentlist li .row { width: 100%; position: relative; display: table; }
.product .reviews ol.commentlist li .row .comment_approved { margin-bottom: 20px; padding: 3px 10px; font-size: 14px; text-align: center; color: white; line-height: 17px; background: #013b6b; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.product .reviews ol.commentlist li .row .one_third { width: 33%; color: #162840; vertical-align: top; display: inline-block; }
.product .reviews ol.commentlist li .row .one_third .author { font-weight: 900; color: #013b6b; }
.product .reviews ol.commentlist li .row .one_third .rating { font-size: 14px; }
.product .reviews ol.commentlist li .row .one_third .rating .star-rating { height: 20px; padding: 0 5px; font-size: 12px; line-height: 20px; background: white; display: inline-block; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
.product .reviews ol.commentlist li .row .one_third .datetime { font-size: 13px; }

.product .reviews ol.commentlist li .row .two_third { width: 67%; vertical-align: top; display: inline-block; }
.product .reviews ol.commentlist li .row .two_third .comment_content { font-size: 15px; }

.product .reviews ol.commentlist li .comment-text {position: relative; }
.product .reviews ol.commentlist li .comment-text p.meta { margin-bottom: 10px !important; }
.product .reviews ol.commentlist li .comment-text p:last-child { margin-bottom: 0 !important; }
.product .reviews ol.commentlist li .comment-text .star-rating { float: right; }

.product .reviews input[type=submit] { height: 60px; padding: 0 30px; font-family: 'Roboto Condensed', sans-serif; font-size: 19px; text-transform: uppercase; text-decoration: none !important; color: #fff !important; line-height: 60px; background-color: #162840; display: inline-block; position: relative; cursor: pointer; -webkit-transition: all 0.1s ease-out; -moz-transition: all 0.1s ease-out; -o-transition: all 0.1s ease-out; transition: all 0.1s ease-out; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.product .reviews input[type=submit]:hover { background-color: #013b6b; }

/* Related products */
.related.products { margin-top: 50px; clear: both; }
.related.products h2 { margin-bottom: 30px; padding-bottom: 20px; font-family: 'Roboto Condensed', sans-serif; font-size: 30px; text-transform: uppercase; color: #162c4a; line-height: 110%; border-bottom: 1px solid #cdcdcd; }


/*
------------------
	PAGINATION
------------------
*/
.woocommerce-pagination { height: 66px; text-align: center; }
.woocommerce-pagination ul { height: 100%; margin-left: 0; font-size: 0; border: 1px solid #f0f0f0; display: inline-block; overflow: hidden; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
.woocommerce-pagination ul li { height: 100%; vertical-align: top; border-right: 1px solid #f0f0f0; display: inline-block; list-style: none; }
.woocommerce-pagination ul li:last-child { border-right: none; }
.woocommerce-pagination ul li a, 
.woocommerce-pagination ul li span { width: 60px; height: 100%; font-size: 18px; font-weight: 700; text-align: center; text-decoration: none !important; line-height: 64px; display: inline-block; }

.woocommerce-pagination ul li a { color: #272727 !important; }
.woocommerce-pagination ul li a:hover { color: #000 !important; background: #fdedf3; }
.woocommerce-pagination ul li span.current { color: white; background: #e44d84; }


/*
--------------
	CART
--------------
*/
table.shop_table.cart { width: 100%; margin-bottom: 20px; border-spacing: 0; border-collapse: collapse; }
table.shop_table.cart thead th { height: 50px; font-size: 15px; text-transform: uppercase; color: white !important; background: #653e59; position: relative; }

table.shop_table.cart tbody tr:nth-child(even) td { background: var(--color-sand-light); }
table.shop_table.cart tbody td { padding: 10px 0; border-bottom: 1px solid var(--color-sand); }

table.shop_table.cart .product-remove { width: 50px; text-align: center; }
table.shop_table.cart .product-remove a { width: 30px; height: 30px; font-size: 25px; text-decoration: none !important; text-align: center; color: #162840 !important; line-height: 30px; border-bottom: none !important; display: inline-block; }
table.shop_table.cart .product-remove a:hover { color: #1e548b !important; }

table.shop_table.cart .product-thumbnail { width: 100px; }
table.shop_table.cart .product-thumbnail a { border-bottom: none !important; display: block; }
table.shop_table.cart .product-thumbnail img { max-width: 70px; max-height: 70px; padding: 5px; background: white; border: 1px solid #ddd; display: block; }

table.shop_table.cart .product-name { text-align: left; line-height: 17px; }
table.shop_table.cart .product-name a { font-size: 15px; font-weight: 500; color: #162840 !important; }
table.shop_table.cart .product-name a:hover { text-decoration: underline; color: #000 !important; }
table.shop_table.cart .product-name dl { font-size: 14px; text-transform: uppercase; color: #777; }
table.shop_table.cart .product-name dl dt { display: inline-block; }
table.shop_table.cart .product-name dl dd { color: #333; display: block; }
table.shop_table.cart .product-name dl dd p { margin-bottom: 5px !important; }

table.shop_table.cart .product-price { width: 130px; text-align: center; color: #162840; }

table.shop_table.cart .product-quantity { width: 120px; text-align: center; }
table.shop_table.cart .product-quantity label { display: none; }
table.shop_table.cart .product-quantity input { width: 50px; height: 40px; text-align: center; color: #162840; background: #fff; border: 1px solid #ddd; }
table.shop_table.cart .product-quantity div.qty_button { width: 30px; height: 40px; text-align: center; line-height: 40px; display: block; float: left; cursor: pointer; }
table.shop_table.cart .product-quantity div.qty_button:hover { color: #000; }

table.shop_table.cart .product-subtotal { width: 110px; padding-right: 20px; text-align: right; }

/* Coupon */
table.shop_table.cart td.actions { padding: 20px 0; background: white !important; border-bottom: none; }
table.shop_table.cart td.actions .coupon { vertical-align: top; display: inline-block; }
table.shop_table.cart td.actions .coupon label { display: none; }
table.shop_table.cart td.actions .coupon input { vertical-align: top; }
table.shop_table.cart td.actions .coupon input[type=text] { width: 200px; height: 50px; padding-left: 10px; background: white; border: 1px solid #ddd; -moz-box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); -webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); } }
table.shop_table.cart td.actions .update_cart { background: #ddd; }
table.shop_table.cart td.actions .update_cart:disabled { background: #ddd; }
table.shop_table.cart td.actions .update_cart { vertical-align: top; background: var(--color-green); }

/* Proceed to checkout */
.cart-collaterals h2 { font-size: 25px; padding: 30px 30px 20px 0; }
.cart-collaterals .cart_totals {  }
.cart-collaterals .cart_totals table { width: 100%; }
.cart-collaterals .cart_totals table tbody th, 
.cart-collaterals .cart_totals table tbody td { padding: 10px; border-bottom: 1px solid var(--color-sand); }
.cart-collaterals .cart_totals table tbody th { text-align: left; }
.cart-collaterals .cart_totals table tbody tr.shipping ul { margin-left: 0 !important; margin-bottom: 10px !important; }
.cart-collaterals .cart_totals table tbody tr.shipping ul li { padding-left: 0 !important; list-style: none !important; }
.cart-collaterals .cart_totals table tbody tr.shipping ul li:before { display: none !important; }

.cart-collaterals .cart_totals p.woocommerce-shipping-destination { margin-bottom: 0 !important; font-size: 14px; }

.cart-collaterals .wc-proceed-to-checkout { padding-top: 30px; text-align: right; }
.cart-collaterals .wc-proceed-to-checkout .button { height: 60px; line-height: 60px; background: var(--color-purple); -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; }

/* Order details */
table.shop_table.order_details { width: 100%; margin-bottom: 20px; border-spacing: 0; border-collapse: collapse; }
table.shop_table.order_details thead th.product-total, 
table.shop_table.order_details tbody td.product-total { padding-right: 10px; text-align: right; }
table.shop_table.order_details tbody td { padding: 10px; border-bottom: 1px solid #ddd; }

table.shop_table.order_details tfoot tr:nth-child(odd) th,
table.shop_table.order_details tfoot tr:nth-child(odd) td { background: #f8f8f8; }
table.shop_table.order_details tfoot th { width: 60%; padding: 10px; text-align: left; color: #000; border-top: 1px solid #ddd; }
table.shop_table.order_details tfoot td { padding: 10px; text-align: right; border-top: 1px solid #ddd; }

/* Customer_details */
table.shop_table.customer_details { width: 100%; margin-bottom: 20px; border-spacing: 0; border-collapse: collapse; }
table.shop_table.customer_details tbody th { width: 60%; padding: 10px; text-align: left; color: #000; border-bottom: 1px solid #ddd; }
table.shop_table.customer_details tbody td { padding: 10px; text-align: right; border-bottom: 1px solid #ddd; }


/*
----------------
	CHECKOUT
----------------
*/
form.checkout { display: flex; flex-wrap: wrap; justify-content: space-between; }
form.checkout h3#order_review_heading { display: none !important; }

/* Customer details */
form.checkout #customer_details { width: calc(100% - 450px); }

/* Order review */
form.checkout #order_review { width: 400px; padding: 20px; background: var(--color-sand-light); }
form.checkout #order_review table.shop_table { width: 100%; margin-bottom: 20px; border-collapse: collapse; border-spacing: 0; }
form.checkout #order_review table.shop_table thead tr th { font-size: 13px; font-weight: 700; text-align: left; text-transform: uppercase; border-bottom: 2px solid rgba(0 0 0 / 10%); }
form.checkout #order_review table.shop_table thead tr th.product-total { text-align: right; }

form.checkout #order_review table.shop_table tbody tr td { padding: 10px 0; font-size: 14px; line-height: 18px !important; border-bottom: 1px solid rgba(0 0 0 / 10%); }
form.checkout #order_review table.shop_table tbody tr td.product-total { padding: 10px 0; text-align: right; }

form.checkout #order_review table.shop_table tfoot tr th { padding: 10px 0; text-align: left; border-bottom: 1px solid rgba(0 0 0 / 10%); }
form.checkout #order_review table.shop_table tfoot tr td { padding: 10px 0; text-align: right; border-bottom: 1px solid rgba(0 0 0 / 10%); }

form.checkout #order_review table.shop_table tfoot tr.shipping td { text-align: left; }
form.checkout #order_review table.shop_table tfoot tr.shipping td ul { margin-left: 0 !important; margin-bottom: 0 !important; text-align: left; }
form.checkout #order_review table.shop_table tfoot tr.shipping td ul li { margin-bottom: 10px; padding-left: 25px; font-size: 15px; list-style: none; position: relative; }
form.checkout #order_review table.shop_table tfoot tr.shipping td ul li:last-child { margin-bottom: 0; }
form.checkout #order_review table.shop_table tfoot tr.shipping td ul li input { left: 0; top: 4px; position: absolute; }
form.checkout #order_review table.shop_table tfoot tr.shipping td ul li label { font-weight: 700; line-height: 20px; display: block; cursor: pointer; }
form.checkout #order_review table.shop_table tfoot tr.shipping td ul li label > span { font-weight: 400; display: block; }

form.checkout #order_review .woocommerce-checkout-payment ul { margin-left: 0 !important; padding: 20px; background: rgba(0 0 0 / 5%); -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
form.checkout #order_review .woocommerce-checkout-payment ul li { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(0 0 0 / 10%); list-style: none; }
form.checkout #order_review .woocommerce-checkout-payment ul li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
form.checkout #order_review .woocommerce-checkout-payment ul li label { font-weight: 700; cursor: pointer; }
form.checkout #order_review .woocommerce-checkout-payment ul li .payment_box { font-size: 14px; color: #666; line-height: 18px; }
form.checkout #order_review .woocommerce-checkout-payment ul li .payment_box p { margin-bottom: 0 !important; }

form.checkout #order_review .form-row.validate-required label { padding-left: 30px; font-size: 14px; line-height: 18px; display: block; position: relative; }
form.checkout #order_review .form-row.validate-required label input[type=checkbox] { left: 0; top: 0; margin-top: 0 !important; position: absolute; }

form.checkout #order_review button#place_order { width: 100%; }


/*
-----------------------
	THANK YOU PAGE
-----------------------
*/
table.shop_table.order_details { width: 100%; margin-bottom: 20px; border-spacing: 0; border-collapse: collapse; }
table.shop_table.order_details thead th { height: 50px; padding: 10px; font-size: 15px; text-transform: uppercase; color: white !important; background: #272727; position: relative; }
table.shop_table.order_details thead th.product-name { text-align: left; }


/*
-------------------
	MY ACCOUNT
-------------------
*/

/* Tab navigation */
.woocommerce-MyAccount-navigation ul { margin-left: 0 !important; font-size: 0; border-bottom: 3px solid #653e59; } 
.woocommerce-MyAccount-navigation ul li { vertical-align: top; border-right: 1px solid var(--color-sand); display: inline-block; }
.woocommerce-MyAccount-navigation ul li:last-child { border-right: none; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads { display: none !important; }
.woocommerce-MyAccount-navigation ul li a { padding: 0 20px; font-size: 17px; font-weight: 700; text-decoration: none !important; color: #999 !important; line-height: 50px; display: block; }
.woocommerce-MyAccount-navigation ul li a:hover { color: #272727 !important; }

.woocommerce-MyAccount-navigation ul li.is-active { background: #653e59; }
.woocommerce-MyAccount-navigation ul li.is-active a { color: white !important; }

/* Adresses */
.u-columns.addresses { width: 100%; border: 1px solid var(--color-sand); display: table; table-layout: fixed; }
.u-columns.addresses .col-1 { width: 50%; padding: 30px; vertical-align: top; border-right: 1px solid var(--color-sand); display: table-cell; }
.u-columns.addresses .col-2 { width: 50%; padding: 30px; vertical-align: top; display: table-cell; }

/* Customer login */
.u-columns { display: flex; flex-wrap: wrap; }
.u-columns h2 { margin-bottom: 20px; font-size: 30px !important; line-height: 100%; }
.u-columns .col-1 { width: 50%; padding: 50px; background: var(--color-sand-light); -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
.u-columns .col-2 { width: 50%; padding: 50px; }

table.shop_table.woocommerce-orders-table { width: 100%; margin-bottom: 20px; border-spacing: 0; border-collapse: collapse; }
table.shop_table.woocommerce-orders-table thead th { height: 50px; padding: 10px; font-size: 15px; text-transform: uppercase; color: white !important; background: #272727; position: relative; }
table.shop_table.woocommerce-orders-table thead th.woocommerce-orders-table__header-order-actions { text-align: center; }
table.shop_table.woocommerce-orders-table tbody td { padding: 10px; border-bottom: 1px solid #ddd; }
table.shop_table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions { text-align: center; }


/*
-------------
	FORM
-------------
*/
.form-row { margin-bottom: 10px; }

.form-row-first { width: calc(50% - 10px); float: left; }
.form-row-last { width: calc(50% - 10px); float: right; }

.form-row br { display: none; }
.form-row label { font-weight: 700; color: #162840; display: block; }
.form-row .required { color: red; }

.form-row select, 
.form-row textarea, 
.form-row input[type=tel], 
.form-row input[type=text], 
.form-row input[type=email], 
.form-row input[type=password] { width: 100%; height: 50px; padding-left: 10px; background: white; border: 1px solid var(--color-sand); outline: 3px solid transparent; }

.form-row select:focus, 
.form-row textarea:focus, 
.form-row input[type=tel]:focus, 
.form-row input[type=text]:focus, 
.form-row input[type=email]:focus, 
.form-row input[type=password]:focus { border-color: var(--color-purple); outline-color: var(--color-purple-a15); }

.form-row textarea { min-height: 150px; padding: 10px; resize: vertical; }

/* Password strength */
.form-row .woocommerce-password-strength { padding: 10px; margin-top: 20px; }
.form-row .woocommerce-password-strength.bad { color: white; background: #fef6f6; }

/* Fieldset */
fieldset { margin-top: 50px; }
fieldset legend { margin-bottom: 30px; font-size: 30px; font-weight: 900; color: #162840; }
fieldset .form-row { margin-bottom: 10px !important; }
fieldset .form-row label { width: 100%; display: block; float: none; }
fieldset .form-row input[type=password] { width: 100%; }

/* Custom classes */
.select2-choice { height: 50px; line-height: 50px; }
.select2-selection--single { height: 40px !important; border: 1px solid #ddd !important; border-radius: 0 !important; }
.select2-selection__rendered { height: 40px !important; line-height: 38px !important; }


/*
-----------
	RWD
-----------
*/
@media only screen and (max-width: 1600px) {
	
	/* MY ACCOUNT */
	.form_login_wrapper { min-height: calc(100vh - 205px); }
	.form_login_wrapper .col_40 { width: 50%; }
	.form_login_wrapper .col_60 { width: 50%; }
}

@media only screen and (max-width: 1200px) {
	
	/* SINGLE PRODUCT: Images */
	.product .images { width: 100%; width: calc(100% - 450px); max-width: 750px; }
	
	/* SINGLE PRODUCT: Summary */
	.product .summary { width: 400px; }
	
	/* SINGLE PRODUCT: Tabs */
	.product .woocommerce-tabs { width: 100%; width: calc(100% - 450px); max-width: 750px; }

	/* MY ACCOUNT */
	.form_login_wrapper { min-height: calc(100vh - 195px); }
	
	.form_login_wrapper .why_us .entry { padding: 60px 30px 0 50px; }
	.form_login_wrapper .why_us .entry h2 { margin-bottom: 30px; font-size: 40px; }
	.form_login_wrapper .login_register { padding: 60px 50px 0; }
}

@media only screen and (max-width: 1100px) {
	
	/* PRODUCT DATA */
	.product .woocommerce-variation-price { width: 100%; float: none; }
	.product .summary .woocommerce-variation-add-to-cart { width: 100%; text-align: left; float: none; }
	
	/* CART */	
	body.woocommerce-cart .woocommerce > form { width: 100%; float: none; }
	
	/* CART: Proceed to checkout */
	body.woocommerce-cart .cart-collaterals { width: 100%; float: none; }
}

@media only screen and (max-width: 960px) {
	
	/* PRODUCT LIST */
	.woocommerce-ordering, 
	.woocommerce-ordering select { width: 100% !important; }
	
	/* SINGLE PRODUCT: Images */
	.product .images { width: 100%; width: calc(100% - 400px); max-width: 800px; }
	
	/* SINGLE PRODUCT: Summary */
	.product .summary { width: 350px; }
	
	/* SINGLE PRODUCT: Tabs */
	.product .woocommerce-tabs { width: 100%; max-width: none; }
	
	/* SINGLE PRODUCT: Rating */
	.product .summary .woocommerce-product-rating .star-rating { display: block; }
	
	/* CHECKOUT: Customer details */
	form.checkout #customer_details { width: 100%; }

	/* CHECKOUT: Order review */
	form.checkout #order_review { width: 100%; }
	
	/* MY ACCOUNT: Customer login */
	.u-columns .col-1 { width: 100%; padding: 50px; }
	.u-columns .col-2 { width: 100%; padding: 50px 0; }
}

@media only screen and (max-width: 768px) {
	
	/* ORDERING */
	div.itemsorder { margin-left: 0; margin-bottom: 20px; float: none; }
	div.itemsorder select { margin-left: 0; }
	
	/* PRODUCTS */
	ul.products li { width: calc(33.3333333333% - 20px); }
	ul.products li:nth-child(4) { margin-top: 50px; }
	
	/* SINGLE PRODUCT: Images */
	.product .images { width: 100%; max-width: none; float: none; }
	.product .images img { max-width: 80%; }

	/* SINGLE PRODUCT */
	.product { display: block; }
	
	/* SINGLE PRODUCT: Summary */
	.product .summary { width: 100%; float: none; }
	
	/* SINGLE PRODUCT: Images */
	.product .images { width: 100%; padding-right: 0; display: block; }
	.product .images .woocommerce-product-gallery__image:nth-child(1) img { width: 100%; max-width: none; }

	/* SINGLE PRODUCT: Summary */
	.product .summary { width: 100%; display: block; }
	
	/* CART */
	table.shop_table.shop_table_responsive { display: block; }
	table.shop_table.shop_table_responsive thead { display: none; }
	
	table.shop_table.shop_table_responsive tbody { display: block; }
	table.shop_table.shop_table_responsive tbody tr { margin-bottom: 20px; border: 1px solid var(--color-sand); display: flex; flex-wrap: wrap; position: relative; }
	table.shop_table.shop_table_responsive tbody tr:last-child { margin-bottom: 0; border: none; }
	table.shop_table.shop_table_responsive tbody tr td { display: block; }
	table.shop_table.shop_table_responsive tbody tr td::before { font-weight: 700; display: block; content: attr(data-title) ": "; }
	
	/* CART: Remove */
	table.shop_table.shop_table_responsive tbody tr td.product-remove { width: auto; right: 20px; top: 20px; padding: 0; border-bottom: none; position: absolute; }
	table.shop_table.shop_table_responsive tbody tr td.product-remove::before { display: none; }
	table.shop_table.shop_table_responsive tbody tr td.product-remove a { background: var(--color-sand-light); -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
	
	/* CART: Thumbnail */
	table.shop_table.shop_table_responsive tbody tr td.product-thumbnail { width: 100%; padding: 20px; border-bottom: none; }
	table.shop_table.shop_table_responsive tbody tr td.product-thumbnail::before { display: none; }
	
	/* CART: Name */
	table.shop_table.shop_table_responsive tbody tr td.product-name { width: 50%; padding: 0 20px 20px; }
	
	/* CART: Price */
	table.shop_table.shop_table_responsive tbody tr td.product-price { width: 50%; padding: 0 20px 20px; text-align: right; }
	
	/* CART: Quantity */
	table.shop_table.shop_table_responsive tbody tr td.product-quantity { width: 50%; padding: 20px; text-align: left; border-bottom: none; }
	
	/* CART: Subtotal */
	table.shop_table.shop_table_responsive tbody tr td.product-subtotal { width: 50%; padding: 20px; text-align: right; border-bottom: none; display: flex; flex-wrap: wrap; align-items: center; align-content: center; justify-content: end; }
	table.shop_table.shop_table_responsive tbody tr td.product-subtotal .amount { width: 100%; }
	
	/* CART: Actions */
	table.shop_table.shop_table_responsive tbody tr td.actions { padding: 0; }
	table.shop_table.shop_table_responsive tbody tr td.actions::before { display: none; }
	
	/* CART: Cart collaterals */
	.cart-collaterals table.shop_table.shop_table_responsive { border: 1px solid var(--color-sand); }
	.cart-collaterals table.shop_table.shop_table_responsive tbody tr { margin-bottom: 0; border: none; }
	.cart-collaterals table.shop_table.shop_table_responsive tbody tr th { display: none; }
	.cart-collaterals table.shop_table.shop_table_responsive tbody tr td { width: 100%; text-align: left; }
	.cart-collaterals table.shop_table.shop_table_responsive tbody tr:last-child td { border-bottom: none; }
	.cart-collaterals table.shop_table.shop_table_responsive tbody tr td p.woocommerce-shipping-destination { margin-bottom: 0 !important; font-size: 14px; }
	
	.cart-collaterals .wc-proceed-to-checkout { text-align: center; }
	.cart-collaterals .wc-proceed-to-checkout .button { width: 100%; }
	
	/* CHECKOUT */
	form.woocommerce-checkout .col2-set { width: 100%; float: none; }
	form.woocommerce-checkout .order_review { width: 100%; float: none; }
	
	/* MY ACCOUNT */
	.woocommerce-MyAccount-navigation ul { height: auto; }
	.woocommerce-MyAccount-navigation ul li { margin-right: 0; border-bottom: 1px solid var(--color-sand); border-right: none; display: block; }
	.woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }
	
	/* MY ACCOUNT: Adresses */
	.u-columns.addresses { display: block; }
	.u-columns.addresses .col-1 { width: 100%; border-right: none; border-bottom: 1px solid var(--color-sand); display: block; }
	.u-columns.addresses .col-2 { width: 100%; display: block; }
	
	/* MY ACCOUNT: Customer login */
	.u-columns h2 { font-size: 25px !important; }
	.u-columns .col-1 { padding: 30px; }
	.u-columns .col-2 { padding: 30px 0; }
}

@media only screen and (max-width: 640px) {
	
	.woocommerce-checkout .woocommerce .woocommerce-info a { display: block; }
	
	/* PRODUCTS */
	ul.products li { width: calc(50% - 20px); }
	ul.products li:nth-child(3) { margin-top: 50px; }
	
	/* SINGLE PRODUCT: Reviews */
	.product .reviews p.comment-form-rating { height: auto; }	
	
	/* RATINGS */
	p.stars span a { width: 100%; margin-right: 0; padding-right: 0; border-right: none; display: block; } 
	
	/* SINGLE PRODUCT: Reviews */
	.product .reviews ol.commentlist li .row .one_third, 
	.product .reviews ol.commentlist li .row .two_third { width: 100%; display: block; }
	
	/* MY ACCOUNT: My account orders */
	table.my_account_orders td.order-status { display: none; }
	
	/* MY ACCOUNT: Tab container */
	.form_login_wrapper .login_register .tab-container .panel-container { padding: 20px; }
}

@media only screen and (max-width: 480px) {
	
	/* MESSAGES */
	.woocommerce-message a.button.wc-forward { width: 100%; margin-bottom: 10px; padding: 0 !important; text-align: center; display: block; }
	
	/* SINGLE PRODUCT: Reviews */
	.product .reviews form.comment-form .comment-form-author, 
	.product .reviews form.comment-form .comment-form-email { width: 100%; float: none; }
	
	/* SINGLE PRODUCTS: Tab container */
	.form_login_wrapper .login_register .tab-container .etabs { padding-left: 20px; }
	.form_login_wrapper .login_register .tab-container .etabs .tab a { padding: 0 20px; }
	
	/* MY ACCOUNT: Customer login */
	.u-columns .col-1 { padding: 30px 20px; }
	.u-columns .col-2 { padding: 30px 0; }
	.u-columns .button { width: 100%; }
	
	/* FORM */
	.form-row-first, 
	.form-row-last { width: 100%; float: none; }
}