16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss
16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss

16 Color Double Ended Highlighting Lip Gloss - High-shine, long-lasting lip gloss

Price

$25.98 $12.99
Save $12.99

16 shades available

Please select a 16 shades available

Quantity

Global Provision of Services
Free Shipping Over $59.99
Sustainable Manufacturing
PayPal & Credit Card Payment

🎉BUY MORE SAVE MORE🎉

Up to 16 Hours Wear: First apply the shine lip gloss, then apply the clear lip oil to lock the color, you will get the color shiny all day long

  • Transfer-proof lip color delivers up to 16 hours of wear
  • Shiny lip gloss top coat boasts an ultra-reflective, non-sticky finish
  • No budge, no bleed, no fade formula stands up to kissing, drinking, hair-flipping, and more

  • Lightweight and comfy on the lips
  • Available in 16 vibrant shades
  • Double-sided lip gloss comes with separate applicators for base and top coats

【Long-lasting and Waterproof】This semi permanent lip color with color lock technology won't kiss off, feather or bleed. Moisture rich, shiny, soft lips.

【asy to Apply and Clean】Goes on smoothlywithout skipping or pulling,easy to remove withlip cleansingoil.never worry aboutpigmentation.

NATURAL AND SAFE INGREDIENTS

The complete list of ingredients are as follows:
Aloe Vera, honey essence, jojoba seed oil, vitamin E, cocoa butter, vegetable extract, stearic alcohol, wax, candelilla wax, olive oil, citric acid, grape seed oil, lavender oil.

100% naturally derived, Certified Vegan & Cruelty Free.
Ask:Is harmful to Human Health?
Answer:NO,this product was inspected throughexpert and certification of FDA.

WHAT ELSE YOU NEED TO KNOW

  • FREE of color, fragrance, paraben, sulfate, phthalates, SLS, PEG, and gluten.
  • Vegan and not tested on animals.
  • No glue, hypoallergenic and non-irritating ingredients.
  • No prostaglandin/bimatoprost (found in Latisse).

Characterization

Available in 16 bold shades, this dual-ended lipstick delivers bold color with up to 16 hours of transfer-resistant wear. Plus, the two-step technology is easy to use: Simply swipe on the pigment-packed base coat for a pop of loud color, let dry, then add the top coat—a long-lasting lip gloss—for a non-sticky finish.

Description
1. Lightweight and comfortable to wear,silky texture

2. Very Pigmented and easy to wear and remove
3. Smooth slippery,create shiny sexy lips
4. Shimmer texture
5. Portable and convenient to use

Lock the Color and Not Fade Liquid Lipstick

First, apply the lipstick. Then, apply the clear lip oil. You will get a 24 hours shine lip color, very charming. The lip oil we match not only moisturizes your lips to achieve a more long-lasting color effect, but also repairs some problems with your lips, making them more beautiful.

Lightweight and Smooth Lip Gloss

This lip gloss is non sticky and very lightweight, easy to apply, give you a comfortable shine top coat. They come in various trendy colors, and with just a gentle application, you can have the most beautiful colors. Bring it to parties, work, and school, and you will become the focus.

lip gloss
SPECIFICATIONS
  • Size: 2cm x 2cm x 11.5cm
  • Color: 16 Colors as the picture

PACKAGE INCLUDES

class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);