WooCommerce Wishlist Plugin - Version 1.21.0

Version Description

Release Date - 30 July 2020

  • Wishlist user-side data completely refactored
  • Great performance improvements
  • Fixed integration with WooCommerce Bookings plugin
Download this release

Release Info

Developer templateinvaders
Plugin Icon 128x128 WooCommerce Wishlist Plugin
Version 1.21.0
Comparing to
See all releases

Code changes from version 1.20.5 to 1.21.0

assets/css/admin-form-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tiwlform-number-container{display:inline-block;margin:2px;position:relative;vertical-align:middle}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tiwlform-number-container{display:inline-block;margin:2px;position:relative;vertical-align:middle}
assets/css/admin-form.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tiwlform-number-container{display:inline-block;margin:2px;position:relative;vertical-align:middle}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tiwlform-number-container{display:inline-block;margin:2px;position:relative;vertical-align:middle}
assets/css/admin-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:'tinvwl-webfont';src:url("../fonts/tinvwl-webfont.eot?xu2uyi");src:url("../fonts/tinvwl-webfont.eot?xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.ttf?xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.woff?xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:'tinvwl-webfont';src:url("../fonts/tinvwl-webfont.eot?xu2uyi");src:url("../fonts/tinvwl-webfont.eot?xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.ttf?xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.woff?xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
assets/css/admin-setup-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  html{background:#f6f3ed}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  html{background:#f6f3ed}
assets/css/admin-setup.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  html{background:#f6f3ed}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  html{background:#f6f3ed}
assets/css/admin.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:'tinvwl-webfont';src:url("../fonts/tinvwl-webfont.eot?xu2uyi");src:url("../fonts/tinvwl-webfont.eot?xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.ttf?xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.woff?xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:'tinvwl-webfont';src:url("../fonts/tinvwl-webfont.eot?xu2uyi");src:url("../fonts/tinvwl-webfont.eot?xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.ttf?xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.woff?xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
assets/css/public-rtl.css CHANGED
@@ -305,10 +305,6 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
305
  transition: opacity 1s;
306
  opacity: 1;
307
  visibility: visible; }
308
- .tinvwl_add_to_wishlist_button.tinvwl-add-hide {
309
- visibility: hidden;
310
- opacity: 0.5;
311
- pointer-events: none; }
312
 
313
  .tinv-wishlist.woocommerce .stock.in-stock:before {
314
  content: none; }
305
  transition: opacity 1s;
306
  opacity: 1;
307
  visibility: visible; }
 
 
 
 
308
 
309
  .tinv-wishlist.woocommerce .stock.in-stock:before {
310
  content: none; }
assets/css/public-rtl.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"mappings":"","sources":["public-rtl.css"],"file":"public-rtl.css","sourcesContent":["/*------------------------------------*\n\t$WEBFONT\n*------------------------------------*/\n/*------------------------------------------------------------------\nWooCommerce Wishlist Plugin custom webfont\n-------------------------------------------------------------------*/\n@font-face {\n font-family: 'tinvwl-webfont';\n src: url(\"../fonts/tinvwl-webfont.eot?xu2uyi\");\n src: url(\"../fonts/tinvwl-webfont.eot?xu2uyi#iefix\") format(\"embedded-opentype\"), url(\"../fonts/tinvwl-webfont.ttf?xu2uyi\") format(\"truetype\"), url(\"../fonts/tinvwl-webfont.woff?xu2uyi\") format(\"woff\"), url(\"../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont\") format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.ftinvwl {\n /* use !important to prevent issues with browser extensions that change fonts */\n font-family: 'tinvwl-webfont' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.ftinvwl-twitter:before {\n content: \"\\f099\"; }\n\n.ftinvwl-facebook:before {\n content: \"\\f09a\"; }\n\n.ftinvwl-facebook-f:before {\n content: \"\\f09a\"; }\n\n.ftinvwl-google:before {\n content: \"\\f0d5\"; }\n\n.ftinvwl-email:before {\n content: \"\\f0e0\"; }\n\n.ftinvwl-pinterest:before {\n content: \"\\f231\"; }\n\n.ftinvwl-whatsapp:before {\n content: \"\\f232\"; }\n\n.ftinvwl-clipboard:before {\n content: \"\\e911\"; }\n\n.ftinvwl-star:before {\n content: \"\\e912\"; }\n\n.ftinvwl-shopping-cart:before {\n content: \"\\e913\"; }\n\n.ftinvwl-magic:before {\n content: \"\\e914\"; }\n\n.ftinvwl-info:before {\n content: \"\\e915\"; }\n\n.ftinvwl-graduation-cap:before {\n content: \"\\e918\"; }\n\n.ftinvwl-floppy-o:before {\n content: \"\\e919\"; }\n\n.ftinvwl-eyedropper:before {\n content: \"\\e91a\"; }\n\n.ftinvwl-exclamation-triangle:before {\n content: \"\\e91b\"; }\n\n.ftinvwl-check:before {\n content: \"\\e91e\"; }\n\n.ftinvwl-arrow-left:before {\n content: \"\\e91f\"; }\n\n.ftinvwl-wrench:before {\n content: \"\\e920\"; }\n\n.ftinvwl-chevron-down:before {\n content: \"\\e900\"; }\n\n.ftinvwl-chevron-right:before {\n content: \"\\e901\"; }\n\n.ftinvwl-chevron-left:before {\n content: \"\\e902\"; }\n\n.ftinvwl-chevron-up:before {\n content: \"\\e903\"; }\n\n.ftinvwl-cancel:before {\n content: \"\\e904\"; }\n\n.ftinvwl-times:before {\n content: \"\\e905\"; }\n\n.ftinvwl-heart-plus:before {\n content: \"\\e906\"; }\n\n.ftinvwl-heart-mark-right:before {\n content: \"\\e907\"; }\n\n.ftinvwl-heart2:before {\n content: \"\\e908\"; }\n\n.ftinvwl-heart-o:before {\n content: \"\\e909\"; }\n\n.ftinvwl-heart-mark-left:before {\n content: \"\\e90a\"; }\n\n.ftinvwl-heart-mail:before {\n content: \"\\e90b\"; }\n\n.ftinvwl-heart-tinv:before {\n content: \"\\e90c\"; }\n\n.ftinvwl-key:before {\n content: \"\\e90d\"; }\n\n.ftinvwl-lock:before {\n content: \"\\e90e\"; }\n\n.ftinvwl-hearts:before {\n content: \"\\e90f\"; }\n\n.ftinvwl-user:before {\n content: \"\\e910\"; }\n\n/* PULSE */\n@-webkit-keyframes ftinvwl-pulse {\n 0% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n 50% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n 100% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); } }\n\n@keyframes ftinvwl-pulse {\n 0% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n 50% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n 100% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); } }\n\n.ftinvwl-pulse.ftinvwl-animated::before {\n -webkit-animation: ftinvwl-pulse 2s linear infinite;\n animation: ftinvwl-pulse 2s linear infinite; }\n\n.tinv-wishlist form, .tinv-wishlist p:last-child, .tinv-wishlist table {\n margin-bottom: 0; }\n\n.tinv-wishlist * {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n.tinvwl-wishlist :after, .tinvwl-wishlist :before {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n.tinv-wishlist select {\n width: 140px; }\n\n.tinv-wishlist ul {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {\n margin-top: -10px;\n margin-right: -10px; }\n\n.woocommerce.tinv-wishlist #respond input#submit.alt, .woocommerce.tinv-wishlist a.button.alt, .woocommerce.tinv-wishlist button.button.alt, .woocommerce.tinv-wishlist input.button.alt {\n text-align: center; }\n\n.tinv-wishlist .button i, .tinv-wishlist .navigation-button a i {\n margin-left: 6px; }\n\n.tinv-wishlist input[type=\"button\"] i, .tinv-wishlist input[type=\"reset\"] i, .tinv-wishlist input[type=\"submit\"] i {\n margin-left: 6px; }\n\n.tinv-wishlist a.tinv-close-modal i {\n margin-left: 0; }\n\na.wishlist_products_counter {\n text-decoration: none; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before, a.wishlist_products_counter.top_wishlist-heart:before, span.wishlist_products_counter.top_wishlist-heart:before, a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart:before {\n content: '\\e909';\n display: inline-block;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 20px;\n vertical-align: sub;\n margin-left: 5px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, a.wishlist_products_counter.top_wishlist-heart-plus:before, span.wishlist_products_counter.top_wishlist-heart-plus:before, a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart-plus:before {\n content: '\\e906';\n display: inline-block;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 20px;\n vertical-align: sub;\n margin-left: 5px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt {\n position: relative;\n width: 36px;\n height: 36px;\n vertical-align: sub; }\n\na.wishlist_products_counter.top_wishlist-heart-plus.no-txt, span.wishlist_products_counter.top_wishlist-heart-plus.no-txt {\n position: relative;\n width: 36px;\n height: 36px;\n vertical-align: sub; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {\n position: absolute;\n top: 50%;\n right: 50%;\n margin-left: 0; }\n\n.tinv-wishlist .tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt, .tinv-wishlist .tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt {\n padding-right: 1em;\n vertical-align: bottom; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before {\n content: '\\e908'; }\n\n.woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:before, a.wishlist_products_counter.top_wishlist-heart.wishlist-counter-with-products:before, span.wishlist_products_counter.top_wishlist-heart.wishlist-counter-with-products:before {\n content: '\\e908'; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:before, a.wishlist_products_counter.top_wishlist-heart-plus.wishlist-counter-with-products:before, span.wishlist_products_counter.top_wishlist-heart-plus.wishlist-counter-with-products:before {\n content: '\\e907'; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.icon-white:before, a.wishlist_products_counter.top_wishlist-white:before, span.wishlist_products_counter.top_wishlist-white:before {\n color: #FFF; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.icon-black:before, a.wishlist_products_counter.top_wishlist-black:before, span.wishlist_products_counter.top_wishlist-black:before {\n color: #000; }\n\n.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button {\n margin-bottom: 15px; }\n\n.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button {\n margin-top: 15px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt {\n padding: 10px 11px;\n line-height: 1; }\n\na.wishlist_products_counter.top_wishlist-custom.no-txt, span.wishlist_products_counter.top_wishlist-custom.no-txt {\n padding: 10px 11px;\n line-height: 1; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom img, a.wishlist_products_counter.top_wishlist-custom img, span.wishlist_products_counter.top_wishlist-custom img {\n display: inline-block !important;\n vertical-align: baseline;\n width: auto !important;\n max-width: 16px;\n max-height: 16px;\n margin-bottom: 0;\n margin: 0 0 0 6px !important; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt img, a.wishlist_products_counter.top_wishlist-custom.no-txt img, span.wishlist_products_counter.top_wishlist-custom.no-txt img {\n margin-left: 0 !important; }\n\n.single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button, div.product form.cart .tinvwl_add_to_wishlist_button {\n float: none; }\n\nul.products li.product .tinvwl_add_to_wishlist_button {\n margin-top: 1em; }\n\n.tinvwl_add_to_wishlist_button {\n display: inline-block;\n cursor: pointer;\n -webkit-transition: opacity 1s;\n transition: opacity 1s;\n opacity: 1;\n visibility: visible; }\n .tinvwl_add_to_wishlist_button.tinvwl-add-hide {\n visibility: hidden;\n opacity: 0.5;\n pointer-events: none; }\n\n.tinv-wishlist.woocommerce .stock.in-stock:before {\n content: none; }\n\n.tinv-wraper.tinv-wishlist {\n font-size: 100%; }\n\n.tinv-create-list li input[type=radio] {\n margin-left: 10px; }\n\n.tinv-create-list li + li {\n margin-top: 15px; }\n\n.tinv-create-list .tinvwl-input-group + ul {\n margin-top: 25px; }\n\n.tinv-search-list {\n margin-bottom: 36px; }\n\n.tinv-wishlist .tinv-header {\n margin-bottom: 30px; }\n\n.tinv-wishlist table {\n position: relative;\n table-layout: auto;\n margin-bottom: 30px;\n z-index: 2; }\n\n.tinv-overlay {\n top: 0;\n right: 0;\n position: fixed;\n -webkit-transition: opacity .3s ease, visibility .3s ease;\n transition: opacity .3s ease, visibility .3s ease; }\n\n.tinv-wishlist .tinv-modal {\n top: 0;\n right: 0;\n position: fixed;\n -webkit-transition: opacity .3s ease, visibility .3s ease;\n transition: opacity .3s ease, visibility .3s ease; }\n\n.tinv-wishlist table.tinvwl-table-manage-list {\n margin-bottom: 27px;\n width: 100%; }\n\n.tinv-wishlist table input[type=checkbox] {\n margin-left: 0; }\n\n.tinv-wishlist table td, .tinv-wishlist table th {\n padding: 1em;\n vertical-align: middle; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-cb {\n width: 35px;\n text-align: center; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-remove {\n width: 35px;\n text-align: center;\n padding: 1em .5em; }\n\n.tinv-wishlist .product-remove button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n margin: 0 auto;\n width: 27px;\n height: 27px;\n border-radius: 50%;\n padding: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: none;\n background-color: #f7f7f7;\n color: #000000;\n font-size: 20px;\n padding-right: 1px;\n padding-top: 3px; }\n\n.tinv-wishlist .product-thumbnail {\n min-width: 100px;\n width: 100px; }\n .tinv-wishlist .product-thumbnail .wp-post-image {\n margin-bottom: 0; }\n\n.tinv-wishlist td.product-name a + .variation {\n margin-top: 2px; }\n\n.tinv-wishlist .product-stock i {\n margin-left: 15px; }\n\n.tinv-wishlist .product-stock p {\n display: table; }\n\n.tinv-wishlist .product-stock span {\n display: table-cell;\n vertical-align: middle; }\n\n.tinv-wishlist .product-action > .button > i, .tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove], .tinv-wishlist table thead th .tinvwl-mobile {\n display: none; }\n\n.tinv-wishlist.woocommerce .product-quantity {\n width: 80px;\n text-align: center; }\n\n.tinv-wishlist.woocommerce table .quantity .qty {\n max-width: 100%;\n width: 62px;\n text-align: right; }\n\n.tinv-wishlist .product-action {\n width: 135px;\n text-align: center; }\n .tinv-wishlist .product-action .button {\n width: 100%; }\n .tinv-wishlist .product-action .tinvwl_move_product_button {\n margin-top: 5px; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-action > button[name=tinvwl-remove] > i {\n margin-left: 0; }\n\n.tinv-wishlist .wishlist-cb {\n width: 33px;\n text-align: center; }\n\n.tinv-wishlist .wishlist-name .tinvwl-rename-input input {\n width: 100%; }\n\n.tinv-wishlist .wishlist-name .tinvwl-rename-button {\n float: left; }\n .tinv-wishlist .wishlist-name .tinvwl-rename-button > i {\n margin-left: 10px; }\n\n.tinv-wishlist .wishlist-privacy, .tinv-wishlist table:not(.tinvwl-public) .wishlist-date {\n width: 18%; }\n\n.tinv-wishlist .wishlist-privacy select {\n width: 100%; }\n\n.tinv-wishlist .wishlist-name {\n width: 45%; }\n\n.tinv-wishlist .wishlist-action {\n width: 120px;\n text-align: center; }\n .tinv-wishlist .wishlist-action button[value=manage_remove] > i {\n display: none;\n margin-left: 0; }\n\n.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list {\n display: inline-block;\n vertical-align: middle; }\n .tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list > a.button {\n margin-left: 0; }\n\n.tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: -10px; }\n\n.tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n float: right;\n width: 35%;\n margin-left: 2%; }\n\n.tinv-wishlist tfoot .tinvwl-to-right {\n float: right;\n width: 63%;\n text-align: left; }\n .tinv-wishlist tfoot .tinvwl-to-right > * {\n margin: 10px 0 0;\n vertical-align: middle; }\n .tinv-wishlist tfoot .tinvwl-to-right > * + * {\n margin-right: 10px; }\n\n.tinv-wishlist tfoot .tinvwl-to-left:empty + .tinvwl-to-right {\n width: 100%; }\n\n.tinv-wishlist .social-buttons + .tinv-wishlist-clear + .navigation-button {\n margin-top: 16px; }\n\n.tinv-wishlist .navigation-button {\n margin-top: -10px; }\n .tinv-wishlist .navigation-button > li {\n float: right; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a, .tinv-wishlist .navigation-button > li > a {\n margin-left: 30px;\n margin-top: 10px;\n display: inline-block; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a.button, .tinv-wishlist .navigation-button > li > a.button {\n margin-left: 10px; }\n .tinv-wishlist .navigation-button > li:last-child > .tinv-create-list > a, .tinv-wishlist .navigation-button > li:last-child > a {\n margin-left: 0; }\n\n.tinv-wishlist .social-buttons {\n text-align: left; }\n .tinv-wishlist .social-buttons > span, .tinv-wishlist .social-buttons > ul {\n display: inline-block;\n vertical-align: middle; }\n .tinv-wishlist .social-buttons > span {\n margin-left: 27px; }\n .tinv-wishlist .social-buttons li {\n float: right;\n margin-left: 5px;\n list-style: none; }\n .tinv-wishlist .social-buttons li:last-child {\n margin-left: 0; }\n .tinv-wishlist .social-buttons li a.social {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 2em;\n height: 2em;\n border-radius: 50%;\n text-align: center;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: 0;\n font-size: 20px;\n text-decoration: none;\n text-transform: none !important; }\n .tinv-wishlist .social-buttons li a.social.white {\n color: #ffffff; }\n .tinv-wishlist .social-buttons li a.social.dark {\n color: #000000; }\n .tinv-wishlist .social-buttons li a.social i {\n line-height: 2em; }\n\n.tinv-wishlist .navigation-button .tinv-create-list > a.tinvwl-no-icon > i, .tinv-wishlist .navigation-button li > a.tinvwl-no-icon > i {\n display: none; }\n\n.tinv-wishlist .tinv-lists-nav {\n margin-top: 35px;\n margin-bottom: 35px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n width: 100%; }\n .tinv-wishlist .tinv-lists-nav > * {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n text-align: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .tinv-wishlist .tinv-lists-nav > span {\n font-weight: 700; }\n\n.tinv-wishlist .tinv-next {\n display: inline-block;\n float: right; }\n\n.tinv-wishlist .tinv-prev {\n display: inline-block;\n float: right;\n margin-left: 35px !important; }\n\n.tinv-wishlist .tinv-prev i {\n margin-right: 0;\n margin-left: 18px; }\n\n.tinv-wishlist .tinv-next i {\n margin-right: 18px;\n margin-left: 0; }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .tinvwl-table-manage-lists:not(.tinvwl-public) {\n margin-top: 0; }\n .tinv-wishlist .tinvwl-table-manage-list .product-remove {\n display: none; }\n .tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove] {\n display: inline-block;\n margin-top: 5px; }\n .tinv-wishlist .product-action {\n width: 60px; } }\n\n@media only screen and (max-width: 1024px) and (min-width: 641px) {\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock p {\n display: block;\n text-align: center; }\n .tinv-wishlist .product-stock span {\n display: block; }\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock i {\n margin-left: 0; }\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock .tinvwl-txt {\n display: none; }\n .tinv-wishlist .product-thumbnail {\n max-width: 76px;\n width: 76px; }\n .tinv-wishlist .product-action .button > i {\n display: inline-block;\n margin-left: 0; }\n .tinv-wishlist .product-action .button .tinvwl-txt {\n display: none; } }\n\n@media only screen and (max-width: 1023px) {\n .tinv-wishlist .tinv-lists-nav a.tinv-prev > i, .tinv-wishlist .tinv-lists-nav a.tinv-next > i {\n margin: 0; }\n .tinv-wishlist .tinv-lists-nav a.tinv-prev > span, .tinv-wishlist .tinv-lists-nav a.tinv-next > span {\n display: none; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove, .tinv-wishlist table.tinvwl-table-manage-list thead th:not(.product-name) {\n display: none; }\n .tinv-wishlist table.tinvwl-table-manage-lists thead th:not(.wishlist-name) {\n display: none; }\n .tinv-wishlist thead th .tinvwl-full {\n display: none; }\n .tinv-wishlist table.tinvwl-table-manage-list thead th.product-name, .tinv-wishlist table.tinvwl-table-manage-lists thead th.wishlist-name {\n display: block;\n width: 100%;\n text-align: center; }\n .tinv-wishlist table thead th .tinvwl-mobile {\n display: block; }\n .tinv-wishlist table.tinvwl-table-manage-list tbody td {\n display: block;\n width: 100% !important;\n text-align: center; }\n .tinv-wishlist table.tinvwl-table-manage-lists tbody td, .tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td {\n display: block;\n width: 100% !important;\n text-align: center; }\n .tinv-wishlist table.tinvwl-table-manage-list tbody td:not(:last-child) {\n border-bottom: 0; }\n .tinv-wishlist table.tinvwl-table-manage-lists tbody td:not(:last-child), .tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td:not(:last-child) {\n border-bottom: 0; }\n .tinv-wishlist .product-stock p {\n margin: 0 auto; }\n .tinv-wishlist .product-thumbnail img {\n margin: 0 auto;\n max-width: 80px; }\n .tinv-wishlist.woocommerce table .quantity .qty {\n text-align: center;\n width: 100%; }\n .tinv-wishlist .product-action .tinvwl_move_product_button {\n margin-top: 10px; }\n .tinv-wishlist table.tinvwl-table-manage-list tfoot td {\n display: block;\n width: 100%; }\n .tinv-wishlist table.tinvwl-table-manage-lists .wishlist-action button[value=manage_remove] {\n width: 100%; }\n .tinv-wishlist table.tinvwl-table-manage-lists .wishlist-name .tinvwl-rename-button {\n float: none; } }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .wishlist-name .tinvwl-rename-button > i, .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n margin-left: 0; }\n .tinv-wishlist .wishlist-name .tinvwl-rename-button span {\n display: none; }\n .tinv-wishlist .wishlist-action {\n width: 60px; }\n .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n float: none;\n width: auto; }\n .tinv-wishlist tfoot .tinvwl-to-right {\n float: none;\n width: auto;\n text-align: right; } }\n\n@media only screen and (max-width: 1024px) and (min-width: 641px) {\n .tinv-wishlist .wishlist-action button[value=\"manage_remove\"] span {\n display: none; }\n .tinv-wishlist .wishlist-action button[value=\"manage_remove\"] > i {\n display: inline-block; }\n .tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: 0; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist button[value=\"manage_apply\"] .tinvwl-mobile, .tinv-wishlist button[value=\"product_apply\"] .tinvwl-mobile {\n display: none; }\n .tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list {\n display: block; }\n .tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right .button, .tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right button {\n width: 100%;\n margin: 10px 0 0; }\n .tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right .button, .tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right button {\n width: 100%;\n margin: 10px 0 0; }\n .tinv-wishlist tfoot .tinvwl-to-right > * {\n margin: 10px 0 0; }\n .tinv-wishlist tfoot .tinvwl-to-right .button:first-child, .tinv-wishlist tfoot .tinvwl-to-right button:first-child {\n margin-top: 0 !important; }\n .tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: 20px; } }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .social-buttons {\n float: none;\n width: auto;\n text-align: right;\n margin-top: 20px; }\n .tinv-wishlist .social-buttons + .tinv-wishlist-clear + .navigation-button {\n margin-top: 30px; }\n .tinv-wishlist .tinv-login form input[name=login] {\n min-width: auto; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist .social-buttons {\n text-align: center; }\n .tinv-wishlist .navigation-button > li {\n width: 20%;\n text-align: center; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-1 > li {\n width: 100%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-2 > li {\n width: 50%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-3 > li {\n width: 33%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-4 > li {\n width: 25%; }\n .tinv-wishlist .navigation-button > li + li {\n width: 20%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-1 > li + li {\n width: 100%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-2 > li + li {\n width: 50%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-3 > li + li {\n width: 33%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-4 > li + li {\n width: 25%; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a, .tinv-wishlist .navigation-button > li > a {\n width: calc(100% - 10px);\n margin-left: 0; }\n .tinv-wishlist .navigation-button .tinv-create-list > a .tinvwl-txt, .tinv-wishlist .navigation-button li > a .tinvwl-txt {\n display: none; }\n .tinv-wishlist .navigation-button .tinv-create-list > a > i, .tinv-wishlist .navigation-button li > a > i {\n display: inline-block !important;\n margin-left: 0; }\n .tinv-wishlist .social-buttons > span {\n display: block;\n margin-top: 0;\n margin-left: 0;\n margin-bottom: 5px; } }\n\n@media only screen and (max-width: 667px) {\n .tinv-wishlist.woocommerce .tinv-login form .form-row-first, .tinv-wishlist.woocommerce .tinv-login form .form-row-last {\n float: none;\n width: 100%; }\n .tinv-wishlist.woocommerce .tinv-login form .form-row-first {\n padding: 0; }\n .tinv-wishlist.woocommerce .tinv-login form .form-row-last {\n padding: 0;\n margin-top: 10px; }\n .tinv-wishlist.woocommerce .tinv-login form .tinvwl-input-group-btn {\n display: block;\n padding: 0;\n width: auto;\n margin-top: 10px; } }\n\n.tinv-overlay {\n width: 100%;\n height: 100%;\n visibility: hidden;\n opacity: 0;\n background: #191919; }\n\n.tinv-modal.tinv-modal-open .tinv-overlay {\n visibility: visible;\n opacity: .5; }\n\n.admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 32px !important; }\n\n.tinv-wishlist .tinv-modal {\n overflow-y: auto;\n overflow-x: hidden;\n width: 0;\n height: 0;\n z-index: 9999;\n outline: 0 !important;\n -webkit-backface-visibility: hidden;\n visibility: hidden;\n opacity: 0;\n text-align: right; }\n .tinv-wishlist .tinv-modal .tinv-modal-inner {\n position: relative;\n margin: 0 auto;\n background-color: #fff;\n max-width: 360px;\n padding: 40px; }\n .tinv-wishlist .tinv-modal.tinv-modal-open {\n visibility: visible;\n opacity: 1;\n width: 100%;\n height: 100%; }\n .tinv-wishlist .tinv-modal .tinv-close-modal {\n display: inline-block;\n position: absolute;\n top: 17px;\n left: 14px;\n width: 26px;\n height: 26px;\n line-height: 26px;\n font-size: 12px;\n text-align: center;\n border-radius: 50%;\n border-bottom: 0;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n background-color: #ebe9eb; }\n .tinv-wishlist .tinv-modal .icon_big_heart_check, .tinv-wishlist .tinv-modal .icon_big_times, .tinv-wishlist .tinv-modal img {\n display: block;\n margin: 0 auto;\n margin-bottom: 25px;\n opacity: 1 !important; }\n .tinv-wishlist .tinv-modal ul {\n overflow: visible;\n list-style: disc;\n margin: 10px 20px 0 0; }\n .tinv-wishlist .tinv-modal li {\n list-style: disc !important; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal ul, .tinv-wishlist.tinv-create-list form ul {\n list-style: none !important;\n margin: 25px 0 0; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal li, .tinv-wishlist.tinv-create-list form li {\n list-style: none !important; }\n\n.tinv-wishlist .tinv-modal .already-in {\n margin-bottom: 35px; }\n\n.tinv-wishlist .tinv-modal .delete-notification {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinv-modal .already-in ul {\n overflow: visible;\n margin: 12px 17px 27px 0; }\n\n.tinv-wishlist .tinv-modal select {\n width: 100%; }\n\n.tinv-wishlist .tinv-modal button + .button, .tinv-wishlist .tinv-modal button + button {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal input + button {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal label + button, .tinv-wishlist .tinv-modal label + input {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal select + button, .tinv-wishlist .tinv-modal select + input {\n margin-top: 12px;\n width: 100%; }\n\n@media screen and (max-width: 782px) {\n .admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 46px !important; } }\n\n@media screen and (max-width: 600px) {\n .admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 0 !important; }\n .tinv-wishlist .tinv-modal .tinv-close-modal {\n position: static;\n display: block;\n margin: 0 auto 20px; } }\n\n.tinv-wishlist .tinv-modal .already-in + label {\n display: block;\n margin-top: 6px; }\n\n.tinv-wishlist .tinv-modal label select {\n margin-top: 8px; }\n\n.tinv-wishlist .tinv-modal .delete-notification + button {\n width: 100%; }\n\n.tinv-wishlist .tinvwl_added_to_wishlist, .tinv-wishlist .tinvwl_created_wishlist {\n text-align: center; }\n\n.tinv-wishlist .tinvwl_added_to_wishlist .tinv-txt {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinvwl_created_wishlist .tinv-txt {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinvwl_created_wishlist button {\n margin-top: 0;\n margin-bottom: 10px; }\n\n.woocommerce .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal button.button {\n margin-top: 0;\n margin-bottom: 10px; }\n\n.tinv-wishlist .tinv-modal .tinvwl-buttons-group {\n margin-top: 20px; }\n\n.tinv-wishlist .tinvwl-buttons-group button {\n width: 100%; }\n .tinv-wishlist .tinvwl-buttons-group button + button {\n margin-top: 7px; }\n .tinv-wishlist .tinvwl-buttons-group button i {\n position: relative; }\n .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times {\n font-size: 20px; }\n .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o::before, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key::before, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times::before {\n position: relative;\n top: 3px; }\n\n.tinv-wishlist .tinvwl-buttons-group + button {\n width: 100%;\n margin-top: 7px; }\n\n.tinv-wishlist .tinv-modal h2 {\n text-align: center;\n margin: 0 0 35px; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal-inner {\n max-width: 778px;\n padding: 30px; }\n\n.tinv-wishlist .tinvwl-has-error:not(.tinvwl-input-group), .tinv-wishlist .tinvwl-input-group.tinvwl-has-error .form-control {\n border: 2px solid #FF0000; }\n\n.tinv-wishlist .tinvwl-has-error:not(.tinvwl-input-group) {\n border: 2px solid #FF0000; }\n\n.tinv-wishlist .tinvwl-has-error + .tinvwl-error {\n padding: 5px 5px 0 0;\n color: #FF0000; }\n\n@media only screen and (max-width: 640px) {\n .navigation-button, .social-buttons, .tinv-lists-nav {\n margin-right: 12px;\n margin-left: 12px; } }\n\n.tinvwl-tooltip {\n display: none; }\n\n.tinvwl-input-group {\n position: relative;\n display: table;\n border-collapse: separate; }\n .tinvwl-input-group .form-control {\n position: relative;\n z-index: 1;\n float: right;\n height: 38px;\n width: 100%;\n margin-bottom: 0; }\n .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-right: 15px; }\n\n.tinv-wishlist .tinvwl-to-left .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-right: 10px; }\n\n.tinv-wishlist .tinv-search-form .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-right: 9px; }\n\n.tinvwl-input-group .form-control, .tinvwl-input-group-addon, .tinvwl-input-group-btn {\n display: table-cell; }\n\n.tinvwl-input-group-addon, .tinvwl-input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: top; }\n\n@media only screen and (max-width: 640px) {\n .tinvwl-input-group {\n width: 100%; } }\n\n@media only screen and (max-width: 667px) {\n .tinvwl-input-group:not(.tinvwl-no-full) {\n display: block; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn {\n display: block; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control {\n float: none; }\n .tinv-wishlist .tinv-search-form .tinvwl-input-group:not(.tinvwl-no-full) .form-control + .tinvwl-input-group-btn {\n padding-top: 10px;\n padding-right: 0; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control + .tinvwl-input-group-btn {\n padding-top: 10px;\n padding-right: 0; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon > button, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon > input {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn > button, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn > input {\n width: 100%; } }\n\n.tinv-table {\n display: table;\n width: 100%;\n height: 100%; }\n\n.tinv-cell {\n display: table-cell;\n vertical-align: middle; }\n\n.tinv-wishlist .tinv-wishlist-clear {\n visibility: visible;\n width: auto;\n height: auto; }\n\n.tinv-wishlist-clear:before {\n content: \"\";\n display: table; }\n\n.tinv-wishlist-clear:after {\n content: \"\";\n display: table;\n clear: both; }\n\n.icon_big_heart_check {\n display: inline-block;\n width: 46px;\n height: 46px;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 60px; }\n\n.icon_big_times {\n display: inline-block;\n width: 46px;\n height: 46px;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 60px; }\n .icon_big_times::before {\n content: \"\\e904\";\n top: -7px;\n right: -7px;\n position: relative; }\n\n.icon_big_heart_check::before {\n content: \"\\e90a\";\n top: -7px;\n right: -7px;\n position: relative; }\n\n.tinvwl_add_to_wishlist_button.tinvwl-button.disabled-add-wishlist, .tinvwl_add_to_wishlist_button.disabled-add-wishlist {\n opacity: 0.5 !important;\n cursor: not-allowed; }\n\n.empty-name-wishlist {\n border-color: #FF0000 !important; }\n\n.tinvwl_remove_from_wishlist-text, .tinvwl_already_on_wishlist-text {\n display: none !important; }\n\n.tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_remove_from_wishlist-text, .tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_already_on_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_remove_from_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_already_on_wishlist-text {\n display: inline !important; }\n\n.tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_add_to_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_add_to_wishlist-text {\n display: none !important; }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .tinvwl-table-manage-list .product-remove {\n display: table-cell; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove {\n display: block; } }\n\n.tooltipped {\n position: relative; }\n\n.tooltipped::after {\n position: absolute;\n z-index: 1000000;\n display: none;\n padding: 0.5em 0.75em;\n font: normal normal 11px/1.5 -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n -webkit-font-smoothing: subpixel-antialiased;\n color: #fff;\n text-align: center;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: break-word;\n white-space: pre;\n pointer-events: none;\n content: attr(aria-label);\n background: #1b1f23;\n border-radius: 3px;\n opacity: 0; }\n\n.tooltipped::before {\n position: absolute;\n z-index: 1000001;\n display: none;\n width: 0;\n height: 0;\n color: #1b1f23;\n pointer-events: none;\n content: \"\";\n border: 6px solid transparent;\n opacity: 0; }\n\n@-webkit-keyframes tooltip-appear {\n from {\n opacity: 0; }\n to {\n opacity: 1; } }\n\n@keyframes tooltip-appear {\n from {\n opacity: 0; }\n to {\n opacity: 1; } }\n\n.tooltipped:hover::before, .tooltipped:hover::after,\n.tooltipped:active::before,\n.tooltipped:active::after,\n.tooltipped:focus::before,\n.tooltipped:focus::after {\n display: inline-block;\n text-decoration: none;\n -webkit-animation-name: tooltip-appear;\n animation-name: tooltip-appear;\n -webkit-animation-duration: 0.1s;\n animation-duration: 0.1s;\n -webkit-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n\n.tooltipped-no-delay:hover::before, .tooltipped-no-delay:hover::after,\n.tooltipped-no-delay:active::before,\n.tooltipped-no-delay:active::after,\n.tooltipped-no-delay:focus::before,\n.tooltipped-no-delay:focus::after {\n -webkit-animation-delay: 0s;\n animation-delay: 0s; }\n\n.tooltipped-multiline:hover::after,\n.tooltipped-multiline:active::after,\n.tooltipped-multiline:focus::after {\n display: table-cell; }\n\n.tooltipped-s::after,\n.tooltipped-se::after,\n.tooltipped-sw::after {\n top: 100%;\n left: 50%;\n margin-top: 6px; }\n\n.tooltipped-s::before,\n.tooltipped-se::before,\n.tooltipped-sw::before {\n top: auto;\n left: 50%;\n bottom: -7px;\n margin-left: -6px;\n border-bottom-color: #1b1f23; }\n\n.tooltipped-se::after {\n left: auto;\n right: 50%;\n margin-right: -16px; }\n\n.tooltipped-sw::after {\n margin-left: -16px; }\n\n.tooltipped-n::after,\n.tooltipped-ne::after,\n.tooltipped-nw::after {\n left: 50%;\n bottom: 100%;\n margin-bottom: 6px; }\n\n.tooltipped-n::before,\n.tooltipped-ne::before,\n.tooltipped-nw::before {\n top: -7px;\n left: 50%;\n bottom: auto;\n margin-left: -6px;\n border-top-color: #1b1f23; }\n\n.tooltipped-ne::after {\n left: auto;\n right: 50%;\n margin-right: -16px; }\n\n.tooltipped-nw::after {\n margin-left: -16px; }\n\n.tooltipped-s::after,\n.tooltipped-n::after {\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n\n.tooltipped-w::after {\n left: 100%;\n bottom: 50%;\n margin-left: 6px;\n -webkit-transform: translateY(50%);\n transform: translateY(50%); }\n\n.tooltipped-w::before {\n top: 50%;\n bottom: 50%;\n right: -7px;\n margin-top: -6px;\n border-right-color: #1b1f23; }\n\n.tooltipped-e::after {\n bottom: 50%;\n right: 100%;\n margin-right: 6px;\n -webkit-transform: translateY(50%);\n transform: translateY(50%); }\n\n.tooltipped-e::before {\n top: 50%;\n left: -7px;\n bottom: 50%;\n margin-top: -6px;\n border-left-color: #1b1f23; }\n\n.tooltipped-align-right-1::after,\n.tooltipped-align-right-2::after {\n left: 0;\n margin-left: 0; }\n\n.tooltipped-align-right-1::before {\n left: 10px; }\n\n.tooltipped-align-right-2::before {\n left: 15px; }\n\n.tooltipped-align-left-1::after,\n.tooltipped-align-left-2::after {\n right: 0;\n margin-right: 0; }\n\n.tooltipped-align-left-1::before {\n right: 5px; }\n\n.tooltipped-align-left-2::before {\n right: 10px; }\n\n.tooltipped-multiline::after {\n width: -webkit-max-content;\n width: -moz-max-content;\n width: max-content;\n max-width: 250px;\n word-wrap: break-word;\n white-space: pre-line;\n border-collapse: separate; }\n\n.tooltipped-multiline.tooltipped-s::after, .tooltipped-multiline.tooltipped-n::after {\n left: auto;\n right: 50%;\n -webkit-transform: translateX(50%);\n transform: translateX(50%); }\n\n.tooltipped-multiline.tooltipped-w::after, .tooltipped-multiline.tooltipped-e::after {\n left: 100%; }\n\n@media screen and (min-width: 0 \\0 ) {\n .tooltipped-multiline::after {\n width: 250px; } }\n\n.tooltipped-sticky::before, .tooltipped-sticky::after {\n display: inline-block; }\n\n.tooltipped-sticky.tooltipped-multiline::after {\n display: table-cell; }\n\n.tinvwl-table-manage-list .component_table_item_price:before {\n font-family: 'FontAwesomeCP';\n font-size: 1rem;\n display: inline-block;\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg);\n content: \"\\e811\";\n margin: 0 3px 0 12px;\n opacity: .25; }\n"]}
1
+ {"version":3,"names":[],"mappings":"","sources":["public-rtl.css"],"file":"public-rtl.css","sourcesContent":["/*------------------------------------*\n\t$WEBFONT\n*------------------------------------*/\n/*------------------------------------------------------------------\nWooCommerce Wishlist Plugin custom webfont\n-------------------------------------------------------------------*/\n@font-face {\n font-family: 'tinvwl-webfont';\n src: url(\"../fonts/tinvwl-webfont.eot?xu2uyi\");\n src: url(\"../fonts/tinvwl-webfont.eot?xu2uyi#iefix\") format(\"embedded-opentype\"), url(\"../fonts/tinvwl-webfont.ttf?xu2uyi\") format(\"truetype\"), url(\"../fonts/tinvwl-webfont.woff?xu2uyi\") format(\"woff\"), url(\"../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont\") format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.ftinvwl {\n /* use !important to prevent issues with browser extensions that change fonts */\n font-family: 'tinvwl-webfont' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.ftinvwl-twitter:before {\n content: \"\\f099\"; }\n\n.ftinvwl-facebook:before {\n content: \"\\f09a\"; }\n\n.ftinvwl-facebook-f:before {\n content: \"\\f09a\"; }\n\n.ftinvwl-google:before {\n content: \"\\f0d5\"; }\n\n.ftinvwl-email:before {\n content: \"\\f0e0\"; }\n\n.ftinvwl-pinterest:before {\n content: \"\\f231\"; }\n\n.ftinvwl-whatsapp:before {\n content: \"\\f232\"; }\n\n.ftinvwl-clipboard:before {\n content: \"\\e911\"; }\n\n.ftinvwl-star:before {\n content: \"\\e912\"; }\n\n.ftinvwl-shopping-cart:before {\n content: \"\\e913\"; }\n\n.ftinvwl-magic:before {\n content: \"\\e914\"; }\n\n.ftinvwl-info:before {\n content: \"\\e915\"; }\n\n.ftinvwl-graduation-cap:before {\n content: \"\\e918\"; }\n\n.ftinvwl-floppy-o:before {\n content: \"\\e919\"; }\n\n.ftinvwl-eyedropper:before {\n content: \"\\e91a\"; }\n\n.ftinvwl-exclamation-triangle:before {\n content: \"\\e91b\"; }\n\n.ftinvwl-check:before {\n content: \"\\e91e\"; }\n\n.ftinvwl-arrow-left:before {\n content: \"\\e91f\"; }\n\n.ftinvwl-wrench:before {\n content: \"\\e920\"; }\n\n.ftinvwl-chevron-down:before {\n content: \"\\e900\"; }\n\n.ftinvwl-chevron-right:before {\n content: \"\\e901\"; }\n\n.ftinvwl-chevron-left:before {\n content: \"\\e902\"; }\n\n.ftinvwl-chevron-up:before {\n content: \"\\e903\"; }\n\n.ftinvwl-cancel:before {\n content: \"\\e904\"; }\n\n.ftinvwl-times:before {\n content: \"\\e905\"; }\n\n.ftinvwl-heart-plus:before {\n content: \"\\e906\"; }\n\n.ftinvwl-heart-mark-right:before {\n content: \"\\e907\"; }\n\n.ftinvwl-heart2:before {\n content: \"\\e908\"; }\n\n.ftinvwl-heart-o:before {\n content: \"\\e909\"; }\n\n.ftinvwl-heart-mark-left:before {\n content: \"\\e90a\"; }\n\n.ftinvwl-heart-mail:before {\n content: \"\\e90b\"; }\n\n.ftinvwl-heart-tinv:before {\n content: \"\\e90c\"; }\n\n.ftinvwl-key:before {\n content: \"\\e90d\"; }\n\n.ftinvwl-lock:before {\n content: \"\\e90e\"; }\n\n.ftinvwl-hearts:before {\n content: \"\\e90f\"; }\n\n.ftinvwl-user:before {\n content: \"\\e910\"; }\n\n/* PULSE */\n@-webkit-keyframes ftinvwl-pulse {\n 0% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n 50% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n 100% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); } }\n\n@keyframes ftinvwl-pulse {\n 0% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n 50% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n 100% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); } }\n\n.ftinvwl-pulse.ftinvwl-animated::before {\n -webkit-animation: ftinvwl-pulse 2s linear infinite;\n animation: ftinvwl-pulse 2s linear infinite; }\n\n.tinv-wishlist form, .tinv-wishlist p:last-child, .tinv-wishlist table {\n margin-bottom: 0; }\n\n.tinv-wishlist * {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n.tinvwl-wishlist :after, .tinvwl-wishlist :before {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n.tinv-wishlist select {\n width: 140px; }\n\n.tinv-wishlist ul {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {\n margin-top: -10px;\n margin-right: -10px; }\n\n.woocommerce.tinv-wishlist #respond input#submit.alt, .woocommerce.tinv-wishlist a.button.alt, .woocommerce.tinv-wishlist button.button.alt, .woocommerce.tinv-wishlist input.button.alt {\n text-align: center; }\n\n.tinv-wishlist .button i, .tinv-wishlist .navigation-button a i {\n margin-left: 6px; }\n\n.tinv-wishlist input[type=\"button\"] i, .tinv-wishlist input[type=\"reset\"] i, .tinv-wishlist input[type=\"submit\"] i {\n margin-left: 6px; }\n\n.tinv-wishlist a.tinv-close-modal i {\n margin-left: 0; }\n\na.wishlist_products_counter {\n text-decoration: none; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before, a.wishlist_products_counter.top_wishlist-heart:before, span.wishlist_products_counter.top_wishlist-heart:before, a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart:before {\n content: '\\e909';\n display: inline-block;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 20px;\n vertical-align: sub;\n margin-left: 5px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, a.wishlist_products_counter.top_wishlist-heart-plus:before, span.wishlist_products_counter.top_wishlist-heart-plus:before, a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart-plus:before {\n content: '\\e906';\n display: inline-block;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 20px;\n vertical-align: sub;\n margin-left: 5px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt {\n position: relative;\n width: 36px;\n height: 36px;\n vertical-align: sub; }\n\na.wishlist_products_counter.top_wishlist-heart-plus.no-txt, span.wishlist_products_counter.top_wishlist-heart-plus.no-txt {\n position: relative;\n width: 36px;\n height: 36px;\n vertical-align: sub; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {\n position: absolute;\n top: 50%;\n right: 50%;\n margin-left: 0; }\n\n.tinv-wishlist .tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt, .tinv-wishlist .tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt {\n padding-right: 1em;\n vertical-align: bottom; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before {\n content: '\\e908'; }\n\n.woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:before, a.wishlist_products_counter.top_wishlist-heart.wishlist-counter-with-products:before, span.wishlist_products_counter.top_wishlist-heart.wishlist-counter-with-products:before {\n content: '\\e908'; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:before, a.wishlist_products_counter.top_wishlist-heart-plus.wishlist-counter-with-products:before, span.wishlist_products_counter.top_wishlist-heart-plus.wishlist-counter-with-products:before {\n content: '\\e907'; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.icon-white:before, a.wishlist_products_counter.top_wishlist-white:before, span.wishlist_products_counter.top_wishlist-white:before {\n color: #FFF; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.icon-black:before, a.wishlist_products_counter.top_wishlist-black:before, span.wishlist_products_counter.top_wishlist-black:before {\n color: #000; }\n\n.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button {\n margin-bottom: 15px; }\n\n.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button {\n margin-top: 15px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt {\n padding: 10px 11px;\n line-height: 1; }\n\na.wishlist_products_counter.top_wishlist-custom.no-txt, span.wishlist_products_counter.top_wishlist-custom.no-txt {\n padding: 10px 11px;\n line-height: 1; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom img, a.wishlist_products_counter.top_wishlist-custom img, span.wishlist_products_counter.top_wishlist-custom img {\n display: inline-block !important;\n vertical-align: baseline;\n width: auto !important;\n max-width: 16px;\n max-height: 16px;\n margin-bottom: 0;\n margin: 0 0 0 6px !important; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt img, a.wishlist_products_counter.top_wishlist-custom.no-txt img, span.wishlist_products_counter.top_wishlist-custom.no-txt img {\n margin-left: 0 !important; }\n\n.single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button, div.product form.cart .tinvwl_add_to_wishlist_button {\n float: none; }\n\nul.products li.product .tinvwl_add_to_wishlist_button {\n margin-top: 1em; }\n\n.tinvwl_add_to_wishlist_button {\n display: inline-block;\n cursor: pointer;\n -webkit-transition: opacity 1s;\n transition: opacity 1s;\n opacity: 1;\n visibility: visible; }\n\n.tinv-wishlist.woocommerce .stock.in-stock:before {\n content: none; }\n\n.tinv-wraper.tinv-wishlist {\n font-size: 100%; }\n\n.tinv-create-list li input[type=radio] {\n margin-left: 10px; }\n\n.tinv-create-list li + li {\n margin-top: 15px; }\n\n.tinv-create-list .tinvwl-input-group + ul {\n margin-top: 25px; }\n\n.tinv-search-list {\n margin-bottom: 36px; }\n\n.tinv-wishlist .tinv-header {\n margin-bottom: 30px; }\n\n.tinv-wishlist table {\n position: relative;\n table-layout: auto;\n margin-bottom: 30px;\n z-index: 2; }\n\n.tinv-overlay {\n top: 0;\n right: 0;\n position: fixed;\n -webkit-transition: opacity .3s ease, visibility .3s ease;\n transition: opacity .3s ease, visibility .3s ease; }\n\n.tinv-wishlist .tinv-modal {\n top: 0;\n right: 0;\n position: fixed;\n -webkit-transition: opacity .3s ease, visibility .3s ease;\n transition: opacity .3s ease, visibility .3s ease; }\n\n.tinv-wishlist table.tinvwl-table-manage-list {\n margin-bottom: 27px;\n width: 100%; }\n\n.tinv-wishlist table input[type=checkbox] {\n margin-left: 0; }\n\n.tinv-wishlist table td, .tinv-wishlist table th {\n padding: 1em;\n vertical-align: middle; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-cb {\n width: 35px;\n text-align: center; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-remove {\n width: 35px;\n text-align: center;\n padding: 1em .5em; }\n\n.tinv-wishlist .product-remove button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n margin: 0 auto;\n width: 27px;\n height: 27px;\n border-radius: 50%;\n padding: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: none;\n background-color: #f7f7f7;\n color: #000000;\n font-size: 20px;\n padding-right: 1px;\n padding-top: 3px; }\n\n.tinv-wishlist .product-thumbnail {\n min-width: 100px;\n width: 100px; }\n .tinv-wishlist .product-thumbnail .wp-post-image {\n margin-bottom: 0; }\n\n.tinv-wishlist td.product-name a + .variation {\n margin-top: 2px; }\n\n.tinv-wishlist .product-stock i {\n margin-left: 15px; }\n\n.tinv-wishlist .product-stock p {\n display: table; }\n\n.tinv-wishlist .product-stock span {\n display: table-cell;\n vertical-align: middle; }\n\n.tinv-wishlist .product-action > .button > i, .tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove], .tinv-wishlist table thead th .tinvwl-mobile {\n display: none; }\n\n.tinv-wishlist.woocommerce .product-quantity {\n width: 80px;\n text-align: center; }\n\n.tinv-wishlist.woocommerce table .quantity .qty {\n max-width: 100%;\n width: 62px;\n text-align: right; }\n\n.tinv-wishlist .product-action {\n width: 135px;\n text-align: center; }\n .tinv-wishlist .product-action .button {\n width: 100%; }\n .tinv-wishlist .product-action .tinvwl_move_product_button {\n margin-top: 5px; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-action > button[name=tinvwl-remove] > i {\n margin-left: 0; }\n\n.tinv-wishlist .wishlist-cb {\n width: 33px;\n text-align: center; }\n\n.tinv-wishlist .wishlist-name .tinvwl-rename-input input {\n width: 100%; }\n\n.tinv-wishlist .wishlist-name .tinvwl-rename-button {\n float: left; }\n .tinv-wishlist .wishlist-name .tinvwl-rename-button > i {\n margin-left: 10px; }\n\n.tinv-wishlist .wishlist-privacy, .tinv-wishlist table:not(.tinvwl-public) .wishlist-date {\n width: 18%; }\n\n.tinv-wishlist .wishlist-privacy select {\n width: 100%; }\n\n.tinv-wishlist .wishlist-name {\n width: 45%; }\n\n.tinv-wishlist .wishlist-action {\n width: 120px;\n text-align: center; }\n .tinv-wishlist .wishlist-action button[value=manage_remove] > i {\n display: none;\n margin-left: 0; }\n\n.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list {\n display: inline-block;\n vertical-align: middle; }\n .tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list > a.button {\n margin-left: 0; }\n\n.tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: -10px; }\n\n.tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n float: right;\n width: 35%;\n margin-left: 2%; }\n\n.tinv-wishlist tfoot .tinvwl-to-right {\n float: right;\n width: 63%;\n text-align: left; }\n .tinv-wishlist tfoot .tinvwl-to-right > * {\n margin: 10px 0 0;\n vertical-align: middle; }\n .tinv-wishlist tfoot .tinvwl-to-right > * + * {\n margin-right: 10px; }\n\n.tinv-wishlist tfoot .tinvwl-to-left:empty + .tinvwl-to-right {\n width: 100%; }\n\n.tinv-wishlist .social-buttons + .tinv-wishlist-clear + .navigation-button {\n margin-top: 16px; }\n\n.tinv-wishlist .navigation-button {\n margin-top: -10px; }\n .tinv-wishlist .navigation-button > li {\n float: right; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a, .tinv-wishlist .navigation-button > li > a {\n margin-left: 30px;\n margin-top: 10px;\n display: inline-block; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a.button, .tinv-wishlist .navigation-button > li > a.button {\n margin-left: 10px; }\n .tinv-wishlist .navigation-button > li:last-child > .tinv-create-list > a, .tinv-wishlist .navigation-button > li:last-child > a {\n margin-left: 0; }\n\n.tinv-wishlist .social-buttons {\n text-align: left; }\n .tinv-wishlist .social-buttons > span, .tinv-wishlist .social-buttons > ul {\n display: inline-block;\n vertical-align: middle; }\n .tinv-wishlist .social-buttons > span {\n margin-left: 27px; }\n .tinv-wishlist .social-buttons li {\n float: right;\n margin-left: 5px;\n list-style: none; }\n .tinv-wishlist .social-buttons li:last-child {\n margin-left: 0; }\n .tinv-wishlist .social-buttons li a.social {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 2em;\n height: 2em;\n border-radius: 50%;\n text-align: center;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: 0;\n font-size: 20px;\n text-decoration: none;\n text-transform: none !important; }\n .tinv-wishlist .social-buttons li a.social.white {\n color: #ffffff; }\n .tinv-wishlist .social-buttons li a.social.dark {\n color: #000000; }\n .tinv-wishlist .social-buttons li a.social i {\n line-height: 2em; }\n\n.tinv-wishlist .navigation-button .tinv-create-list > a.tinvwl-no-icon > i, .tinv-wishlist .navigation-button li > a.tinvwl-no-icon > i {\n display: none; }\n\n.tinv-wishlist .tinv-lists-nav {\n margin-top: 35px;\n margin-bottom: 35px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n width: 100%; }\n .tinv-wishlist .tinv-lists-nav > * {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n text-align: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .tinv-wishlist .tinv-lists-nav > span {\n font-weight: 700; }\n\n.tinv-wishlist .tinv-next {\n display: inline-block;\n float: right; }\n\n.tinv-wishlist .tinv-prev {\n display: inline-block;\n float: right;\n margin-left: 35px !important; }\n\n.tinv-wishlist .tinv-prev i {\n margin-right: 0;\n margin-left: 18px; }\n\n.tinv-wishlist .tinv-next i {\n margin-right: 18px;\n margin-left: 0; }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .tinvwl-table-manage-lists:not(.tinvwl-public) {\n margin-top: 0; }\n .tinv-wishlist .tinvwl-table-manage-list .product-remove {\n display: none; }\n .tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove] {\n display: inline-block;\n margin-top: 5px; }\n .tinv-wishlist .product-action {\n width: 60px; } }\n\n@media only screen and (max-width: 1024px) and (min-width: 641px) {\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock p {\n display: block;\n text-align: center; }\n .tinv-wishlist .product-stock span {\n display: block; }\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock i {\n margin-left: 0; }\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock .tinvwl-txt {\n display: none; }\n .tinv-wishlist .product-thumbnail {\n max-width: 76px;\n width: 76px; }\n .tinv-wishlist .product-action .button > i {\n display: inline-block;\n margin-left: 0; }\n .tinv-wishlist .product-action .button .tinvwl-txt {\n display: none; } }\n\n@media only screen and (max-width: 1023px) {\n .tinv-wishlist .tinv-lists-nav a.tinv-prev > i, .tinv-wishlist .tinv-lists-nav a.tinv-next > i {\n margin: 0; }\n .tinv-wishlist .tinv-lists-nav a.tinv-prev > span, .tinv-wishlist .tinv-lists-nav a.tinv-next > span {\n display: none; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove, .tinv-wishlist table.tinvwl-table-manage-list thead th:not(.product-name) {\n display: none; }\n .tinv-wishlist table.tinvwl-table-manage-lists thead th:not(.wishlist-name) {\n display: none; }\n .tinv-wishlist thead th .tinvwl-full {\n display: none; }\n .tinv-wishlist table.tinvwl-table-manage-list thead th.product-name, .tinv-wishlist table.tinvwl-table-manage-lists thead th.wishlist-name {\n display: block;\n width: 100%;\n text-align: center; }\n .tinv-wishlist table thead th .tinvwl-mobile {\n display: block; }\n .tinv-wishlist table.tinvwl-table-manage-list tbody td {\n display: block;\n width: 100% !important;\n text-align: center; }\n .tinv-wishlist table.tinvwl-table-manage-lists tbody td, .tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td {\n display: block;\n width: 100% !important;\n text-align: center; }\n .tinv-wishlist table.tinvwl-table-manage-list tbody td:not(:last-child) {\n border-bottom: 0; }\n .tinv-wishlist table.tinvwl-table-manage-lists tbody td:not(:last-child), .tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td:not(:last-child) {\n border-bottom: 0; }\n .tinv-wishlist .product-stock p {\n margin: 0 auto; }\n .tinv-wishlist .product-thumbnail img {\n margin: 0 auto;\n max-width: 80px; }\n .tinv-wishlist.woocommerce table .quantity .qty {\n text-align: center;\n width: 100%; }\n .tinv-wishlist .product-action .tinvwl_move_product_button {\n margin-top: 10px; }\n .tinv-wishlist table.tinvwl-table-manage-list tfoot td {\n display: block;\n width: 100%; }\n .tinv-wishlist table.tinvwl-table-manage-lists .wishlist-action button[value=manage_remove] {\n width: 100%; }\n .tinv-wishlist table.tinvwl-table-manage-lists .wishlist-name .tinvwl-rename-button {\n float: none; } }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .wishlist-name .tinvwl-rename-button > i, .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n margin-left: 0; }\n .tinv-wishlist .wishlist-name .tinvwl-rename-button span {\n display: none; }\n .tinv-wishlist .wishlist-action {\n width: 60px; }\n .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n float: none;\n width: auto; }\n .tinv-wishlist tfoot .tinvwl-to-right {\n float: none;\n width: auto;\n text-align: right; } }\n\n@media only screen and (max-width: 1024px) and (min-width: 641px) {\n .tinv-wishlist .wishlist-action button[value=\"manage_remove\"] span {\n display: none; }\n .tinv-wishlist .wishlist-action button[value=\"manage_remove\"] > i {\n display: inline-block; }\n .tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: 0; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist button[value=\"manage_apply\"] .tinvwl-mobile, .tinv-wishlist button[value=\"product_apply\"] .tinvwl-mobile {\n display: none; }\n .tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list {\n display: block; }\n .tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right .button, .tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right button {\n width: 100%;\n margin: 10px 0 0; }\n .tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right .button, .tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right button {\n width: 100%;\n margin: 10px 0 0; }\n .tinv-wishlist tfoot .tinvwl-to-right > * {\n margin: 10px 0 0; }\n .tinv-wishlist tfoot .tinvwl-to-right .button:first-child, .tinv-wishlist tfoot .tinvwl-to-right button:first-child {\n margin-top: 0 !important; }\n .tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: 20px; } }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .social-buttons {\n float: none;\n width: auto;\n text-align: right;\n margin-top: 20px; }\n .tinv-wishlist .social-buttons + .tinv-wishlist-clear + .navigation-button {\n margin-top: 30px; }\n .tinv-wishlist .tinv-login form input[name=login] {\n min-width: auto; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist .social-buttons {\n text-align: center; }\n .tinv-wishlist .navigation-button > li {\n width: 20%;\n text-align: center; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-1 > li {\n width: 100%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-2 > li {\n width: 50%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-3 > li {\n width: 33%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-4 > li {\n width: 25%; }\n .tinv-wishlist .navigation-button > li + li {\n width: 20%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-1 > li + li {\n width: 100%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-2 > li + li {\n width: 50%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-3 > li + li {\n width: 33%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-4 > li + li {\n width: 25%; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a, .tinv-wishlist .navigation-button > li > a {\n width: calc(100% - 10px);\n margin-left: 0; }\n .tinv-wishlist .navigation-button .tinv-create-list > a .tinvwl-txt, .tinv-wishlist .navigation-button li > a .tinvwl-txt {\n display: none; }\n .tinv-wishlist .navigation-button .tinv-create-list > a > i, .tinv-wishlist .navigation-button li > a > i {\n display: inline-block !important;\n margin-left: 0; }\n .tinv-wishlist .social-buttons > span {\n display: block;\n margin-top: 0;\n margin-left: 0;\n margin-bottom: 5px; } }\n\n@media only screen and (max-width: 667px) {\n .tinv-wishlist.woocommerce .tinv-login form .form-row-first, .tinv-wishlist.woocommerce .tinv-login form .form-row-last {\n float: none;\n width: 100%; }\n .tinv-wishlist.woocommerce .tinv-login form .form-row-first {\n padding: 0; }\n .tinv-wishlist.woocommerce .tinv-login form .form-row-last {\n padding: 0;\n margin-top: 10px; }\n .tinv-wishlist.woocommerce .tinv-login form .tinvwl-input-group-btn {\n display: block;\n padding: 0;\n width: auto;\n margin-top: 10px; } }\n\n.tinv-overlay {\n width: 100%;\n height: 100%;\n visibility: hidden;\n opacity: 0;\n background: #191919; }\n\n.tinv-modal.tinv-modal-open .tinv-overlay {\n visibility: visible;\n opacity: .5; }\n\n.admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 32px !important; }\n\n.tinv-wishlist .tinv-modal {\n overflow-y: auto;\n overflow-x: hidden;\n width: 0;\n height: 0;\n z-index: 9999;\n outline: 0 !important;\n -webkit-backface-visibility: hidden;\n visibility: hidden;\n opacity: 0;\n text-align: right; }\n .tinv-wishlist .tinv-modal .tinv-modal-inner {\n position: relative;\n margin: 0 auto;\n background-color: #fff;\n max-width: 360px;\n padding: 40px; }\n .tinv-wishlist .tinv-modal.tinv-modal-open {\n visibility: visible;\n opacity: 1;\n width: 100%;\n height: 100%; }\n .tinv-wishlist .tinv-modal .tinv-close-modal {\n display: inline-block;\n position: absolute;\n top: 17px;\n left: 14px;\n width: 26px;\n height: 26px;\n line-height: 26px;\n font-size: 12px;\n text-align: center;\n border-radius: 50%;\n border-bottom: 0;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n background-color: #ebe9eb; }\n .tinv-wishlist .tinv-modal .icon_big_heart_check, .tinv-wishlist .tinv-modal .icon_big_times, .tinv-wishlist .tinv-modal img {\n display: block;\n margin: 0 auto;\n margin-bottom: 25px;\n opacity: 1 !important; }\n .tinv-wishlist .tinv-modal ul {\n overflow: visible;\n list-style: disc;\n margin: 10px 20px 0 0; }\n .tinv-wishlist .tinv-modal li {\n list-style: disc !important; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal ul, .tinv-wishlist.tinv-create-list form ul {\n list-style: none !important;\n margin: 25px 0 0; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal li, .tinv-wishlist.tinv-create-list form li {\n list-style: none !important; }\n\n.tinv-wishlist .tinv-modal .already-in {\n margin-bottom: 35px; }\n\n.tinv-wishlist .tinv-modal .delete-notification {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinv-modal .already-in ul {\n overflow: visible;\n margin: 12px 17px 27px 0; }\n\n.tinv-wishlist .tinv-modal select {\n width: 100%; }\n\n.tinv-wishlist .tinv-modal button + .button, .tinv-wishlist .tinv-modal button + button {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal input + button {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal label + button, .tinv-wishlist .tinv-modal label + input {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal select + button, .tinv-wishlist .tinv-modal select + input {\n margin-top: 12px;\n width: 100%; }\n\n@media screen and (max-width: 782px) {\n .admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 46px !important; } }\n\n@media screen and (max-width: 600px) {\n .admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 0 !important; }\n .tinv-wishlist .tinv-modal .tinv-close-modal {\n position: static;\n display: block;\n margin: 0 auto 20px; } }\n\n.tinv-wishlist .tinv-modal .already-in + label {\n display: block;\n margin-top: 6px; }\n\n.tinv-wishlist .tinv-modal label select {\n margin-top: 8px; }\n\n.tinv-wishlist .tinv-modal .delete-notification + button {\n width: 100%; }\n\n.tinv-wishlist .tinvwl_added_to_wishlist, .tinv-wishlist .tinvwl_created_wishlist {\n text-align: center; }\n\n.tinv-wishlist .tinvwl_added_to_wishlist .tinv-txt {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinvwl_created_wishlist .tinv-txt {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinvwl_created_wishlist button {\n margin-top: 0;\n margin-bottom: 10px; }\n\n.woocommerce .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal button.button {\n margin-top: 0;\n margin-bottom: 10px; }\n\n.tinv-wishlist .tinv-modal .tinvwl-buttons-group {\n margin-top: 20px; }\n\n.tinv-wishlist .tinvwl-buttons-group button {\n width: 100%; }\n .tinv-wishlist .tinvwl-buttons-group button + button {\n margin-top: 7px; }\n .tinv-wishlist .tinvwl-buttons-group button i {\n position: relative; }\n .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times {\n font-size: 20px; }\n .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o::before, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key::before, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times::before {\n position: relative;\n top: 3px; }\n\n.tinv-wishlist .tinvwl-buttons-group + button {\n width: 100%;\n margin-top: 7px; }\n\n.tinv-wishlist .tinv-modal h2 {\n text-align: center;\n margin: 0 0 35px; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal-inner {\n max-width: 778px;\n padding: 30px; }\n\n.tinv-wishlist .tinvwl-has-error:not(.tinvwl-input-group), .tinv-wishlist .tinvwl-input-group.tinvwl-has-error .form-control {\n border: 2px solid #FF0000; }\n\n.tinv-wishlist .tinvwl-has-error:not(.tinvwl-input-group) {\n border: 2px solid #FF0000; }\n\n.tinv-wishlist .tinvwl-has-error + .tinvwl-error {\n padding: 5px 5px 0 0;\n color: #FF0000; }\n\n@media only screen and (max-width: 640px) {\n .navigation-button, .social-buttons, .tinv-lists-nav {\n margin-right: 12px;\n margin-left: 12px; } }\n\n.tinvwl-tooltip {\n display: none; }\n\n.tinvwl-input-group {\n position: relative;\n display: table;\n border-collapse: separate; }\n .tinvwl-input-group .form-control {\n position: relative;\n z-index: 1;\n float: right;\n height: 38px;\n width: 100%;\n margin-bottom: 0; }\n .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-right: 15px; }\n\n.tinv-wishlist .tinvwl-to-left .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-right: 10px; }\n\n.tinv-wishlist .tinv-search-form .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-right: 9px; }\n\n.tinvwl-input-group .form-control, .tinvwl-input-group-addon, .tinvwl-input-group-btn {\n display: table-cell; }\n\n.tinvwl-input-group-addon, .tinvwl-input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: top; }\n\n@media only screen and (max-width: 640px) {\n .tinvwl-input-group {\n width: 100%; } }\n\n@media only screen and (max-width: 667px) {\n .tinvwl-input-group:not(.tinvwl-no-full) {\n display: block; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn {\n display: block; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control {\n float: none; }\n .tinv-wishlist .tinv-search-form .tinvwl-input-group:not(.tinvwl-no-full) .form-control + .tinvwl-input-group-btn {\n padding-top: 10px;\n padding-right: 0; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control + .tinvwl-input-group-btn {\n padding-top: 10px;\n padding-right: 0; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon > button, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon > input {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn > button, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn > input {\n width: 100%; } }\n\n.tinv-table {\n display: table;\n width: 100%;\n height: 100%; }\n\n.tinv-cell {\n display: table-cell;\n vertical-align: middle; }\n\n.tinv-wishlist .tinv-wishlist-clear {\n visibility: visible;\n width: auto;\n height: auto; }\n\n.tinv-wishlist-clear:before {\n content: \"\";\n display: table; }\n\n.tinv-wishlist-clear:after {\n content: \"\";\n display: table;\n clear: both; }\n\n.icon_big_heart_check {\n display: inline-block;\n width: 46px;\n height: 46px;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 60px; }\n\n.icon_big_times {\n display: inline-block;\n width: 46px;\n height: 46px;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 60px; }\n .icon_big_times::before {\n content: \"\\e904\";\n top: -7px;\n right: -7px;\n position: relative; }\n\n.icon_big_heart_check::before {\n content: \"\\e90a\";\n top: -7px;\n right: -7px;\n position: relative; }\n\n.tinvwl_add_to_wishlist_button.tinvwl-button.disabled-add-wishlist, .tinvwl_add_to_wishlist_button.disabled-add-wishlist {\n opacity: 0.5 !important;\n cursor: not-allowed; }\n\n.empty-name-wishlist {\n border-color: #FF0000 !important; }\n\n.tinvwl_remove_from_wishlist-text, .tinvwl_already_on_wishlist-text {\n display: none !important; }\n\n.tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_remove_from_wishlist-text, .tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_already_on_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_remove_from_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_already_on_wishlist-text {\n display: inline !important; }\n\n.tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_add_to_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_add_to_wishlist-text {\n display: none !important; }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .tinvwl-table-manage-list .product-remove {\n display: table-cell; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove {\n display: block; } }\n\n.tooltipped {\n position: relative; }\n\n.tooltipped::after {\n position: absolute;\n z-index: 1000000;\n display: none;\n padding: 0.5em 0.75em;\n font: normal normal 11px/1.5 -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n -webkit-font-smoothing: subpixel-antialiased;\n color: #fff;\n text-align: center;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: break-word;\n white-space: pre;\n pointer-events: none;\n content: attr(aria-label);\n background: #1b1f23;\n border-radius: 3px;\n opacity: 0; }\n\n.tooltipped::before {\n position: absolute;\n z-index: 1000001;\n display: none;\n width: 0;\n height: 0;\n color: #1b1f23;\n pointer-events: none;\n content: \"\";\n border: 6px solid transparent;\n opacity: 0; }\n\n@-webkit-keyframes tooltip-appear {\n from {\n opacity: 0; }\n to {\n opacity: 1; } }\n\n@keyframes tooltip-appear {\n from {\n opacity: 0; }\n to {\n opacity: 1; } }\n\n.tooltipped:hover::before, .tooltipped:hover::after,\n.tooltipped:active::before,\n.tooltipped:active::after,\n.tooltipped:focus::before,\n.tooltipped:focus::after {\n display: inline-block;\n text-decoration: none;\n -webkit-animation-name: tooltip-appear;\n animation-name: tooltip-appear;\n -webkit-animation-duration: 0.1s;\n animation-duration: 0.1s;\n -webkit-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n\n.tooltipped-no-delay:hover::before, .tooltipped-no-delay:hover::after,\n.tooltipped-no-delay:active::before,\n.tooltipped-no-delay:active::after,\n.tooltipped-no-delay:focus::before,\n.tooltipped-no-delay:focus::after {\n -webkit-animation-delay: 0s;\n animation-delay: 0s; }\n\n.tooltipped-multiline:hover::after,\n.tooltipped-multiline:active::after,\n.tooltipped-multiline:focus::after {\n display: table-cell; }\n\n.tooltipped-s::after,\n.tooltipped-se::after,\n.tooltipped-sw::after {\n top: 100%;\n left: 50%;\n margin-top: 6px; }\n\n.tooltipped-s::before,\n.tooltipped-se::before,\n.tooltipped-sw::before {\n top: auto;\n left: 50%;\n bottom: -7px;\n margin-left: -6px;\n border-bottom-color: #1b1f23; }\n\n.tooltipped-se::after {\n left: auto;\n right: 50%;\n margin-right: -16px; }\n\n.tooltipped-sw::after {\n margin-left: -16px; }\n\n.tooltipped-n::after,\n.tooltipped-ne::after,\n.tooltipped-nw::after {\n left: 50%;\n bottom: 100%;\n margin-bottom: 6px; }\n\n.tooltipped-n::before,\n.tooltipped-ne::before,\n.tooltipped-nw::before {\n top: -7px;\n left: 50%;\n bottom: auto;\n margin-left: -6px;\n border-top-color: #1b1f23; }\n\n.tooltipped-ne::after {\n left: auto;\n right: 50%;\n margin-right: -16px; }\n\n.tooltipped-nw::after {\n margin-left: -16px; }\n\n.tooltipped-s::after,\n.tooltipped-n::after {\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n\n.tooltipped-w::after {\n left: 100%;\n bottom: 50%;\n margin-left: 6px;\n -webkit-transform: translateY(50%);\n transform: translateY(50%); }\n\n.tooltipped-w::before {\n top: 50%;\n bottom: 50%;\n right: -7px;\n margin-top: -6px;\n border-right-color: #1b1f23; }\n\n.tooltipped-e::after {\n bottom: 50%;\n right: 100%;\n margin-right: 6px;\n -webkit-transform: translateY(50%);\n transform: translateY(50%); }\n\n.tooltipped-e::before {\n top: 50%;\n left: -7px;\n bottom: 50%;\n margin-top: -6px;\n border-left-color: #1b1f23; }\n\n.tooltipped-align-right-1::after,\n.tooltipped-align-right-2::after {\n left: 0;\n margin-left: 0; }\n\n.tooltipped-align-right-1::before {\n left: 10px; }\n\n.tooltipped-align-right-2::before {\n left: 15px; }\n\n.tooltipped-align-left-1::after,\n.tooltipped-align-left-2::after {\n right: 0;\n margin-right: 0; }\n\n.tooltipped-align-left-1::before {\n right: 5px; }\n\n.tooltipped-align-left-2::before {\n right: 10px; }\n\n.tooltipped-multiline::after {\n width: -webkit-max-content;\n width: -moz-max-content;\n width: max-content;\n max-width: 250px;\n word-wrap: break-word;\n white-space: pre-line;\n border-collapse: separate; }\n\n.tooltipped-multiline.tooltipped-s::after, .tooltipped-multiline.tooltipped-n::after {\n left: auto;\n right: 50%;\n -webkit-transform: translateX(50%);\n transform: translateX(50%); }\n\n.tooltipped-multiline.tooltipped-w::after, .tooltipped-multiline.tooltipped-e::after {\n left: 100%; }\n\n@media screen and (min-width: 0 \\0 ) {\n .tooltipped-multiline::after {\n width: 250px; } }\n\n.tooltipped-sticky::before, .tooltipped-sticky::after {\n display: inline-block; }\n\n.tooltipped-sticky.tooltipped-multiline::after {\n display: table-cell; }\n\n.tinvwl-table-manage-list .component_table_item_price:before {\n font-family: 'FontAwesomeCP';\n font-size: 1rem;\n display: inline-block;\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg);\n content: \"\\e811\";\n margin: 0 3px 0 12px;\n opacity: .25; }\n"]}
assets/css/public-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:'tinvwl-webfont';src:url("../fonts/tinvwl-webfont.eot?xu2uyi");src:url("../fonts/tinvwl-webfont.eot?xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.ttf?xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.woff?xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
@@ -73,7 +73,6 @@ a.wishlist_products_counter.top_wishlist-custom.no-txt,span.wishlist_products_co
73
  .single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button,div.product form.cart .tinvwl_add_to_wishlist_button{float:none}
74
  ul.products li.product .tinvwl_add_to_wishlist_button{margin-top:1em}
75
  .tinvwl_add_to_wishlist_button{display:inline-block;cursor:pointer;-webkit-transition:opacity 1s;transition:opacity 1s;opacity:1;visibility:visible}
76
- .tinvwl_add_to_wishlist_button.tinvwl-add-hide{visibility:hidden;opacity:.5;pointer-events:none}
77
  .tinv-wishlist.woocommerce .stock.in-stock:before{content:none}
78
  .tinv-wraper.tinv-wishlist{font-size:100%}
79
  .tinv-create-list li input[type=radio]{margin-left:10px}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:'tinvwl-webfont';src:url("../fonts/tinvwl-webfont.eot?xu2uyi");src:url("../fonts/tinvwl-webfont.eot?xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.ttf?xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.woff?xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
73
  .single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button,div.product form.cart .tinvwl_add_to_wishlist_button{float:none}
74
  ul.products li.product .tinvwl_add_to_wishlist_button{margin-top:1em}
75
  .tinvwl_add_to_wishlist_button{display:inline-block;cursor:pointer;-webkit-transition:opacity 1s;transition:opacity 1s;opacity:1;visibility:visible}
 
76
  .tinv-wishlist.woocommerce .stock.in-stock:before{content:none}
77
  .tinv-wraper.tinv-wishlist{font-size:100%}
78
  .tinv-create-list li input[type=radio]{margin-left:10px}
assets/css/public.css CHANGED
@@ -305,10 +305,6 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
305
  transition: opacity 1s;
306
  opacity: 1;
307
  visibility: visible; }
308
- .tinvwl_add_to_wishlist_button.tinvwl-add-hide {
309
- visibility: hidden;
310
- opacity: 0.5;
311
- pointer-events: none; }
312
 
313
  .tinv-wishlist.woocommerce .stock.in-stock:before {
314
  content: none; }
305
  transition: opacity 1s;
306
  opacity: 1;
307
  visibility: visible; }
 
 
 
 
308
 
309
  .tinv-wishlist.woocommerce .stock.in-stock:before {
310
  content: none; }
assets/css/public.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"mappings":"","sources":["public.css"],"file":"public.css","sourcesContent":["/*------------------------------------*\n\t$WEBFONT\n*------------------------------------*/\n/*------------------------------------------------------------------\nWooCommerce Wishlist Plugin custom webfont\n-------------------------------------------------------------------*/\n@font-face {\n font-family: 'tinvwl-webfont';\n src: url(\"../fonts/tinvwl-webfont.eot?xu2uyi\");\n src: url(\"../fonts/tinvwl-webfont.eot?xu2uyi#iefix\") format(\"embedded-opentype\"), url(\"../fonts/tinvwl-webfont.ttf?xu2uyi\") format(\"truetype\"), url(\"../fonts/tinvwl-webfont.woff?xu2uyi\") format(\"woff\"), url(\"../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont\") format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.ftinvwl {\n /* use !important to prevent issues with browser extensions that change fonts */\n font-family: 'tinvwl-webfont' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.ftinvwl-twitter:before {\n content: \"\\f099\"; }\n\n.ftinvwl-facebook:before {\n content: \"\\f09a\"; }\n\n.ftinvwl-facebook-f:before {\n content: \"\\f09a\"; }\n\n.ftinvwl-google:before {\n content: \"\\f0d5\"; }\n\n.ftinvwl-email:before {\n content: \"\\f0e0\"; }\n\n.ftinvwl-pinterest:before {\n content: \"\\f231\"; }\n\n.ftinvwl-whatsapp:before {\n content: \"\\f232\"; }\n\n.ftinvwl-clipboard:before {\n content: \"\\e911\"; }\n\n.ftinvwl-star:before {\n content: \"\\e912\"; }\n\n.ftinvwl-shopping-cart:before {\n content: \"\\e913\"; }\n\n.ftinvwl-magic:before {\n content: \"\\e914\"; }\n\n.ftinvwl-info:before {\n content: \"\\e915\"; }\n\n.ftinvwl-graduation-cap:before {\n content: \"\\e918\"; }\n\n.ftinvwl-floppy-o:before {\n content: \"\\e919\"; }\n\n.ftinvwl-eyedropper:before {\n content: \"\\e91a\"; }\n\n.ftinvwl-exclamation-triangle:before {\n content: \"\\e91b\"; }\n\n.ftinvwl-check:before {\n content: \"\\e91e\"; }\n\n.ftinvwl-arrow-left:before {\n content: \"\\e91f\"; }\n\n.ftinvwl-wrench:before {\n content: \"\\e920\"; }\n\n.ftinvwl-chevron-down:before {\n content: \"\\e900\"; }\n\n.ftinvwl-chevron-right:before {\n content: \"\\e901\"; }\n\n.ftinvwl-chevron-left:before {\n content: \"\\e902\"; }\n\n.ftinvwl-chevron-up:before {\n content: \"\\e903\"; }\n\n.ftinvwl-cancel:before {\n content: \"\\e904\"; }\n\n.ftinvwl-times:before {\n content: \"\\e905\"; }\n\n.ftinvwl-heart-plus:before {\n content: \"\\e906\"; }\n\n.ftinvwl-heart-mark-right:before {\n content: \"\\e907\"; }\n\n.ftinvwl-heart2:before {\n content: \"\\e908\"; }\n\n.ftinvwl-heart-o:before {\n content: \"\\e909\"; }\n\n.ftinvwl-heart-mark-left:before {\n content: \"\\e90a\"; }\n\n.ftinvwl-heart-mail:before {\n content: \"\\e90b\"; }\n\n.ftinvwl-heart-tinv:before {\n content: \"\\e90c\"; }\n\n.ftinvwl-key:before {\n content: \"\\e90d\"; }\n\n.ftinvwl-lock:before {\n content: \"\\e90e\"; }\n\n.ftinvwl-hearts:before {\n content: \"\\e90f\"; }\n\n.ftinvwl-user:before {\n content: \"\\e910\"; }\n\n/* PULSE */\n@-webkit-keyframes ftinvwl-pulse {\n 0% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n 50% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n 100% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); } }\n\n@keyframes ftinvwl-pulse {\n 0% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n 50% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n 100% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); } }\n\n.ftinvwl-pulse.ftinvwl-animated::before {\n -webkit-animation: ftinvwl-pulse 2s linear infinite;\n animation: ftinvwl-pulse 2s linear infinite; }\n\n.tinv-wishlist form, .tinv-wishlist p:last-child, .tinv-wishlist table {\n margin-bottom: 0; }\n\n.tinv-wishlist * {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n.tinvwl-wishlist :after, .tinvwl-wishlist :before {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n.tinv-wishlist select {\n width: 140px; }\n\n.tinv-wishlist ul {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {\n margin-top: -10px;\n margin-left: -10px; }\n\n.woocommerce.tinv-wishlist #respond input#submit.alt, .woocommerce.tinv-wishlist a.button.alt, .woocommerce.tinv-wishlist button.button.alt, .woocommerce.tinv-wishlist input.button.alt {\n text-align: center; }\n\n.tinv-wishlist .button i, .tinv-wishlist .navigation-button a i {\n margin-right: 6px; }\n\n.tinv-wishlist input[type=\"button\"] i, .tinv-wishlist input[type=\"reset\"] i, .tinv-wishlist input[type=\"submit\"] i {\n margin-right: 6px; }\n\n.tinv-wishlist a.tinv-close-modal i {\n margin-right: 0; }\n\na.wishlist_products_counter {\n text-decoration: none; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before, a.wishlist_products_counter.top_wishlist-heart:before, span.wishlist_products_counter.top_wishlist-heart:before, a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart:before {\n content: '\\e909';\n display: inline-block;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 20px;\n vertical-align: sub;\n margin-right: 5px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, a.wishlist_products_counter.top_wishlist-heart-plus:before, span.wishlist_products_counter.top_wishlist-heart-plus:before, a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart-plus:before {\n content: '\\e906';\n display: inline-block;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 20px;\n vertical-align: sub;\n margin-right: 5px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt {\n position: relative;\n width: 36px;\n height: 36px;\n vertical-align: sub; }\n\na.wishlist_products_counter.top_wishlist-heart-plus.no-txt, span.wishlist_products_counter.top_wishlist-heart-plus.no-txt {\n position: relative;\n width: 36px;\n height: 36px;\n vertical-align: sub; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-right: 0; }\n\n.tinv-wishlist .tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt, .tinv-wishlist .tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt {\n padding-left: 1em;\n vertical-align: bottom; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before {\n content: '\\e908'; }\n\n.woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:before, a.wishlist_products_counter.top_wishlist-heart.wishlist-counter-with-products:before, span.wishlist_products_counter.top_wishlist-heart.wishlist-counter-with-products:before {\n content: '\\e908'; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:before, a.wishlist_products_counter.top_wishlist-heart-plus.wishlist-counter-with-products:before, span.wishlist_products_counter.top_wishlist-heart-plus.wishlist-counter-with-products:before {\n content: '\\e907'; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.icon-white:before, a.wishlist_products_counter.top_wishlist-white:before, span.wishlist_products_counter.top_wishlist-white:before {\n color: #FFF; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.icon-black:before, a.wishlist_products_counter.top_wishlist-black:before, span.wishlist_products_counter.top_wishlist-black:before {\n color: #000; }\n\n.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button {\n margin-bottom: 15px; }\n\n.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button {\n margin-top: 15px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt {\n padding: 10px 11px;\n line-height: 1; }\n\na.wishlist_products_counter.top_wishlist-custom.no-txt, span.wishlist_products_counter.top_wishlist-custom.no-txt {\n padding: 10px 11px;\n line-height: 1; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom img, a.wishlist_products_counter.top_wishlist-custom img, span.wishlist_products_counter.top_wishlist-custom img {\n display: inline-block !important;\n vertical-align: baseline;\n width: auto !important;\n max-width: 16px;\n max-height: 16px;\n margin-bottom: 0;\n margin: 0 6px 0 0 !important; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt img, a.wishlist_products_counter.top_wishlist-custom.no-txt img, span.wishlist_products_counter.top_wishlist-custom.no-txt img {\n margin-right: 0 !important; }\n\n.single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button, div.product form.cart .tinvwl_add_to_wishlist_button {\n float: none; }\n\nul.products li.product .tinvwl_add_to_wishlist_button {\n margin-top: 1em; }\n\n.tinvwl_add_to_wishlist_button {\n display: inline-block;\n cursor: pointer;\n -webkit-transition: opacity 1s;\n transition: opacity 1s;\n opacity: 1;\n visibility: visible; }\n .tinvwl_add_to_wishlist_button.tinvwl-add-hide {\n visibility: hidden;\n opacity: 0.5;\n pointer-events: none; }\n\n.tinv-wishlist.woocommerce .stock.in-stock:before {\n content: none; }\n\n.tinv-wraper.tinv-wishlist {\n font-size: 100%; }\n\n.tinv-create-list li input[type=radio] {\n margin-right: 10px; }\n\n.tinv-create-list li + li {\n margin-top: 15px; }\n\n.tinv-create-list .tinvwl-input-group + ul {\n margin-top: 25px; }\n\n.tinv-search-list {\n margin-bottom: 36px; }\n\n.tinv-wishlist .tinv-header {\n margin-bottom: 30px; }\n\n.tinv-wishlist table {\n position: relative;\n table-layout: auto;\n margin-bottom: 30px;\n z-index: 2; }\n\n.tinv-overlay {\n top: 0;\n left: 0;\n position: fixed;\n -webkit-transition: opacity .3s ease, visibility .3s ease;\n transition: opacity .3s ease, visibility .3s ease; }\n\n.tinv-wishlist .tinv-modal {\n top: 0;\n left: 0;\n position: fixed;\n -webkit-transition: opacity .3s ease, visibility .3s ease;\n transition: opacity .3s ease, visibility .3s ease; }\n\n.tinv-wishlist table.tinvwl-table-manage-list {\n margin-bottom: 27px;\n width: 100%; }\n\n.tinv-wishlist table input[type=checkbox] {\n margin-right: 0; }\n\n.tinv-wishlist table td, .tinv-wishlist table th {\n padding: 1em;\n vertical-align: middle; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-cb {\n width: 35px;\n text-align: center; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-remove {\n width: 35px;\n text-align: center;\n padding: 1em .5em; }\n\n.tinv-wishlist .product-remove button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n margin: 0 auto;\n width: 27px;\n height: 27px;\n border-radius: 50%;\n padding: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: none;\n background-color: #f7f7f7;\n color: #000000;\n font-size: 20px;\n padding-left: 1px;\n padding-top: 3px; }\n\n.tinv-wishlist .product-thumbnail {\n min-width: 100px;\n width: 100px; }\n .tinv-wishlist .product-thumbnail .wp-post-image {\n margin-bottom: 0; }\n\n.tinv-wishlist td.product-name a + .variation {\n margin-top: 2px; }\n\n.tinv-wishlist .product-stock i {\n margin-right: 15px; }\n\n.tinv-wishlist .product-stock p {\n display: table; }\n\n.tinv-wishlist .product-stock span {\n display: table-cell;\n vertical-align: middle; }\n\n.tinv-wishlist .product-action > .button > i, .tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove], .tinv-wishlist table thead th .tinvwl-mobile {\n display: none; }\n\n.tinv-wishlist.woocommerce .product-quantity {\n width: 80px;\n text-align: center; }\n\n.tinv-wishlist.woocommerce table .quantity .qty {\n max-width: 100%;\n width: 62px;\n text-align: left; }\n\n.tinv-wishlist .product-action {\n width: 135px;\n text-align: center; }\n .tinv-wishlist .product-action .button {\n width: 100%; }\n .tinv-wishlist .product-action .tinvwl_move_product_button {\n margin-top: 5px; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-action > button[name=tinvwl-remove] > i {\n margin-right: 0; }\n\n.tinv-wishlist .wishlist-cb {\n width: 33px;\n text-align: center; }\n\n.tinv-wishlist .wishlist-name .tinvwl-rename-input input {\n width: 100%; }\n\n.tinv-wishlist .wishlist-name .tinvwl-rename-button {\n float: right; }\n .tinv-wishlist .wishlist-name .tinvwl-rename-button > i {\n margin-right: 10px; }\n\n.tinv-wishlist .wishlist-privacy, .tinv-wishlist table:not(.tinvwl-public) .wishlist-date {\n width: 18%; }\n\n.tinv-wishlist .wishlist-privacy select {\n width: 100%; }\n\n.tinv-wishlist .wishlist-name {\n width: 45%; }\n\n.tinv-wishlist .wishlist-action {\n width: 120px;\n text-align: center; }\n .tinv-wishlist .wishlist-action button[value=manage_remove] > i {\n display: none;\n margin-right: 0; }\n\n.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list {\n display: inline-block;\n vertical-align: middle; }\n .tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list > a.button {\n margin-right: 0; }\n\n.tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: -10px; }\n\n.tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n float: left;\n width: 35%;\n margin-right: 2%; }\n\n.tinv-wishlist tfoot .tinvwl-to-right {\n float: left;\n width: 63%;\n text-align: right; }\n .tinv-wishlist tfoot .tinvwl-to-right > * {\n margin: 10px 0 0;\n vertical-align: middle; }\n .tinv-wishlist tfoot .tinvwl-to-right > * + * {\n margin-left: 10px; }\n\n.tinv-wishlist tfoot .tinvwl-to-left:empty + .tinvwl-to-right {\n width: 100%; }\n\n.tinv-wishlist .social-buttons + .tinv-wishlist-clear + .navigation-button {\n margin-top: 16px; }\n\n.tinv-wishlist .navigation-button {\n margin-top: -10px; }\n .tinv-wishlist .navigation-button > li {\n float: left; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a, .tinv-wishlist .navigation-button > li > a {\n margin-right: 30px;\n margin-top: 10px;\n display: inline-block; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a.button, .tinv-wishlist .navigation-button > li > a.button {\n margin-right: 10px; }\n .tinv-wishlist .navigation-button > li:last-child > .tinv-create-list > a, .tinv-wishlist .navigation-button > li:last-child > a {\n margin-right: 0; }\n\n.tinv-wishlist .social-buttons {\n text-align: right; }\n .tinv-wishlist .social-buttons > span, .tinv-wishlist .social-buttons > ul {\n display: inline-block;\n vertical-align: middle; }\n .tinv-wishlist .social-buttons > span {\n margin-right: 27px; }\n .tinv-wishlist .social-buttons li {\n float: left;\n margin-right: 5px;\n list-style: none; }\n .tinv-wishlist .social-buttons li:last-child {\n margin-right: 0; }\n .tinv-wishlist .social-buttons li a.social {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 2em;\n height: 2em;\n border-radius: 50%;\n text-align: center;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: 0;\n font-size: 20px;\n text-decoration: none;\n text-transform: none !important; }\n .tinv-wishlist .social-buttons li a.social.white {\n color: #ffffff; }\n .tinv-wishlist .social-buttons li a.social.dark {\n color: #000000; }\n .tinv-wishlist .social-buttons li a.social i {\n line-height: 2em; }\n\n.tinv-wishlist .navigation-button .tinv-create-list > a.tinvwl-no-icon > i, .tinv-wishlist .navigation-button li > a.tinvwl-no-icon > i {\n display: none; }\n\n.tinv-wishlist .tinv-lists-nav {\n margin-top: 35px;\n margin-bottom: 35px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n width: 100%; }\n .tinv-wishlist .tinv-lists-nav > * {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n text-align: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .tinv-wishlist .tinv-lists-nav > span {\n font-weight: 700; }\n\n.tinv-wishlist .tinv-next {\n display: inline-block;\n float: left; }\n\n.tinv-wishlist .tinv-prev {\n display: inline-block;\n float: left;\n margin-right: 35px !important; }\n\n.tinv-wishlist .tinv-prev i {\n margin-left: 0;\n margin-right: 18px; }\n\n.tinv-wishlist .tinv-next i {\n margin-left: 18px;\n margin-right: 0; }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .tinvwl-table-manage-lists:not(.tinvwl-public) {\n margin-top: 0; }\n .tinv-wishlist .tinvwl-table-manage-list .product-remove {\n display: none; }\n .tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove] {\n display: inline-block;\n margin-top: 5px; }\n .tinv-wishlist .product-action {\n width: 60px; } }\n\n@media only screen and (max-width: 1024px) and (min-width: 641px) {\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock p {\n display: block;\n text-align: center; }\n .tinv-wishlist .product-stock span {\n display: block; }\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock i {\n margin-right: 0; }\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock .tinvwl-txt {\n display: none; }\n .tinv-wishlist .product-thumbnail {\n max-width: 76px;\n width: 76px; }\n .tinv-wishlist .product-action .button > i {\n display: inline-block;\n margin-right: 0; }\n .tinv-wishlist .product-action .button .tinvwl-txt {\n display: none; } }\n\n@media only screen and (max-width: 1023px) {\n .tinv-wishlist .tinv-lists-nav a.tinv-prev > i, .tinv-wishlist .tinv-lists-nav a.tinv-next > i {\n margin: 0; }\n .tinv-wishlist .tinv-lists-nav a.tinv-prev > span, .tinv-wishlist .tinv-lists-nav a.tinv-next > span {\n display: none; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove, .tinv-wishlist table.tinvwl-table-manage-list thead th:not(.product-name) {\n display: none; }\n .tinv-wishlist table.tinvwl-table-manage-lists thead th:not(.wishlist-name) {\n display: none; }\n .tinv-wishlist thead th .tinvwl-full {\n display: none; }\n .tinv-wishlist table.tinvwl-table-manage-list thead th.product-name, .tinv-wishlist table.tinvwl-table-manage-lists thead th.wishlist-name {\n display: block;\n width: 100%;\n text-align: center; }\n .tinv-wishlist table thead th .tinvwl-mobile {\n display: block; }\n .tinv-wishlist table.tinvwl-table-manage-list tbody td {\n display: block;\n width: 100% !important;\n text-align: center; }\n .tinv-wishlist table.tinvwl-table-manage-lists tbody td, .tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td {\n display: block;\n width: 100% !important;\n text-align: center; }\n .tinv-wishlist table.tinvwl-table-manage-list tbody td:not(:last-child) {\n border-bottom: 0; }\n .tinv-wishlist table.tinvwl-table-manage-lists tbody td:not(:last-child), .tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td:not(:last-child) {\n border-bottom: 0; }\n .tinv-wishlist .product-stock p {\n margin: 0 auto; }\n .tinv-wishlist .product-thumbnail img {\n margin: 0 auto;\n max-width: 80px; }\n .tinv-wishlist.woocommerce table .quantity .qty {\n text-align: center;\n width: 100%; }\n .tinv-wishlist .product-action .tinvwl_move_product_button {\n margin-top: 10px; }\n .tinv-wishlist table.tinvwl-table-manage-list tfoot td {\n display: block;\n width: 100%; }\n .tinv-wishlist table.tinvwl-table-manage-lists .wishlist-action button[value=manage_remove] {\n width: 100%; }\n .tinv-wishlist table.tinvwl-table-manage-lists .wishlist-name .tinvwl-rename-button {\n float: none; } }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .wishlist-name .tinvwl-rename-button > i, .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n margin-right: 0; }\n .tinv-wishlist .wishlist-name .tinvwl-rename-button span {\n display: none; }\n .tinv-wishlist .wishlist-action {\n width: 60px; }\n .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n float: none;\n width: auto; }\n .tinv-wishlist tfoot .tinvwl-to-right {\n float: none;\n width: auto;\n text-align: left; } }\n\n@media only screen and (max-width: 1024px) and (min-width: 641px) {\n .tinv-wishlist .wishlist-action button[value=\"manage_remove\"] span {\n display: none; }\n .tinv-wishlist .wishlist-action button[value=\"manage_remove\"] > i {\n display: inline-block; }\n .tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: 0; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist button[value=\"manage_apply\"] .tinvwl-mobile, .tinv-wishlist button[value=\"product_apply\"] .tinvwl-mobile {\n display: none; }\n .tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list {\n display: block; }\n .tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right .button, .tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right button {\n width: 100%;\n margin: 10px 0 0; }\n .tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right .button, .tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right button {\n width: 100%;\n margin: 10px 0 0; }\n .tinv-wishlist tfoot .tinvwl-to-right > * {\n margin: 10px 0 0; }\n .tinv-wishlist tfoot .tinvwl-to-right .button:first-child, .tinv-wishlist tfoot .tinvwl-to-right button:first-child {\n margin-top: 0 !important; }\n .tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: 20px; } }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .social-buttons {\n float: none;\n width: auto;\n text-align: left;\n margin-top: 20px; }\n .tinv-wishlist .social-buttons + .tinv-wishlist-clear + .navigation-button {\n margin-top: 30px; }\n .tinv-wishlist .tinv-login form input[name=login] {\n min-width: auto; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist .social-buttons {\n text-align: center; }\n .tinv-wishlist .navigation-button > li {\n width: 20%;\n text-align: center; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-1 > li {\n width: 100%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-2 > li {\n width: 50%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-3 > li {\n width: 33%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-4 > li {\n width: 25%; }\n .tinv-wishlist .navigation-button > li + li {\n width: 20%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-1 > li + li {\n width: 100%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-2 > li + li {\n width: 50%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-3 > li + li {\n width: 33%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-4 > li + li {\n width: 25%; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a, .tinv-wishlist .navigation-button > li > a {\n width: calc(100% - 10px);\n margin-right: 0; }\n .tinv-wishlist .navigation-button .tinv-create-list > a .tinvwl-txt, .tinv-wishlist .navigation-button li > a .tinvwl-txt {\n display: none; }\n .tinv-wishlist .navigation-button .tinv-create-list > a > i, .tinv-wishlist .navigation-button li > a > i {\n display: inline-block !important;\n margin-right: 0; }\n .tinv-wishlist .social-buttons > span {\n display: block;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 5px; } }\n\n@media only screen and (max-width: 667px) {\n .tinv-wishlist.woocommerce .tinv-login form .form-row-first, .tinv-wishlist.woocommerce .tinv-login form .form-row-last {\n float: none;\n width: 100%; }\n .tinv-wishlist.woocommerce .tinv-login form .form-row-first {\n padding: 0; }\n .tinv-wishlist.woocommerce .tinv-login form .form-row-last {\n padding: 0;\n margin-top: 10px; }\n .tinv-wishlist.woocommerce .tinv-login form .tinvwl-input-group-btn {\n display: block;\n padding: 0;\n width: auto;\n margin-top: 10px; } }\n\n.tinv-overlay {\n width: 100%;\n height: 100%;\n visibility: hidden;\n opacity: 0;\n background: #191919; }\n\n.tinv-modal.tinv-modal-open .tinv-overlay {\n visibility: visible;\n opacity: .5; }\n\n.admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 32px !important; }\n\n.tinv-wishlist .tinv-modal {\n overflow-y: auto;\n overflow-x: hidden;\n width: 0;\n height: 0;\n z-index: 9999;\n outline: 0 !important;\n -webkit-backface-visibility: hidden;\n visibility: hidden;\n opacity: 0;\n text-align: left; }\n .tinv-wishlist .tinv-modal .tinv-modal-inner {\n position: relative;\n margin: 0 auto;\n background-color: #fff;\n max-width: 360px;\n padding: 40px; }\n .tinv-wishlist .tinv-modal.tinv-modal-open {\n visibility: visible;\n opacity: 1;\n width: 100%;\n height: 100%; }\n .tinv-wishlist .tinv-modal .tinv-close-modal {\n display: inline-block;\n position: absolute;\n top: 17px;\n right: 14px;\n width: 26px;\n height: 26px;\n line-height: 26px;\n font-size: 12px;\n text-align: center;\n border-radius: 50%;\n border-bottom: 0;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n background-color: #ebe9eb; }\n .tinv-wishlist .tinv-modal .icon_big_heart_check, .tinv-wishlist .tinv-modal .icon_big_times, .tinv-wishlist .tinv-modal img {\n display: block;\n margin: 0 auto;\n margin-bottom: 25px;\n opacity: 1 !important; }\n .tinv-wishlist .tinv-modal ul {\n overflow: visible;\n list-style: disc;\n margin: 10px 0 0 20px; }\n .tinv-wishlist .tinv-modal li {\n list-style: disc !important; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal ul, .tinv-wishlist.tinv-create-list form ul {\n list-style: none !important;\n margin: 25px 0 0; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal li, .tinv-wishlist.tinv-create-list form li {\n list-style: none !important; }\n\n.tinv-wishlist .tinv-modal .already-in {\n margin-bottom: 35px; }\n\n.tinv-wishlist .tinv-modal .delete-notification {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinv-modal .already-in ul {\n overflow: visible;\n margin: 12px 0 27px 17px; }\n\n.tinv-wishlist .tinv-modal select {\n width: 100%; }\n\n.tinv-wishlist .tinv-modal button + .button, .tinv-wishlist .tinv-modal button + button {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal input + button {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal label + button, .tinv-wishlist .tinv-modal label + input {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal select + button, .tinv-wishlist .tinv-modal select + input {\n margin-top: 12px;\n width: 100%; }\n\n@media screen and (max-width: 782px) {\n .admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 46px !important; } }\n\n@media screen and (max-width: 600px) {\n .admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 0 !important; }\n .tinv-wishlist .tinv-modal .tinv-close-modal {\n position: static;\n display: block;\n margin: 0 auto 20px; } }\n\n.tinv-wishlist .tinv-modal .already-in + label {\n display: block;\n margin-top: 6px; }\n\n.tinv-wishlist .tinv-modal label select {\n margin-top: 8px; }\n\n.tinv-wishlist .tinv-modal .delete-notification + button {\n width: 100%; }\n\n.tinv-wishlist .tinvwl_added_to_wishlist, .tinv-wishlist .tinvwl_created_wishlist {\n text-align: center; }\n\n.tinv-wishlist .tinvwl_added_to_wishlist .tinv-txt {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinvwl_created_wishlist .tinv-txt {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinvwl_created_wishlist button {\n margin-top: 0;\n margin-bottom: 10px; }\n\n.woocommerce .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal button.button {\n margin-top: 0;\n margin-bottom: 10px; }\n\n.tinv-wishlist .tinv-modal .tinvwl-buttons-group {\n margin-top: 20px; }\n\n.tinv-wishlist .tinvwl-buttons-group button {\n width: 100%; }\n .tinv-wishlist .tinvwl-buttons-group button + button {\n margin-top: 7px; }\n .tinv-wishlist .tinvwl-buttons-group button i {\n position: relative; }\n .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times {\n font-size: 20px; }\n .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o::before, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key::before, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times::before {\n position: relative;\n top: 3px; }\n\n.tinv-wishlist .tinvwl-buttons-group + button {\n width: 100%;\n margin-top: 7px; }\n\n.tinv-wishlist .tinv-modal h2 {\n text-align: center;\n margin: 0 0 35px; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal-inner {\n max-width: 778px;\n padding: 30px; }\n\n.tinv-wishlist .tinvwl-has-error:not(.tinvwl-input-group), .tinv-wishlist .tinvwl-input-group.tinvwl-has-error .form-control {\n border: 2px solid #FF0000; }\n\n.tinv-wishlist .tinvwl-has-error:not(.tinvwl-input-group) {\n border: 2px solid #FF0000; }\n\n.tinv-wishlist .tinvwl-has-error + .tinvwl-error {\n padding: 5px 0 0 5px;\n color: #FF0000; }\n\n@media only screen and (max-width: 640px) {\n .navigation-button, .social-buttons, .tinv-lists-nav {\n margin-left: 12px;\n margin-right: 12px; } }\n\n.tinvwl-tooltip {\n display: none; }\n\n.tinvwl-input-group {\n position: relative;\n display: table;\n border-collapse: separate; }\n .tinvwl-input-group .form-control {\n position: relative;\n z-index: 1;\n float: left;\n height: 38px;\n width: 100%;\n margin-bottom: 0; }\n .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-left: 15px; }\n\n.tinv-wishlist .tinvwl-to-left .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-left: 10px; }\n\n.tinv-wishlist .tinv-search-form .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-left: 9px; }\n\n.tinvwl-input-group .form-control, .tinvwl-input-group-addon, .tinvwl-input-group-btn {\n display: table-cell; }\n\n.tinvwl-input-group-addon, .tinvwl-input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: top; }\n\n@media only screen and (max-width: 640px) {\n .tinvwl-input-group {\n width: 100%; } }\n\n@media only screen and (max-width: 667px) {\n .tinvwl-input-group:not(.tinvwl-no-full) {\n display: block; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn {\n display: block; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control {\n float: none; }\n .tinv-wishlist .tinv-search-form .tinvwl-input-group:not(.tinvwl-no-full) .form-control + .tinvwl-input-group-btn {\n padding-top: 10px;\n padding-left: 0; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control + .tinvwl-input-group-btn {\n padding-top: 10px;\n padding-left: 0; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon > button, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon > input {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn > button, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn > input {\n width: 100%; } }\n\n.tinv-table {\n display: table;\n width: 100%;\n height: 100%; }\n\n.tinv-cell {\n display: table-cell;\n vertical-align: middle; }\n\n.tinv-wishlist .tinv-wishlist-clear {\n visibility: visible;\n width: auto;\n height: auto; }\n\n.tinv-wishlist-clear:before {\n content: \"\";\n display: table; }\n\n.tinv-wishlist-clear:after {\n content: \"\";\n display: table;\n clear: both; }\n\n.icon_big_heart_check {\n display: inline-block;\n width: 46px;\n height: 46px;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 60px; }\n\n.icon_big_times {\n display: inline-block;\n width: 46px;\n height: 46px;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 60px; }\n .icon_big_times::before {\n content: \"\\e904\";\n top: -7px;\n left: -7px;\n position: relative; }\n\n.icon_big_heart_check::before {\n content: \"\\e90a\";\n top: -7px;\n left: -7px;\n position: relative; }\n\n.tinvwl_add_to_wishlist_button.tinvwl-button.disabled-add-wishlist, .tinvwl_add_to_wishlist_button.disabled-add-wishlist {\n opacity: 0.5 !important;\n cursor: not-allowed; }\n\n.empty-name-wishlist {\n border-color: #FF0000 !important; }\n\n.tinvwl_remove_from_wishlist-text, .tinvwl_already_on_wishlist-text {\n display: none !important; }\n\n.tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_remove_from_wishlist-text, .tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_already_on_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_remove_from_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_already_on_wishlist-text {\n display: inline !important; }\n\n.tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_add_to_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_add_to_wishlist-text {\n display: none !important; }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .tinvwl-table-manage-list .product-remove {\n display: table-cell; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove {\n display: block; } }\n\n.tooltipped {\n position: relative; }\n\n.tooltipped::after {\n position: absolute;\n z-index: 1000000;\n display: none;\n padding: 0.5em 0.75em;\n font: normal normal 11px/1.5 -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n -webkit-font-smoothing: subpixel-antialiased;\n color: #fff;\n text-align: center;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: break-word;\n white-space: pre;\n pointer-events: none;\n content: attr(aria-label);\n background: #1b1f23;\n border-radius: 3px;\n opacity: 0; }\n\n.tooltipped::before {\n position: absolute;\n z-index: 1000001;\n display: none;\n width: 0;\n height: 0;\n color: #1b1f23;\n pointer-events: none;\n content: \"\";\n border: 6px solid transparent;\n opacity: 0; }\n\n@-webkit-keyframes tooltip-appear {\n from {\n opacity: 0; }\n to {\n opacity: 1; } }\n\n@keyframes tooltip-appear {\n from {\n opacity: 0; }\n to {\n opacity: 1; } }\n\n.tooltipped:hover::before, .tooltipped:hover::after,\n.tooltipped:active::before,\n.tooltipped:active::after,\n.tooltipped:focus::before,\n.tooltipped:focus::after {\n display: inline-block;\n text-decoration: none;\n -webkit-animation-name: tooltip-appear;\n animation-name: tooltip-appear;\n -webkit-animation-duration: 0.1s;\n animation-duration: 0.1s;\n -webkit-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n\n.tooltipped-no-delay:hover::before, .tooltipped-no-delay:hover::after,\n.tooltipped-no-delay:active::before,\n.tooltipped-no-delay:active::after,\n.tooltipped-no-delay:focus::before,\n.tooltipped-no-delay:focus::after {\n -webkit-animation-delay: 0s;\n animation-delay: 0s; }\n\n.tooltipped-multiline:hover::after,\n.tooltipped-multiline:active::after,\n.tooltipped-multiline:focus::after {\n display: table-cell; }\n\n.tooltipped-s::after,\n.tooltipped-se::after,\n.tooltipped-sw::after {\n top: 100%;\n right: 50%;\n margin-top: 6px; }\n\n.tooltipped-s::before,\n.tooltipped-se::before,\n.tooltipped-sw::before {\n top: auto;\n right: 50%;\n bottom: -7px;\n margin-right: -6px;\n border-bottom-color: #1b1f23; }\n\n.tooltipped-se::after {\n right: auto;\n left: 50%;\n margin-left: -16px; }\n\n.tooltipped-sw::after {\n margin-right: -16px; }\n\n.tooltipped-n::after,\n.tooltipped-ne::after,\n.tooltipped-nw::after {\n right: 50%;\n bottom: 100%;\n margin-bottom: 6px; }\n\n.tooltipped-n::before,\n.tooltipped-ne::before,\n.tooltipped-nw::before {\n top: -7px;\n right: 50%;\n bottom: auto;\n margin-right: -6px;\n border-top-color: #1b1f23; }\n\n.tooltipped-ne::after {\n right: auto;\n left: 50%;\n margin-left: -16px; }\n\n.tooltipped-nw::after {\n margin-right: -16px; }\n\n.tooltipped-s::after,\n.tooltipped-n::after {\n -webkit-transform: translateX(50%);\n transform: translateX(50%); }\n\n.tooltipped-w::after {\n right: 100%;\n bottom: 50%;\n margin-right: 6px;\n -webkit-transform: translateY(50%);\n transform: translateY(50%); }\n\n.tooltipped-w::before {\n top: 50%;\n bottom: 50%;\n left: -7px;\n margin-top: -6px;\n border-left-color: #1b1f23; }\n\n.tooltipped-e::after {\n bottom: 50%;\n left: 100%;\n margin-left: 6px;\n -webkit-transform: translateY(50%);\n transform: translateY(50%); }\n\n.tooltipped-e::before {\n top: 50%;\n right: -7px;\n bottom: 50%;\n margin-top: -6px;\n border-right-color: #1b1f23; }\n\n.tooltipped-align-right-1::after,\n.tooltipped-align-right-2::after {\n right: 0;\n margin-right: 0; }\n\n.tooltipped-align-right-1::before {\n right: 10px; }\n\n.tooltipped-align-right-2::before {\n right: 15px; }\n\n.tooltipped-align-left-1::after,\n.tooltipped-align-left-2::after {\n left: 0;\n margin-left: 0; }\n\n.tooltipped-align-left-1::before {\n left: 5px; }\n\n.tooltipped-align-left-2::before {\n left: 10px; }\n\n.tooltipped-multiline::after {\n width: -webkit-max-content;\n width: -moz-max-content;\n width: max-content;\n max-width: 250px;\n word-wrap: break-word;\n white-space: pre-line;\n border-collapse: separate; }\n\n.tooltipped-multiline.tooltipped-s::after, .tooltipped-multiline.tooltipped-n::after {\n right: auto;\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n\n.tooltipped-multiline.tooltipped-w::after, .tooltipped-multiline.tooltipped-e::after {\n right: 100%; }\n\n@media screen and (min-width: 0 \\0 ) {\n .tooltipped-multiline::after {\n width: 250px; } }\n\n.tooltipped-sticky::before, .tooltipped-sticky::after {\n display: inline-block; }\n\n.tooltipped-sticky.tooltipped-multiline::after {\n display: table-cell; }\n\n.tinvwl-table-manage-list .component_table_item_price:before {\n font-family: 'FontAwesomeCP';\n font-size: 1rem;\n display: inline-block;\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n content: \"\\e811\";\n margin: 0 12px 0 3px;\n opacity: .25; }\n"]}
1
+ {"version":3,"names":[],"mappings":"","sources":["public.css"],"file":"public.css","sourcesContent":["/*------------------------------------*\n\t$WEBFONT\n*------------------------------------*/\n/*------------------------------------------------------------------\nWooCommerce Wishlist Plugin custom webfont\n-------------------------------------------------------------------*/\n@font-face {\n font-family: 'tinvwl-webfont';\n src: url(\"../fonts/tinvwl-webfont.eot?xu2uyi\");\n src: url(\"../fonts/tinvwl-webfont.eot?xu2uyi#iefix\") format(\"embedded-opentype\"), url(\"../fonts/tinvwl-webfont.ttf?xu2uyi\") format(\"truetype\"), url(\"../fonts/tinvwl-webfont.woff?xu2uyi\") format(\"woff\"), url(\"../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont\") format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.ftinvwl {\n /* use !important to prevent issues with browser extensions that change fonts */\n font-family: 'tinvwl-webfont' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.ftinvwl-twitter:before {\n content: \"\\f099\"; }\n\n.ftinvwl-facebook:before {\n content: \"\\f09a\"; }\n\n.ftinvwl-facebook-f:before {\n content: \"\\f09a\"; }\n\n.ftinvwl-google:before {\n content: \"\\f0d5\"; }\n\n.ftinvwl-email:before {\n content: \"\\f0e0\"; }\n\n.ftinvwl-pinterest:before {\n content: \"\\f231\"; }\n\n.ftinvwl-whatsapp:before {\n content: \"\\f232\"; }\n\n.ftinvwl-clipboard:before {\n content: \"\\e911\"; }\n\n.ftinvwl-star:before {\n content: \"\\e912\"; }\n\n.ftinvwl-shopping-cart:before {\n content: \"\\e913\"; }\n\n.ftinvwl-magic:before {\n content: \"\\e914\"; }\n\n.ftinvwl-info:before {\n content: \"\\e915\"; }\n\n.ftinvwl-graduation-cap:before {\n content: \"\\e918\"; }\n\n.ftinvwl-floppy-o:before {\n content: \"\\e919\"; }\n\n.ftinvwl-eyedropper:before {\n content: \"\\e91a\"; }\n\n.ftinvwl-exclamation-triangle:before {\n content: \"\\e91b\"; }\n\n.ftinvwl-check:before {\n content: \"\\e91e\"; }\n\n.ftinvwl-arrow-left:before {\n content: \"\\e91f\"; }\n\n.ftinvwl-wrench:before {\n content: \"\\e920\"; }\n\n.ftinvwl-chevron-down:before {\n content: \"\\e900\"; }\n\n.ftinvwl-chevron-right:before {\n content: \"\\e901\"; }\n\n.ftinvwl-chevron-left:before {\n content: \"\\e902\"; }\n\n.ftinvwl-chevron-up:before {\n content: \"\\e903\"; }\n\n.ftinvwl-cancel:before {\n content: \"\\e904\"; }\n\n.ftinvwl-times:before {\n content: \"\\e905\"; }\n\n.ftinvwl-heart-plus:before {\n content: \"\\e906\"; }\n\n.ftinvwl-heart-mark-right:before {\n content: \"\\e907\"; }\n\n.ftinvwl-heart2:before {\n content: \"\\e908\"; }\n\n.ftinvwl-heart-o:before {\n content: \"\\e909\"; }\n\n.ftinvwl-heart-mark-left:before {\n content: \"\\e90a\"; }\n\n.ftinvwl-heart-mail:before {\n content: \"\\e90b\"; }\n\n.ftinvwl-heart-tinv:before {\n content: \"\\e90c\"; }\n\n.ftinvwl-key:before {\n content: \"\\e90d\"; }\n\n.ftinvwl-lock:before {\n content: \"\\e90e\"; }\n\n.ftinvwl-hearts:before {\n content: \"\\e90f\"; }\n\n.ftinvwl-user:before {\n content: \"\\e910\"; }\n\n/* PULSE */\n@-webkit-keyframes ftinvwl-pulse {\n 0% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n 50% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n 100% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); } }\n\n@keyframes ftinvwl-pulse {\n 0% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n 50% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n 100% {\n -webkit-transform: scale(1.1);\n transform: scale(1.1); } }\n\n.ftinvwl-pulse.ftinvwl-animated::before {\n -webkit-animation: ftinvwl-pulse 2s linear infinite;\n animation: ftinvwl-pulse 2s linear infinite; }\n\n.tinv-wishlist form, .tinv-wishlist p:last-child, .tinv-wishlist table {\n margin-bottom: 0; }\n\n.tinv-wishlist * {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n.tinvwl-wishlist :after, .tinvwl-wishlist :before {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n.tinv-wishlist select {\n width: 140px; }\n\n.tinv-wishlist ul {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {\n margin-top: -10px;\n margin-left: -10px; }\n\n.woocommerce.tinv-wishlist #respond input#submit.alt, .woocommerce.tinv-wishlist a.button.alt, .woocommerce.tinv-wishlist button.button.alt, .woocommerce.tinv-wishlist input.button.alt {\n text-align: center; }\n\n.tinv-wishlist .button i, .tinv-wishlist .navigation-button a i {\n margin-right: 6px; }\n\n.tinv-wishlist input[type=\"button\"] i, .tinv-wishlist input[type=\"reset\"] i, .tinv-wishlist input[type=\"submit\"] i {\n margin-right: 6px; }\n\n.tinv-wishlist a.tinv-close-modal i {\n margin-right: 0; }\n\na.wishlist_products_counter {\n text-decoration: none; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before, a.wishlist_products_counter.top_wishlist-heart:before, span.wishlist_products_counter.top_wishlist-heart:before, a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart:before {\n content: '\\e909';\n display: inline-block;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 20px;\n vertical-align: sub;\n margin-right: 5px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before, a.wishlist_products_counter.top_wishlist-heart-plus:before, span.wishlist_products_counter.top_wishlist-heart-plus:before, a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart-plus:before {\n content: '\\e906';\n display: inline-block;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 20px;\n vertical-align: sub;\n margin-right: 5px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt {\n position: relative;\n width: 36px;\n height: 36px;\n vertical-align: sub; }\n\na.wishlist_products_counter.top_wishlist-heart-plus.no-txt, span.wishlist_products_counter.top_wishlist-heart-plus.no-txt {\n position: relative;\n width: 36px;\n height: 36px;\n vertical-align: sub; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-right: 0; }\n\n.tinv-wishlist .tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt, .tinv-wishlist .tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt {\n padding-left: 1em;\n vertical-align: bottom; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before {\n content: '\\e908'; }\n\n.woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:before, a.wishlist_products_counter.top_wishlist-heart.wishlist-counter-with-products:before, span.wishlist_products_counter.top_wishlist-heart.wishlist-counter-with-products:before {\n content: '\\e908'; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list:before, .woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list:before, .woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:before, a.wishlist_products_counter.top_wishlist-heart-plus.wishlist-counter-with-products:before, span.wishlist_products_counter.top_wishlist-heart-plus.wishlist-counter-with-products:before {\n content: '\\e907'; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.icon-white:before, a.wishlist_products_counter.top_wishlist-white:before, span.wishlist_products_counter.top_wishlist-white:before {\n color: #FFF; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.icon-black:before, a.wishlist_products_counter.top_wishlist-black:before, span.wishlist_products_counter.top_wishlist-black:before {\n color: #000; }\n\n.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button {\n margin-bottom: 15px; }\n\n.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button {\n margin-top: 15px; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt {\n padding: 10px 11px;\n line-height: 1; }\n\na.wishlist_products_counter.top_wishlist-custom.no-txt, span.wishlist_products_counter.top_wishlist-custom.no-txt {\n padding: 10px 11px;\n line-height: 1; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom img, a.wishlist_products_counter.top_wishlist-custom img, span.wishlist_products_counter.top_wishlist-custom img {\n display: inline-block !important;\n vertical-align: baseline;\n width: auto !important;\n max-width: 16px;\n max-height: 16px;\n margin-bottom: 0;\n margin: 0 6px 0 0 !important; }\n\n.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt img, a.wishlist_products_counter.top_wishlist-custom.no-txt img, span.wishlist_products_counter.top_wishlist-custom.no-txt img {\n margin-right: 0 !important; }\n\n.single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button, div.product form.cart .tinvwl_add_to_wishlist_button {\n float: none; }\n\nul.products li.product .tinvwl_add_to_wishlist_button {\n margin-top: 1em; }\n\n.tinvwl_add_to_wishlist_button {\n display: inline-block;\n cursor: pointer;\n -webkit-transition: opacity 1s;\n transition: opacity 1s;\n opacity: 1;\n visibility: visible; }\n\n.tinv-wishlist.woocommerce .stock.in-stock:before {\n content: none; }\n\n.tinv-wraper.tinv-wishlist {\n font-size: 100%; }\n\n.tinv-create-list li input[type=radio] {\n margin-right: 10px; }\n\n.tinv-create-list li + li {\n margin-top: 15px; }\n\n.tinv-create-list .tinvwl-input-group + ul {\n margin-top: 25px; }\n\n.tinv-search-list {\n margin-bottom: 36px; }\n\n.tinv-wishlist .tinv-header {\n margin-bottom: 30px; }\n\n.tinv-wishlist table {\n position: relative;\n table-layout: auto;\n margin-bottom: 30px;\n z-index: 2; }\n\n.tinv-overlay {\n top: 0;\n left: 0;\n position: fixed;\n -webkit-transition: opacity .3s ease, visibility .3s ease;\n transition: opacity .3s ease, visibility .3s ease; }\n\n.tinv-wishlist .tinv-modal {\n top: 0;\n left: 0;\n position: fixed;\n -webkit-transition: opacity .3s ease, visibility .3s ease;\n transition: opacity .3s ease, visibility .3s ease; }\n\n.tinv-wishlist table.tinvwl-table-manage-list {\n margin-bottom: 27px;\n width: 100%; }\n\n.tinv-wishlist table input[type=checkbox] {\n margin-right: 0; }\n\n.tinv-wishlist table td, .tinv-wishlist table th {\n padding: 1em;\n vertical-align: middle; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-cb {\n width: 35px;\n text-align: center; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-remove {\n width: 35px;\n text-align: center;\n padding: 1em .5em; }\n\n.tinv-wishlist .product-remove button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n margin: 0 auto;\n width: 27px;\n height: 27px;\n border-radius: 50%;\n padding: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: none;\n background-color: #f7f7f7;\n color: #000000;\n font-size: 20px;\n padding-left: 1px;\n padding-top: 3px; }\n\n.tinv-wishlist .product-thumbnail {\n min-width: 100px;\n width: 100px; }\n .tinv-wishlist .product-thumbnail .wp-post-image {\n margin-bottom: 0; }\n\n.tinv-wishlist td.product-name a + .variation {\n margin-top: 2px; }\n\n.tinv-wishlist .product-stock i {\n margin-right: 15px; }\n\n.tinv-wishlist .product-stock p {\n display: table; }\n\n.tinv-wishlist .product-stock span {\n display: table-cell;\n vertical-align: middle; }\n\n.tinv-wishlist .product-action > .button > i, .tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove], .tinv-wishlist table thead th .tinvwl-mobile {\n display: none; }\n\n.tinv-wishlist.woocommerce .product-quantity {\n width: 80px;\n text-align: center; }\n\n.tinv-wishlist.woocommerce table .quantity .qty {\n max-width: 100%;\n width: 62px;\n text-align: left; }\n\n.tinv-wishlist .product-action {\n width: 135px;\n text-align: center; }\n .tinv-wishlist .product-action .button {\n width: 100%; }\n .tinv-wishlist .product-action .tinvwl_move_product_button {\n margin-top: 5px; }\n\n.tinv-wishlist .tinvwl-table-manage-list .product-action > button[name=tinvwl-remove] > i {\n margin-right: 0; }\n\n.tinv-wishlist .wishlist-cb {\n width: 33px;\n text-align: center; }\n\n.tinv-wishlist .wishlist-name .tinvwl-rename-input input {\n width: 100%; }\n\n.tinv-wishlist .wishlist-name .tinvwl-rename-button {\n float: right; }\n .tinv-wishlist .wishlist-name .tinvwl-rename-button > i {\n margin-right: 10px; }\n\n.tinv-wishlist .wishlist-privacy, .tinv-wishlist table:not(.tinvwl-public) .wishlist-date {\n width: 18%; }\n\n.tinv-wishlist .wishlist-privacy select {\n width: 100%; }\n\n.tinv-wishlist .wishlist-name {\n width: 45%; }\n\n.tinv-wishlist .wishlist-action {\n width: 120px;\n text-align: center; }\n .tinv-wishlist .wishlist-action button[value=manage_remove] > i {\n display: none;\n margin-right: 0; }\n\n.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list {\n display: inline-block;\n vertical-align: middle; }\n .tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list > a.button {\n margin-right: 0; }\n\n.tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: -10px; }\n\n.tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n float: left;\n width: 35%;\n margin-right: 2%; }\n\n.tinv-wishlist tfoot .tinvwl-to-right {\n float: left;\n width: 63%;\n text-align: right; }\n .tinv-wishlist tfoot .tinvwl-to-right > * {\n margin: 10px 0 0;\n vertical-align: middle; }\n .tinv-wishlist tfoot .tinvwl-to-right > * + * {\n margin-left: 10px; }\n\n.tinv-wishlist tfoot .tinvwl-to-left:empty + .tinvwl-to-right {\n width: 100%; }\n\n.tinv-wishlist .social-buttons + .tinv-wishlist-clear + .navigation-button {\n margin-top: 16px; }\n\n.tinv-wishlist .navigation-button {\n margin-top: -10px; }\n .tinv-wishlist .navigation-button > li {\n float: left; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a, .tinv-wishlist .navigation-button > li > a {\n margin-right: 30px;\n margin-top: 10px;\n display: inline-block; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a.button, .tinv-wishlist .navigation-button > li > a.button {\n margin-right: 10px; }\n .tinv-wishlist .navigation-button > li:last-child > .tinv-create-list > a, .tinv-wishlist .navigation-button > li:last-child > a {\n margin-right: 0; }\n\n.tinv-wishlist .social-buttons {\n text-align: right; }\n .tinv-wishlist .social-buttons > span, .tinv-wishlist .social-buttons > ul {\n display: inline-block;\n vertical-align: middle; }\n .tinv-wishlist .social-buttons > span {\n margin-right: 27px; }\n .tinv-wishlist .social-buttons li {\n float: left;\n margin-right: 5px;\n list-style: none; }\n .tinv-wishlist .social-buttons li:last-child {\n margin-right: 0; }\n .tinv-wishlist .social-buttons li a.social {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 2em;\n height: 2em;\n border-radius: 50%;\n text-align: center;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: 0;\n font-size: 20px;\n text-decoration: none;\n text-transform: none !important; }\n .tinv-wishlist .social-buttons li a.social.white {\n color: #ffffff; }\n .tinv-wishlist .social-buttons li a.social.dark {\n color: #000000; }\n .tinv-wishlist .social-buttons li a.social i {\n line-height: 2em; }\n\n.tinv-wishlist .navigation-button .tinv-create-list > a.tinvwl-no-icon > i, .tinv-wishlist .navigation-button li > a.tinvwl-no-icon > i {\n display: none; }\n\n.tinv-wishlist .tinv-lists-nav {\n margin-top: 35px;\n margin-bottom: 35px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n width: 100%; }\n .tinv-wishlist .tinv-lists-nav > * {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n text-align: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .tinv-wishlist .tinv-lists-nav > span {\n font-weight: 700; }\n\n.tinv-wishlist .tinv-next {\n display: inline-block;\n float: left; }\n\n.tinv-wishlist .tinv-prev {\n display: inline-block;\n float: left;\n margin-right: 35px !important; }\n\n.tinv-wishlist .tinv-prev i {\n margin-left: 0;\n margin-right: 18px; }\n\n.tinv-wishlist .tinv-next i {\n margin-left: 18px;\n margin-right: 0; }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .tinvwl-table-manage-lists:not(.tinvwl-public) {\n margin-top: 0; }\n .tinv-wishlist .tinvwl-table-manage-list .product-remove {\n display: none; }\n .tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove] {\n display: inline-block;\n margin-top: 5px; }\n .tinv-wishlist .product-action {\n width: 60px; } }\n\n@media only screen and (max-width: 1024px) and (min-width: 641px) {\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock p {\n display: block;\n text-align: center; }\n .tinv-wishlist .product-stock span {\n display: block; }\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock i {\n margin-right: 0; }\n .tinv-wishlist .tinvwl-table-manage-list td.product-stock .tinvwl-txt {\n display: none; }\n .tinv-wishlist .product-thumbnail {\n max-width: 76px;\n width: 76px; }\n .tinv-wishlist .product-action .button > i {\n display: inline-block;\n margin-right: 0; }\n .tinv-wishlist .product-action .button .tinvwl-txt {\n display: none; } }\n\n@media only screen and (max-width: 1023px) {\n .tinv-wishlist .tinv-lists-nav a.tinv-prev > i, .tinv-wishlist .tinv-lists-nav a.tinv-next > i {\n margin: 0; }\n .tinv-wishlist .tinv-lists-nav a.tinv-prev > span, .tinv-wishlist .tinv-lists-nav a.tinv-next > span {\n display: none; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove, .tinv-wishlist table.tinvwl-table-manage-list thead th:not(.product-name) {\n display: none; }\n .tinv-wishlist table.tinvwl-table-manage-lists thead th:not(.wishlist-name) {\n display: none; }\n .tinv-wishlist thead th .tinvwl-full {\n display: none; }\n .tinv-wishlist table.tinvwl-table-manage-list thead th.product-name, .tinv-wishlist table.tinvwl-table-manage-lists thead th.wishlist-name {\n display: block;\n width: 100%;\n text-align: center; }\n .tinv-wishlist table thead th .tinvwl-mobile {\n display: block; }\n .tinv-wishlist table.tinvwl-table-manage-list tbody td {\n display: block;\n width: 100% !important;\n text-align: center; }\n .tinv-wishlist table.tinvwl-table-manage-lists tbody td, .tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td {\n display: block;\n width: 100% !important;\n text-align: center; }\n .tinv-wishlist table.tinvwl-table-manage-list tbody td:not(:last-child) {\n border-bottom: 0; }\n .tinv-wishlist table.tinvwl-table-manage-lists tbody td:not(:last-child), .tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td:not(:last-child) {\n border-bottom: 0; }\n .tinv-wishlist .product-stock p {\n margin: 0 auto; }\n .tinv-wishlist .product-thumbnail img {\n margin: 0 auto;\n max-width: 80px; }\n .tinv-wishlist.woocommerce table .quantity .qty {\n text-align: center;\n width: 100%; }\n .tinv-wishlist .product-action .tinvwl_move_product_button {\n margin-top: 10px; }\n .tinv-wishlist table.tinvwl-table-manage-list tfoot td {\n display: block;\n width: 100%; }\n .tinv-wishlist table.tinvwl-table-manage-lists .wishlist-action button[value=manage_remove] {\n width: 100%; }\n .tinv-wishlist table.tinvwl-table-manage-lists .wishlist-name .tinvwl-rename-button {\n float: none; } }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .wishlist-name .tinvwl-rename-button > i, .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n margin-right: 0; }\n .tinv-wishlist .wishlist-name .tinvwl-rename-button span {\n display: none; }\n .tinv-wishlist .wishlist-action {\n width: 60px; }\n .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) {\n float: none;\n width: auto; }\n .tinv-wishlist tfoot .tinvwl-to-right {\n float: none;\n width: auto;\n text-align: left; } }\n\n@media only screen and (max-width: 1024px) and (min-width: 641px) {\n .tinv-wishlist .wishlist-action button[value=\"manage_remove\"] span {\n display: none; }\n .tinv-wishlist .wishlist-action button[value=\"manage_remove\"] > i {\n display: inline-block; }\n .tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: 0; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist button[value=\"manage_apply\"] .tinvwl-mobile, .tinv-wishlist button[value=\"product_apply\"] .tinvwl-mobile {\n display: none; }\n .tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list {\n display: block; }\n .tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right .button, .tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right button {\n width: 100%;\n margin: 10px 0 0; }\n .tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right .button, .tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right button {\n width: 100%;\n margin: 10px 0 0; }\n .tinv-wishlist tfoot .tinvwl-to-right > * {\n margin: 10px 0 0; }\n .tinv-wishlist tfoot .tinvwl-to-right .button:first-child, .tinv-wishlist tfoot .tinvwl-to-right button:first-child {\n margin-top: 0 !important; }\n .tinv-wishlist tfoot .tinvwl-to-left + .tinvwl-to-right {\n margin-top: 20px; } }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .social-buttons {\n float: none;\n width: auto;\n text-align: left;\n margin-top: 20px; }\n .tinv-wishlist .social-buttons + .tinv-wishlist-clear + .navigation-button {\n margin-top: 30px; }\n .tinv-wishlist .tinv-login form input[name=login] {\n min-width: auto; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist .social-buttons {\n text-align: center; }\n .tinv-wishlist .navigation-button > li {\n width: 20%;\n text-align: center; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-1 > li {\n width: 100%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-2 > li {\n width: 50%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-3 > li {\n width: 33%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-4 > li {\n width: 25%; }\n .tinv-wishlist .navigation-button > li + li {\n width: 20%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-1 > li + li {\n width: 100%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-2 > li + li {\n width: 50%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-3 > li + li {\n width: 33%; }\n .tinv-wishlist .navigation-button.tinvwl-btns-count-4 > li + li {\n width: 25%; }\n .tinv-wishlist .navigation-button > li > .tinv-create-list > a, .tinv-wishlist .navigation-button > li > a {\n width: calc(100% - 10px);\n margin-right: 0; }\n .tinv-wishlist .navigation-button .tinv-create-list > a .tinvwl-txt, .tinv-wishlist .navigation-button li > a .tinvwl-txt {\n display: none; }\n .tinv-wishlist .navigation-button .tinv-create-list > a > i, .tinv-wishlist .navigation-button li > a > i {\n display: inline-block !important;\n margin-right: 0; }\n .tinv-wishlist .social-buttons > span {\n display: block;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 5px; } }\n\n@media only screen and (max-width: 667px) {\n .tinv-wishlist.woocommerce .tinv-login form .form-row-first, .tinv-wishlist.woocommerce .tinv-login form .form-row-last {\n float: none;\n width: 100%; }\n .tinv-wishlist.woocommerce .tinv-login form .form-row-first {\n padding: 0; }\n .tinv-wishlist.woocommerce .tinv-login form .form-row-last {\n padding: 0;\n margin-top: 10px; }\n .tinv-wishlist.woocommerce .tinv-login form .tinvwl-input-group-btn {\n display: block;\n padding: 0;\n width: auto;\n margin-top: 10px; } }\n\n.tinv-overlay {\n width: 100%;\n height: 100%;\n visibility: hidden;\n opacity: 0;\n background: #191919; }\n\n.tinv-modal.tinv-modal-open .tinv-overlay {\n visibility: visible;\n opacity: .5; }\n\n.admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 32px !important; }\n\n.tinv-wishlist .tinv-modal {\n overflow-y: auto;\n overflow-x: hidden;\n width: 0;\n height: 0;\n z-index: 9999;\n outline: 0 !important;\n -webkit-backface-visibility: hidden;\n visibility: hidden;\n opacity: 0;\n text-align: left; }\n .tinv-wishlist .tinv-modal .tinv-modal-inner {\n position: relative;\n margin: 0 auto;\n background-color: #fff;\n max-width: 360px;\n padding: 40px; }\n .tinv-wishlist .tinv-modal.tinv-modal-open {\n visibility: visible;\n opacity: 1;\n width: 100%;\n height: 100%; }\n .tinv-wishlist .tinv-modal .tinv-close-modal {\n display: inline-block;\n position: absolute;\n top: 17px;\n right: 14px;\n width: 26px;\n height: 26px;\n line-height: 26px;\n font-size: 12px;\n text-align: center;\n border-radius: 50%;\n border-bottom: 0;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n background-color: #ebe9eb; }\n .tinv-wishlist .tinv-modal .icon_big_heart_check, .tinv-wishlist .tinv-modal .icon_big_times, .tinv-wishlist .tinv-modal img {\n display: block;\n margin: 0 auto;\n margin-bottom: 25px;\n opacity: 1 !important; }\n .tinv-wishlist .tinv-modal ul {\n overflow: visible;\n list-style: disc;\n margin: 10px 0 0 20px; }\n .tinv-wishlist .tinv-modal li {\n list-style: disc !important; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal ul, .tinv-wishlist.tinv-create-list form ul {\n list-style: none !important;\n margin: 25px 0 0; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal li, .tinv-wishlist.tinv-create-list form li {\n list-style: none !important; }\n\n.tinv-wishlist .tinv-modal .already-in {\n margin-bottom: 35px; }\n\n.tinv-wishlist .tinv-modal .delete-notification {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinv-modal .already-in ul {\n overflow: visible;\n margin: 12px 0 27px 17px; }\n\n.tinv-wishlist .tinv-modal select {\n width: 100%; }\n\n.tinv-wishlist .tinv-modal button + .button, .tinv-wishlist .tinv-modal button + button {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal input + button {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal label + button, .tinv-wishlist .tinv-modal label + input {\n margin-top: 12px;\n width: 100%; }\n\n.tinv-wishlist .tinv-modal select + button, .tinv-wishlist .tinv-modal select + input {\n margin-top: 12px;\n width: 100%; }\n\n@media screen and (max-width: 782px) {\n .admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 46px !important; } }\n\n@media screen and (max-width: 600px) {\n .admin-bar .tinv-wishlist .tinv-modal {\n padding-top: 0 !important; }\n .tinv-wishlist .tinv-modal .tinv-close-modal {\n position: static;\n display: block;\n margin: 0 auto 20px; } }\n\n.tinv-wishlist .tinv-modal .already-in + label {\n display: block;\n margin-top: 6px; }\n\n.tinv-wishlist .tinv-modal label select {\n margin-top: 8px; }\n\n.tinv-wishlist .tinv-modal .delete-notification + button {\n width: 100%; }\n\n.tinv-wishlist .tinvwl_added_to_wishlist, .tinv-wishlist .tinvwl_created_wishlist {\n text-align: center; }\n\n.tinv-wishlist .tinvwl_added_to_wishlist .tinv-txt {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinvwl_created_wishlist .tinv-txt {\n margin-bottom: 25px; }\n\n.tinv-wishlist .tinvwl_created_wishlist button {\n margin-top: 0;\n margin-bottom: 10px; }\n\n.woocommerce .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal button.button {\n margin-top: 0;\n margin-bottom: 10px; }\n\n.tinv-wishlist .tinv-modal .tinvwl-buttons-group {\n margin-top: 20px; }\n\n.tinv-wishlist .tinvwl-buttons-group button {\n width: 100%; }\n .tinv-wishlist .tinvwl-buttons-group button + button {\n margin-top: 7px; }\n .tinv-wishlist .tinvwl-buttons-group button i {\n position: relative; }\n .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times {\n font-size: 20px; }\n .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o::before, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key::before, .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times::before {\n position: relative;\n top: 3px; }\n\n.tinv-wishlist .tinvwl-buttons-group + button {\n width: 100%;\n margin-top: 7px; }\n\n.tinv-wishlist .tinv-modal h2 {\n text-align: center;\n margin: 0 0 35px; }\n\n.tinv-wishlist .tinv-create-list .tinv-modal-inner {\n max-width: 778px;\n padding: 30px; }\n\n.tinv-wishlist .tinvwl-has-error:not(.tinvwl-input-group), .tinv-wishlist .tinvwl-input-group.tinvwl-has-error .form-control {\n border: 2px solid #FF0000; }\n\n.tinv-wishlist .tinvwl-has-error:not(.tinvwl-input-group) {\n border: 2px solid #FF0000; }\n\n.tinv-wishlist .tinvwl-has-error + .tinvwl-error {\n padding: 5px 0 0 5px;\n color: #FF0000; }\n\n@media only screen and (max-width: 640px) {\n .navigation-button, .social-buttons, .tinv-lists-nav {\n margin-left: 12px;\n margin-right: 12px; } }\n\n.tinvwl-tooltip {\n display: none; }\n\n.tinvwl-input-group {\n position: relative;\n display: table;\n border-collapse: separate; }\n .tinvwl-input-group .form-control {\n position: relative;\n z-index: 1;\n float: left;\n height: 38px;\n width: 100%;\n margin-bottom: 0; }\n .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-left: 15px; }\n\n.tinv-wishlist .tinvwl-to-left .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-left: 10px; }\n\n.tinv-wishlist .tinv-search-form .tinvwl-input-group .form-control + .tinvwl-input-group-btn {\n padding-left: 9px; }\n\n.tinvwl-input-group .form-control, .tinvwl-input-group-addon, .tinvwl-input-group-btn {\n display: table-cell; }\n\n.tinvwl-input-group-addon, .tinvwl-input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: top; }\n\n@media only screen and (max-width: 640px) {\n .tinvwl-input-group {\n width: 100%; } }\n\n@media only screen and (max-width: 667px) {\n .tinvwl-input-group:not(.tinvwl-no-full) {\n display: block; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn {\n display: block; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control {\n float: none; }\n .tinv-wishlist .tinv-search-form .tinvwl-input-group:not(.tinvwl-no-full) .form-control + .tinvwl-input-group-btn {\n padding-top: 10px;\n padding-left: 0; }\n .tinvwl-input-group:not(.tinvwl-no-full) .form-control + .tinvwl-input-group-btn {\n padding-top: 10px;\n padding-left: 0; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon > button, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-addon > input {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn {\n width: 100%; }\n .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn > button, .tinvwl-input-group:not(.tinvwl-no-full) .tinvwl-input-group-btn > input {\n width: 100%; } }\n\n.tinv-table {\n display: table;\n width: 100%;\n height: 100%; }\n\n.tinv-cell {\n display: table-cell;\n vertical-align: middle; }\n\n.tinv-wishlist .tinv-wishlist-clear {\n visibility: visible;\n width: auto;\n height: auto; }\n\n.tinv-wishlist-clear:before {\n content: \"\";\n display: table; }\n\n.tinv-wishlist-clear:after {\n content: \"\";\n display: table;\n clear: both; }\n\n.icon_big_heart_check {\n display: inline-block;\n width: 46px;\n height: 46px;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 60px; }\n\n.icon_big_times {\n display: inline-block;\n width: 46px;\n height: 46px;\n font-family: tinvwl-webfont !important;\n speak: none;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 60px; }\n .icon_big_times::before {\n content: \"\\e904\";\n top: -7px;\n left: -7px;\n position: relative; }\n\n.icon_big_heart_check::before {\n content: \"\\e90a\";\n top: -7px;\n left: -7px;\n position: relative; }\n\n.tinvwl_add_to_wishlist_button.tinvwl-button.disabled-add-wishlist, .tinvwl_add_to_wishlist_button.disabled-add-wishlist {\n opacity: 0.5 !important;\n cursor: not-allowed; }\n\n.empty-name-wishlist {\n border-color: #FF0000 !important; }\n\n.tinvwl_remove_from_wishlist-text, .tinvwl_already_on_wishlist-text {\n display: none !important; }\n\n.tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_remove_from_wishlist-text, .tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_already_on_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_remove_from_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_already_on_wishlist-text {\n display: inline !important; }\n\n.tinvwl-product-in-list.tinvwl-product-make-remove .tinvwl_add_to_wishlist-text, .tinvwl-product-in-list.tinvwl-product-already-on-wishlist .tinvwl_add_to_wishlist-text {\n display: none !important; }\n\n@media only screen and (max-width: 1024px) {\n .tinv-wishlist .tinvwl-table-manage-list .product-remove {\n display: table-cell; } }\n\n@media only screen and (max-width: 640px) {\n .tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove {\n display: block; } }\n\n.tooltipped {\n position: relative; }\n\n.tooltipped::after {\n position: absolute;\n z-index: 1000000;\n display: none;\n padding: 0.5em 0.75em;\n font: normal normal 11px/1.5 -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n -webkit-font-smoothing: subpixel-antialiased;\n color: #fff;\n text-align: center;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: break-word;\n white-space: pre;\n pointer-events: none;\n content: attr(aria-label);\n background: #1b1f23;\n border-radius: 3px;\n opacity: 0; }\n\n.tooltipped::before {\n position: absolute;\n z-index: 1000001;\n display: none;\n width: 0;\n height: 0;\n color: #1b1f23;\n pointer-events: none;\n content: \"\";\n border: 6px solid transparent;\n opacity: 0; }\n\n@-webkit-keyframes tooltip-appear {\n from {\n opacity: 0; }\n to {\n opacity: 1; } }\n\n@keyframes tooltip-appear {\n from {\n opacity: 0; }\n to {\n opacity: 1; } }\n\n.tooltipped:hover::before, .tooltipped:hover::after,\n.tooltipped:active::before,\n.tooltipped:active::after,\n.tooltipped:focus::before,\n.tooltipped:focus::after {\n display: inline-block;\n text-decoration: none;\n -webkit-animation-name: tooltip-appear;\n animation-name: tooltip-appear;\n -webkit-animation-duration: 0.1s;\n animation-duration: 0.1s;\n -webkit-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n\n.tooltipped-no-delay:hover::before, .tooltipped-no-delay:hover::after,\n.tooltipped-no-delay:active::before,\n.tooltipped-no-delay:active::after,\n.tooltipped-no-delay:focus::before,\n.tooltipped-no-delay:focus::after {\n -webkit-animation-delay: 0s;\n animation-delay: 0s; }\n\n.tooltipped-multiline:hover::after,\n.tooltipped-multiline:active::after,\n.tooltipped-multiline:focus::after {\n display: table-cell; }\n\n.tooltipped-s::after,\n.tooltipped-se::after,\n.tooltipped-sw::after {\n top: 100%;\n right: 50%;\n margin-top: 6px; }\n\n.tooltipped-s::before,\n.tooltipped-se::before,\n.tooltipped-sw::before {\n top: auto;\n right: 50%;\n bottom: -7px;\n margin-right: -6px;\n border-bottom-color: #1b1f23; }\n\n.tooltipped-se::after {\n right: auto;\n left: 50%;\n margin-left: -16px; }\n\n.tooltipped-sw::after {\n margin-right: -16px; }\n\n.tooltipped-n::after,\n.tooltipped-ne::after,\n.tooltipped-nw::after {\n right: 50%;\n bottom: 100%;\n margin-bottom: 6px; }\n\n.tooltipped-n::before,\n.tooltipped-ne::before,\n.tooltipped-nw::before {\n top: -7px;\n right: 50%;\n bottom: auto;\n margin-right: -6px;\n border-top-color: #1b1f23; }\n\n.tooltipped-ne::after {\n right: auto;\n left: 50%;\n margin-left: -16px; }\n\n.tooltipped-nw::after {\n margin-right: -16px; }\n\n.tooltipped-s::after,\n.tooltipped-n::after {\n -webkit-transform: translateX(50%);\n transform: translateX(50%); }\n\n.tooltipped-w::after {\n right: 100%;\n bottom: 50%;\n margin-right: 6px;\n -webkit-transform: translateY(50%);\n transform: translateY(50%); }\n\n.tooltipped-w::before {\n top: 50%;\n bottom: 50%;\n left: -7px;\n margin-top: -6px;\n border-left-color: #1b1f23; }\n\n.tooltipped-e::after {\n bottom: 50%;\n left: 100%;\n margin-left: 6px;\n -webkit-transform: translateY(50%);\n transform: translateY(50%); }\n\n.tooltipped-e::before {\n top: 50%;\n right: -7px;\n bottom: 50%;\n margin-top: -6px;\n border-right-color: #1b1f23; }\n\n.tooltipped-align-right-1::after,\n.tooltipped-align-right-2::after {\n right: 0;\n margin-right: 0; }\n\n.tooltipped-align-right-1::before {\n right: 10px; }\n\n.tooltipped-align-right-2::before {\n right: 15px; }\n\n.tooltipped-align-left-1::after,\n.tooltipped-align-left-2::after {\n left: 0;\n margin-left: 0; }\n\n.tooltipped-align-left-1::before {\n left: 5px; }\n\n.tooltipped-align-left-2::before {\n left: 10px; }\n\n.tooltipped-multiline::after {\n width: -webkit-max-content;\n width: -moz-max-content;\n width: max-content;\n max-width: 250px;\n word-wrap: break-word;\n white-space: pre-line;\n border-collapse: separate; }\n\n.tooltipped-multiline.tooltipped-s::after, .tooltipped-multiline.tooltipped-n::after {\n right: auto;\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n\n.tooltipped-multiline.tooltipped-w::after, .tooltipped-multiline.tooltipped-e::after {\n right: 100%; }\n\n@media screen and (min-width: 0 \\0 ) {\n .tooltipped-multiline::after {\n width: 250px; } }\n\n.tooltipped-sticky::before, .tooltipped-sticky::after {\n display: inline-block; }\n\n.tooltipped-sticky.tooltipped-multiline::after {\n display: table-cell; }\n\n.tinvwl-table-manage-list .component_table_item_price:before {\n font-family: 'FontAwesomeCP';\n font-size: 1rem;\n display: inline-block;\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n content: \"\\e811\";\n margin: 0 12px 0 3px;\n opacity: .25; }\n"]}
assets/css/public.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:'tinvwl-webfont';src:url("../fonts/tinvwl-webfont.eot?xu2uyi");src:url("../fonts/tinvwl-webfont.eot?xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.ttf?xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.woff?xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
@@ -73,7 +73,6 @@ a.wishlist_products_counter.top_wishlist-custom.no-txt,span.wishlist_products_co
73
  .single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button,div.product form.cart .tinvwl_add_to_wishlist_button{float:none}
74
  ul.products li.product .tinvwl_add_to_wishlist_button{margin-top:1em}
75
  .tinvwl_add_to_wishlist_button{display:inline-block;cursor:pointer;-webkit-transition:opacity 1s;transition:opacity 1s;opacity:1;visibility:visible}
76
- .tinvwl_add_to_wishlist_button.tinvwl-add-hide{visibility:hidden;opacity:.5;pointer-events:none}
77
  .tinv-wishlist.woocommerce .stock.in-stock:before{content:none}
78
  .tinv-wraper.tinv-wishlist{font-size:100%}
79
  .tinv-create-list li input[type=radio]{margin-right:10px}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:'tinvwl-webfont';src:url("../fonts/tinvwl-webfont.eot?xu2uyi");src:url("../fonts/tinvwl-webfont.eot?xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.ttf?xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.woff?xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.svg?xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
73
  .single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button,div.product form.cart .tinvwl_add_to_wishlist_button{float:none}
74
  ul.products li.product .tinvwl_add_to_wishlist_button{margin-top:1em}
75
  .tinvwl_add_to_wishlist_button{display:inline-block;cursor:pointer;-webkit-transition:opacity 1s;transition:opacity 1s;opacity:1;visibility:visible}
 
76
  .tinv-wishlist.woocommerce .stock.in-stock:before{content:none}
77
  .tinv-wraper.tinv-wishlist{font-size:100%}
78
  .tinv-create-list li input[type=radio]{margin-right:10px}
assets/css/theme-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist,.tinv-wishlist input,.tinv-wishlist select,.tinv-wishlist textarea,.tinv-wishlist button,.tinv-wishlist input[type="button"],.tinv-wishlist input[type="reset"],.tinv-wishlist input[type="submit"]{font-family:Georgia,serif;font-size:14px;font-weight:400;text-transform:none;line-height:1.75}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist,.tinv-wishlist input,.tinv-wishlist select,.tinv-wishlist textarea,.tinv-wishlist button,.tinv-wishlist input[type="button"],.tinv-wishlist input[type="reset"],.tinv-wishlist input[type="submit"]{font-family:Georgia,serif;font-size:14px;font-weight:400;text-transform:none;line-height:1.75}
assets/css/theme.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist,.tinv-wishlist input,.tinv-wishlist select,.tinv-wishlist textarea,.tinv-wishlist button,.tinv-wishlist input[type="button"],.tinv-wishlist input[type="reset"],.tinv-wishlist input[type="submit"]{font-family:Georgia,serif;font-size:14px;font-weight:400;text-transform:none;line-height:1.75}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist,.tinv-wishlist input,.tinv-wishlist select,.tinv-wishlist textarea,.tinv-wishlist button,.tinv-wishlist input[type="button"],.tinv-wishlist input[type="reset"],.tinv-wishlist input[type="submit"]{font-family:Georgia,serif;font-size:14px;font-weight:400;text-transform:none;line-height:1.75}
assets/js/admin.min.js CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  "use strict";function TInvWL($,h){this.pf="tinvwl",this.g="_",this.ho=h||!1,this.n="TInvWL",this.aj_act=function(t){return[this.pf,t].join(this.g)},this._csel=function(t,n){return"{0}{1}{2}".format(n=n||".",this.pf,t)},this._tm=function(t){var n=$("script#{0}[type='text/template']".format(t));return n.length?n.html():""},this.formElm=function(){if($(this._csel("-form-onoff")).tiwl_onoff(),$("input[type=checkbox][tiwl-show], input[type=checkbox][tiwl-hide]").tiwl_onoffblock(),$("[tiwl-value][tiwl-show], [tiwl-value][tiwl-hide]").tiwl_byvalueblock(),void 0!==$.fn.wpColorPicker){var e=function(t){var n=t.substring(1),i=parseInt(n,16);return.2126*(i>>16&255)+.7152*(i>>8&255)+.0722*(i>>0&255)},n=this._csel("-form-color");$(n).each(function(){var n=$(this),t=$(this).closest(".tinvwl-color-picker"),i=t.find(".tinvwl-eyedropper");n.css("background-color",n.val()),175<e(n.val())&&n.css("color","#000000"),n.iris({mode:"hsv",target:$(this).parent().parent(),change:function(t,n){175<e(n.color.toCSS())?$(this).css("color","#000000"):$(this).css("color",""),$(this).css("background-color",n.color.toCSS())}}),t.on("click",".iris-square-value",function(t){t.preventDefault(),n.iris("toggle")}),i.on("click",function(t){t.preventDefault(),n.iris("show")}),n.on("focusin",function(){n.iris("show")})}),$(document).on("click",function(t){$(t.target).is(n+", .iris-picker, .iris-picker-inner, .iris-slider-offset, .tinvwl-eyedropper, .tinvwl-eyedropper .ftinvwl-eyedropper")?$(n).not($(t.target).closest(".tinvwl-color-picker").find(n)).iris("hide"):$(n).iris("hide")})}},this.wizard_page=function(t){$(t).find("select").change(this._wizard_page_ch),this.wizard_page_ch($(t).find("select"))},this.wizard_page_ch=function(t){var n=(t=$(t)).parent(this._csel("-page-select")),i=n.find("input[type=hidden]").val(),e=n.find(this._csel("-error-icon")),o=n.find(this._csel("-error-desc"));""!==t.val()?(n.removeClass("tinvwl-error"),e.hide(),o.hide()):0==i&&(n.addClass("tinvwl-error"),e.show(),o.show())},this.pageElm=function(){$(this._csel("-header","div.")).prependTo("#wpbody-content"),$(this._csel("-page-select")).each(this._wizard_page),$(".bulkactions [type=submit]").each(this._control_bulkactions),$(".action-search [type=submit]").each(this._control_search)},this.control_bulkactions=function(t){$(t).on("click",this._control_bulkactions_ck)},this.control_bulkactions_ck=function(t,n){var i=(t=$(t)).parents(".bulkactions").eq(0).find("[name=action]"),e=t.parents("form").eq(0);i&&("-1"!==i.val()&&e.find("input[type=checkbox]:checked").length||n.preventDefault())},this.control_search=function(t){$(t).on("click",this._control_search_ck)},this.control_search_ck=function(t,n){var i=(t=$(t)).parents(".action-search").eq(0).find("[name=s]");i&&""===i.val()&&n.preventDefault()},this.Run=function(){this.formElm(),this.pageElm()},this.cg=function(){var t=this.n;if(this.ho){var n=new Date;t=t+n.getFullYear()+n.getMonth()+n.getDate()}window[t]=this},this.cg(),String.prototype.format||(String.prototype.format=function(){var i=arguments;return this.replace(/{(\d+)}/g,function(t,n){return void 0!==i[n]?i[n]:t})}),function(o){var n=o.n,ho=o.ho,c="";for(var i in ho&&(c="t=new Date(),n=n+t.getFullYear()+t.getMonth()+t.getDate(),"),o)"function"!=typeof o[i]||"_"===i[0]||o.hasOwnProperty("_"+i)||eval("o._"+i+"=function(a,b,c,d){var n='"+n+"',"+c+"o=window[n]||null;if (o) {return o."+i+"(this,a,b,c,d);};};")}(this)}!function(s){s.fn.tiwl_onoff=function(t){var o=s.extend(!0,{},{value:{on:"",off:""},class:"tiwlform-onoff",wrap:"container",button:"button"},t);return s(this).each(function(){var n=s(this),t=s("<div>").attr({class:o.class+"-"+o.button}),i=o.class+"-"+o.wrap,e=s("<div>").attr({id:n.attr("id")+"_"+o.wrap,class:i});return n.is("input")&&(e.attr("class",e.attr("class")+" "+n.attr("class")),n.is(":disabled")&&(e.toggleClass("disabled",n.is(":disabled")),n.prop("disabled",!1)),e.toggleClass("checked",n.is(":checked")),n.attr("type","checkbox").hide().removeAttr("class").wrap(e).before(t),e=n.parent(),n.on("change",function(t){if(e.hasClass("disabled"))return t.preventDefault();e.toggleClass("checked",s(this).is(":checked"))}),e.on("click",function(t){if(e.hasClass("disabled"))return t.preventDefault();n.is(":enabled")&&e.hasClass("checked")===n.is(":checked")&&n.click()})),n})},s.fn.tiwl_onoffblock=function(t){var n={onEachElm:function(){},isChecked:function(){return s(this).is(":checked")}},c=s.extend(!0,{},n,t);return s(this).each(function(){function t(){function t(t,i){t=t.match(/[\w\d-\>\.\#\:\=\[\]]+/gim)||[],s.each(t,function(t,n){c.onEachElm.call(s(n).toggle(i))})}var n=s(this),i=n.attr("tiwl-show"),e=n.attr("tiwl-hide"),o=c.isChecked.call(n);return"string"==typeof i&&t(i,o),"string"==typeof e&&t(e,!o),n}var n=s(this);return n.is("input")&&"checkbox"==n.attr("type")?(s(this).on("change",t),t.call(n)):n})},s.fn.tiwl_byvalueblock=function(t){var n={onEachElm:function(){},onClick:function(){return s(this).val()==s(this).attr("tiwl-value")}},i=s.extend(!0,{},n,t);return s(this).each(function(){function t(e){function t(t,i){t=t.match(/[\w\d-\>\.\#\:\=\[\]]+/gim)||[],s.each(t,function(t,n){e.onEachElm.call(s(n).toggle(i))})}var n=s(this),i=n.attr("tiwl-show"),o=n.attr("tiwl-hide"),c=e.onClick.call(n);return"string"==typeof i&&t(i,c),"string"==typeof o&&t(o,!c),n}var n=s(this);return n.is("input")||n.is("select")?(s(this).on("change",function(){t.call(this,i)}),t.call(n,i)):n})};var n=new TInvWL(s);s(document).ready(function(){if(n.Run(),jQuery('input[name="general-show_notice"]').change(function(){var t=!jQuery(this).is(":checked"),n=jQuery('input[name="general-redirect_require_login"]');t&&!n.is(":checked")&&n.click().trigger("change"),n.closest(".tiwlform-onoff-container").toggleClass("disabled",t)}).change(),s(".tablenav").each(function(){var t=s(this);s.trim(t.find(".alignleft").html()).length||t.find(".alignleft").remove(),s.trim(t.find(".alignright").html()).length&&!t.find(".tablenav-pages").hasClass("one-page")||(t.find(".alignright").remove(),t.find(".tinv-wishlist-clear").remove()),s.trim(t.html()).length||t.remove()}),s(".tablenav .bulkactions select").addClass("tinvwl-select grey").wrap('<span class="tinvwl-select-wrap">').parent().append('<span class="tinvwl-caret"><span></span></span>'),s(".tablenav .bulkactions .button.action, .tablenav #search-submit").removeClass("button").addClass("tinvwl-btn grey"),s(".tinvwl-modal-btn").on("click",function(){s(this).next(".tinvwl-modal").addClass("tinvwl-modal-open")}),s(".tinvwl-overlay, .tinvwl-close-modal, .tinvwl_button_close").on("click",function(t){t.preventDefault(),s(this).parents(".tinvwl-modal:first").removeClass("tinvwl-modal-open")}),void 0!==s.fn.popover){var t=s(".tinvwl-help");t.popover({content:function(){return s(this).closest(".tinvwl-info-wrap").find(".tinvwl-info-desc").html()}}),t.on("click",function(){s(this).popover("toggle")}),t.on("focusout",function(){s(this).popover("hide")}),s(window).on("resize",function(){t.popover("hide")})}s("body").on("click",".tinvwl-confirm-reset",function(t){t.preventDefault(),confirm(tinvwl_comfirm.text_comfirm_reset)&&s(this).removeClass("tinvwl-confirm-reset").trigger("click")})})}(jQuery);
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  "use strict";function TInvWL($,h){this.pf="tinvwl",this.g="_",this.ho=h||!1,this.n="TInvWL",this.aj_act=function(t){return[this.pf,t].join(this.g)},this._csel=function(t,n){return"{0}{1}{2}".format(n=n||".",this.pf,t)},this._tm=function(t){var n=$("script#{0}[type='text/template']".format(t));return n.length?n.html():""},this.formElm=function(){if($(this._csel("-form-onoff")).tiwl_onoff(),$("input[type=checkbox][tiwl-show], input[type=checkbox][tiwl-hide]").tiwl_onoffblock(),$("[tiwl-value][tiwl-show], [tiwl-value][tiwl-hide]").tiwl_byvalueblock(),void 0!==$.fn.wpColorPicker){var e=function(t){var n=t.substring(1),i=parseInt(n,16);return.2126*(i>>16&255)+.7152*(i>>8&255)+.0722*(i>>0&255)},n=this._csel("-form-color");$(n).each(function(){var n=$(this),t=$(this).closest(".tinvwl-color-picker"),i=t.find(".tinvwl-eyedropper");n.css("background-color",n.val()),175<e(n.val())&&n.css("color","#000000"),n.iris({mode:"hsv",target:$(this).parent().parent(),change:function(t,n){175<e(n.color.toCSS())?$(this).css("color","#000000"):$(this).css("color",""),$(this).css("background-color",n.color.toCSS())}}),t.on("click",".iris-square-value",function(t){t.preventDefault(),n.iris("toggle")}),i.on("click",function(t){t.preventDefault(),n.iris("show")}),n.on("focusin",function(){n.iris("show")})}),$(document).on("click",function(t){$(t.target).is(n+", .iris-picker, .iris-picker-inner, .iris-slider-offset, .tinvwl-eyedropper, .tinvwl-eyedropper .ftinvwl-eyedropper")?$(n).not($(t.target).closest(".tinvwl-color-picker").find(n)).iris("hide"):$(n).iris("hide")})}},this.wizard_page=function(t){$(t).find("select").change(this._wizard_page_ch),this.wizard_page_ch($(t).find("select"))},this.wizard_page_ch=function(t){var n=(t=$(t)).parent(this._csel("-page-select")),i=n.find("input[type=hidden]").val(),e=n.find(this._csel("-error-icon")),o=n.find(this._csel("-error-desc"));""!==t.val()?(n.removeClass("tinvwl-error"),e.hide(),o.hide()):0==i&&(n.addClass("tinvwl-error"),e.show(),o.show())},this.pageElm=function(){$(this._csel("-header","div.")).prependTo("#wpbody-content"),$(this._csel("-page-select")).each(this._wizard_page),$(".bulkactions [type=submit]").each(this._control_bulkactions),$(".action-search [type=submit]").each(this._control_search)},this.control_bulkactions=function(t){$(t).on("click",this._control_bulkactions_ck)},this.control_bulkactions_ck=function(t,n){var i=(t=$(t)).parents(".bulkactions").eq(0).find("[name=action]"),e=t.parents("form").eq(0);i&&("-1"!==i.val()&&e.find("input[type=checkbox]:checked").length||n.preventDefault())},this.control_search=function(t){$(t).on("click",this._control_search_ck)},this.control_search_ck=function(t,n){var i=(t=$(t)).parents(".action-search").eq(0).find("[name=s]");i&&""===i.val()&&n.preventDefault()},this.Run=function(){this.formElm(),this.pageElm()},this.cg=function(){var t=this.n;if(this.ho){var n=new Date;t=t+n.getFullYear()+n.getMonth()+n.getDate()}window[t]=this},this.cg(),String.prototype.format||(String.prototype.format=function(){var i=arguments;return this.replace(/{(\d+)}/g,function(t,n){return void 0!==i[n]?i[n]:t})}),function(o){var n=o.n,ho=o.ho,c="";for(var i in ho&&(c="t=new Date(),n=n+t.getFullYear()+t.getMonth()+t.getDate(),"),o)"function"!=typeof o[i]||"_"===i[0]||o.hasOwnProperty("_"+i)||eval("o._"+i+"=function(a,b,c,d){var n='"+n+"',"+c+"o=window[n]||null;if (o) {return o."+i+"(this,a,b,c,d);};};")}(this)}!function(s){s.fn.tiwl_onoff=function(t){var o=s.extend(!0,{},{value:{on:"",off:""},class:"tiwlform-onoff",wrap:"container",button:"button"},t);return s(this).each(function(){var n=s(this),t=s("<div>").attr({class:o.class+"-"+o.button}),i=o.class+"-"+o.wrap,e=s("<div>").attr({id:n.attr("id")+"_"+o.wrap,class:i});return n.is("input")&&(e.attr("class",e.attr("class")+" "+n.attr("class")),n.is(":disabled")&&(e.toggleClass("disabled",n.is(":disabled")),n.prop("disabled",!1)),e.toggleClass("checked",n.is(":checked")),n.attr("type","checkbox").hide().removeAttr("class").wrap(e).before(t),e=n.parent(),n.on("change",function(t){if(e.hasClass("disabled"))return t.preventDefault();e.toggleClass("checked",s(this).is(":checked"))}),e.on("click",function(t){if(e.hasClass("disabled"))return t.preventDefault();n.is(":enabled")&&e.hasClass("checked")===n.is(":checked")&&n.click()})),n})},s.fn.tiwl_onoffblock=function(t){var n={onEachElm:function(){},isChecked:function(){return s(this).is(":checked")}},c=s.extend(!0,{},n,t);return s(this).each(function(){function t(){function t(t,i){t=t.match(/[\w\d-\>\.\#\:\=\[\]]+/gim)||[],s.each(t,function(t,n){c.onEachElm.call(s(n).toggle(i))})}var n=s(this),i=n.attr("tiwl-show"),e=n.attr("tiwl-hide"),o=c.isChecked.call(n);return"string"==typeof i&&t(i,o),"string"==typeof e&&t(e,!o),n}var n=s(this);return n.is("input")&&"checkbox"==n.attr("type")?(s(this).on("change",t),t.call(n)):n})},s.fn.tiwl_byvalueblock=function(t){var n={onEachElm:function(){},onClick:function(){return s(this).val()==s(this).attr("tiwl-value")}},i=s.extend(!0,{},n,t);return s(this).each(function(){function t(e){function t(t,i){t=t.match(/[\w\d-\>\.\#\:\=\[\]]+/gim)||[],s.each(t,function(t,n){e.onEachElm.call(s(n).toggle(i))})}var n=s(this),i=n.attr("tiwl-show"),o=n.attr("tiwl-hide"),c=e.onClick.call(n);return"string"==typeof i&&t(i,c),"string"==typeof o&&t(o,!c),n}var n=s(this);return n.is("input")||n.is("select")?(s(this).on("change",function(){t.call(this,i)}),t.call(n,i)):n})};var n=new TInvWL(s);s(document).ready(function(){if(n.Run(),jQuery('input[name="general-show_notice"]').change(function(){var t=!jQuery(this).is(":checked"),n=jQuery('input[name="general-redirect_require_login"]');t&&!n.is(":checked")&&n.click().trigger("change"),n.closest(".tiwlform-onoff-container").toggleClass("disabled",t)}).change(),s(".tablenav").each(function(){var t=s(this);s.trim(t.find(".alignleft").html()).length||t.find(".alignleft").remove(),s.trim(t.find(".alignright").html()).length&&!t.find(".tablenav-pages").hasClass("one-page")||(t.find(".alignright").remove(),t.find(".tinv-wishlist-clear").remove()),s.trim(t.html()).length||t.remove()}),s(".tablenav .bulkactions select").addClass("tinvwl-select grey").wrap('<span class="tinvwl-select-wrap">').parent().append('<span class="tinvwl-caret"><span></span></span>'),s(".tablenav .bulkactions .button.action, .tablenav #search-submit").removeClass("button").addClass("tinvwl-btn grey"),s(".tinvwl-modal-btn").on("click",function(){s(this).next(".tinvwl-modal").addClass("tinvwl-modal-open")}),s(".tinvwl-overlay, .tinvwl-close-modal, .tinvwl_button_close").on("click",function(t){t.preventDefault(),s(this).parents(".tinvwl-modal:first").removeClass("tinvwl-modal-open")}),void 0!==s.fn.popover){var t=s(".tinvwl-help");t.popover({content:function(){return s(this).closest(".tinvwl-info-wrap").find(".tinvwl-info-desc").html()}}),t.on("click",function(){s(this).popover("toggle")}),t.on("focusout",function(){s(this).popover("hide")}),s(window).on("resize",function(){t.popover("hide")})}s("body").on("click",".tinvwl-confirm-reset",function(t){t.preventDefault(),confirm(tinvwl_comfirm.text_comfirm_reset)&&s(this).removeClass("tinvwl-confirm-reset").trigger("click")})})}(jQuery);
assets/js/public.js CHANGED
@@ -172,10 +172,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
172
  },
173
  removed: function removed(status) {},
174
  make_remove: function make_remove(status) {},
175
- counter: function counter(value) {
176
- var has_products = !('0' == value || '' == value);
177
- $('.wishlist_products_counter').toggleClass('wishlist-counter-with-products', has_products);
178
- set_hash(value);
179
  }
180
  }
181
  };
@@ -450,7 +448,13 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
450
 
451
  $(window).on('storage onstorage', function (e) {
452
  if (hash_key === e.originalEvent.key && localStorage.getItem(hash_key) !== sessionStorage.getItem(hash_key)) {
453
- set_hash(localStorage.getItem(hash_key));
 
 
 
 
 
 
454
  }
455
  }); // Get wishlist data from REST API.
456
 
@@ -485,34 +489,60 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
485
  xhr.setRequestHeader('X-WP-Nonce', tinvwl_add_to_wishlist.nonce);
486
  }
487
  }).done(function (response) {
488
- var has_products = !('0' == response.counter || '' == response.counter);
489
- $('.wishlist_products_counter').toggleClass('wishlist-counter-with-products', has_products);
490
- set_hash(response.counter);
491
- $.each(response.products, function (i, item) {
492
- var id = i,
493
- g = '1' == window.tinvwl_add_to_wishlist['simple_flow'],
494
- e = $("a.tinvwl_add_to_wishlist_button[data-tinv-wl-product='" + id + "']");
495
- e.each(function () {
496
- var vid = $(this).data('tinv-wl-productvariation'),
497
- vids = $(this).data('tinv-wl-productvariations') || [],
498
- j = false;
499
-
500
- for (var i in item) {
501
- if (item[i].hasOwnProperty('in') && Array.isArray(item[i]['in']) && (-1 < (item[i]['in'] || []).indexOf(id) || -1 < (item[i]['in'] || []).indexOf(vid) || vids.some(function (r) {
502
- return (item[i]['in'] || []).indexOf(r) >= 0;
503
- }))) {
504
- j = true;
505
- }
506
- }
507
 
508
- $(this).removeClass('tinvwl-add-hide').attr('data-tinv-wl-list', JSON.stringify(item)).toggleClass('tinvwl-product-in-list', j).toggleClass('tinvwl-product-make-remove', j && g).attr('data-tinv-wl-action', j && g ? 'remove' : 'addto');
509
- });
510
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
511
  });
512
  }
513
  };
514
 
515
- rest_request();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
  /* Dynamic buttons */
517
  // Create an observer instance
518
 
@@ -539,7 +569,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
539
  });
540
 
541
  if (tinvwl_products.length) {
542
- rest_request();
543
  }
544
  }); // Configuration of the observer:
545
 
@@ -564,6 +594,37 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
564
  } catch (err) {
565
  $supports_html5_storage = false;
566
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
567
  /** Set the hash in both session and local storage */
568
 
569
 
@@ -571,7 +632,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
571
  if ($supports_html5_storage) {
572
  localStorage.setItem(hash_key, hash);
573
  sessionStorage.setItem(hash_key, hash);
574
- update_product_counter(hash);
575
  }
576
  }
577
 
172
  },
173
  removed: function removed(status) {},
174
  make_remove: function make_remove(status) {},
175
+ wishlists_data: function wishlists_data(value) {
176
+ set_hash(JSON.stringify(value));
 
 
177
  }
178
  }
179
  };
448
 
449
  $(window).on('storage onstorage', function (e) {
450
  if (hash_key === e.originalEvent.key && localStorage.getItem(hash_key) !== sessionStorage.getItem(hash_key)) {
451
+ if (localStorage.getItem(hash_key)) {
452
+ var data = $.parseJSON(localStorage.getItem(hash_key));
453
+
454
+ if (_typeof(data) === 'object' && data !== null && (data.hasOwnProperty('products') || data.hasOwnProperty('counter'))) {
455
+ set_hash(localStorage.getItem(hash_key));
456
+ }
457
+ }
458
  }
459
  }); // Get wishlist data from REST API.
460
 
489
  xhr.setRequestHeader('X-WP-Nonce', tinvwl_add_to_wishlist.nonce);
490
  }
491
  }).done(function (response) {
492
+ set_hash(JSON.stringify(response));
493
+ mark_products(response);
494
+ });
495
+ }
496
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
497
 
