Free shipping for two pieces
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
1 / 7
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
23/24 Man. City Home Jersey
52% OFF
shopify

23/24 Man. City Home Jersey

$23.95 $50.00
0 sold
Qty

If you're a true football fan, you can't miss the opportunity to wear the jerseys of the best teams from the most well-known leagues in the world. From La Liga with teams like Real Madrid, Barcelona and Atlético de Madrid, to the Premier League with teams like Manchester United, Liverpool, Chelsea and Arsenal. You can also find jerseys from the Portuguese League, the Brazilian Serie A, the Argentine Primera División, the Italian Serie A and the German Bundesliga.Even if you're a fan of leagues from countries like Qatar, Mexico, the United States or Chile, in our store you will find the jerseys of the most important teams from each league. Our jerseys are designed with the official colors and badges of each team, offering you the possibility of looking like a true fan. Whether you're going to the stadium or prefer to watch the matches from home, our jerseys are the ideal choice to cheer on your team in every game.Don't miss the opportunity to show your support for your favorite club by wearing their jersey in every match. Are you ready to show your love for football and your favorite team? Place your order now and take your passion to the next level! Let's go for the victory!Note: These measurements are approximate and may vary depending on the brand and specific jersey. It is always best to consult the brand's size chart for the most accurate size information.

Size

Width (cm)

Width (in)

Length (cm)

Length (in)

S

53-55 cm

21-21.5"

69-71 cm

27-28"

M

55-57 cm

21.5-22"

71-73 cm

28-29"

L

57-58 cm

22.5-23"

73-75 cm

29-29.5"

XL

58-60 cm

23-23.5"

75-78 cm

29.5-31"

XXL

60-62 cm

23.5-24"

78-81 cm

31-32"

Note: These measurements are approximate and may vary depending on the brand and specific jersey. It is always best to consult the brand's size chart for the most accurate size information.

const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);