Viking Totem Summer T-shirt

$28.99
Color : White
Size : XXS
Quantity
Description

Introducing our Viking Totem Summer T-shirt, a fusion of ancient Norse artistry and contemporary fashion. Embrace the spirit of the Vikings with intricate totem designs that make a bold statement. Crafted for the summer season, this lightweight and breathable t-shirt ensures both style and comfort during the warm months. Ideal for casual outings or outdoor adventures, this tee allows you to showcase your unique style with a touch of historical flair. Let the Viking heritage inspire your wardrobe choices and stand out with the t-shirt, a perfect blend of tradition and modernity for those who appreciate culture and fashion.

  • Product ID: DF1664
  • Material:  Polyester
  • Color: Black

As all products are unique we have included approximate measurements below:

  Size Information Table

 SIZE

(in./cm)

Bust Shoulder Length
XXS

36.22

(92cm)

15.75

(40cm)

24.40

(62cm)

XS

37.70

(96cm)

16.53

(42cm)

24.80

(63cm)

S

39.37

(100cm)

17.32

(44cm)

25.20

(64cm)

M

40.94

(104cm)

18.11

(46cm)

25.98

(66cm)

L

42.52

(108cm)

18.90

(48cm)

26.77

(68cm)

XL

44.10

(112cm)

19.68

(50cm)

27.60

(70cm)

2XL

45.67

(116cm)

20.47

(52cm)

28.35

(72cm)

3XL

47.24

(120cm)

21.26

(54cm)

29.13

(74cm)

4XL

47.82

(124cm)

22.05

(56cm)

29.92

(76cm)

5XL

50.39

(128cm)

22.83

(58cm)

30.70

(78cm)

6XL

51.96

(132cm)

23.62

(60cm)

31.49

(80cm)

All measurements are approximate and can vary slightly. Do not select directly according to your habits. We recommend you take bust/waist/hip measurements before purchasing and leave 1-3 cm for error.

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.