Skip to content
Left
Continue shopping
Your Order
You have no items in your cart
You might like
Product
$10.00
Add to cart
Facebook
Youtube
Instagram
Pinterest
Twitter
Our Beautiful Store is open at 180 East Route 59 #2 Spring Valley, New York 10977
Offers
Deal of the Week ( USE Coupon Code TAKE25)
Clearance Sale (USE Coupon Code TAKE20)
Gifts
Gift Baskets
Gift Set
Baby Girl Gifts
Diaper Cakes
Baby Boy Gifts
Body & Bath
Christmas Gift Basket
Corporate Baskets
Gift Basket for Kids
Gift Certificate
Sympathy Baskets
Candles
Diffusers
Soaps
Shop by Brand
Shop by Category
Home
/
Green Leaf bella freesia
Green Leaf bella freesia
Greenleaf Lavender Slim Sachet
$3.25
Greenleaf Haven Candle Cube Votive
$4.49
Greenleaf Haven Petite Candle
$9.99
Greenleaf Bella Freesia Candle Cube Votive
$5.99
Greenleaf Bella Freesia Petite Candle
$9.99
Greenleaf Tuscan Vineyard Room Spray
$16.99
Greenleaf Cashmere Kiss Signature Candle
$24.99
Greenleaf Classic Linen Signature Candle
$28.99
Greenleaf Peony Bloom Flower Diffuser
$41.99
Greenleaf Peony Bloom Signature Candle
$24.99
Greenleaf Lavender Flower Diffuser
$41.99
Greenleaf Lavender Signature Candle
$22.99
Greenleaf Haven Signature Reed Diffuser
$27.99
Greenleaf Bella Freesia Signature Reed
$21.99
Greenleaf Bella Freesia Signature Candle
$17.99
Greenleaf Slim Sachet Peony Bloom Set of 3
$6.00
Greenleaf Large Sachet Classic Linen Set of 2
$9.99
Greenleaf Flower Diffuser Cashmere Kiss 8oz
$35.99
Greenleaf Flower Diffuser Classic Linen 8oz
$25.99
Greenleaf Flower Diffuser Bella Freesia 8oz
$35.99
Greenleaf Signature Reed Diffuser Peony Bloom 4.2oz
$21.99
Greenleaf Room Spray Peony Bloom 6oz
$17.99
Greenleaf Room Spray Bella Freesia 6oz
$16.99
Greenleaf Room Spray Classic Linen 6oz
$16.99
Greenleaf Candle Signature Tin Peony Bloom 7oz
$12.00
Greenleaf Candle Heirloom Classic Linen 9.5oz
$22.00
Greenleaf Candle Signature Tin Candle Bella Freesia 7oz
$12.00
Greenleaf Candle Signature Tin Candle Haven 7oz
$13.99
Greenleaf Candle Heirloom Bella Freesia 9.5oz
$24.99
Greenleaf Candle Heirloom Haven 9.5oz
$24.99
Greenleaf Candle Classic Linen 9.5oz
$21.99
Greenleaf Small Sachet Haven
$1.65
GreenLeaf Lavender Gift Sets
$65.99
Greenleaf Classic Linen Petite Candle
$9.99
Greenleaf Small Sachet Peony Bloom Set of 3
$9.00
Greenleaf Small Sachet Haven Set of 3
$6.99
Greenleaf Small Sachet Bella Freesia Set of 3
$7.99
Greenleaf Large Sachet Peony Bloom Set of 2
$6.99
Greenleaf Large Sachet Bella Freesia Set of 2
$8.99
89 results
Left
1
2
Right
static debounce(func, timeout = 300) { let timer; return (...args) => { clearTimeout(timer); timer = setTimeout(() => { func.apply(this, args); }, timeout); }; } loadLazyImage(img) { const imgLazySrc = img.getAttribute('data-lazy-src'), imgLazyBg = img.getAttribute('data-lazy-bg'); if(!imgLazySrc && !imgLazyBg) { console.warn('CC', 'Unable to load lazy image, no URL specified', img); return; } const imageLoadHandler = (newSrc) => { if(imgLazySrc) { img.setAttribute('src', newSrc); } else { img.style.backgroundImage = `url('${newSrc}')`; } // When images are lazy loaded, add a class to any text shadow containers const closestTextShadow = img.closest('.has-tint--shadow'); if (closestTextShadow) { closestTextShadow.classList.add('has-tint--shadow-in'); } // Remove lazy placeholder if (img.parentElement.classList.contains('lazyload--placeholder')) { img.parentElement.classList.remove('lazyload--placeholder'); } img.setAttribute('data-lazy-loaded', true); } // Find the closest parent with a width let imgWidth = img.clientWidth; if (imgWidth === 0) { let getWidth = function (imgParent) { return imgParent.clientWidth > 0 ? imgParent.clientWidth : getWidth(imgParent.parentElement); } imgWidth = getWidth(img.parentElement); } // Get the nearest width which is higher than this images width let closestWidth = 2048; for (let num of [80, 120, 180, 220, 300, 360, 460, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]) { if (num > imgWidth) { closestWidth = num; break; } } // Load the image if(imgLazySrc || imgLazyBg){ const imgUrl = imgLazySrc ? imgLazySrc : imgLazyBg, oldSrc = img.getAttribute('src') || img.style.backgroundImage, newSrc = imgUrl.replace('{width}x', closestWidth + (window.devicePixelRatio > 1 || window.innerWidth <= 1024 ? 'x@2x' : 'x')); if (!oldSrc || oldSrc !== newSrc) { const tempImage = new Image(); tempImage.addEventListener('load', () => imageLoadHandler(newSrc)); tempImage.src = newSrc; } } } loadLazyImages(recheckImages) { let selectorSuffix = recheckImages ? '' : ':not([data-lazy-loaded="true"])'; // If image lazy loading is supported if ('loading' in HTMLImageElement.prototype) { document.querySelectorAll(`[data-lazy-src]${selectorSuffix}`).forEach(this.loadLazyImage); if(this.intersectionObserver) { document.querySelectorAll(`[data-lazy-bg]${selectorSuffix}`).forEach(imgBg => { this.intersectionObserver.observe(imgBg); }); } } else if (this.intersectionObserver) { document.querySelectorAll(`[data-lazy-src]${selectorSuffix},[data-lazy-bg]${selectorSuffix}`).forEach(img => { this.intersectionObserver.observe(img); }); } else { // Lazy loading and intersection observer not supported, fallback!! document.querySelectorAll(`[data-lazy-src]${selectorSuffix},[data-lazy-bg]${selectorSuffix}`).forEach(this.loadLazyImage); } } bindObservers() { // Observe scrolling where needed if ('IntersectionObserver' in window) { this.intersectionObserver = new IntersectionObserver( // Observe window resize events window.addEventListener('resize', ImageLazyLoaderInstance.debounce(() => this.loadLazyImages(true))); window.addEventListener("load", () => { // Observe DOM changes const observer = new MutationObserver(ImageLazyLoaderInstance.debounce(() => { this.loadLazyImages(); // Broadcast an event for future usage document.documentElement.dispatchEvent( new CustomEvent('theme:body-dom-change', {bubbles: true, cancelable: false}) ); }, 10)); observer.observe(document.body, { childList: true, subtree: true }); }); } } window.theme = window.theme || {}; theme.imageLazyLoader = new ImageLazyLoaderInstance(); /* Check for full width sections */ theme.assessFullWidthSections = function() { document.querySelectorAll('.has-alt-bg').forEach(elem => elem.classList.remove('last-alt-bg')); document.querySelectorAll('.has-full-width-section').forEach(elem => elem.classList.remove('last-full-width-section')); document.querySelectorAll('#content .shopify-section > .use-alt-bg').forEach(elem => elem.parentElement.classList.add('has-alt-bg')); document.querySelectorAll('#content .shopify-section > .full-width-section').forEach(elem => { const section = elem.parentElement; section.classList.add('has-full-width-section'); if (section.parentElement.lastElementChild === section) { section.classList.add('last-full-width-section'); } }); }; theme.assessFullWidthSections();