498
+ var custom_ajax = function custom_ajax() {
499
+ if (tinvwl_products.length || tinvwl_counter) {
500
+ var params = {};
501
+
502
+ if (tinvwl_add_to_wishlist.wpml) {
503
+ params['lang'] = tinvwl_add_to_wishlist.wpml;
504
+ }
505
+
506
+ $.ajax({
507
+ url: tinvwl_add_to_wishlist.plugin_url + 'includes/api/ajax.php',
508
+ method: 'POST',
509
+ data: params,
510
+ beforeSend: function beforeSend(xhr) {
511
+ xhr.setRequestHeader('X-WP-Nonce', tinvwl_add_to_wishlist.nonce);
512
+ }
513
+ }).done(function (response) {
514
+ set_hash(JSON.stringify(response));
515
+ mark_products(response);
516
+ }).fail(function (response) {
517
+ rest_request();
518
  });
519
  }
520
  };
521
 
522
+ var get_wishlist_data = function get_wishlist_data() {
523
+ if ($supports_html5_storage) {
524
+ if (tinvwl_add_to_wishlist.update_wishlists_data) {
525
+ localStorage.setItem(hash_key, '');
526
+ }
527
+
528
+ if (localStorage.getItem(hash_key)) {
529
+ var data = $.parseJSON(localStorage.getItem(hash_key));
530
+
531
+ if (_typeof(data) === 'object' && data !== null && (data.hasOwnProperty('products') || data.hasOwnProperty('counter'))) {
532
+ mark_products(data);
533
+ return;
534
+ }
535
+ }
536
+ }
537
+
538
+ if (tinvwl_add_to_wishlist.block_ajax_wishlists_data) {
539
+ return;
540
+ }
541
+
542
+ custom_ajax();
543
+ };
544
+
545
+ get_wishlist_data();
546
  /* Dynamic buttons */
