Lil Pick-Me-Up 3-In-1 Face Mist

$12.00
people are viewing this right now
Free worldwide shipping
Free returns
Sustainably made
Secure payments
Description
  • DESCRIPTION
  • INGREDIENTS

TOTAL MOOD BOOST

This refreshing 3-in-1 face mist is the ultimate multitasker. Use it any time of day as a toner, to set makeup, or to freshen up your complexion with a dewy glow. Nourishing niacinamide brightens, while cucumber water and aloe vera calm and cool skin. Soothing orange water flower helps to soften skin. This alcohol-free formula leaves skin feeling hydrated and balanced. Use it whenever you need a lil boostanytime, anywhere.

?

BENEFITS

  • Vegan
  • Noncomedogenic
  • Good for all skin types

?

Formulated without: parabens, sodium lauryl sulfate, phthalates, mineral oil, formaldehydes

?

Directions: Shake before use. To tone, set makeup, or refresh skin, close eyes and spray holding the bottle 8 inches from face.

?

MORPHE 2 SKINCARE

Get to know this collection of clean ingredients and super-effective formulas that make skincare simple.

  • Clean & effective ingredients - Our products are formulated with the nourishing ingredients your skin needs (and skips the ones it doesnt).
  • Simple & proven formulas - All our products are easy to useboth on their own and as part of a daily routinewhile still providing amazing results.
  • Vegan - Our 100% vegan-friendly formulas do not use any animal-derived ingredients.
  • Cruelty-free - We do not test on animals. Instead, we love trying out products on ourselves and with friends.

?

Net Weight: 100 mL / 3.38 fl. oz.

