Education, ritual, relief & vibe — without intimidation. Book Quick Consults while you are in the store for immediate support, and we can build your cart. These are great if you are unsure what strains, terpenes, cannabinoids or methods to use when utilizing cannabis for fun, pain, mental health, social support, heath and wellness, spiritual smoking and more!
We offer guidance that considers any medications, diagnosis, and lifestyle.
Choosing a selection results in a full page refresh.
Opens in a new window.
function isValidLocation(value) {
return VALID_LOCATIONS.indexOf(value) !== -1;
}
function isCheckoutLikePath(pathname) {
return (
pathname.startsWith('/checkout') ||
pathname.startsWith('/checkouts') ||
pathname.startsWith('/thank_you') ||
pathname.startsWith('/orders')
);
}
function getCookie(name) {
var pattern = '(?:^|; )' + name.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&') + '=([^;]*)';
var match = document.cookie.match(new RegExp(pattern));
return match ? decodeURIComponent(match[1]) : null;
}
function setCookie(name, value, days) {
var expires = '';
if (days) {
var date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
expires = '; expires=' + date.toUTCString();
}
document.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/; SameSite=Lax';
}
function removeCookie(name) {
document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; SameSite=Lax';
}
function getSavedLocation() {
var localValue = localStorage.getItem(STORAGE_KEY);
if (isValidLocation(localValue)) return localValue;
var cookieValue = getCookie(COOKIE_KEY);
if (isValidLocation(cookieValue)) return cookieValue;
return null;
}
function applyLocation(location) {
if (!isValidLocation(location)) return;
localStorage.setItem(STORAGE_KEY, location);
setCookie(COOKIE_KEY, location, 30);
document.documentElement.setAttribute('data-store-location', location);
document.dispatchEvent(
new CustomEvent('store:location-changed', {
detail: { location: location }
})
);
}
function resetLocationSelection() {
localStorage.removeItem(STORAGE_KEY);
removeCookie(COOKIE_KEY);
document.documentElement.removeAttribute('data-store-location');
}
function closeLocationPopup() {
var popup = document.getElementById('locationPopup');
if (popup) popup.style.display = 'none';
}
function showLocationPopup() {
var popup = document.getElementById('locationPopup');
if (popup) popup.style.display = 'block';
}
function clearCartIfLocationChanged(previousLocation, newLocation) {
if (!previousLocation || previousLocation === newLocation) {
return Promise.resolve();
}
return fetch('/cart/clear.js', {
method: 'POST',
credentials: 'same-origin'
}).catch(function () {
return null;
});
}
function redirectToLocationHome(location, useReplace) {
if (location === 'home') return;
var targetRoute = LOCATION_HOME_ROUTES[location];
if (!targetRoute) return;
if (window.location.pathname === targetRoute) return;
if (useReplace) {
window.location.replace(targetRoute);
return;
}
window.location.href = targetRoute;
}
window.GazzGodzLocation = {
getLocation: getSavedLocation,
applyLocation: applyLocation,
resetLocation: resetLocationSelection,
getLocationHomeRoute: function (location) {
return LOCATION_HOME_ROUTES[location] || null;
}
};
window.setLocation = function (location) {
if (!isValidLocation(location)) return;
var previousLocation = getSavedLocation();
applyLocation(location);
closeLocationPopup();
clearCartIfLocationChanged(previousLocation, location).finally(function () {
redirectToLocationHome(location, false);
});
};
document.addEventListener('click', function (event) {
var checkoutTrigger = event.target.closest(
'button[name="checkout"], input[name="checkout"], a[href*="/checkout"]'
);
if (checkoutTrigger) {
sessionStorage.setItem(RESET_AFTER_CHECKOUT_KEY, '1');
}
});
document.addEventListener('DOMContentLoaded', function () {
var path = window.location.pathname;
var isDesignMode = window.Shopify && Shopify.designMode;
if (isDesignMode || isCheckoutLikePath(path)) return;
var shouldResetAfterCheckout = sessionStorage.getItem(RESET_AFTER_CHECKOUT_KEY) === '1';
var fromCheckoutReferrer =
document.referrer.indexOf('/checkout') !== -1 || document.referrer.indexOf('/checkouts') !== -1;
if (shouldResetAfterCheckout && fromCheckoutReferrer) {
resetLocationSelection();
sessionStorage.removeItem(RESET_AFTER_CHECKOUT_KEY);
}
var currentLocation = getSavedLocation();
if (currentLocation) {
applyLocation(currentLocation);
if (path === '/' || path === '') {
redirectToLocationHome(currentLocation, true);
return;
}
return;
}
showLocationPopup();
});
})();