Sex mask, Submissive mask, BDSM face mask, Sex play mask, Black sex mask, Bondage mask, Fetish mask, Submissive gift, BDSM gift

$42.47
Quantity
FREE delivery Tue, Jan 07
Or FAST delivery Thu, Jan 02
Description

Introducing our exquisite collection of Sex Masks, Submissive Masks, and BDSM Face Masks, designed to add an alluring touch of mystery and excitement to your intimate encounters. Whether you're exploring your deepest desires or looking to surprise and delight your partner, our range of seductive masks is sure to elevate your play to new heights.

Crafted with the utmost attention to detail, our Sex Masks are made from high-quality materials to ensure both comfort and durability. The sleek and elegant design of each mask enhances the wearer's features while concealing their identity, allowing you to fully immerse yourself in the realm of pleasure and exploration.

Indulge in the world of bondage and submission with our Submissive Masks, specially designed to ignite the senses and create an atmosphere of anticipation. Embrace the power dynamics and surrender control as you slip on one of these beautifully crafted masks, perfect for enhancing role-play scenarios or spicing up your intimate moments.

Unleash your inner desires with our BDSM Face Masks, meticulously crafted to cater to the most adventurous souls. With their adjustable straps and secure fit, these masks provide a comfortable and snug experience, allowing you to fully immerse yourself in the world of dominance and submission.

Whether you're a seasoned player or just beginning your journey into the world of BDSM, our Sex Play Masks are the perfect accessory to ignite your imagination and explore your fantasies. The alluring black color adds a touch of mystery, while the soft and breathable materials ensure a comfortable fit for extended wear.

Looking for a unique and unforgettable gift for your submissive partner? Our Submissive Masks make the perfect present. Surprise them with a symbol of trust and surrender, allowing them to fully embrace their desires and submit to your every whim.

Embrace your deepest fantasies and explore the thrilling world of bondage with our Fetish Masks. Designed to captivate and entice, these masks are a must-have for anyone looking to add a touch of kink to their intimate encounters.

Elevate your play and unlock a world of pleasure with our collection of Sex Masks, Submissive Masks, and BDSM Face Masks. Indulge in the art of seduction, surrender to your desires, and let your imagination run wild. Shop now and embark on a journey of passion and exploration like never before.

Frequently Bought Together

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.