Our Beautiful Store is open at 180 East Route 59 #2 Spring Valley, New York 10977
SKU: ASA-ILLUME-45253172000
ILLUME SEASONAL BALSAM & CEDAR DEMI TIN CANDLE 3OZ
$11.99
ILLUME SEASONAL BALSAM & CEDAR DEMI TIN CANDLE 3OZ
is backordered and will ship as soon as it is back in stock.
Our playful mini tin offers just as much fragrance in a compact and portable package. Crafted from our exclusive vegetable, soy and paraffin wax blend with a cotton wick.
Details
Size : 3OZ
Fragrance Note : Orange, Green Leaf, Berries, Fir, Pine
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();