547
  // Create an observer instance
548
 
569
  });
570
 
571
  if (tinvwl_products.length) {
572
+ get_wishlist_data();
573
  }
574
  }); // Configuration of the observer:
575
 
594
  } catch (err) {
595
  $supports_html5_storage = false;
596
  }
597
+
598
+ function mark_products(data) {
599
+ var g = '1' == window.tinvwl_add_to_wishlist['simple_flow'];
600
+
601
+ if (g) {
602
+ $("a.tinvwl_add_to_wishlist_button").each(function () {
603
+ $(this).removeClass('tinvwl-product-make-remove').removeClass('tinvwl-product-already-on-wishlist').removeClass('tinvwl-product-in-list').attr('data-tinv-wl-action', 'addto').attr('data-tinv-wl-list', '[]');
604
+ });
605
+ }
606
+
607
+ $.each(data.products, function (i, item) {
608
+ var id = i,
609
+ e = $("a.tinvwl_add_to_wishlist_button[data-tinv-wl-product='" + id + "']");
610
+ e.each(function () {
611
+ var vid = $(this).data('tinv-wl-productvariation'),
612
+ vids = $(this).data('tinv-wl-productvariations') || [],
613
+ j = false;
614
+
615
+ for (var i in item) {
616
+ if (item[i].hasOwnProperty('in') && Array.isArray(item[i]['in']) && (-1 < (item[i]['in'] || []).indexOf(id) || -1 < (item[i]['in'] || []).indexOf(vid) || vids.some(function (r) {
617
+ return (item[i]['in'] || []).indexOf(r) >= 0;
618
+ }))) {
619
+ j = true;
620
+ }
621
+ }
622
+
623
+ $(this).attr('data-tinv-wl-list', JSON.stringify(item)).toggleClass('tinvwl-product-in-list', j).toggleClass('tinvwl-product-make-remove', j && g).attr('data-tinv-wl-action', j && g ? 'remove' : 'addto');
624
+ });
625
+ });
626
+ update_product_counter(data.counter);
627
+ }
628
  /** Set the hash in both session and local storage */
