[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace
1 / 6

[ALMOST SOLD OUT] Grandson, Never Lose Faith - Cross Necklace

$23.79
$59.48
Box Choice
Please select a box choice

Quantity

Show your grandson how much you care by gifting him a cross necklace that represents your love and faith!

A cross necklace is a timeless and meaningful gift that can be treasured for a lifetime.

This stunning artisan-crafted piece of jewelry will be a constant reminder of your love and support, no matter where he may go. As he grows and experiences new challenges, the cross will provide comfort and inspiration, reminding him of your unwavering love and guidance.

This will be a perfect gift for your grandson:

  • Does not fade, rust, change color or tarnish
  • Hypoallergenic Premium-quality Polished Stainless Steel
  • Ready for gifting with Classic Box and Luxury Box
  • Designed, Assembled, and Fulfilled in the USA.

Heartfelt Message:

"To My Dearest Grandson,

Someday when the pages of my life end, I know that you will be one of the most Beautiful Chapters. Always keep me in your heart never forget that I love you. Never lose faith in yourself & always remember... Believe deep in your heart that you are smart & capable of achieving anything your heart desires. Whenever your cross gets heavy, remember whose grandson you are & never give up."

ORDER NOW to give your grandson a timeless symbol of love and faith.

Limited time offer and stock is running low!

Reviews from our happy customer:

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.