Duffel 42l

$28.98
people are viewing this right now
Color:  DARK SAGE/MISTY SAGE
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

Description

DETAILS

Roomy fit: This bag offers plenty of room for essentials and everyday belongings.

This suitcase is very convenient and light weight. There are many pockets that can store your items, focusing on travel rather than round -trip adventures. You can carry it as a backpack or a duffel. It's got a laptop sleeve, an adjustable and removable divider in the main section, which definitely makes separating clean from dirty easier, and - to avoid frustrated rummaging - there's an external zipped pocket for your passport and phone. It's made from recycled fabric, too.
Style : 52RQ
Boot : 840D Recycled Ballistic Nylon With Non-PFC DWR (Non-PFC DWR) Finish
Fabric - Body : 300D Recycled Polyester Tarpaulin With TPU Laminate
Sizes : OS

FEATURES

  • The 42L size is suitable for multi -day travel, providing internal tissue and lightweight and durable main fabrics made of regenerative polyester fibers
  • Lightweight and durable
  • Side handles cause the duffel to sit away from your body so it doesn’t swing into your side when you’re walking
  • External, secure-zip, padded 15" laptop pocket
  • Internal, secure-zip pocket holds small essentials
  • Adjustable divider in the main compartment lets you position your gear, or you can remove the divider completely
  • Small, external, secure-zip pocket holds quick-access items such as a passport
  • External webbing offers many lash points
  • Comfortable padded shoulder straps unclip and conceal behind the back panel so you can carry it as a backpack or duffel
  • Recycled webbing, buckles and mesh