Water (Aqua, Eau), Butylene Glycol, Aloe Barbadensis Leaf Juice, Glycerin, Niacinamide, Polysorbate 20, Citrus Aurantium Dulcis (Orange) Flower Water, Cucumis Sativus (Cucumber) Fruit Water, Phenoxyethanol, Rosa Centifolia Flower Water, VP/Acrylates/Lauryl Methacrylate Copolymer, Ethylhexylglycerin, Disodium EDTA, Sodium Hydroxide, Sodium Hyaluronate, Hyaluronic Acid, Leuconostoc/Radish Root Ferment Filtrate, Citric Acid, Potassium Sorbate, Sodium Benzoate, Tocopherol, Fragrance (Parfum), Hexyl Cinnamal, Linalool, Limonene +/- May Contain/Peut Contenir: Yellow 6 (CI 15985), Red 40 (CI 16035).

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.
Select product
Selected 0 item(s)
function updateQueryStringParameter(uri, key, value) { if(!value) { return uri; } let re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i'); let separator = uri.indexOf('?') !== -1 ? '&' : '?'; return uri.match(re) ? uri.replace(re, '$1' + key + '=' + value + '$2') : uri + separator + key + '=' + value; } function addEventListenerRedirect(data) { if (data.type === 'checkout_redirect_login') { let { pathname, search } = window.location; let order_id = data.order_id || ''; let newSearch = updateQueryStringParameter(search, 'order_id', order_id); let return_Url = `${pathname}${newSearch}`; let redirect_Url = `${data.url}?_returnUrl=${encodeURIComponent(return_Url)}`; return Promise.resolve(redirect_Url) } if (data.type === 'checkout_redirect') { return Promise.resolve(data.url); } if (data.type === 'checkout_reload') { let { pathname } = window.location; return Promise.resolve(pathname); } return Promise.reject({}); } function addEventListenerMask(data) { if (data.type === 'checkout_mask' && data.show_mask) { return Promise.resolve({}); } return Promise.reject({}); } function addEventListenerMaskClose(data) { if (data.type === 'checkout_mask' && !data.show_mask) { return Promise.resolve({}); } return Promise.reject({}); } function handleUpdateCheckout(data) { let message = { type:'theme_variant_list_update' } return Promise.resolve(message); } function addEventListeneFullFixed(data) { if (data.type === 'checkout_full_screen') { return Promise.resolve(data.is_full_screen); } return Promise.reject({}); } function addEventListenerTproduct(data) { if (data.type === 'checkout_kick_items') { return Promise.resolve(data); } return Promise.reject({}); } function handleCheckOrderIdChange(data) { if ((data.data && data.data.order_token) || data.order_id) { let new_order_token = (data.data && data.data.order_token) || data.order_id ; let checkout_iframe_template = document.getElementById('checkout_iframe_template'); let old_oder_token = checkout_iframe_template.getAttribute('data-order-id'); if (!old_oder_token) { checkout_iframe_template.setAttribute('data-order-id', new_order_token); } let isRerenderCheckout = new_order_token == old_oder_token; let obj = { order_id: new_order_token, once: isRerenderCheckout } if (!isRerenderCheckout) { checkout_iframe_template.setAttribute('data-order-id', new_order_token); } return Promise.resolve(obj); } return Promise.reject({}); } function addEventListeneScollToCheckout(data) { if (data.type === 'scroll_to_checkout') { return Promise.resolve(); } return Promise.reject({}); } function handleGetOrderInfo(data) { if (data.order_id) { let api = `/api/checkout/order/info?order_id=${data.order_id}`; return Promise.resolve(api); } return Promise.reject({}); } function handleToggleStickyCheckoutBtn(data) { if (data.type === 'checkout_submit_visible') { return Promise.resolve(!data.visible); } return Promise.reject({}); } function handleSetStickyCheckoutBtnDisabled(data) { if (data.type === 'checkout_submit_disable') { return Promise.resolve(data.disable); } return Promise.reject({}); } function stickyCheckoutBtnPostMessage(data) { let message = { type: 'theme_submit_click' } return Promise.resolve(message); } function handleShowChecktoutToast(data) { if (data.type === 'checkout_toast') { return Promise.resolve(data.message); } return Promise.reject({}); } exportFunction('handleGetOrderInfo', handleGetOrderInfo) exportFunction('handleCheckOrderIdChange', handleCheckOrderIdChange) exportFunction('addEventListenerRedirect', addEventListenerRedirect) exportFunction('addEventListenerMask', addEventListenerMask) exportFunction('addEventListenerMaskClose', addEventListenerMaskClose) exportFunction('handleUpdateCheckout', handleUpdateCheckout) exportFunction('addEventListeneFullFixed', addEventListeneFullFixed) exportFunction('addEventListenerTproduct', addEventListenerTproduct) exportFunction('addEventListeneScollToCheckout', addEventListeneScollToCheckout) exportFunction('handleToggleStickyCheckoutBtn', handleToggleStickyCheckoutBtn) exportFunction('handleSetStickyCheckoutBtnDisabled', handleSetStickyCheckoutBtnDisabled) exportFunction('stickyCheckoutBtnPostMessage', stickyCheckoutBtnPostMessage) exportFunction('handleShowChecktoutToast', handleShowChecktoutToast)
window.addEventListener('message', (e) => { const iframe = document.getElementById("checkout_iframe"); if(iframe && e.data && e.data.type === 'checkout_full_screen'){ if (e.data.is_full_screen) { iframe.setAttribute("scrolling", "auto") } else { iframe.setAttribute("scrolling", "no") }; } }); function handleSetObserver() { let iframeEle = document.getElementById('checkout_iframe'); var observer = new MutationObserver((mutations) => { let is_dom_change = false; mutations.forEach((item) => { if (item.type === 'childList') { is_dom_change = true; } }); const scrollHeight = iframeEle.contentWindow.document.body.scrollHeight; if (is_dom_change) { iframeEle.style.height = `${scrollHeight ? scrollHeight : 1400 }px`; } }); const options = { "childList" : true, "attributes" : false, "characterData" : false, "subtree" : true, "attributeOldValue" : false, "characterDataOldValue" : false }; iframeEle.contentWindow.addEventListener('DOMContentLoaded', function(e) { try { if (iframeEle.contentWindow.document.readyState === "interactive") { observer.observe(iframeEle.contentWindow.document, options); const iframe = document.getElementById("checkout_iframe"); iframe.addEventListener("load", function(e) { if (iframe.contentWindow.location.href.indexOf('thank_you') > -1) { window.location.href = iframe.contentWindow.location.href; } }); } } catch (err) {} }); } function handleAddListenerCheckoutIframe() { let checkout_iframe_render_elem = document.getElementById('checkout_iframe_render_1634493037563'); checkout_iframe_render_elem.addEventListener('spz:dom-update', (e) => { handleSetObserver(); }) } handleAddListenerCheckoutIframe();