/*==================================================================================================
Shop
=================================================================================================
	1. General
		1.1. Font Icons
		1.2. Margins
		1.3. Loading Spinners
		1.4. Items Loading Animations
	2. Layout
		2.1. Grid
		2.2. Carousel
	3. Media
		3.1. Media Animations
	4. Overlay
		4.1. Overlay Animations
	5. Content
		5.1. Content
		5.2. Cover Content
		5.3. Informations
		5.4. Content Animations
	6. Filter
	7. Pagination
	8. Open With Ajax
	9. CSS Keyframes Animations

======================================
*************************************/

/*====================================
	1. General
====================================*/
.blockUI.blockOverlay { position: relative; z-index: 3 !important }
.blockUI.blockOverlay:before,
.loader:before { 
	height: 1em; width: 1em; position: absolute; top: 50%; left: 50%; margin-left: -.5em; margin-top: -.5em; display: block; content: ""; 
	-webkit-animation: rotate infinite linear .9s; animation: rotate infinite linear .9s;
	background: url(../img/loader.svg) center center; background-size: cover; line-height: 1; text-align: center; font-size: 2em; color: rgba(0,0,0,.75) 
}

/* 1.1. Font Icons
==============================*/
/* Buttons */
.button.wc-forward:before,

/* Notices */
.shop-error:before,
.shop-info:before,
.shop-message:before,

/* Stars */
p.stars a.star-1:before,
p.stars a.star-2:before,
p.stars a.star-3:before,
p.stars a.star-4:before,
p.stars a.star-5:before,

/* Product Loop Item */
.product-inner .button::after,

/* Single Product */
.single_add_to_cart_button:before,
.single-product-content .stock:before { 
	font-family: "apalodi-fontello"; font-variant: normal; font-style: normal; font-weight: normal; text-transform: none; text-decoration: none;
	display: inline-block; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing:grayscale 
}


/* Notices */
.shop-error:before { content: "\eaa3"; }
.shop-info:before { content: "\e99b"; }
.shop-message:before { content: "\e835"; }

/* Stars */
p.stars a.star-1:before { content: "\e825" }
p.stars a.star-1.active:before,
p.stars a.star-1:hover:before { content: "\e824" }
p.stars a.star-2:before { content: "\e825\e825" }
p.stars a.star-2.active:before,
p.stars a.star-2:hover:before { content: "\e824\e824" }
p.stars a.star-3:before { content: "\e825\e825\e825" }
p.stars a.star-3.active:before,
p.stars a.star-3:hover:before { content: "\e824\e824\e824" }
p.stars a.star-4:before { content: "\e825\e825\e825\e825" }
p.stars a.star-4.active:before,
p.stars a.star-4:hover:before { content: "\e824\e824\e824\e824" }
p.stars a.star-5:before { content: "\e825\e825\e825\e825\e825" }
p.stars a.star-5.active:before,
p.stars a.star-5:hover:before { content: "\e824\e824\e824\e824\e824" }

/* Product Loop Item */
.product-inner .button::after { content: '\e8a6'; }
.product-inner .button.product-add-to-cart::after { content: '\e978'; }
.product-inner .button.product_type_variable::after { content: '\e83b'; }
.product-inner .button.product_type_external::after { content: '\e8a6' }
.product-inner .button.add_to_cart_button.loading::after { content: '\e814'; }
.product-inner .button.add_to_cart_button.added::after { content: '\e834'; }

/* Single Product */
.single_add_to_cart_button:before { content: '\e978' }
.single-product-content .stock.in-stock:before { content: "\e99b"; }
.single-product-content .stock.out-of-stock:before { content: "\ea7c"; }


/* 1.2. Notices
==============================*/
.shop-error,
.shop-info,
.shop-message { 
	position: relative; padding: 15px 15px 15px 50px; margin: 0 0 1em; list-style: none; width: 100%;
	border-width: 1px; border-style: solid; border-radius: 2px;
}

.shop-error:after,
.shop-info:after,
.shop-message:after { content: ""; display: table; clear: both; }

.shop-error:before,
.shop-info:before,
.shop-message:before { 
    display: inline-block; position: absolute; top: 50%; left: 15px; 
    -webkit-transform: translateY(-50%); transform: translateY(-50%);
}

.shop-error strong,
.shop-info strong,
.shop-message strong { color: inherit; }

.shop-error a:not(.button),
.shop-info a:not(.button),
.shop-message a:not(.button) { border-bottom-width: 1px; border-bottom-style: solid; padding-bottom: 3px; color: inherit; }

.shop-error .button,
.shop-info .button,
.shop-message .button { margin-right: 10px }

.shop-error li,
.shop-info li,
.shop-message li { list-style: none; padding-left: 0; margin-left: 0 }

