🎁Free Shipping on Orders Over $59🎉
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
1 / 8
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
Birds Stained Glass Window Hangings
59% OFF
Fnkus

Birds Stained Glass Window Hangings

$12.00 $29.00
2 sold
Style
Qty 896 in stock

  • ⭐Returns>> 100% Money Back Guarantee.
  • Shipping>>Worldwide Express Shipping Available
  • Processing time >> Delivery within 24hours after payment.
  • 🔥Limited Stock At This Price🔥

This stained glass bird suncatcher is so vibrant and eye-catching😍 Hummingbird, cardinal, bluebird and Baltimore oriole are very attractive and cute birds. Having a lot of significant symbolistic meaning, this suncatcher will magically change your home to the happiest place of living full of joy and happiness ❤️ I'm sure that everyone will be thrilled by such a gift 🎁

Birds stained glass window hangings Mothers Day gift Stained 4 birds

NOTE: each suncatcher is unique and made by hands, that's why small deviation from the photos in the listing is possible ☝️

Birds stained glass window hangings Mothers Day gift Stained image 5

This window hanging is made using L.C. Tiffany method of copper foil. During the process of manufacturing goods we use only the high-quality materials, such as:

• 3 mm Spectrum Glass (USA)
• 3 mm Wissmach Glass (USA)
• Copper Foil
• Tin
• Paint
• Black Patina

Birds stained glass window hangings Mothers Day gift Stained 7 birds

So you are ensured to receive a high quality product, that will please you and be in perfect condition for years to come🤗

Care instruction: wipe with wet cloth.

Width:

  • 4 birds: 7.87 inches
  • 7 birds: 9.25 inches

This suncatcher is careful packed in the brand package together with SUCTION CUP for easily hanging on window.

🌎 Worldwide Shipping ✈  

Please do note that shipping is insured and takes 7-20 business days worldwide. However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 

🔒 100% Risk-Free Purchase 🔥

  • We truly believe we carry some of the most innovative products in the world, and we want to make sure we back that up with a risk-free ironclad 14-day guarantee.
  • If you don't have a positive experience for ANY reason, we will do WHATEVER it takes to make sure you are 100% satisfied with your purchase.
  • Buying items 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, no hard feelings we'll make it right.
  • We have 24/7/365 Ticket and Email Support. Please contact us if you need assistance.

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);