Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)
Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)

Men's Beach Shorts Casual Plus Size Double Layer Shorts (buy one get one free)

Price

$69.99 $39.99
Save $30.00
Free shipping on orders over 69.9

buy one

Please select a buy one

get one free

Please select a get one free

size

Please select a size

Quantity

Free returns
Sustainably made
Secure payments

Flexibility:
With their unique pattern, these running shorts offer full flexibility and body movement. The stretchable fabric won’t hinder your actions, especially at the gym or other activities. They are perfect for every sport.
undefined

Resilient Band:
For added comfort, the elastic waistband stretches with your body while you move.

undefined

Moisture Wicking:
The breathable and stretchable fabric makes wearing men's 2 in 1 running shorts for any extreme activity perfect as they absorb excess moisture and wick sweat away from your skin to avoid any sticky or clammy feelings you may get.

undefined

Lightweight:
This men's 2 in 1 workout shorts is made of a poly-spandex fabric that is soft against the skin while fitting snug like a second skin.

undefined

Occasion:
Perfect for indoor or outdoor activities, such as hiking, cycling, running, snowboarding, riding, climbing, skiing, camping, military& tactical games, hunting and fishing.

undefined

Men workout running shorts will be also a best christmas and birthday gift for son husband father.

  • 90% Polyester, 10% Spandex
  • 2-in-1 Design: Outer layer shorts with quick-dry fabric to keep you comfortable for workouts and practice. Built-in mesh compression shorts with tight fit offers support thighs muscle to improve performance and provide a more generous fit for extra mobility.
  • Delicate Details: The side of the shorts is a slant insert pocket, and the inner lining has a well-cut and firm internal pocket, allowing you to hold your personal belongings. The drawstring in the same color at the waist can be adjusted according to your figure to give maximum comfort to the waist.
  • Adjustable Drawstring: Thanks to the elastic waistband coupled with the adjustable drawstring, our men running shorts make sure you get the perfect fit every time. The sports shorts for men stay securely in place all day so you can comfortably move around.
  • Moisture Wicking Technology: Stay cool and dry – our most popular athletic shorts for men now feature moisture wicking technologies and laser-cut ventilation for even more comfort during your workout. Perfect for relaxing or running shorts.

MONEY BACK GUARANTEE
If you are not satisfied with the goods received, please contact us within 15 days after receipt, and we will give you the best help! Please don't worry!

Buying online can be a daunting task, so we want you to realize that there is absolutely ZERO risk in buying something and trying it out. If you don’t like it, we’ll make it right… It’s our promise!

Handcrafted for the women who wear their boots hard, every detail was carefully selected so you can go the extra mile with confidence. Guaranteed to look and feel good for years to come, We promise to look and feel great for years to come and take you wherever you go.

/** @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-1718252090972').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);
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);