/* 1.3. Remove
==============================*/
.remove {
    font-family: Helvetica, Arial; font-size: 20px;
    width: 30px; height: 30px; line-height: 30px; text-align: center; border-radius: 50%; 
}

/* 1.3. Stars
==============================*/
p.stars { position: relative; font-size: 1em }
p.stars a { position: relative; display: inline-block; text-indent: -9999px; border-bottom: 0; outline: 0 }
p.stars a.star-1 { width: 2em }
p.stars a.star-2 { width: 3em }
p.stars a.star-3 { width: 4em }
p.stars a.star-4 { width: 5em }
p.stars a.star-5 { width: 6em }

p.stars a:before { text-indent: 0; position: absolute; top: 0; left: 0 }

/* 1.2. Add To Cart Button
==============================*/
a.added_to_cart { display: none }

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

/* Buttons */
.button.wc-forward:before { margin-right: 6px }

/*====================================
	2. Layout
====================================*/
.shop-ordering,
.shop-result-count { margin: 0 0 28px }

.shop-result-count { float:left }
.shop-ordering { float: right; }


/* Product Loop Item
==============================*/
.products-container { clear: both; }
.product { }
.product-inner { 
    position: relative; width: 100%; height: 100%; border-width: 1px; border-style: solid;
    display: -webkit-box; display: -ms-flexbox; display: flex; 
    -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column;
    -webkit-transition: all .3s; transition: all .3s 
}

/* Product Category */
.product-category h3 { margin: 0; padding: 20px; border-width: 1px; border-style: solid; }
.product-category .count { padding: 0; color: inherit; background-color: transparent; }

.product .onsale { 
    position: absolute; top: 20px; left: 0px; padding: 5px 15px 5px 10px; opacity: .9; z-index: 2;
    border-top-right-radius: 35px; border-bottom-right-radius: 35px;
    -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
}

.product-add-to-cart { 
    position: absolute; bottom: 0; left: 0; width: 100%; padding: 14px 20px; 
    display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; 
    border: none; border-radius: 0; z-index: 2; opacity: .9;
    -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
}
.product-add-to-cart:hover { opacity: 1 }
.product-add-to-cart::after { margin-left: auto; }
.product-add-to-cart.loading:after { -webkit-animation: rotate 1s linear infinite; animation: rotate 1s linear infinite; }

.product-media { position: relative; overflow: hidden; }
.product-media .image-thumbnail { }
.product-media img:not(.preload-image) { -webkit-transition: opacity .3s; transition: opacity .3s; will-change: opacity; }
.product-media .product-img-2 { opacity: 0 }

.product-content-link { 
    display: -webkit-box; display: -ms-flexbox; display: flex; 
    -ms-flex-direction: column; flex-direction: column;
    -webkit-box-flex: 0; -ms-flex: 1 0 auto; flex: 1 0 auto;
    -webkit-transition: none; transition: none
}
.product-content { width: 100%; padding: 20px 20px 15px 20px; -webkit-box-flex: 0; -ms-flex: 1 0 auto; flex: 1 0 auto; }

.product-meta { margin-bottom: 1em }
.product-meta::after { content: ""; display: block; width: 15px; height: 2px; margin: 5px 0 }
 
.product-cats { display: block; }
.product-date { margin-right: 5px }
.product-comments::before { margin-right: 2px }

.product-content h3 { margin: 0; -webkit-transition: color .3s; transition: color .3s; }

.product-content h3 + .product-desc { margin-top: 1em }
.product-desc p:last-child { margin: 0 }

.product-content .price { float: right; margin-left: 10px; text-align: right; -webkit-transition: color .3s; transition: color .3s }
.product-content .price ins { display: block; }

@media only screen and ( min-width : 1025px ) {
    .product-inner:hover .product-img-2 { opacity: 1; }
    .product-add-to-cart { -webkit-transform:translate3d(0,102%,0); transform:translate3d(0,102%,0); }
    .product-inner:hover .product-add-to-cart { -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0); }
}

/*==================================================================================================
Single Product
================================================================================================= */
/* Layout
================================================== */
.single-product-content { }
.single-product-content:after { content: ""; display: table; clear: both; }

.single-product-media,
.single-product-summary { position: relative; }

.single-product-media { margin-bottom: 1em }

.single-product-content table td { padding: 10px }

@media only screen and ( min-width : 769px ) {
    .single-product-media,
    .single-product-summary { width: 50%; }
    .single-product-media { float: left; padding: 0 15px 0 0; margin-bottom: 0 }
    .single-product-summary { float: right; padding: 0 0 0 15px; }

    .single-product-no-media .single-product-summary { width: 100%; padding: 0 }
}