629
 
630
 
632
  if ($supports_html5_storage) {
633
  localStorage.setItem(hash_key, hash);
634
  sessionStorage.setItem(hash_key, hash);
635
+ mark_products($.parseJSON(hash));
636
  }
637
  }
638
 
assets/js/public.min.js CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 1.20.5
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
- "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function showTooltip(t,i){t.setAttribute("class","social social-clipboard tooltipped tooltipped-s"),t.setAttribute("aria-label",i)}function clearTooltip(t){t.currentTarget.setAttribute("class","social social-clipboard "),t.currentTarget.removeAttribute("aria-label")}!function(c){c.fn.tinvwl_to_wishlist=function(t){var i={api_url:window.location.href.split("?")[0],text_create:window.tinvwl_add_to_wishlist.text_create,text_already_in:window.tinvwl_add_to_wishlist.text_already_in,class:{dialogbox:".tinvwl_add_to_select_wishlist",select:".tinvwl_wishlist",newtitle:".tinvwl_new_input",dialogbutton:".tinvwl_button_add"},redirectTimer:null,onPrepareList:function(){},onGetDialogBox:function(){},onPrepareDialogBox:function(){c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c(this).appendTo("body > .tinv-wishlist")},onCreateWishList:function(t){c(this).append(c("<option>").html(t.title).val(t.ID).toggleClass("tinv_in_wishlist",t.in))},onSelectWishList:function(){},onDialogShow:function(t){c(t).addClass("tinv-modal-open"),c(t).removeClass("ftinvwl-pulse")},onDialogHide:function(t){c(t).removeClass("tinv-modal-open"),c(t).removeClass("ftinvwl-pulse")},onInited:function(){},onClick:function(){if(c(this).is(".disabled-add-wishlist"))return!1;c(this).is(".ftinvwl-animated")&&c(this).addClass("ftinvwl-pulse"),this.tinvwl_dialog?this.tinvwl_dialog.show_list.call(this):e.onActionProduct.call(this)},onPrepareDataAction:function(t,i){c("body").trigger("tinvwl_wishlist_button_clicked",[t,i])},filterProductAlreadyIn:function(t){t=t||[];var o={};return c("form.cart[method=post], .woocommerce-variation-add-to-cart, form.vtajaxform[method=post]").find("input, select").each(function(){var t=c(this).attr("name"),i=c(this).attr("type"),n=c(this).val();("checkbox"!==i&&"radio"!==i||c(this).is(":checked"))&&(o["form"+t]=n)}),o=o.formvariation_id,t.filter(function(t){if("object"!==_typeof(t.in)||"string"!=typeof o)return t.in;var i=parseInt(o);return 0<=t.in.indexOf(i)})},onMultiProductAlreadyIn:function(t){t=t||[];t=e.onPrepareList.call(t)||t,t=e.filterProductAlreadyIn.call(this,t)||t,c(this).parent().parent().find(".already-in").remove();var n="";switch(t.length){case 0:break;default:n=c("<ul>");c.each(t,function(t,i){n.append(c("<li>").html(c("<a>").html(i.title).attr({href:i.url})).val(i.ID))})}n.length&&c(this).closest(".tinv-modal-inner").find("img").after(c("<div>").addClass("already-in").html(e.text_already_in+" ").append(n))},onAction:{redirect:function(t){e.redirectTimer&&clearTimeout(e.redirectTimer),e.redirectTimer=window.setTimeout(function(){window.location.href=t},4e3)},force_redirect:function(t){window.location.href=t},wishlists:function(a){var l=c(this).data("tinv-wl-product"),t=c("a.tinvwl_add_to_wishlist_button[data-tinv-wl-product='"+l+"']"),s="1"==window.tinvwl_add_to_wishlist.simple_flow;t.each(function(){var t=parseInt(c(this).attr("data-tinv-wl-productvariation")),i=c(this).data("tinv-wl-productvariations")||[],n=!1,o=[];for(var e in a&&(o=c.parseJSON(a)),o)o[e].hasOwnProperty("in")&&Array.isArray(o[e].in)&&(-1<(o[e].in||[]).indexOf(l)||-1<(o[e].in||[]).indexOf(t)||i.some(function(t){return 0<=(o[e].in||[]).indexOf(t)}))&&(n=!0);c(this).attr("data-tinv-wl-list",a).toggleClass("tinvwl-product-in-list",n).toggleClass("tinvwl-product-make-remove",n&&s).attr("data-tinv-wl-action",n&&s?"remove":"addto")})},msg:function(t){if(!t)return!1;var i=c(t).eq(0);c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove(),e.redirectTimer&&clearTimeout(e.redirectTimer)})},status:function(t){c("body").trigger("tinvwl_wishlist_added_status",[this,t])},removed:function(){},make_remove:function(){},counter:function(t){var i=!("0"==t||""==t);c(".wishlist_products_counter").toggleClass("wishlist-counter-with-products",i),l(t)}}};i.onActionProduct=function(t,i){var r={form:{},tinv_wishlist_id:t||"",tinv_wishlist_name:i||"",product_type:c(this).attr("data-tinv-wl-producttype"),product_id:c(this).attr("data-tinv-wl-product")||0,product_variation:c(this).attr("data-tinv-wl-productvariation")||0,product_action:c(this).attr("data-tinv-wl-action")||"addto",redirect:window.location.href},n=this,d=new FormData;c(n).closest("form.cart[method=post], form.vtajaxform[method=post], .tinvwl-loop-button-wrapper").find("input:not(:disabled), select:not(:disabled), textarea:not(:disabled)").each(function(){function e(t,i){if("object"!==_typeof(i))return i;for(var n in void 0===t&&(t={}),i)if(""===n){var o=-1;for(o in t)o=o;t[o=parseInt(o)+1]=e(t[n],i[n])}else t[n]=e(t[n],i[n]);return t}var t=c(this).attr("name"),i=c(this).attr("type"),n=c(this).val(),o=10;if("button"!==i&&void 0!==t){for(;/^(.+)\[([^\[\]]*?)\]$/.test(t)&&0<o;){var a=t.match(/^(.+)\[([^\[\]]*?)\]$/);if(3===a.length){var l={};l[a[2]]=n,n=l}t=a[1],o--}if("file"===i){var s=c(this)[0].files;s&&d.append(t,s[0])}"checkbox"===i||"radio"===i?c(this).is(":checked")&&(n.length||"object"===_typeof(n)||(n=!0),r.form[t]=e(r.form[t],n)):r.form[t]=e(r.form[t],n)}}),r=e.onPrepareDataAction.call(n,n,r)||r,c.each(r,function(n,t){"form"===n?c.each(t,function(t,i){d.append(n+"["+t+"]",i)}):d.append(n,t)}),c.ajax({url:e.api_url,method:"POST",contentType:!1,processData:!1,data:d}).done(function(t){if(e.onDialogHide.call(n.tinvwl_dialog,n),"object"===_typeof(t))for(var i in t)"function"==typeof e.onAction[i]&&e.onAction[i].call(n,t[i]);else"function"==typeof e.onAction.msg&&e.onAction.msg.call(n,t)})};var e=c.extend(!0,{},i,t);return c(this).each(function(){if(!c(this).attr("data-tinv-wl-list"))return!1;if(e.dialogbox&&e.dialogbox.length&&(this.tinvwl_dialog=e.dialogbox),this.tinvwl_dialog||(this.tinvwl_dialog=e.onGetDialogBox.call(this)),!this.tinvwl_dialog){var t=c(this).nextAll(e.class.dialogbox).eq(0);t.length&&(this.tinvwl_dialog=t)}if(this.tinvwl_dialog){e.onPrepareDialogBox.call(this.tinvwl_dialog),"function"!=typeof this.tinvwl_dialog.update_list&&(this.tinvwl_dialog.update_list=function(t){var n=c(this).find(e.class.select).eq(0);c(this).find(e.class.newtitle).hide().val(""),n.html(""),c.each(t,function(t,i){e.onCreateWishList.call(n,i)}),e.text_create&&e.onCreateWishList.call(n,{ID:"",title:e.text_create,in:!1}),e.onMultiProductAlreadyIn.call(n,t),e.onSelectWishList.call(n,t),c(this).find(e.class.newtitle).toggle(""===n.val())}),"function"!=typeof this.tinvwl_dialog.show_list&&(this.tinvwl_dialog.show_list=function(){var t=c.parseJSON(c(this).attr("data-tinv-wl-list"))||[];t.length?(t=e.onPrepareList.call(t)||t,this.tinvwl_dialog.update_list(t),e.onDialogShow.call(this.tinvwl_dialog,this)):e.onActionProduct.call(this)});var o=this;c(this.tinvwl_dialog).find(e.class.dialogbutton).off("click").on("click",function(){var t,i=c(o.tinvwl_dialog).find(e.class.select),n=c(o.tinvwl_dialog).find(e.class.newtitle);i.val()||n.val()?e.onActionProduct.call(o,i.val(),n.val()):((t=n.is(":visible")?n:i).addClass("empty-name-wishlist"),window.setTimeout(function(){t.removeClass("empty-name-wishlist")},1e3))})}c(this).off("click").on("click",e.onClick),e.onInited.call(this,e)})},c(document).ready(function(){c("body").on("click",".tinvwl_add_to_wishlist_button",function(t){if(c(this).is(".disabled-add-wishlist"))return t.preventDefault(),void window.alert(tinvwl_add_to_wishlist.i18n_make_a_selection_text);c(this).is(".inited-add-wishlist")||c(this).tinvwl_to_wishlist({onInited:function(t){c(this).addClass("inited-add-wishlist"),t.onClick.call(this)}})}),c(document).on("hide_variation",".variations_form",function(t){var i=c(this).find(".tinvwl_add_to_wishlist_button");if(i.attr("data-tinv-wl-productvariation",0),i.length&&i.attr("data-tinv-wl-list")){var n=JSON.parse(i.attr("data-tinv-wl-list")),o=!1,e="1"==window.tinvwl_add_to_wishlist.simple_flow;for(var a in n)n[a].hasOwnProperty("in")&&Array.isArray(n[a].in)&&-1<(n[a].in||[]).indexOf(0)&&(o=!0);i.toggleClass("tinvwl-product-in-list",o).toggleClass("tinvwl-product-make-remove",o&&e).attr("data-tinv-wl-action",o&&e?"remove":"addto")}i.length&&!tinvwl_add_to_wishlist.allow_parent_variable&&(t.preventDefault(),i.addClass("disabled-add-wishlist"))}),c(document).on("show_variation",".variations_form",function(t,i,n){var o=c(this).find(".tinvwl_add_to_wishlist_button");if(o.attr("data-tinv-wl-productvariation",i.variation_id),o.length&&o.attr("data-tinv-wl-list")){var e=JSON.parse(o.attr("data-tinv-wl-list")),a=!1,l="1"==window.tinvwl_add_to_wishlist.simple_flow;for(var s in e)e[s].hasOwnProperty("in")&&Array.isArray(e[s].in)&&-1<(e[s].in||[]).indexOf(i.variation_id)&&(a=!0);o.toggleClass("tinvwl-product-in-list",a).toggleClass("tinvwl-product-make-remove",a&&l).attr("data-tinv-wl-action",a&&l?"remove":"addto")}t.preventDefault(),o.removeClass("disabled-add-wishlist")}),c(window).on("storage onstorage",function(t){a===t.originalEvent.key&&localStorage.getItem(a)!==sessionStorage.getItem(a)&&l(localStorage.getItem(a))});var n=[],i=!1;c("a.tinvwl_add_to_wishlist_button").each(function(){"undefined"!==c(this).data("tinv-wl-product")&&c(this).data("tinv-wl-product")&&n.push(c(this).data("tinv-wl-product"))}),c(".wishlist_products_counter_number").each(function(){i=!0});function o(){if(n.length||i){var t={ids:n,counter:i,tinvwl_request:!0};tinvwl_add_to_wishlist.wpml&&(t.lang=tinvwl_add_to_wishlist.wpml),c.ajax({url:tinvwl_add_to_wishlist.rest_root+"wishlist/v1/products",method:"POST",data:t,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i=!("0"==t.counter||""==t.counter);c(".wishlist_products_counter").toggleClass("wishlist-counter-with-products",i),l(t.counter),c.each(t.products,function(t,e){var a=t,l="1"==window.tinvwl_add_to_wishlist.simple_flow;c("a.tinvwl_add_to_wishlist_button[data-tinv-wl-product='"+a+"']").each(function(){var t=c(this).data("tinv-wl-productvariation"),i=c(this).data("tinv-wl-productvariations")||[],n=!1;for(var o in e)e[o].hasOwnProperty("in")&&Array.isArray(e[o].in)&&(-1<(e[o].in||[]).indexOf(a)||-1<(e[o].in||[]).indexOf(t)||i.some(function(t){return 0<=(e[o].in||[]).indexOf(t)}))&&(n=!0);c(this).removeClass("tinvwl-add-hide").attr("data-tinv-wl-list",JSON.stringify(e)).toggleClass("tinvwl-product-in-list",n).toggleClass("tinvwl-product-make-remove",n&&l).attr("data-tinv-wl-action",n&&l?"remove":"addto")})})})}}o();var t=new MutationObserver(function(t){n=[],t.forEach(function(t){var i=t.addedNodes;null!==i&&c(i).each(function(){var t=c(this).find(".tinvwl_add_to_wishlist_button");t.length&&t.each(function(){"undefined"!==c(this).data("tinv-wl-product")&&c(this).data("tinv-wl-product")&&n.push(c(this).data("tinv-wl-product"))})})}),n.length&&o()}),e=document.body;t.observe(e,{childList:!0,subtree:!0})});var i=!0,a=tinvwl_add_to_wishlist.hash_key;try{i="sessionStorage"in window&&null!==window.sessionStorage,window.sessionStorage.setItem("ti","test"),window.sessionStorage.removeItem("ti"),window.localStorage.setItem("ti","test"),window.localStorage.removeItem("ti")}catch(t){i=!1}function l(t){i&&(localStorage.setItem(a,t),sessionStorage.setItem(a,t),function(t){"false"!==t?jQuery(".wishlist_products_counter_number, body.theme-woostify .wishlist-item-count").html(t):jQuery(".wishlist_products_counter_number, body.theme-woostify .wishlist-item-count").html("").closest("span.wishlist-counter-with-products").removeClass("wishlist-counter-with-products");var i=!("0"==t||"false"==t);jQuery(".wishlist_products_counter").toggleClass("wishlist-counter-with-products",i)}(t))}}(jQuery),function(o){o(document).ready(function(){if(o("#tinvwl_manage_actions, #tinvwl_product_actions").addClass("form-control").parent().wrapInner('<div class="tinvwl-input-group tinvwl-no-full">').find("button").wrap('<span class="tinvwl-input-group-btn">'),o(".tinv-lists-nav").each(function(){o.trim(o(this).html()).length||o(this).remove()}),o("body").on("click",".social-buttons .social:not(.social-email,.social-whatsapp,.social-clipboard)",function(t){var i=window.open(o(this).attr("href"),o(this).attr("title"),"width=420,height=320,resizable=yes,scrollbars=yes,status=yes");i&&(i.focus(),t.preventDefault())}),"undefined"!=typeof ClipboardJS){new ClipboardJS(".social-buttons .social.social-clipboard",{text:function(t){return t.getAttribute("href")}}).on("success",function(t){showTooltip(t.trigger,tinvwl_add_to_wishlist.tinvwl_clipboard)});for(var t=document.querySelectorAll(".social-buttons .social.social-clipboard"),i=0;i<t.length;i++)t[i].addEventListener("mouseleave",clearTooltip),t[i].addEventListener("blur",clearTooltip)}o("body").on("click",".social-buttons .social.social-clipboard",function(t){t.preventDefault()}),o("body").on("click",".tinv-wishlist .tinv-overlay, .tinv-wishlist .tinv-close-modal, .tinv-wishlist .tinvwl_button_close",function(t){t.preventDefault(),o(this).parents(".tinv-modal:first").removeClass("tinv-modal-open")}),o("body").on("click",".tinv-wishlist .tinvwl-btn-onclick",function(t){o(this).data("url")&&(t.preventDefault(),window.location=o(this).data("url"))});var n=o(".tinv-wishlist .navigation-button");n.length&&n.each(function(){var t=o(this).find("> li");t.length<5&&t.parent().addClass("tinvwl-btns-count-"+t.length)}),o(".tinv-login .showlogin").unbind("click").on("click",function(t){t.preventDefault(),o(this).closest(".tinv-login").find(".login").toggle()}),o(".tinv-wishlist table.tinvwl-table-manage-list tfoot td").each(function(){o(this).toggle(!!o(this).children().not(".look_in").length||!!o(this).children(".look_in").children().length)})})}(jQuery),function(o){o.fn.tinvwl_break_submit=function(t){var i={selector:"input, select, textarea",ifempty:!0,invert:!1,validate:function(){return o(this).val()},rule:function(){var t=o(this).parents("form").eq(0).find(n.selector),i=n.invert;return 0===t.length?n.ifempty:(t.each(function(){i&&!n.invert||!i&&n.invert||(i=Boolean(n.validate.call(o(this))))}),i)}},n=o.extend(!0,{},i,t);return o(this).each(function(){o(this).on("click",function(t){n.rule.call(o(this))||(alert(window.tinvwl_add_to_wishlist.tinvwl_break_submit),t.preventDefault())})})},o(document).ready(function(){o(".tinvwl-break-input").tinvwl_break_submit({selector:".tinvwl-break-input-filed"}),o(".tinvwl-break-checkbox").tinvwl_break_submit({selector:"table td input[type=checkbox]",validate:function(){return o(this).is(":checked")}}),o(".global-cb").on("click",function(){o(this).closest("table").eq(0).find(".product-cb input[type=checkbox], .wishlist-cb input[type=checkbox]").prop("checked",o(this).is(":checked"))})})}(jQuery);
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 1.21.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
+ "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function showTooltip(t,i){t.setAttribute("class","social social-clipboard tooltipped tooltipped-s"),t.setAttribute("aria-label",i)}function clearTooltip(t){t.currentTarget.setAttribute("class","social social-clipboard "),t.currentTarget.removeAttribute("aria-label")}!function(c){c.fn.tinvwl_to_wishlist=function(t){var i={api_url:window.location.href.split("?")[0],text_create:window.tinvwl_add_to_wishlist.text_create,text_already_in:window.tinvwl_add_to_wishlist.text_already_in,class:{dialogbox:".tinvwl_add_to_select_wishlist",select:".tinvwl_wishlist",newtitle:".tinvwl_new_input",dialogbutton:".tinvwl_button_add"},redirectTimer:null,onPrepareList:function(){},onGetDialogBox:function(){},onPrepareDialogBox:function(){c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c(this).appendTo("body > .tinv-wishlist")},onCreateWishList:function(t){c(this).append(c("<option>").html(t.title).val(t.ID).toggleClass("tinv_in_wishlist",t.in))},onSelectWishList:function(){},onDialogShow:function(t){c(t).addClass("tinv-modal-open"),c(t).removeClass("ftinvwl-pulse")},onDialogHide:function(t){c(t).removeClass("tinv-modal-open"),c(t).removeClass("ftinvwl-pulse")},onInited:function(){},onClick:function(){if(c(this).is(".disabled-add-wishlist"))return!1;c(this).is(".ftinvwl-animated")&&c(this).addClass("ftinvwl-pulse"),this.tinvwl_dialog?this.tinvwl_dialog.show_list.call(this):e.onActionProduct.call(this)},onPrepareDataAction:function(t,i){c("body").trigger("tinvwl_wishlist_button_clicked",[t,i])},filterProductAlreadyIn:function(t){t=t||[];var o={};return c("form.cart[method=post], .woocommerce-variation-add-to-cart, form.vtajaxform[method=post]").find("input, select").each(function(){var t=c(this).attr("name"),i=c(this).attr("type"),n=c(this).val();("checkbox"!==i&&"radio"!==i||c(this).is(":checked"))&&(o["form"+t]=n)}),o=o.formvariation_id,t.filter(function(t){if("object"!==_typeof(t.in)||"string"!=typeof o)return t.in;var i=parseInt(o);return 0<=t.in.indexOf(i)})},onMultiProductAlreadyIn:function(t){t=t||[];t=e.onPrepareList.call(t)||t,t=e.filterProductAlreadyIn.call(this,t)||t,c(this).parent().parent().find(".already-in").remove();var n="";switch(t.length){case 0:break;default:n=c("<ul>");c.each(t,function(t,i){n.append(c("<li>").html(c("<a>").html(i.title).attr({href:i.url})).val(i.ID))})}n.length&&c(this).closest(".tinv-modal-inner").find("img").after(c("<div>").addClass("already-in").html(e.text_already_in+" ").append(n))},onAction:{redirect:function(t){e.redirectTimer&&clearTimeout(e.redirectTimer),e.redirectTimer=window.setTimeout(function(){window.location.href=t},4e3)},force_redirect:function(t){window.location.href=t},wishlists:function(a){var l=c(this).data("tinv-wl-product"),t=c("a.tinvwl_add_to_wishlist_button[data-tinv-wl-product='"+l+"']"),s="1"==window.tinvwl_add_to_wishlist.simple_flow;t.each(function(){var t=parseInt(c(this).attr("data-tinv-wl-productvariation")),i=c(this).data("tinv-wl-productvariations")||[],n=!1,o=[];for(var e in a&&(o=c.parseJSON(a)),o)o[e].hasOwnProperty("in")&&Array.isArray(o[e].in)&&(-1<(o[e].in||[]).indexOf(l)||-1<(o[e].in||[]).indexOf(t)||i.some(function(t){return 0<=(o[e].in||[]).indexOf(t)}))&&(n=!0);c(this).attr("data-tinv-wl-list",a).toggleClass("tinvwl-product-in-list",n).toggleClass("tinvwl-product-make-remove",n&&s).attr("data-tinv-wl-action",n&&s?"remove":"addto")})},msg:function(t){if(!t)return!1;var i=c(t).eq(0);c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove(),e.redirectTimer&&clearTimeout(e.redirectTimer)})},status:function(t){c("body").trigger("tinvwl_wishlist_added_status",[this,t])},removed:function(){},make_remove:function(){},wishlists_data:function(t){d(JSON.stringify(t))}}};i.onActionProduct=function(t,i){var r={form:{},tinv_wishlist_id:t||"",tinv_wishlist_name:i||"",product_type:c(this).attr("data-tinv-wl-producttype"),product_id:c(this).attr("data-tinv-wl-product")||0,product_variation:c(this).attr("data-tinv-wl-productvariation")||0,product_action:c(this).attr("data-tinv-wl-action")||"addto",redirect:window.location.href},n=this,d=new FormData;c(n).closest("form.cart[method=post], form.vtajaxform[method=post], .tinvwl-loop-button-wrapper").find("input:not(:disabled), select:not(:disabled), textarea:not(:disabled)").each(function(){function e(t,i){if("object"!==_typeof(i))return i;for(var n in void 0===t&&(t={}),i)if(""===n){var o=-1;for(o in t)o=o;t[o=parseInt(o)+1]=e(t[n],i[n])}else t[n]=e(t[n],i[n]);return t}var t=c(this).attr("name"),i=c(this).attr("type"),n=c(this).val(),o=10;if("button"!==i&&void 0!==t){for(;/^(.+)\[([^\[\]]*?)\]$/.test(t)&&0<o;){var a=t.match(/^(.+)\[([^\[\]]*?)\]$/);if(3===a.length){var l={};l[a[2]]=n,n=l}t=a[1],o--}if("file"===i){var s=c(this)[0].files;s&&d.append(t,s[0])}"checkbox"===i||"radio"===i?c(this).is(":checked")&&(n.length||"object"===_typeof(n)||(n=!0),r.form[t]=e(r.form[t],n)):r.form[t]=e(r.form[t],n)}}),r=e.onPrepareDataAction.call(n,n,r)||r,c.each(r,function(n,t){"form"===n?c.each(t,function(t,i){d.append(n+"["+t+"]",i)}):d.append(n,t)}),c.ajax({url:e.api_url,method:"POST",contentType:!1,processData:!1,data:d}).done(function(t){if(e.onDialogHide.call(n.tinvwl_dialog,n),"object"===_typeof(t))for(var i in t)"function"==typeof e.onAction[i]&&e.onAction[i].call(n,t[i]);else"function"==typeof e.onAction.msg&&e.onAction.msg.call(n,t)})};var e=c.extend(!0,{},i,t);return c(this).each(function(){if(!c(this).attr("data-tinv-wl-list"))return!1;if(e.dialogbox&&e.dialogbox.length&&(this.tinvwl_dialog=e.dialogbox),this.tinvwl_dialog||(this.tinvwl_dialog=e.onGetDialogBox.call(this)),!this.tinvwl_dialog){var t=c(this).nextAll(e.class.dialogbox).eq(0);t.length&&(this.tinvwl_dialog=t)}if(this.tinvwl_dialog){e.onPrepareDialogBox.call(this.tinvwl_dialog),"function"!=typeof this.tinvwl_dialog.update_list&&(this.tinvwl_dialog.update_list=function(t){var n=c(this).find(e.class.select).eq(0);c(this).find(e.class.newtitle).hide().val(""),n.html(""),c.each(t,function(t,i){e.onCreateWishList.call(n,i)}),e.text_create&&e.onCreateWishList.call(n,{ID:"",title:e.text_create,in:!1}),e.onMultiProductAlreadyIn.call(n,t),e.onSelectWishList.call(n,t),c(this).find(e.class.newtitle).toggle(""===n.val())}),"function"!=typeof this.tinvwl_dialog.show_list&&(this.tinvwl_dialog.show_list=function(){var t=c.parseJSON(c(this).attr("data-tinv-wl-list"))||[];t.length?(t=e.onPrepareList.call(t)||t,this.tinvwl_dialog.update_list(t),e.onDialogShow.call(this.tinvwl_dialog,this)):e.onActionProduct.call(this)});var o=this;c(this.tinvwl_dialog).find(e.class.dialogbutton).off("click").on("click",function(){var t,i=c(o.tinvwl_dialog).find(e.class.select),n=c(o.tinvwl_dialog).find(e.class.newtitle);i.val()||n.val()?e.onActionProduct.call(o,i.val(),n.val()):((t=n.is(":visible")?n:i).addClass("empty-name-wishlist"),window.setTimeout(function(){t.removeClass("empty-name-wishlist")},1e3))})}c(this).off("click").on("click",e.onClick),e.onInited.call(this,e)})},c(document).ready(function(){c("body").on("click",".tinvwl_add_to_wishlist_button",function(t){if(c(this).is(".disabled-add-wishlist"))return t.preventDefault(),void window.alert(tinvwl_add_to_wishlist.i18n_make_a_selection_text);c(this).is(".inited-add-wishlist")||c(this).tinvwl_to_wishlist({onInited:function(t){c(this).addClass("inited-add-wishlist"),t.onClick.call(this)}})}),c(document).on("hide_variation",".variations_form",function(t){var i=c(this).find(".tinvwl_add_to_wishlist_button");if(i.attr("data-tinv-wl-productvariation",0),i.length&&i.attr("data-tinv-wl-list")){var n=JSON.parse(i.attr("data-tinv-wl-list")),o=!1,e="1"==window.tinvwl_add_to_wishlist.simple_flow;for(var a in n)n[a].hasOwnProperty("in")&&Array.isArray(n[a].in)&&-1<(n[a].in||[]).indexOf(0)&&(o=!0);i.toggleClass("tinvwl-product-in-list",o).toggleClass("tinvwl-product-make-remove",o&&e).attr("data-tinv-wl-action",o&&e?"remove":"addto")}i.length&&!tinvwl_add_to_wishlist.allow_parent_variable&&(t.preventDefault(),i.addClass("disabled-add-wishlist"))}),c(document).on("show_variation",".variations_form",function(t,i,n){var o=c(this).find(".tinvwl_add_to_wishlist_button");if(o.attr("data-tinv-wl-productvariation",i.variation_id),o.length&&o.attr("data-tinv-wl-list")){var e=JSON.parse(o.attr("data-tinv-wl-list")),a=!1,l="1"==window.tinvwl_add_to_wishlist.simple_flow;for(var s in e)e[s].hasOwnProperty("in")&&Array.isArray(e[s].in)&&-1<(e[s].in||[]).indexOf(i.variation_id)&&(a=!0);o.toggleClass("tinvwl-product-in-list",a).toggleClass("tinvwl-product-make-remove",a&&l).attr("data-tinv-wl-action",a&&l?"remove":"addto")}t.preventDefault(),o.removeClass("disabled-add-wishlist")}),c(window).on("storage onstorage",function(t){if(s===t.originalEvent.key&&localStorage.getItem(s)!==sessionStorage.getItem(s)&&localStorage.getItem(s)){var i=c.parseJSON(localStorage.getItem(s));"object"===_typeof(i)&&null!==i&&(i.hasOwnProperty("products")||i.hasOwnProperty("counter"))&&d(localStorage.getItem(s))}});var n=[],i=!1;c("a.tinvwl_add_to_wishlist_button").each(function(){"undefined"!==c(this).data("tinv-wl-product")&&c(this).data("tinv-wl-product")&&n.push(c(this).data("tinv-wl-product"))}),c(".wishlist_products_counter_number").each(function(){i=!0});function o(){if(n.length||i){var t={};tinvwl_add_to_wishlist.wpml&&(t.lang=tinvwl_add_to_wishlist.wpml),c.ajax({url:tinvwl_add_to_wishlist.plugin_url+"includes/api/ajax.php",method:"POST",data:t,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){d(JSON.stringify(t)),r(t)}).fail(function(t){!function(){if(n.length||i){var t={ids:n,counter:i,tinvwl_request:!0};tinvwl_add_to_wishlist.wpml&&(t.lang=tinvwl_add_to_wishlist.wpml),c.ajax({url:tinvwl_add_to_wishlist.rest_root+"wishlist/v1/products",method:"POST",data:t,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){d(JSON.stringify(t)),r(t)})}}()})}}function e(){if(l&&(tinvwl_add_to_wishlist.update_wishlists_data&&localStorage.setItem(s,""),localStorage.getItem(s))){var t=c.parseJSON(localStorage.getItem(s));if("object"===_typeof(t)&&null!==t&&(t.hasOwnProperty("products")||t.hasOwnProperty("counter")))return void r(t)}tinvwl_add_to_wishlist.block_ajax_wishlists_data||o()}e();var t=new MutationObserver(function(t){n=[],t.forEach(function(t){var i=t.addedNodes;null!==i&&c(i).each(function(){var t=c(this).find(".tinvwl_add_to_wishlist_button");t.length&&t.each(function(){"undefined"!==c(this).data("tinv-wl-product")&&c(this).data("tinv-wl-product")&&n.push(c(this).data("tinv-wl-product"))})})}),n.length&&e()}),a=document.body;t.observe(a,{childList:!0,subtree:!0})});var l=!0,s=tinvwl_add_to_wishlist.hash_key;try{l="sessionStorage"in window&&null!==window.sessionStorage,window.sessionStorage.setItem("ti","test"),window.sessionStorage.removeItem("ti"),window.localStorage.setItem("ti","test"),window.localStorage.removeItem("ti")}catch(t){l=!1}function r(t){var l="1"==window.tinvwl_add_to_wishlist.simple_flow;l&&c("a.tinvwl_add_to_wishlist_button").each(function(){c(this).removeClass("tinvwl-product-make-remove").removeClass("tinvwl-product-already-on-wishlist").removeClass("tinvwl-product-in-list").attr("data-tinv-wl-action","addto").attr("data-tinv-wl-list","[]")}),c.each(t.products,function(t,e){var a=t;c("a.tinvwl_add_to_wishlist_button[data-tinv-wl-product='"+a+"']").each(function(){var t=c(this).data("tinv-wl-productvariation"),i=c(this).data("tinv-wl-productvariations")||[],n=!1;for(var o in e)e[o].hasOwnProperty("in")&&Array.isArray(e[o].in)&&(-1<(e[o].in||[]).indexOf(a)||-1<(e[o].in||[]).indexOf(t)||i.some(function(t){return 0<=(e[o].in||[]).indexOf(t)}))&&(n=!0);c(this).attr("data-tinv-wl-list",JSON.stringify(e)).toggleClass("tinvwl-product-in-list",n).toggleClass("tinvwl-product-make-remove",n&&l).attr("data-tinv-wl-action",n&&l?"remove":"addto")})}),function(t){"false"!==t?jQuery(".wishlist_products_counter_number, body.theme-woostify .wishlist-item-count").html(t):jQuery(".wishlist_products_counter_number, body.theme-woostify .wishlist-item-count").html("").closest("span.wishlist-counter-with-products").removeClass("wishlist-counter-with-products");var i=!("0"==t||"false"==t);jQuery(".wishlist_products_counter").toggleClass("wishlist-counter-with-products",i)}(t.counter)}function d(t){l&&(localStorage.setItem(s,t),sessionStorage.setItem(s,t),r(c.parseJSON(t)))}}(jQuery),function(o){o(document).ready(function(){if(o("#tinvwl_manage_actions, #tinvwl_product_actions").addClass("form-control").parent().wrapInner('<div class="tinvwl-input-group tinvwl-no-full">').find("button").wrap('<span class="tinvwl-input-group-btn">'),o(".tinv-lists-nav").each(function(){o.trim(o(this).html()).length||o(this).remove()}),o("body").on("click",".social-buttons .social:not(.social-email,.social-whatsapp,.social-clipboard)",function(t){var i=window.open(o(this).attr("href"),o(this).attr("title"),"width=420,height=320,resizable=yes,scrollbars=yes,status=yes");i&&(i.focus(),t.preventDefault())}),"undefined"!=typeof ClipboardJS){new ClipboardJS(".social-buttons .social.social-clipboard",{text:function(t){return t.getAttribute("href")}}).on("success",function(t){showTooltip(t.trigger,tinvwl_add_to_wishlist.tinvwl_clipboard)});for(var t=document.querySelectorAll(".social-buttons .social.social-clipboard"),i=0;i<t.length;i++)t[i].addEventListener("mouseleave",clearTooltip),t[i].addEventListener("blur",clearTooltip)}o("body").on("click",".social-buttons .social.social-clipboard",function(t){t.preventDefault()}),o("body").on("click",".tinv-wishlist .tinv-overlay, .tinv-wishlist .tinv-close-modal, .tinv-wishlist .tinvwl_button_close",function(t){t.preventDefault(),o(this).parents(".tinv-modal:first").removeClass("tinv-modal-open")}),o("body").on("click",".tinv-wishlist .tinvwl-btn-onclick",function(t){o(this).data("url")&&(t.preventDefault(),window.location=o(this).data("url"))});var n=o(".tinv-wishlist .navigation-button");n.length&&n.each(function(){var t=o(this).find("> li");t.length<5&&t.parent().addClass("tinvwl-btns-count-"+t.length)}),o(".tinv-login .showlogin").unbind("click").on("click",function(t){t.preventDefault(),o(this).closest(".tinv-login").find(".login").toggle()}),o(".tinv-wishlist table.tinvwl-table-manage-list tfoot td").each(function(){o(this).toggle(!!o(this).children().not(".look_in").length||!!o(this).children(".look_in").children().length)})})}(jQuery),function(o){o.fn.tinvwl_break_submit=function(t){var i={selector:"input, select, textarea",ifempty:!0,invert:!1,validate:function(){return o(this).val()},rule:function(){var t=o(this).parents("form").eq(0).find(n.selector),i=n.invert;return 0===t.length?n.ifempty:(t.each(function(){i&&!n.invert||!i&&n.invert||(i=Boolean(n.validate.call(o(this))))}),i)}},n=o.extend(!0,{},i,t);return o(this).each(function(){o(this).on("click",function(t){n.rule.call(o(this))||(alert(window.tinvwl_add_to_wishlist.tinvwl_break_submit),t.preventDefault())})})},o(document).ready(function(){o(".tinvwl-break-input").tinvwl_break_submit({selector:".tinvwl-break-input-filed"}),o(".tinvwl-break-checkbox").tinvwl_break_submit({selector:"table td input[type=checkbox]",validate:function(){return o(this).is(":checked")}}),o(".global-cb").on("click",function(){o(this).closest("table").eq(0).find(".product-cb input[type=checkbox], .wishlist-cb input[type=checkbox]").prop("checked",o(this).is(":checked"))})})}(jQuery);
includes/api/ajax.php ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Init
4
+ // -----------------------------------------------------------------------
5
+ define( 'DOING_AJAX', true );
6
+ define( 'SHORTINIT', true );
7
+
8
+ // WP Load
9
+ // -----------------------------------------------------------------------
10
+
11
+ define( 'TINV_WP_ROOT', '../../../../../' );
12
+
13
+ require( '../../../../../wp-load.php' );
14
+ wp_plugin_directory_constants();
15
+ require_once( TINV_WP_ROOT . WPINC . '/class-wp-user.php' );
16
+ require_once( TINV_WP_ROOT . WPINC . '/class-wp-roles.php' );
17
+ require_once( TINV_WP_ROOT . WPINC . '/class-wp-role.php' );
18
+ require_once( TINV_WP_ROOT . WPINC . '/class-wp-session-tokens.php' );
19
+ require_once( TINV_WP_ROOT . WPINC . '/class-wp-user-meta-session-tokens.php' );
20
+ require_once( TINV_WP_ROOT . WPINC . '/formatting.php' );
21
+ require_once( TINV_WP_ROOT . WPINC . '/capabilities.php' );
22
+ //require_once ( TINV_WP_ROOT . WPINC . '/query.php' ); // - might be useful
23
+ require_once( TINV_WP_ROOT . WPINC . '/user.php' );
24
+ require_once( TINV_WP_ROOT . WPINC . '/meta.php' );
25
+
26
+ wp_cookie_constants();
27
+
28
+ require_once( TINV_WP_ROOT . WPINC . '/vars.php' );
29
+ require_once( TINV_WP_ROOT . WPINC . '/kses.php' );
30
+ require_once( TINV_WP_ROOT . WPINC . '/rest-api.php' );
31
+ require_once( TINV_WP_ROOT . WPINC . '/pluggable.php' );
32
+
33
+ // Get the nonce.
34
+ if ( isset( $_SERVER['HTTP_X_WP_NONCE'] ) ) {
35
+ $nonce = $_SERVER['HTTP_X_WP_NONCE'];
36
+ } else {
37
+ wp_send_json( array( 'error' => 'Forbidden: unauthorized request.' ), 403 );
38
+ }
39
+
40
+ // Check the nonce.
41
+ $result = wp_verify_nonce( $nonce, 'wp_rest' );
42
+
43
+ if ( ! $result ) {
44
+ wp_send_json( array( 'error' => 'Forbidden: wrong nonce.' ), 403 );
45
+ }
46
+
47
+ // Response headers
48
+ @header( 'X-Robots-Tag: noindex' );
49
+ send_nosniff_header();
50
+ nocache_headers();
51
+
52
+ // DB query.
53
+ global $wpdb;
54
+
55
+ $table = sprintf( '%s%s', $wpdb->prefix, 'tinvwl_items' );
56
+ $table_lists = sprintf( '%s%s', $wpdb->prefix, 'tinvwl_lists' );
57
+
58
+ $data = $products = $wishlists = $results = array();
59
+
60
+ $share_key = false;
61
+
62
+ if ( is_user_logged_in() ) {
63
+ $data['author'] = get_current_user_id();
64
+ } else {
65
+ $share_key = filter_input( INPUT_COOKIE, 'tinv_wishlistkey' );
66
+ }
67
+
68
+ if ( ( isset( $data['author'] ) && $data['author'] ) || $share_key ) {
69
+
70
+ $default = array(
71
+ 'count' => 99999,
72
+ 'field' => null,
73
+ 'offset' => 0,
74
+ 'order' => 'DESC',
75
+ 'order_by' => 'date',
76
+ 'external' => true,
77
+ 'sql' => '',
78
+ );
79
+
80
+ foreach ( $default as $_k => $_v ) {
81
+ if ( array_key_exists( $_k, $data ) ) {
82
+ $default[ $_k ] = $data[ $_k ];
83
+ unset( $data[ $_k ] );
84
+ }
85
+ }
86
+
87
+ $default['offset'] = absint( $default['offset'] );
88
+ $default['count'] = absint( $default['count'] );
89
+
90
+ if ( is_array( $default['field'] ) ) {
91
+ $default['field'] = '`' . implode( '`,`', $default['field'] ) . '`';
92
+ } elseif ( is_string( $default['field'] ) ) {
93
+ $default['field'] = array( 'ID', $default['field'] );
94
+ $default['field'] = '`' . implode( '`,`', $default['field'] ) . '`';
95
+ } else {
96
+ $default['field'] = $table . '.*, ' . $table_lists . '.ID as wishlist_id, ' . $table_lists . '.status as wishlist_status, ' . $table_lists . '.title as wishlist_title, ' . $table_lists . '.share_key as wishlist_share_key';
97
+ }
98
+
99
+ $sql = "SELECT {$default[ 'field' ]} FROM `{$table}` INNER JOIN `{$table_lists}` ON `{$table}`.`wishlist_id` = `{$table_lists}`.`ID` AND `{$table_lists}`.`type` = 'default'";
100
+
101
+ if ( $share_key ) {
102
+ $sql .= " AND `{$table_lists}`.`share_key` = '{$share_key}'";
103
+ }
104
+
105
+ $where = '1';
106
+
107
+ if ( ! empty( $data ) && is_array( $data ) ) {
108
+
109
+ if ( array_key_exists( 'meta', $data ) ) {
110
+ $product_id = $variation_id = 0;
111
+ if ( array_key_exists( 'product_id', $data ) ) {
112
+ $product_id = $data['product_id'];
113
+ }
114
+ if ( array_key_exists( 'variation_id', $data ) ) {
115
+ $variation_id = $data['variation_id'];
116
+ }
117
+ $data['formdata'] = '';
118
+ unset( $data['meta'] );
119
+ }
120
+
121
+ foreach ( $data as $f => $v ) {
122
+ $s = is_array( $v ) ? ' IN ' : '=';
123
+ if ( is_array( $v ) ) {
124
+ foreach ( $v as $_f => $_v ) {
125
+ $v[ $_f ] = $wpdb->prepare( '%s', $_v );
126
+ }
127
+ $v = implode( ',', $v );
128
+ $v = "($v)";
129
+ } else {
130
+ $v = $wpdb->prepare( '%s', $v );
131
+ }
132
+ $data[ $f ] = sprintf( $table . '.' . '`%s`%s%s', $f, $s, $v );
133
+ }
134
+
135
+ $where = implode( ' AND ', $data );
136
+
137
+ $sql .= ' WHERE ' . $where;
138
+ }
139
+
140
+ $sql .= sprintf( ' ORDER BY `%s` %s LIMIT %d,%d;', $default['order_by'], $default['order'], $default['offset'], $default['count'] );
141
+
142
+ if ( ! empty( $default['sql'] ) ) {
143
+ $replacer = $replace = array();
144
+ $replace[0] = '{table}';
145
+ $replacer[0] = $table;
146
+ $replace[1] = '{where}';
147
+ $replacer[1] = $where;
148
+
149
+ foreach ( $default as $key => $value ) {
150
+ $i = count( $replace );
151
+
152
+ $replace[ $i ] = '{' . $key . '}';
153
+ $replacer[ $i ] = $value;
154
+ }
155
+
156
+ $sql = str_replace( $replace, $replacer, $default['sql'] );
157
+ }
158
+
159
+ $results = $wpdb->get_results( $sql, ARRAY_A );
160
+
161
+ if ( ! empty( $results ) ) {
162
+ foreach ( $results as $product ) {
163
+ $wishlists[ $product['wishlist_id'] ] = array(
164
+ 'ID' => (int) $product['wishlist_id'],
165
+ 'title' => $product['wishlist_title'],
166
+ 'status' => $product['wishlist_status'],
167
+ 'share_key' => $product['wishlist_share_key'],
168
+ );
169
+
170
+ }
171
+
172
+ foreach ( $wishlists as $wishlist ) {
173
+
174
+ foreach ( $results as $product ) {
175
+ if ( array_key_exists( $product['product_id'], $products ) ) {
176
+ $products[ $product['product_id'] ][ $wishlist['ID'] ]['in'][] = (int) $product['variation_id'];
177
+ } else {
178
+ $products[ $product['product_id'] ][ $wishlist['ID'] ] = $wishlist;
179
+ $products[ $product['product_id'] ][ $wishlist['ID'] ]['in'][] = (int) $product['variation_id'];
180
+ }
181
+
182
+ }
183
+ }
184
+ }
185
+
186
+ }
187
+
188
+ $count = is_array( $results ) ? count( $results ) : 0;
189
+
190
+ $response = array(
191
+ 'products' => $products,
192
+ 'counter' => $count,
193
+ );
194
+
195
+ wp_send_json( $response );
includes/api/frontend.class.php CHANGED
@@ -85,20 +85,20 @@ class TInvWL_Includes_API_Frontend {
85
  $ids = $request['ids'];
86
 
87
  if ( $ids ) {
88
- $add_class = new TInvWL_Public_AddToWishlist( TINVWL_PREFIX );
89
  $wishlist_data = array();
90
- $args = array(
 
 
 
91
  'include' => $ids,
92
  'limit' => count( $ids ),
93
  );
94
- $products = wc_get_products( $args );
95
 
96
  foreach ( $products as $product ) {
97
  $wishlist_data[ $product->get_id() ] = $add_class->user_wishlist( $product );
98
  }
99
-
100
- $data['products'] = $wishlist_data;
101
- $data['simple_flow'] = ( tinv_get_option( 'general', 'simple_flow' ) ) ? true : false;
102
  }
103
 
104
  $counter = $request['counter'];
85
  $ids = $request['ids'];
86
 
87
  if ( $ids ) {
 
88
  $wishlist_data = array();
89
+
90
+ $add_class = new TInvWL_Public_AddToWishlist( TINVWL_PREFIX );
91
+
92
+ $args = array(
93
  'include' => $ids,
94
  'limit' => count( $ids ),
95
  );
96
+ $products = wc_get_products( $args );
97
 
98
  foreach ( $products as $product ) {
99
  $wishlist_data[ $product->get_id() ] = $add_class->user_wishlist( $product );
100
  }
101
+ $data['products'] = $wishlist_data;
 
 
102
  }
103
 
104
  $counter = $request['counter'];
includes/product.helper.php CHANGED
@@ -555,6 +555,7 @@ class TInvWL_Product {
555
  $result = false !== $wpdb->delete( $this->table, $data ); // WPCS: db call ok; no-cache ok; unprepared SQL ok.
556
  if ( $result ) {
557
  do_action( 'tinvwl_wishlist_product_removed_from_wishlist', $wishlist_id, $product_id, $variation_id );
 
558
  }
559
 
560
  return $result;
@@ -578,6 +579,7 @@ class TInvWL_Product {
578
  $result = false !== $wpdb->delete( $this->table, array( 'product_id' => $product_id ) ); // WPCS: db call ok; no-cache ok; unprepared SQL ok.
579
  if ( $result ) {
580
  do_action( 'tinvwl_wishlist_product_removed_by_product', $product_id );
 
581
  }
582
 
583
  return $result;
@@ -634,6 +636,7 @@ class TInvWL_Product {
634
  * @param array $data product data including author and wishlist IDs.
635
  * */
636
  do_action( 'tinvwl_product_removed', $data );
 
637
  }
638
 
639
  return $result;
555
  $result = false !== $wpdb->delete( $this->table, $data ); // WPCS: db call ok; no-cache ok; unprepared SQL ok.
556
  if ( $result ) {
557
  do_action( 'tinvwl_wishlist_product_removed_from_wishlist', $wishlist_id, $product_id, $variation_id );
558
+ set_transient( '_tinvwl_update_wishlists_data', '1' );
559
  }
560
 
561
  return $result;
579
  $result = false !== $wpdb->delete( $this->table, array( 'product_id' => $product_id ) ); // WPCS: db call ok; no-cache ok; unprepared SQL ok.
580
  if ( $result ) {
581
  do_action( 'tinvwl_wishlist_product_removed_by_product', $product_id );
582
+ set_transient( '_tinvwl_update_wishlists_data', '1' );
583
  }
584
 
585
  return $result;
636
  * @param array $data product data including author and wishlist IDs.
637
  * */
638
  do_action( 'tinvwl_product_removed', $data );
639
+ set_transient( '_tinvwl_update_wishlists_data', '1' );
640
  }
641
 
642
  return $result;
includes/wishlist.class.php CHANGED
@@ -492,6 +492,7 @@ class TInvWL_Wishlist {
492
  if ( ! empty( $sharekey ) ) {
493
  self::$default_sharekey = $tinvwl_wishlist_sharekey = $sharekey;
494
  @setcookie( 'tinv_wishlistkey', self::$default_sharekey, time() + 31 * DAY_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
 
495
  }
496
 
497
  return self::$default_sharekey;
492
  if ( ! empty( $sharekey ) ) {
493
  self::$default_sharekey = $tinvwl_wishlist_sharekey = $sharekey;
494
  @setcookie( 'tinv_wishlistkey', self::$default_sharekey, time() + 31 * DAY_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
495
+ set_transient( '_tinvwl_update_wishlists_data', '1' );
496
  }
497
 
498
  return self::$default_sharekey;
integrations/woocommerce-bookings.php CHANGED
@@ -143,8 +143,14 @@ if ( class_exists( 'WC_Bookings' ) ) {
143
  add_filter( 'woocommerce_product_object_query_args', 'tinvwl_item_product_type_woocommerce_bookings' );
144
 
145
  function tinvwl_item_product_type_woocommerce_bookings( $args ) {
 
 
 
 
 
146
  $args['type'][] = 'booking';
147
 
 
148
  return $args;
149
  }
150
  }
143
  add_filter( 'woocommerce_product_object_query_args', 'tinvwl_item_product_type_woocommerce_bookings' );
144
 
145
  function tinvwl_item_product_type_woocommerce_bookings( $args ) {
146
+
147
+ if ( ! is_array( $args['type'] ) ) {
148
+ $args['type'] = [ $args['type'] ];
149
+ }
150
+
151
  $args['type'][] = 'booking';
152
 
153
+
154
  return $args;
155
  }
156
  }
languages/ti-woocommerce-wishlist.pot CHANGED
@@ -1,8 +1,8 @@
1
- # Copyright (C) 2020 TI WooCommerce Wishlist Plugin - 1.20.5
2
- # This file is distributed under the same license as the TI WooCommerce Wishlist Plugin - 1.20.5 package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: TI WooCommerce Wishlist Plugin - 1.20.5\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -908,7 +908,7 @@ msgstr ""
908
  msgid "Page Setup"
909
  msgstr ""
910
 
911
- #: includes/wizard.class.php:295, includes/wizard.class.php:326, public/tinvwl.class.php:597
912
  msgid "Wishlist"
913
  msgstr ""
914
 
@@ -1084,19 +1084,19 @@ msgstr ""
1084
  msgid "Something went wrong"
1085
  msgstr ""
1086
 
1087
- #: public/tinvwl.class.php:486
1088
  msgid "Create New"
1089
  msgstr ""
1090
 
1091
- #: public/tinvwl.class.php:489
1092
  msgid "Please select some product options before adding this product to your wishlist."
1093
  msgstr ""
1094
 
1095
- #: public/tinvwl.class.php:490
1096
  msgid "No items or actions are selected."
1097
  msgstr ""
1098
 
1099
- #: public/tinvwl.class.php:491
1100
  msgid "Copied!"
1101
  msgstr ""
1102
 
1
+ # Copyright (C) 2020 TI WooCommerce Wishlist Plugin - 1.21.0
2
+ # This file is distributed under the same license as the TI WooCommerce Wishlist Plugin - 1.21.0 package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: TI WooCommerce Wishlist Plugin - 1.21.0\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
908
  msgid "Page Setup"
909
  msgstr ""
910
 
911
+ #: includes/wizard.class.php:295, includes/wizard.class.php:326, public/tinvwl.class.php:620
912
  msgid "Wishlist"
913
  msgstr ""
914
 
1084
  msgid "Something went wrong"
1085
  msgstr ""
1086
 
1087
+ #: public/tinvwl.class.php:499
1088
  msgid "Create New"
1089
  msgstr ""
1090
 
1091
+ #: public/tinvwl.class.php:502
1092
  msgid "Please select some product options before adding this product to your wishlist."
1093
  msgstr ""
1094
 
1095
+ #: public/tinvwl.class.php:503
1096
  msgid "No items or actions are selected."
1097
  msgstr ""
1098
 
1099
+ #: public/tinvwl.class.php:504
1100
  msgid "Copied!"
1101
  msgstr ""
1102
 
public/addtowishlist.class.php CHANGED
@@ -359,12 +359,155 @@ class TInvWL_Public_AddToWishlist {
359
  if ( tinv_get_option( 'general', 'simple_flow' ) ) {
360
  $data['make_remove'] = $data['status'];
361
  }
362
- $data['counter'] = TInvWL_Public_WishlistCounter::counter();
363
- $data = apply_filters( 'tinvwl_addtowishlist_return_ajax', $data, $post, $form, $product );
364
  ob_clean();
365
  wp_send_json( $data );
366
  }
367
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
368
  /**
369
  * Get user wishlist
370
  *
@@ -550,8 +693,6 @@ class TInvWL_Public_AddToWishlist {
550
  return;
551
  }
552
 
553
- $wishlists = $this->user_wishlist( $this->product );
554
-
555
  add_action( 'tinvwl_wishlist_addtowishlist_button', array( $this, 'button' ) );
556
 
557
  if ( $this->is_loop && in_array( ( version_compare( WC_VERSION, '3.0.0', '<' ) ? $this->product->product_type : $this->product->get_type() ), array(
@@ -593,7 +734,6 @@ class TInvWL_Public_AddToWishlist {
593
  'variable',
594
  'variable-subscription',
595
  ) ) ) ? $this->variation_id : ( version_compare( WC_VERSION, '3.0.0', '<' ) ? $this->product->variation_id : ( $this->product->is_type( 'variation' ) ? $this->product->get_id() : 0 ) ),
596
- 'TInvWishlist' => $wishlists,
597
  'button_icon' => tinv_get_option( 'add_to_wishlist' . ( $this->is_loop ? '_catalog' : '' ), 'icon' ),
598
  'add_to_wishlist' => apply_filters( 'tinvwl_added_to_wishlist_text_loop', tinv_get_option( 'add_to_wishlist' . ( $this->is_loop ? '_catalog' : '' ), 'text' ) ),
599
  'browse_in_wishlist' => apply_filters( 'tinvwl_view_wishlist_text', tinv_get_option( 'general', 'text_browse' ) ),
@@ -650,7 +790,7 @@ class TInvWL_Public_AddToWishlist {
650
 
651
  $icon .= ( tinv_get_option( 'add_to_wishlist' . ( $this->is_loop ? '_catalog' : '' ), 'show_preloader' ) ) ? ' ftinvwl-animated' : '';
652
 
653
- $content .= sprintf( '<a role="button" aria-label="%s" class="tinvwl_add_to_wishlist_button tinvwl-add-hide %s" data-tinv-wl-list="" data-tinv-wl-product="%s" data-tinv-wl-productvariation="%s" data-tinv-wl-productvariations="%s" data-tinv-wl-producttype="%s" data-tinv-wl-action="add">%s</a>',
654
  $button_text,
655
  $icon,
656
  apply_filters( 'wpml_object_id', ( version_compare( WC_VERSION, '3.0.0', '<' ) ? $this->product->id : ( $this->product->is_type( 'variation' ) ? $this->product->get_parent_id() : $this->product->get_id() ) ), 'product', true ),
359
  if ( tinv_get_option( 'general', 'simple_flow' ) ) {
360
  $data['make_remove'] = $data['status'];
361
  }
362
+ $data['wishlists_data'] = $this->get_wishlists_data( $wishlist['share_key'] );
363
+ $data = apply_filters( 'tinvwl_addtowishlist_return_ajax', $data, $post, $form, $product );
364
  ob_clean();
365
  wp_send_json( $data );
366
  }
367
 
368
+ function get_wishlists_data( $share_key ) {
369
+
370
+ global $wpdb;
371
+
372
+ $table = sprintf( '%s%s', $wpdb->prefix, 'tinvwl_items' );
373
+ $table_lists = sprintf( '%s%s', $wpdb->prefix, 'tinvwl_lists' );
374
+
375
+ $data = $products = $wishlists = $results = array();
376
+
377
+ if ( is_user_logged_in() ) {
378
+ $data['author'] = get_current_user_id();
379
+ }
380
+
381
+ if ( ( isset( $data['author'] ) && $data['author'] ) || $share_key ) {
382
+
383
+ $default = array(
384
+ 'count' => 99999,
385
+ 'field' => null,
386
+ 'offset' => 0,
387
+ 'order' => 'DESC',
388
+ 'order_by' => 'date',
389
+ 'external' => true,
390
+ 'sql' => '',
391
+ );
392
+
393
+ foreach ( $default as $_k => $_v ) {
394
+ if ( array_key_exists( $_k, $data ) ) {
395
+ $default[ $_k ] = $data[ $_k ];
396
+ unset( $data[ $_k ] );
397
+ }
398
+ }
399
+
400
+ $default['offset'] = absint( $default['offset'] );
401
+ $default['count'] = absint( $default['count'] );
402
+
403
+ if ( is_array( $default['field'] ) ) {
404
+ $default['field'] = '`' . implode( '`,`', $default['field'] ) . '`';
405
+ } elseif ( is_string( $default['field'] ) ) {
406
+ $default['field'] = array( 'ID', $default['field'] );
407
+ $default['field'] = '`' . implode( '`,`', $default['field'] ) . '`';
408
+ } else {
409
+ $default['field'] = $table . '.*, ' . $table_lists . '.ID as wishlist_id, ' . $table_lists . '.status as wishlist_status, ' . $table_lists . '.title as wishlist_title, ' . $table_lists . '.share_key as wishlist_share_key';
410
+ }
411
+
412
+ $sql = "SELECT {$default[ 'field' ]} FROM `{$table}` INNER JOIN `{$table_lists}` ON `{$table}`.`wishlist_id` = `{$table_lists}`.`ID` AND `{$table_lists}`.`type` = 'default'";
413
+
414
+ if ( $share_key ) {
415
+ $sql .= " AND `{$table_lists}`.`share_key` = '{$share_key}'";
416
+ }
417
+
418
+ $where = '1';
419
+
420
+ if ( ! empty( $data ) && is_array( $data ) ) {
421
+
422
+ if ( array_key_exists( 'meta', $data ) ) {
423
+ $product_id = $variation_id = 0;
424
+ if ( array_key_exists( 'product_id', $data ) ) {
425
+ $product_id = $data['product_id'];
426
+ }
427
+ if ( array_key_exists( 'variation_id', $data ) ) {
428
+ $variation_id = $data['variation_id'];
429
+ }
430
+ $data['formdata'] = '';
431
+ unset( $data['meta'] );
432
+ }
433
+
434
+ foreach ( $data as $f => $v ) {
435
+ $s = is_array( $v ) ? ' IN ' : '=';
436
+ if ( is_array( $v ) ) {
437
+ foreach ( $v as $_f => $_v ) {
438
+ $v[ $_f ] = $wpdb->prepare( '%s', $_v );
439
+ }
440
+ $v = implode( ',', $v );
441
+ $v = "($v)";
442
+ } else {
443
+ $v = $wpdb->prepare( '%s', $v );
444
+ }
445
+ $data[ $f ] = sprintf( $table . '.' . '`%s`%s%s', $f, $s, $v );
446
+ }
447
+
448
+ $where = implode( ' AND ', $data );
449
+
450
+ $sql .= ' WHERE ' . $where;
451
+ }
452
+
453
+ $sql .= sprintf( ' ORDER BY `%s` %s LIMIT %d,%d;', $default['order_by'], $default['order'], $default['offset'], $default['count'] );
454
+
455
+ if ( ! empty( $default['sql'] ) ) {
456
+ $replacer = $replace = array();
457
+ $replace[0] = '{table}';
458
+ $replacer[0] = $table;
459
+ $replace[1] = '{where}';
460
+ $replacer[1] = $where;
461
+
462
+ foreach ( $default as $key => $value ) {
463
+ $i = count( $replace );
464
+
465
+ $replace[ $i ] = '{' . $key . '}';
466
+ $replacer[ $i ] = $value;
467
+ }
468
+
469
+ $sql = str_replace( $replace, $replacer, $default['sql'] );
470
+ }
471
+
472
+ $results = $wpdb->get_results( $sql, ARRAY_A );
473
+
474
+ if ( ! empty( $results ) ) {
475
+ foreach ( $results as $product ) {
476
+ $wishlists[ $product['wishlist_id'] ] = array(
477
+ 'ID' => (int) $product['wishlist_id'],
478
+ 'title' => $product['wishlist_title'],
479
+ 'status' => $product['wishlist_status'],
480
+ 'share_key' => $product['wishlist_share_key'],
481
+ );
482
+
483
+ }
484
+
485
+ foreach ( $wishlists as $wishlist ) {
486
+
487
+ foreach ( $results as $product ) {
488
+ if ( array_key_exists( $product['product_id'], $products ) ) {
489
+ $products[ $product['product_id'] ][ $wishlist['ID'] ]['in'][] = (int) $product['variation_id'];
490
+ } else {
491
+ $products[ $product['product_id'] ][ $wishlist['ID'] ] = $wishlist;
492
+ $products[ $product['product_id'] ][ $wishlist['ID'] ]['in'][] = (int) $product['variation_id'];
493
+ }
494
+
495
+ }
496
+ }
497
+ }
498
+
499
+ }
500
+
501
+ $count = is_array( $results ) ? count( $results ) : 0;
502
+
503
+ $response = array(
504
+ 'products' => $products,
505
+ 'counter' => $count,
506
+ );
507
+
508
+ return $response;
509
+ }
510
+
511
  /**
512
  * Get user wishlist
513
  *
693
  return;
694
  }
695
 
 
 
696
  add_action( 'tinvwl_wishlist_addtowishlist_button', array( $this, 'button' ) );
697
 
698
  if ( $this->is_loop && in_array( ( version_compare( WC_VERSION, '3.0.0', '<' ) ? $this->product->product_type : $this->product->get_type() ), array(
734
  'variable',
735
  'variable-subscription',
736
  ) ) ) ? $this->variation_id : ( version_compare( WC_VERSION, '3.0.0', '<' ) ? $this->product->variation_id : ( $this->product->is_type( 'variation' ) ? $this->product->get_id() : 0 ) ),
 
737
  'button_icon' => tinv_get_option( 'add_to_wishlist' . ( $this->is_loop ? '_catalog' : '' ), 'icon' ),
738
  'add_to_wishlist' => apply_filters( 'tinvwl_added_to_wishlist_text_loop', tinv_get_option( 'add_to_wishlist' . ( $this->is_loop ? '_catalog' : '' ), 'text' ) ),
739
  'browse_in_wishlist' => apply_filters( 'tinvwl_view_wishlist_text', tinv_get_option( 'general', 'text_browse' ) ),
790
 
791
  $icon .= ( tinv_get_option( 'add_to_wishlist' . ( $this->is_loop ? '_catalog' : '' ), 'show_preloader' ) ) ? ' ftinvwl-animated' : '';
792
 
793
+ $content .= sprintf( '<a role="button" aria-label="%s" class="tinvwl_add_to_wishlist_button %s" data-tinv-wl-list="[]" data-tinv-wl-product="%s" data-tinv-wl-productvariation="%s" data-tinv-wl-productvariations="%s" data-tinv-wl-producttype="%s" data-tinv-wl-action="add">%s</a>',
794
  $button_text,
795
  $icon,
796
  apply_filters( 'wpml_object_id', ( version_compare( WC_VERSION, '3.0.0', '<' ) ? $this->product->id : ( $this->product->is_type( 'variation' ) ? $this->product->get_parent_id() : $this->product->get_id() ) ), 'product', true ),
public/tinvwl.class.php CHANGED
@@ -82,6 +82,8 @@ class TInvWL_Public_TInvWL {
82
 
83
  add_filter( 'rewrite_rules_array', array( $this, 'add_rewrite_rules_raw' ), 9999999 );
84
 
 
 
85
  add_filter( 'query_vars', array( $this, 'add_query_var' ) );
86
  add_action( 'wp', array( $this, 'analytics_referer' ) );
87
  add_action( 'deleted_user', array( $this, 'delete_user_wishlist' ) );
@@ -99,6 +101,16 @@ class TInvWL_Public_TInvWL {
99
  $this->topwishlist = TInvWL_Public_WishlistCounter::instance( $this->_name );
100
  }
101
 
 
 
 
 
 
 
 
 
 
 
102
  /**
103
  * @param $rules
104
  *
@@ -128,6 +140,7 @@ class TInvWL_Public_TInvWL {
128
 
129
  add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_header' ) );
130
  add_action( 'wp_login', array( $this, 'transfert_local_to_user' ), 10, 2 );
 
131
  add_action( 'user_register', array( $this, 'transfert_local_to_user_register' ) );
132
  add_action( 'init', array( $this, 'legacy_transfer' ), 90 );
133
  add_action( 'clear_auth_cookie', array( $this, 'set_user_sharekey' ) );
@@ -490,9 +503,12 @@ class TInvWL_Public_TInvWL {
490
  'tinvwl_break_submit' => esc_attr__( 'No items or actions are selected.', 'ti-woocommerce-wishlist' ),
491
  'tinvwl_clipboard' => esc_attr__( 'Copied!', 'ti-woocommerce-wishlist' ),
492
  'allow_parent_variable' => apply_filters( 'tinvwl_allow_add_parent_variable_product', false ),
493
- 'hash_key' => 'ti_hash_' . md5( get_current_blog_id() . '_' . get_site_url( get_current_blog_id(), '/' ) . get_template() ),
 
 
494
  'nonce' => wp_create_nonce( 'wp_rest' ),
495
  'rest_root' => esc_url_raw( get_rest_url() ),
 
496
  );
497
 
498
  if ( function_exists( 'wpml_get_current_language' ) ) {
@@ -525,12 +541,19 @@ class TInvWL_Public_TInvWL {
525
  return $this->transfert_local_to_user_register( $user->ID );
526
  }
527
 
 
 
 
 
528
  /**
529
  * Transfer Cookie Wishlist when register user
530
  *
531
  * @param integer $user_id New user id.
532
  */
533
  function transfert_local_to_user_register( $user_id ) {
 
 
 
534
  $wl = new TInvWL_Wishlist( $this->_name );
535
  $wishlist = $wl->get_by_sharekey_default();
536
  if ( ! empty( $wishlist ) ) {
82
 
83
  add_filter( 'rewrite_rules_array', array( $this, 'add_rewrite_rules_raw' ), 9999999 );
84
 
85
+ add_filter( 'tinvwl_update_wishlists_data', array( $this, 'update_local_wishlists_data' ) );
86
+
87
  add_filter( 'query_vars', array( $this, 'add_query_var' ) );
88
  add_action( 'wp', array( $this, 'analytics_referer' ) );
89
  add_action( 'deleted_user', array( $this, 'delete_user_wishlist' ) );
101
  $this->topwishlist = TInvWL_Public_WishlistCounter::instance( $this->_name );
102
  }
103
 
104
+ function update_local_wishlists_data( $state ) {
105
+ if ( get_transient( '_tinvwl_update_wishlists_data' ) ) {
106
+ delete_transient( '_tinvwl_update_wishlists_data' );
107
+
108
+ return true;
109
+ }
110
+
111
+ return $state;
112
+ }
113
+
114
  /**
115
  * @param $rules
116
  *
140
 
141
  add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_header' ) );
142
  add_action( 'wp_login', array( $this, 'transfert_local_to_user' ), 10, 2 );
143
+ add_action( 'wp_logout', array( $this, 'logout' ), 10, 2 );
144
  add_action( 'user_register', array( $this, 'transfert_local_to_user_register' ) );
145
  add_action( 'init', array( $this, 'legacy_transfer' ), 90 );
146
  add_action( 'clear_auth_cookie', array( $this, 'set_user_sharekey' ) );
503
  'tinvwl_break_submit' => esc_attr__( 'No items or actions are selected.', 'ti-woocommerce-wishlist' ),
504
  'tinvwl_clipboard' => esc_attr__( 'Copied!', 'ti-woocommerce-wishlist' ),
505
  'allow_parent_variable' => apply_filters( 'tinvwl_allow_add_parent_variable_product', false ),
506
+ 'block_ajax_wishlists_data' => apply_filters( 'tinvwl_block_ajax_wishlists_data', false ),
507
+ 'update_wishlists_data' => apply_filters( 'tinvwl_update_wishlists_data', false ),
508
+ 'hash_key' => 'ti_wishlist_data_' . md5( get_current_blog_id() . '_' . get_site_url( get_current_blog_id(), '/' ) . get_template() ),
509
  'nonce' => wp_create_nonce( 'wp_rest' ),
510
  'rest_root' => esc_url_raw( get_rest_url() ),
511
+ 'plugin_url' => esc_url_raw( TINVWL_URL ),
512
  );
513
 
514
  if ( function_exists( 'wpml_get_current_language' ) ) {
541
  return $this->transfert_local_to_user_register( $user->ID );
542
  }
543
 
544
+ function logout( $user_id ) {
545
+ set_transient( '_tinvwl_update_wishlists_data', '1' );
546
+ }
547
+
548
  /**
549
  * Transfer Cookie Wishlist when register user
550
  *
551
  * @param integer $user_id New user id.
552
  */
553
  function transfert_local_to_user_register( $user_id ) {
554
+
555
+ set_transient( '_tinvwl_update_wishlists_data', '1' );
556
+
557
  $wl = new TInvWL_Wishlist( $this->_name );
558
  $wishlist = $wl->get_by_sharekey_default();
559
  if ( ! empty( $wishlist ) ) {
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: templateinvaders
3
  Tags: woocommerce, wishlist, woocommerce wishlist, e-commerce, ecommerce
4
  Requires at least: 4.7
5
  Tested up to: 5.4
6
- Stable tag: 1.20.5
7
  License: GPLv3
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
  Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
@@ -163,6 +163,13 @@ Yes, you can! Join in on our [GitHub repository](https://github.com/TemplateInva
163
 
164
 
165
  == Changelog ==
 
 
 
 
 
 
 
166
  = 1.20.5 =
167
  *Release Date - 25 June 2020*
168
 
3
  Tags: woocommerce, wishlist, woocommerce wishlist, e-commerce, ecommerce
4
  Requires at least: 4.7
5
  Tested up to: 5.4
6
+ Stable tag: 1.21.0
7
  License: GPLv3
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
  Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
163
 
164
 
165
  == Changelog ==
166
+ = 1.21.0 =
167
+ *Release Date - 30 July 2020*
168
+
169
+ * Wishlist user-side data completely refactored
170
+ * Great performance improvements
171
+ * Fixed integration with [WooCommerce Bookings](https://woocommerce.com/products/woocommerce-bookings/?aff=3955) plugin
172
+
173
  = 1.20.5 =
174
  *Release Date - 25 June 2020*
175
 
ti-woocommerce-wishlist.php CHANGED
@@ -4,11 +4,11 @@
4
  * Plugin Name: TI WooCommerce Wishlist
5
  * Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
6
  * Description: Wishlist functionality for your WooCommerce store.
7
- * Version: 1.20.5
8
  * Requires at least: 4.7
9
  * Tested up to: 5.4
10
  * WC requires at least: 2.6
11
- * WC tested up to: 4.2.0
12
  * Author: TemplateInvaders
13
  * Author URI: https://templateinvaders.com/
14
  * License: GPL-2.0+
@@ -41,7 +41,7 @@ if ( ! defined( 'TINVWL_DOMAIN' ) ) {
41
  }
42
 
43
  if ( ! defined( 'TINVWL_FVERSION' ) ) {
44
- define( 'TINVWL_FVERSION', '1.20.5' );
45
  }
46
 
47
  if ( ! defined( 'TINVWL_LOAD_FREE' ) ) {
4
  * Plugin Name: TI WooCommerce Wishlist
5
  * Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
6
  * Description: Wishlist functionality for your WooCommerce store.
7
+ * Version: 1.21.0
8
  * Requires at least: 4.7
9
  * Tested up to: 5.4
10
  * WC requires at least: 2.6
11
+ * WC tested up to: 4.3.1
12
  * Author: TemplateInvaders
13
  * Author URI: https://templateinvaders.com/
14
  * License: GPL-2.0+
41
  }
42
 
43
  if ( ! defined( 'TINVWL_FVERSION' ) ) {
44
+ define( 'TINVWL_FVERSION', '1.21.0' );
45
  }
46
 
47
  if ( ! defined( 'TINVWL_LOAD_FREE' ) ) {
tinv-wishlists-function.php CHANGED
@@ -902,3 +902,15 @@ if ( ! function_exists( 'tinvwl_get_wishlist_products' ) ) {
902
  return $products;
903
  }
904
  }
 
 
 
 
 
 
 
 
 
 
 
 
902
  return $products;
903
  }
904
  }
905
+
906
+ add_action( 'init', function () {
907
+ if ( ! is_user_logged_in() ) {
908
+ add_filter( 'nonce_user_logged_out', function ( $uid, $action = - 1 ) {
909
+ if ( $action === 'wp_rest' ) {
910
+ return get_current_user_id();
911
+ }
912
+
913
+ return $uid;
914
+ }, 99, 2 );
915
+ }
916
+ } );