');
document.write('');
if (appimageswitcher == 1 && productimageswitcher == 1) {
/*************** Prestige Theme ************/
var flag = '';
if ($('.Product__Slideshow .previous').length == 1) {
} else {
flag = 1;
}
setTimeout(function () {
window.scrollTo(0, 0);
jQuery(window).on("orientationchange", function (event) {
if (is_iPad || getiPadModel()) {
location.reload();
}
});
jQuery(document).on("click", ".Product__SlideshowNavDot", function (e) {
e.preventDefault();
jQuery(".Product__SlideshowNavScroller").find('.is-selected').removeClass('is-selected');
jQuery(this).addClass('is-selected');
});
if (isMobile || is_iPad) {
jQuery(document).on("click", ".Product__SlideshowNavImage", function (e) {
var index = 0;
if (jQuery('.Product__Slideshow') == undefined) {
return false;
}
var jQuerycarousel = jQuery('.Product__Slideshow').flickity();
jQuerycarousel.flickity('select', index);
jQuery('.flickity-page-dots').find('.is-selected').removeClass('is-selected');
jQuery(this).addClass('is-selected');
});
} else {
jQuery(document).on("click", ".Product__SlideshowNavImage", function (e) {
var index = jQuery(this).index();
if (jQuery('.Product__Slideshow') == undefined) {
return false;
}
var jQuerycarousel = jQuery('.Product__Slideshow').flickity();
jQuerycarousel.flickity('select', index);
jQuery('.Product__SlideshowNavScroller').find('.is-selected').removeClass('is-selected');
jQuery(this).addClass('is-selected');
});
}
jQuery(window).scroll(function () {
var imagesize = jQuery('.Product__SlideItem').height();
var scrollDistance = jQuery(window).scrollTop();
var bottom = jQuery('.Product__Gallery').position().top + jQuery('.Product__Gallery').outerHeight(true);
var diff = bottom - scrollDistance;
jQuery('.Product__Slideshow .Product__SlideItem').each(function (i) {
var currLink = jQuery(this);
if ((currLink.position().top) <= scrollDistance) {
jQuery(".Product__SlideshowNavScroller").find('.is-selected').removeClass('is-selected');
jQuery(".Product__SlideshowNavDot").find('.is-selected').removeClass('is-selected');
if (jQuery('.Product__SlideshowNavImage').length == 0) {
jQuery(".Product__SlideshowNavDot:eq(" + i + ")").addClass('is-selected');
} else if ($('.Product__Slideshow').hasClass('flickity-enabled')) {
//************ when scroller is thumbnail
var $carousel = $('.Product__Slideshow').flickity();
var flkty = $carousel.data('flickity');
var j = flkty.selectedIndex;
jQuery(".Product__SlideshowNavImage:eq(" + j + ")").addClass('is-selected');
} else {
//************ when scroller is thumbnail
jQuery(".Product__SlideshowNavImage:eq(" + i + ")").addClass('is-selected');
}
if ($('.Product__SlideshowNav--dots a').children().length == 0) {
jQuery(".Product__SlideshowNavDot:eq(" + i + ")").addClass('is-selected');
}
}
});
});
if (jQuery('.Product__Slideshow').find('.flickity-slider').length == 0) {
var slideimages = jQuery('.Product__Slideshow').children().clone();
}
if (jQuery('.Product__Slideshow').find('.flickity-slider').length == 0) {
// ******* when there is dots for stack desktop view
console.log('test1');
var sliderdots = jQuery('.Product__SlideshowNavScroller a').clone();
} else if ((jQuery('.Product__SlideshowNavScroller span').length != 0) || (jQuery('.Product__SlideshowNav--thumbnails').length == 0) || (jQuery('.Product__Slideshow').find('.flickity-slider').length != 0)) {
console.log('test2');
var sliderdots = jQuery('.Product__SlideshowNavScroller span').clone();
var flickimages = jQuery('.flickity-slider').html();
} else {
console.log('test3');
var sliderdots = jQuery('.Product__SlideshowNavScroller a').clone();
}
// *************** when there is thumbnail in place of dots for stack desktop view
if (jQuery('.Product__SlideshowNavImage').length != 0) {
console.log('test4');
var sliderdots = jQuery('.Product__SlideshowNavScroller .Product__SlideshowNavImage').clone();
}
if (getiPadModel()) {
if ($('.Product__SlideshowNav--dots a').children().length == 0) {
var sliderdots = jQuery('.Product__SlideshowNav--dots .Product__SlideshowNavScroller').children().clone();
}
}
// var isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
var is_iPad = navigator.userAgent.match(/iPad/i) != null;
if ((is_iPad) && jQuery('.Product__Slideshow').find('.flickity-slider').length != 0) {
var slideimages = jQuery('.flickity-slider').html();
}
var gallery = '';
jQuery(document).on("click", ".pswp__button--next", function (e) {
gallery.next();
selectedindex = gallery.getCurrentIndex();
//totalslides = gallery.options.getNumItemsFn();
totalslides = $('.Product__Slideshow .Product__SlideItem').length;
if (selectedindex == 0) {
$('.pswp__button--prev').hide();
} else {
$('.pswp__button--prev').show();
}
if (selectedindex == (totalslides - 1)) {
$('.pswp__button--next').hide();
} else {
$('.pswp__button--next').show();
}
});
jQuery(document).on("click", ".pswp__button--prev", function (e) {
//console.log('clicked');
gallery.prev();
selectedindex = gallery.getCurrentIndex();
//totalslides = gallery.options.getNumItemsFn();
totalslides = $('.Product__Slideshow .Product__SlideItem').length;
if (selectedindex == 0) {
$('.pswp__button--prev').hide();
} else {
$('.pswp__button--prev').show();
}
if (selectedindex == (totalslides - 1)) {
$('.pswp__button--next').hide();
} else {
$('.pswp__button--next')
}
});
jQuery(document).on("click", '.Product__SlideItem, [data-action="open-product-zoom"]:eq(0)', function (event) {
event.preventDefault();
jQuery('.pswp').remove();
var slideitem = $(this);
jQuery('#shopify-section-product-template').append('
');
var pswpElement = document.querySelectorAll('.pswp')[0];
var srcArr = [];
var itemsrcArr = [];
jQuery('.Product__Slideshow .Product__SlideItem img').each(function (i) {
srcval = jQuery(this).data('original-src');
srcval = srcval.replace('.jpg', '_' + $(this).attr('data-max-width') + 'x' + $(this).attr('data-max-height') + '.jpg')
srcArr.push(srcval);
});
//console.log(srcArr);
$('.Product__SlideItem img').each(function (i, obj) {
width = $(this).attr('data-max-width');
height = $(this).attr('data-max-height');
var t = parseInt(width, 10),
n = parseInt(height, 10),
i = 1800,
s = 1;
s = t >= n ? Math.max(t / i, 1) : Math.max(n / i, 1);
var r = Math.floor(t / s),
l = Math.floor(n / s);
jQuery(srcArr).each(function (i, obj) {
itemsrcArr.push({ src: srcArr[i], w: t, h: n, initialZoomLevel: zoom, });
});
});
var items = itemsrcArr;
if (isMobile) {
// var instance = jQuery('.Product__Slideshow').data('flickity');
// instance
var swipeindex = flkty.selectedIndex;
} else {
swipeindex = $(slideitem).index();
}
if ($(window).width() > 768 && $(window).width() <= 1024) {
swipeindex = $(slideitem).index();
}
console.log(swipeindex);
var options = {
allowPanToNext: !1,
captionEl: false,
//closeEl:false,
shareEl: false,
arrowEl: false,
counterEl: false,
closeOnScroll: true,
//history: !1,
index: swipeindex,
pinchToClose: true,
preloaderEl: false,
showHideOpacity: !0,
showAnimationDuration: 10,
loop: !1,
closeOnVerticalDrag: !1,
scaleMode: "zoom",
getDoubleTapZoom: function (e, t) {
return e ? 1.6 : t.initialZoomLevel < .7 ? 1 : 1.33
},
getThumbBoundsFn: (function (index) {
var thumbnail = document.querySelectorAll('.Product__SlideItem')[index].getElementsByTagName('img')[0],
pageYScroll = window.pageYOffset || document.documentElement.scrollTop,
rect = thumbnail.getBoundingClientRect();
return { x: rect.left, y: rect.top + pageYScroll, w: rect.width };
}).bind(this)
};
options.mainClass = 'pswp--minimal--dark';
options.barsSize = { top: 0, bottom: 0 };
options.tapToClose = true;
options.tapToToggleControls = false;
gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
gallery.listen('gettingData', function (index, items) {
if (items.w < 1 || items.h < 1) {
var img = new Image();
img.onload = function () {
console.log(this.width)
items.w = this.width; // set image width
items.h = this.height; // set image height
gallery.invalidateCurrItems(); // reinit Items
gallery.updateSize(true); // reinit Items
}
img.src = items.src; // let's download image
}
});
gallery.listen('preventDragEvent', function (e, isDown, preventObj) {
preventObj.prevent = false;
});
gallery.init();
selectedindex = gallery.getCurrentIndex();
//totalslides = gallery.options.getNumItemsFn();
totalslides = $('.Product__Slideshow .Product__SlideItem').length;
// console.log('total slide '+totalslides);
if (selectedindex == 0) {
$('.pswp__button--prev').hide();
} else {
$('.pswp__button--prev').show();
}
if (selectedindex == (totalslides - 1)) {
$('.pswp__button--next').hide();
} else {
$('.pswp__button--next').show();
}
});
var initval = '';
for (var i = 0; i < 4; i++) {
setTimeout(function () {
if (initval == 'set') {
return false;
}
cleverMapper();
}, i * 1000);
}
jQuery(document).on("change", ".ProductForm__Option ul:eq(" + cleveroptionindex + ") input", function () {
cleverMapper();
});
jQuery(document).on("change", ".ProductForm__SelectedValue:eq(" + cleveroptionindex + ")", function () {
setTimeout(function () {
cleverMapper();
}, 200);
});
jQuery(".ProductForm__SelectedValue").on('DOMSubtreeModified', function () {
setTimeout(function () {
cleverMapper();
}, 200);
});
function cleverMapper() {
if (jQuery('.Product__Slideshow').find('.flickity-slider').length != 0) {
console.log('destroy flickity')
// var jQuerycarousel = jQuery('.Product__Slideshow').flickity();
// jQuerycarousel.flickity('destroy');
flkty = new Flickity('.Product__Slideshow');
flkty.destroy();
// jQuery('.Product__Slideshow').flickity('destroy');
jQuery('.Product__Slideshow').html(flickimages);
}
console.log(getiPadModel())
if (getiPadModel()) {
console.log('ipad model');
if ($('.Product__SlideshowNav--dots a').children().length == 0) {
console.log("length");
console.log($('.Product__SlideshowNav--dots a').children().length);
jQuery('.Product__Slideshow').html(slideimages);
jQuery('.Product__SlideshowNav--dots .Product__SlideshowNavScroller').html(sliderdots);
}
}
// ************ when thumbnails are visible along with flickity slider
if ((jQuery('.Product__SlideshowNavScroller span').length != 0)) {
//var jQuerycarousel = jQuery('.Product__Slideshow').flickity();
//jQuerycarousel.flickity('destroy');
flkty = new Flickity('.Product__Slideshow');
flkty.destroy();
jQuery('.Product__Slideshow').html(flickimages);
jQuery('.Product__SlideshowNavScroller').html(sliderdots);
}
// ********** when there is no thumbnail and only slider in both desktop and mobile
if ((jQuery('.Product__SlideshowNav--thumbnails').length == 0) && jQuery('.Product__Slideshow').find('.flickity-slider').length != 0) {
console.log('test1')
//var jQuerycarousel = jQuery('.Product__Slideshow').flickity();
//jQuerycarousel.flickity('destroy');
flkty = new Flickity('.Product__Slideshow');
flkty.destroy();
jQuery('.Product__Slideshow').html(flickimages);
// ********** when there is dots in desktop view without slider
// } else if( (!isMobile) && (jQuery('.Product__SlideshowNavScroller a').length != 0) ){
} else if ((jQuery('.Product__SlideshowNavScroller a').length != 0)) {
if (jQuery('.Product__Slideshow').find('.flickity-slider').length != 0) {
//var jQuerycarousel = jQuery('.Product__Slideshow').flickity();
//jQuerycarousel.flickity('destroy');
flkty = new Flickity('.Product__Slideshow');
flkty.destroy();
}
console.log('test2')
jQuery('.Product__Slideshow').html(slideimages);
jQuery('.Product__SlideshowNavScroller').html(sliderdots);
} else if ((!isMobile) && (jQuery('.Product__SlideshowNavScroller span').length == 0)) {
console.log('test3')
jQuery('.Product__Slideshow').html(slideimages);
jQuery('.Product__SlideshowNavScroller').html(sliderdots);
}
if ($('.Product__SlideshowNav--thumbnails img').length > 0) {
var thumb = $('.Product__SlideshowNav--thumbnails').children().clone();
}
var found = 0;
var fvalue = [];
var foptionMap = [];
var nvalue = [];
var noptionMap = [];
var available = false;
var optionMap = [];
jQuery(".ProductForm__Option ul:eq(" + cleveroptionindex + ") input:checked").each(function (key) {
optionMap[key] = jQuery(this).val().replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
});
if (jQuery('.ColorSwatchList').length == 0) {
jQuery('.Popover__ValueList:eq(' + cleveroptionindex + ') .is-selected').each(function (key) {
//optionMap[key] = jQuery(this).data('value').replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
});
}
jQuery(".ProductForm__Option ul:eq(" + cleveroptionindex + ") input:checked").each(function (key) {
if (optionMap.length != 0) {
optionMap[optionMap.length] = jQuery(this).val().replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
} else {
optionMap[key] = jQuery(this).val().replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
}
});
if (optionMap.length == 0) {
jQuery(".single-option-selector__radio").each(function (key) {
optionMap[key] = jQuery(this).val().replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
});
}
if (optionMap.length == 0) {
jQuery(".ProductForm__SelectedValue").each(function (key) {
optionMap[key] = jQuery(this).html().replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
});
}
console.log(optionMap);
var variantimagesArray = [];
var variantimagesArrayref = [];
if (cleverimages[optionMap[cleveroptionindex]] != undefined) {
while (variantimagesArray.length > 0) {
variantimagesArray.pop();
}
variantimagesArrayref = cleverimages[optionMap[cleveroptionindex]];
variantimagesArray = jQuery.merge(jQuery.merge([], variantimagesArrayref), cleverimages['CleverCommon']);
} else if (cleverimages[optionMap[0]] != undefined) {
while (variantimagesArray.length > 0) {
variantimagesArray.pop();
}
variantimagesArrayref = cleverimages[optionMap[0]];
variantimagesArray = jQuery.merge(jQuery.merge([], variantimagesArrayref), cleverimages['CleverCommon']);
}
console.log(variantimagesArray.length);
if (optionMap.length != 0 && variantimagesArray.length == 0) {
var variantimagesArray = getNewCleverMap(optionMap);
}
console.log(variantimagesArray);
jQuery('.Product__Slideshow').children('.Product__SlideItem').each(function (i, obj) {
imageidVal = jQuery(this).data('image-id');
imageidVal = imageidVal.toString();
if (jQuery.inArray(imageidVal, variantimagesArray) !== -1) {
} else {
jQuery(this).remove();
}
});
if ($('.Product__SlideshowNav--thumbnails img').length > 0) {
$('.Product__SlideshowNav--thumbnails').html(thumb);
$('.Product__SlideshowNav--thumbnails img').each(function (i, obj) {
var imgsrc = $(this).attr('src');
imgsrc = imgsrc.replace('_160x', '');
currentimageindex = $.inArray(imgsrc, imagesjson);
imageid = cleverproductimages[currentimageindex]['id'];
imageid = imageid.toString();
//console.log($.inArray(imageid, variantimagesArray))
if ($.inArray(imageid, variantimagesArray) !== -1) {
} else {
$(this).parent().remove();
}
});
}
if (getiPadModel()) {
jQuery('.Product__SlideshowNavScroller a').each(function (i, obj) {
imageidVal = jQuery(this).data('image-id');
if (imageidVal != undefined) {
imageidVal = imageidVal.toString()
;
if (jQuery.inArray(imageidVal, variantimagesArray) !== -1) {
} else {
jQuery(this).remove();
}
}
});
jQuery('.Product__SlideshowNavScroller a:first').addClass('is-selected');
}
if (!isMobile) {
if (jQuery('.Product__SlideshowNavDot').length == 0) {
if (jQuery('.Product__SlideshowNavScroller span').length == 0) {
jQuery('.Product__SlideshowNavScroller a').each(function (i, obj) {
imageidVal = jQuery(this).data('image-id');
imageidVal = imageidVal.toString();
if (jQuery.inArray(imageidVal, variantimagesArray) !== -1) {
} else {
jQuery(this).remove();
}
});
jQuery('.Product__SlideshowNavScroller a:first').addClass('is-selected');
} else {
jQuery('.Product__SlideshowNavScroller span').each(function (i, obj) {
imageidVal = jQuery(this).data('image-id');
imageidVal = imageidVal.toString();
if (jQuery.inArray(imageidVal, variantimagesArray) !== -1) {
} else {
jQuery(this).remove();
}
});
jQuery('.Product__SlideshowNavScroller a:first').addClass('is-selected');
}
} else {
jQuery('.Product__SlideshowNavDot').each(function (i, obj) {
imageidVal = jQuery(this).attr('href');
imageidVal = imageidVal.replace("#Image", "");
imageidVal = imageidVal.toString();
if (jQuery.inArray(imageidVal, variantimagesArray) !== -1) {
} else {
jQuery(this).remove();
}
});
jQuery('.Product__SlideshowNavScroller a:first').addClass('is-selected');
}
}
if (isMobile) {
if ($('.Product__SlideshowNav--dots a').children().length == 0) {
jQuery('.Product__SlideshowNav--dots a').each(function (i, obj) {
//console.log('ipad pro');
imageidVal = jQuery(this).attr('href');
imageidVal = imageidVal.replace("#Image", "");
imageidVal = imageidVal.toString();
if (jQuery.inArray(imageidVal, variantimagesArray) !== -1) {
} else {
jQuery(this).remove();
}
});
jQuery('.Product__SlideshowNav--dots a:first').addClass('is-selected');
}
}
// console.log('lazyload');
setTimeout(function () {
// console.log('lazyload');
jQuery('.Product__Slideshow').find('img:first').removeClass('Image--lazyLoading');
jQuery('.Product__Slideshow').find('img:first').addClass('Image--lazyLoaded');
jQuery('.Product__SlideItem').find('.Image--lazyLoading').removeClass('Image--lazyLoading').addClass('Image--lazyLoaded');
//jQuery('.Product__Slideshow').find('img:first').addClass('Image--lazyLoaded');
}, 1000);
// ******* Either in mobile view
//********* Thumbnails with slider
//********** slider without thumbnails
console.log(getiPadModel());
if (isMobile || getiPadModel() || (jQuery('.Product__SlideshowNavScroller span').length != 0) || (jQuery('.Product__SlideshowNav--thumbnails').length == 0)) {
console.log('ipad model');
var flickoptions = jQuery('.Product__Slideshow').data('flickity-config');
// console.log(flickoptions);
if (flickoptions != undefined) {
flkty = new Flickity('.Product__Slideshow', flickoptions);
if (flag == 1) {
$('.Product__Slideshow .previous,.Product__Slideshow .next').hide();
}
} else {
flkty = new Flickity('.Product__Slideshow');
}
flkty.select(0);
}
// jQuerycarousel.flickity( 'select', 0 );
if (jQuery('.Product__SlideshowNavImage').length != 0) {
setTimeout(function () {
jQuery('.Product__SlideshowNavScroller').find('.is-selected').removeClass('is-selected');
jQuery('.Product__SlideshowNavImage:first').addClass('is-selected');
}, 1000);
setTimeout(function () {
jQuery('.Product__SlideshowNavScroller').find('.is-selected').removeClass('is-selected');
jQuery('.Product__SlideshowNavImage:first').addClass('is-selected');
}, 2500);
}
$('.Product__SlideshowNavScroller').css({ 'opacity': 1 });
//return false;
setTimeout(function () {
if (isMobile || is_iPad) {
console.log('hii');
$(".flickity-page-dots li:first").trigger('click');
} else {
$(".Product__SlideshowNavScroller img:first").trigger('click');
}
}, 500);
//$(".Product__SlideshowNavScroller img:first").trigger('click');
initval = 'set';
}
function getiPadModel() {
// Create a canvas element which can be used to retreive information about the GPU.
//console.log('ipaddddd');
var canvas = document.createElement("canvas");
if (canvas) {
var context = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
if (context) {
var info = context.getExtension("WEBGL_debug_renderer_info");
if (info) {
var renderer = context.getParameter(info.UNMASKED_RENDERER_WEBGL);
}
}
}
if (window.screen.height / window.screen.width == 1024 / 768) {
// iPad, iPad 2, iPad Mini
if (window.devicePixelRatio == 1) {
switch (renderer) {
default:
return true;
case "PowerVR SGX 535":
return true;
case "PowerVR SGX 543":
return true;
}
// iPad 3, 4, 5, Mini 2, Mini 3, Mini 4, Air, Air 2
} else {
switch (renderer) {
default:
return true;
case "PowerVR SGX 543":
return true;
case "PowerVR SGX 554":
return true;
case "Apple A7 GPU":
return true;
case "Apple A8X GPU":
return true;
case "Apple A8 GPU":
return true;
case "Apple A9 GPU":
return true;
}
}
// iPad Pro 10.5
} else if (window.screen.height / window.screen.width == 1112 / 834) {
return true;
// iPad Pro 12.9, Pro 12.9 (2nd Gen)
} else if (window.screen.height / window.screen.width == 1366 / 1024) {
switch (renderer) {
default:
return true;
case "Apple A10X GPU":
return true;
case "Apple A9 GPU":
return true;
}
} else {
return false;
}
}
}, 1000);
}
});
function getNewCleverMap(optionMap) {
var variantimagesArray = [];
var variantimagesArrayref = [];
var variantid = $('#product-select-' + cleverproduct.id).val();
//if (clevervariantcomboimage[optionMap[cleveroptionindex]] != undefined) {
while (variantimagesArray.length > 0) {
console.log('testtttttttttttttttttt');
variantimagesArray.pop();
}
$.each(clevervariantcomboimage, function (key, value) {
//if (variantid == clevervariantcomboimage[key][1]) {
if ($.inArray(variantid, clevervariantcomboimage[key][1]) !== -1) {
variantimagesArrayref = clevervariantcomboimage[key][0];
}
});
//}
variantimagesArray = $.merge($.merge([], variantimagesArrayref), cleverimages['CleverCommon']);
return variantimagesArray;
}
Skip to content
Categories
Backpacks
Crossbody
Duffels
Messengers
Color
Ash Grey
Black
Black - Stone Washed
Blue
Brown
Burgundy
Charcoal
Dark Brown
Dark Green
Denim
Green
Khaki
Navy Grey
Orange
Pink
Purple
Turquoise
Featured
Cotton Twill
Dyed Canvas
New Arrivals
Paraffin Waxed Canvas
Polyester
Stone Washed Canvas
Featured
Best selling
Alphabetically, A-Z
Alphabetically, Z-A
Price, low to high
Price, high to low
Date, old to new
Date, new to old
28 Products
Show
12 24 48
Featured
Featured
Availability
Best Selling
Alphabetically, A-Z
Alphabetically, Z-A
Price, low to high
Price, high to low
% Sale off
You are £35 away from Free Standard Shipping
Want 10% off your first order?
Join our newsletter to get a 10% off discount
Offer for retail customers only By submitting your email you agree to receive newsletters via email. You may opt out at any time. For more info, please review our privacy policy.
Shop with Friends is an app for E-Commerce stores built on Shopify that helps drive organic word-of-mouth growth through Social Proof & Social Shopping. Shop with Friends adds polling functionality to your store so that shoppers can send polls to their friends to get their input on which products to buy. Learn more at https://www.shopwithfriends.ai