.single-product-media .onsale { top: 50px }

/* Summary
================================================== */
/* Info - Sale, Price, Stock & Rating
================================================== */
.single-product-content .product-price,
.single-product-content .stock,
.single-product-content .product-rating { display: inline-block; margin-right: 2px; }

.single-product-content p.price,
.single-product-content .stock { padding: 10px; line-height: 1; border-width: 1px; border-style: solid; border-radius: 2px }

.single-product-content .product-rating { margin-bottom: 1em }

.single-product-content .stock:before { margin-right: 6px }
.single-product-content .product-rating { margin-right: 0 }
.single-product-content .star-rating { vertical-align: middle; }
.single-product-content .product-rating .review-link { display: none; }

/* Add To Cart
================================================== */
.single-product-content .cart { margin-bottom: 1em; clear: both; }
.single-product-content .quantity { display: inline-block; vertical-align: middle; margin-right: 2px }
.single-product-content .quantity input { width: 75px }

.single_add_to_cart_button:before { margin-right: 6px }

/* Grouped Products
================================================== */
.single-product-content .group_table {  }
.single-product-content .group_table td:not(.label):not(.price) { width: 2% }

/* Variations
================================================== */
.single-product-content .variations { position: relative; }
.single-product-content .variations .label { text-align: right; }
.single-product-content .variations .reset_variations { 
    position: absolute; top: 100%; right: 0;
}

.single-product-content .single_variation_wrap { }
.single-product-content .single_variation { margin: 10px 0 }

/* Meta
================================================== */
.product_meta { font-size: 15px }
.product_meta > span { display: block; }
.product_meta a { border-bottom-width: 1px; border-bottom-style: solid; padding-bottom: 3px }

/* Tabs
================================================== */
.product-tabs { margin-top: 50px }

.product-tabs .panel { padding-top: 20px }
.product-tabs #tab-reviews { padding-top: 5px }
.product-tabs #reviews { padding-top: 15px }

.product-tabs .panel h2:first-of-type { margin-top: 15px; margin-bottom: 15px }

/* Reviews */
#reviews:focus { outline: none }
.product-tabs .comment-respond { margin-top: 20px }
.product-tabs p.shop-noreviews { margin-bottom: 1em }
.product-tabs .commentlist { list-style: none; padding: 0; margin: 0 }
.product-tabs .commentlist .comment-author { }
.product-tabs .commentlist .star-rating { float: left;  }
.product-tabs .commentlist .comment-metadata { clear: both; } 
.product-tabs .commentlist .comment-metadata a { padding: 0; border: none }

.product-tabs .commentlist .verified-owner { vertical-align: middle; }
.product-tabs .shop-verification-required { text-align: center; }

.product-tabs .shop-pagination { text-align: center; }
.product-tabs .page-numbers { 
    list-style: none; padding: 0; margin: 0; display: inline-block; vertical-align: middle; text-decoration: none; line-height: 1;
    -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0);
    -webkit-transition: all .4s; transition: all .4s; 
}
.product-tabs .page-numbers li { float: left; margin: 1px; list-style: none; }
.product-tabs .page-numbers .page-numbers { padding: 10px 15px; border-width: 1px; border-style: solid; border-radius: 2px; }
.product-tabs .page-numbers .page-numbers.current { z-index: 3 }
.product-tabs .page-numbers .page-numbers:hover { z-index: 2; }

/* Comment Form */
.product-tabs .comment-form {}
.comment-form .comment-form-rating { margin-bottom: 10px }
.comment-form .comment-form-rating p.stars { margin: 0 }

@media only screen and ( min-width : 1024px )  { 
  .comment-form .comment-form-rating { clear: both; width: 100%; margin-right:0; }
}


/* Related & Upsells
================================================== */
.upsells.products,
.related.products { margin-top: 50px }

.product-tabs .panel h2:first-of-type,
.upsells.products h2:first-of-type,
.related.products h2:first-of-type { position: relative; margin: 0 0 15px 0; padding-bottom: 8px; }

.product-tabs .panel h2:first-of-type::before,
.product-tabs .panel h2:first-of-type::after,
.upsells.products h2:first-of-type::before,
.related.products h2:first-of-type::before,
.upsells.products h2:first-of-type::after,
.related.products h2:first-of-type::after { 
    content: ''; display: block; position: absolute; bottom: 0; left: 0; height: 1px; border-width: 1px; border-style: solid; 
}

.product-tabs .panel h2:first-of-type::before,
.related.products h2:first-of-type::before,
.upsells.products h2:first-of-type::before { width: 15px; bottom: 4px }
.product-tabs .panel h2:first-of-type::after,
.related.products h2:first-of-type::after,
.upsells.products h2:first-of-type::after { width: 8px; }