The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
The Ethereal Veil
Vendor by: Natural Face

The Ethereal Veil

$34.00
$0.00
-$-34.00
Color-Nix (for fair skin with neutral undertones)
Please select a color
Quantity
Free worldwide shipping
Free returns
Sustainably made
Secure payments
SKU: '210000006912

Rituel de Fille The Ethereal Veil Conceal and Cover

"Best on the go cover up for spots or all over! Use with brush or fingers and have coverage that mimics skin!" - Holly Jo, Credo In-Store Clean Beauty Expert, Plano

This Product Is: a buildable cream concealer with a soft, natural silk finish available in twelve shades

Good for: spot concealing, under-eye brightening and full-face complexion enhancement

Why We Love It: Rituel de Fille The Ethereal Veil Conceal and Cover adapts to your undertones and offers a softly diffused, natural silk finish. Through carefully balanced composition including jojoba oil, frankincense, castor oil and lanolin, The Ethereal Veil Conceal and Cover naturally moisturizes the skin as it evens skin's color and tone.

Shop The Ethereal Veil in twelve shades:

Nix: Lightest with neutral undertones
Galatea: Light with yellow undertones
Ceres: Light with neutral undertones
Metis: Light to medium with sandy undertones
Sycorax: Medium with yellow undertones
Io: Medium with neutral undertones
Naiad: Medium with sandy undertones
Eris: Medium to dark with golden undertones
Ananke: Medium to dark with honey undertones
Dione: Dark with golden undertones
Cyllene: Dark with golden undertones
Arche: Darkest with blue undertones.

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.