1<!doctype html> 2<html class="no-js supports-no-cookies" lang="en"> 3<head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width,initial-scale=1"> 7 <meta name="theme-color" content=""> 8 <link rel="canonical" href="https://iotastudio.ca/products/indigo-workshop-held-in-form-shirt-dyeing"> 9 <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 10 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 11 <link rel="preconnect" href="https://fonts.shopify.com" crossorigin> 12 <link rel="preconnect" href="https://monorail-edge.shopifysvc.com"> 13 14 15<link rel="shortcut icon" href="//iotastudio.ca/cdn/shop/files/iota_logo_32x32.png?v=1738793707" type="image/png"><title>Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edm 16– IOTA STUDIO</title><meta name="description" content="Join instructor Danny Ross on Sunday, October 18 for an exclusive Held in Form t-shirt indigo dyeing workshop. This one day beginner workshop will provide participants with a general overview of indigo history, chemistry and dyeing methods. Using a simple indigo reduction formula and various hand sewing or wood block ">
16<script> 17 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 18 </script>
18 19 20 <!-- Start IE11 compatibility --> 21
21<script> 22 if (!!window.MSInputMethodContext && !!document.documentMode) { 23 // CSSVar Polyfill 24 document.write('
24<script src="https://cdn.jsdelivr.net/gh/nuxodin/[email protected]/ie11CustomProperties.min.js"><\x2fscript>'); 25 26 document.documentElement.className = document.documentElement.className.replace('js', 'no-js'); 27 28 document.addEventListener('DOMContentLoaded', function () { 29 var elsToLazyload = document.querySelectorAll('.lazyload'); 30 for (var i = 0; i < elsToLazyload.length; i++) { 31 var elToLazyLoad = elsToLazyload[i]; 32 elToLazyLoad.removeAttribute('src'); 33 var src = elToLazyLoad.getAttribute('data-src').replace('_{width}x.', '_600x.'); 34 elToLazyLoad.setAttribute('src', src); 35 elToLazyLoad.classList.remove('lazyload'); 36 elToLazyLoad.classList.add('lazyloaded'); 37 } 38 }); 39 } 40 </script>
40 41 <!-- End IE11 compatibility --> 42 <style>:root { 43 --base-font-size: 137.5%; 44 --base-line-height: 1.2; 45 46 --heading-font-stack: "Libre Franklin", sans-serif; 47 --heading-font-weight: 400; 48 --heading-font-style: normal; 49 --heading-line-height: 1; 50 51 52 --body-font-stack: "Libre Franklin", sans-serif; 53 --body-font-weight: 400; 54 --body-font-bold: FontDrop; 55 --body-font-bold-italic: FontDrop; 56 57 /* 58 Primary color scheme 59 */ 60 --color-primary-accent: rgb(0, 139, 139); 61 --color-primary-text: rgb(0, 0, 0); 62 --color-primary-text-rgb: 0, 0, 0; 63 --color-primary-background: rgb(253, 244, 238); 64 --color-primary-background-hex: #fdf4ee; 65 --color-primary-meta: rgb(0, 139, 139); 66 --color-primary-text--overlay: rgb(253, 244, 238); 67 --color-primary-accent--overlay: rgb(253, 244, 238); 68 --color-primary-text-placeholder: rgba(0, 0, 0, 0.1); 69 --color-primary-background-0: rgba(253, 244, 238, 0); 70 71 72 /* 73 Secondary color scheme 74 */ 75 --color-secondary-accent: rgb(255, 255, 255); 76 --color-secondary-text: rgb(0, 0, 0); 77 --color-secondary-background: rgb(0, 255, 255); 78 --color-secondary-background-hex: #00ffff; 79 --color-secondary-meta: rgb(0, 0, 0); 80 --color-secondary-text--overlay: rgb(0, 255, 255); 81 --color-secondary-accent--overlay: rgb(0, 0, 0); 82 --color-secondary-text-placeholder: rgba(0, 0, 0, 0.1); 83 --color-secondary-background-0: rgba(0, 255, 255, 0); 84 85 /* 86 Tertiary color scheme 87 */ 88 --color-tertiary-accent: rgb(203, 213, 204); 89 --color-tertiary-text: rgb(0, 0, 0); 90 --color-tertiary-background: rgb(0, 255, 255); 91 --color-tertiary-background-hex: #00ffff; 92 --color-tertiary-meta: rgb(252, 252, 252); 93 --color-tertiary-text--overlay: rgb(0, 255, 255); 94 --color-tertiary-accent--overlay: rgb(0, 0, 0); 95 --color-tertiary-text-placeholder: rgba(0, 0, 0, 0.1); 96 --color-tertiary-background-0: rgba(0, 255, 255, 0); 97 98 --white-text--overlay: rgb(0, 0, 0); 99 --black-text--overlay: rgb(253, 244, 238); 100 101 --color-border: rgb(0, 0, 0); 102 --border-width: 2px; 103 104 105 --text-width: 2px; 106 --checkbox-width: 1px; 107 108 109 --font-heading: "Libre Franklin", sans-serif; 110 --font-body: "Libre Franklin", sans-serif; 111 --font-body-weight: 400; 112 --font-body-style: normal; 113 --font-body-bold-weight: bold; 114 115 --heading-letterspacing: 0.0; 116 --heading-capitalize: none; 117 --heading-decoration: underline; 118 119 --bopy-copy-transform: none; 120 121 --wrapperWidth: 100vw; 122 --gutter: 2px; 123 --rowHeight: calc((var(--wrapperWidth) - (11 * var(--gutter))) / 12); 124 125 --ratioA: 1; 126 --ratioB: 1; 127 128 --header-height: 66px; 129 --add-to-cart-height: 44px; 130 131 --spacing: 1rem; 132 --spacing-double: 2rem; 133 --spacing-half: 0.5rem; 134 135 /* 136 Buttons 137 */ 138 --button-text-transform: none; 139 --button-border-radius: 0; 140 --button-border-color: var(--color-primary-text); 141 --button-background-color: var(--color-primary-text); 142 --button-text-color: var(--color-primary-text--overlay); 143 --button-border-color-hover: var(--color-primary-accent); 144 --button-background-color-hover: var(--color-primary-accent); 145 --button-text-color-hover: var(--color-primary-accent--overlay); 146 147 148 /* 149 SVG ico select 150 */ 151 --icon-svg-select: url(//iotastudio.ca/cdn/shop/t/8/assets/ico-select.svg?v=128124354853601741871646160860); 152 --icon-svg-select-primary: url(//iotastudio.ca/cdn/shop/t/8/assets/ico-select__primary.svg?v=138688341099480697841646160860); 153 --icon-svg-select-secondary: url(//iotastudio.ca/cdn/shop/t/8/assets/ico-select__secondary.svg?v=184099902076870163431646160860); 154 --icon-svg-select-tertiary: url(//iotastudio.ca/cdn/shop/t/8/assets/ico-select__tertiary.svg?v=184099902076870163431718681259); 155 156 } 157</style> 158 159 <style> 160 @keyframes marquee { 161 0% { 162 transform: translateX(0); 163 -webkit-transform: translateX(0); 164 } 165 100% { 166 transform: translateX(-100%); 167 -webkit-transform: translateX(-100%); 168 } 169 } 170 </style> 171 <style>#MainContent{opacity:0;visibility:hidden}[x-cloak]{display:none!important}.marquee-container{visibility:hidden}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;margin:0}hr{color:inherit;height:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}
171code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}
171[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{color:inherit;line-height:inherit;padding:0}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bg-transparent{background-color:transparent}.bg-primary-background{background-color:var(--color-primary-background)}.bg-primary-accent{background-color:var(--color-primary-accent)}.bg-secondary-background{background-color:var(--color-secondary-background)}.bg-secondary-accent{background-color:var(--color-secondary-accent)}.bg-tertiary-background{background-color:var(--color-tertiary-background)}.bg-tertiary-accent{background-color:var(--color-tertiary-accent)}.bg-header-background{background-color:var(--color-header-background)}.bg-header-accent{background-color:var(--color-header-accent)}.bg-footer-background{background-color:var(--color-footer-background)}.bg-footer-accent{background-color:var(--color-footer-accent)}.bg-border{background-color:var(--color-border)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-primary-background-0{--tw-gradient-from:var(--color-primary-background-0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.from-secondary-background-0{--tw-gradient-from:var(--color-secondary-background-0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.from-tertiary-background-0{--tw-gradient-from:var(--color-tertiary-background-0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.from-header-background-0{--tw-gradient-from:var(--color-header-background-0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-primary-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-primary-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-secondary-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-secondary-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-tertiary-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-tertiary-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-header-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-header-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-footer-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-footer-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.to-primary-background{--tw-gradient-to:var(--color-primary-background)}.to-secondary-background{--tw-gradient-to:var(--color-secondary-background)}.to-tertiary-background{--tw-gradient-to:var(--color-tertiary-background)}.to-header-background{--tw-gradient-to:var(--color-header-background)}.to-footer-background{--tw-gradient-to:var(--color-footer-background)}.border-primary-text{border-color:var(--color-primary-text)}.border-secondary-text{border-color:var(--color-secondary-text)}.border-tertiary-text{border-color:var(--color-tertiary-text)}.border-header-text{border-color:var(--color-header-text)}.border-footer-text{border-color:var(--color-footer-text)}.border-white-text{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.border-black-text{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.border-grid-color,.border-theme-color{border-color:var(--color-border)}.hover\:border-primary-accent:hover{border-color:var(--color-primary-accent)}.hover\:border-secondary-accent:hover{border-color:var(--color-secondary-accent)}.hover\:border-tertiary-accent:hover{border-color:var(--color-tertiary-accent)}.hover\:border-header-accent:hover{border-color:var(--color-header-accent)}.hover\:border-footer-accent:hover{border-color:var(--color-footer-accent)}.rounded-full{border-radius:9999px}.border-t-grid{border-top-width:var(--border-width)}.border-b-grid{border-bottom-width:var(--border-width)}.border-b-text{border-bottom-width:var(--text-width)}.block{display:block}.inline-block{display:inline-block}
171.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.self-stretch{align-self:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-grow{flex-grow:1}.h-2{height:.5rem}.h-5{height:1.25rem}.h-full{height:100%}.text-sm{font-size:.8rem}.text-base,.text-sm{line-height:var(--base-line-height)}.text-base{font-size:1rem}.text-lg{font-size:1.25rem}.text-lg,.text-xl{line-height:var(--base-line-height)}.text-xl{font-size:1.563rem}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-auto{margin-bottom:auto;margin-top:auto}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.ml-4{margin-left:1rem}.mr-6{margin-right:1.5rem}.ml-16{margin-left:4rem}.ml-auto{margin-left:auto}.-ml-4{margin-left:-1rem}.-ml-16{margin-left:-4rem}.opacity-0{opacity:0}.opacity-100{opacity:1}.overflow-x-auto{overflow-x:auto}.p-1{padding:.25rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-theme{padding-bottom:var(--spacing);padding-top:var(--spacing)}.py-theme-half{padding-bottom:var(--spacing-half);padding-top:var(--spacing-half)}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pt-8{padding-top:2rem}.placeholder-current::-moz-placeholder{color:currentColor}.placeholder-current:-ms-input-placeholder{color:currentColor}.placeholder-current::placeholder{color:currentColor}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:.25rem}.top-2{top:.5rem}.right-2{right:.5rem}.-bottom-2{bottom:-.5rem}.left-1\/2{left:50%}*{--tw-shadow:0 0 transparent;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.fill-current{fill:currentColor}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary-text{color:var(--color-primary-text)}.text-primary-accent{color:var(--color-primary-accent)}.text-secondary-text{color:var(--color-secondary-text)}.text-secondary-accent{color:var(--color-secondary-accent)}.text-tertiary-text{color:var(--color-tertiary-text)}.text-tertiary-accent{color:var(--color-tertiary-accent)}.text-header-text{color:var(--color-header-text)}.text-header-accent{color:var(--color-header-accent)}.text-footer-text{color:var(--color-footer-text)}.text-footer-accent{color:var(--color-footer-accent)}.text-white-text{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-black-text{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.hover\:text-primary-accent:hover{color:var(--color-primary-accent)}.hover\:text-secondary-accent:hover{color:var(--color-secondary-accent)}.hover\:text-tertiary-accent:hover{color:var(--color-tertiary-accent)}.hover\:text-header-accent:hover{color:var(--color-header-accent)}.hover\:text-footer-accent:hover{color:var(--color-footer-accent)}.italic{font-style:italic}.uppercase{text-transform:uppercase}.oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.w-2{width:.5rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-theme-width{width:var(--border-width)}.w-1\/3{width:33.333333%}.w-full{width:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-60{z-index:60}.z-70{z-index:70}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.origin-center{transform-origin:center}.rotate-180{--tw-rotate:180deg}.-translate-x-1\/2{--tw-translate-x:-50%}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-full{--tw-translate-y:100%}.translate-y-0-important{--tw-translate-y:0px!important}.transition{transition-duration:.15s;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}html{background-color:var(--color-primary-background);color:var(--color-primary-text)}html.rte a:hover,html .rte a:hover{color:var(--color-primary-accent);-webkit-text-decoration-color:var(--color-primary-accent);text-decoration-color:var(--color-primary-accent)}html :focus{outline-color:var(--color-primary-accent);outline-offset:.25rem;outline-style:solid;outline-width:var(--text-width)}html{font-size:var(--base-font-size);line-height:var(--base-line-height)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--body-font-stack);font-style:var(--body-font-style);font-weight:var(--body-font-weight);-webkit-text-size-adjust:100%;text-transform:var(--bopy-copy-transform)}.font-heading{font-family:var(--heading-font-stack);font-style:var(--heading-font-style);
171font-weight:var(--heading-font-weight);letter-spacing:var(--heading-letterspacing);-webkit-text-decoration:var(--heading-decoration);text-decoration:var(--heading-decoration);text-transform:var(--heading-capitalize)}.font-body{font-family:var(--body-font-stack);font-style:var(--body-font-style);font-weight:var(--body-font-weight);letter-spacing:0;text-decoration:none;text-transform:var(--body-font-style);text-transform:var(--bopy-copy-transform)}.responsive-image-wrapper:before{content:"";display:block}.responsive-image{opacity:0}.responsive-image.lazyloaded{opacity:1}.responsive-image-placeholder{opacity:.05}.responsive-image.lazyloaded+.responsive-image-placeholder{opacity:0}.text-primary-text .responsive-image-placeholder{background-color:var(--color-primary-text)}.text-secondary-text .responsive-image-placeholder{background-color:var(--color-secondary-text)}.text-tertiary-text .responsive-image-placeholder{background-color:var(--color-tertiary-text)}.no-js .responsive-image-placeholder{display:none}.visually-hidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}svg{height:100%;width:100%}.skip-link{background-color:var(--color-primary-background);color:var(--color-primary-text);left:0;opacity:0;padding:1rem;pointer-events:none;position:absolute;top:0;z-index:50}select.skip-link{background-image:var(--icon-svg-select-primary)}.skip-link.rte a:hover,.skip-link .rte a:hover,.text-primary-text.rte a:hover,.text-primary-text .rte a:hover{color:var(--color-primary-accent);-webkit-text-decoration-color:var(--color-primary-accent);text-decoration-color:var(--color-primary-accent)}.skip-link :focus{outline-color:var(--color-primary-accent);outline-offset:.25rem;outline-style:solid;outline-width:var(--text-width)}.skip-link:focus{opacity:1;pointer-events:auto}#sticky-positioner{height:1px;left:0;position:absolute;top:var(--border-width);width:1px}.no-js:not(html){display:none}.no-js .no-js:not(html){display:block}.supports-no-cookies:not(html),[hidden],[x-cloak],html.no-js .js-enabled{display:none}.supports-no-cookies .supports-no-cookies:not(html){display:block}.section-x-padding{padding-left:.5rem;padding-right:.5rem}@media (min-width:1024px){.section-x-padding{padding-left:1rem;padding-right:1rem}}#MainContent .shopify-section:first-of-type section{margin-top:calc(var(--border-width)*-1)}#MainContent .shopify-section.has-full-screen-setting:first-of-type section .h-screen-header{height:calc(100vh - var(--header-height, 0px))}@media (max-width:1023px){#MainContent .shopify-section.has-full-screen-setting:first-of-type section .background-video-wrapper--full-screen{padding-bottom:calc(100vh - var(--header-height, 0px))}}@media (min-width:1024px){#MainContent .shopify-section.has-full-screen-setting:first-of-type section .lg\:background-video-wrapper--full-screen{padding-bottom:calc(100vh - var(--header-height, 0px))}}select{background-image:var(--icon-svg-select);background-position:100%;background-repeat:no-repeat;background-size:1em 1em}input[type=email],input[type=password],input[type=text]{-webkit-appearance:none;border-radius:0}select.text-primary-text{background-image:var(--icon-svg-select-primary)}select.text-secondary-text{background-image:var(--icon-svg-select-secondary)}select.text-tertiary-text{background-image:var(--icon-svg-select-tertiary)}button{border-radius:0}.button{background-color:var(--button-background-color);border-color:var(--button-border-color);border-radius:var(--button-border-radius);border-width:var(--text-width);color:var(--button-text-color);cursor:pointer;padding:.5rem 2rem;text-transform:var(--button-text-transform)}.button:hover{background-color:var(--button-background-color-hover);border-color:var(--button-border-color-hover);color:var(--button-text-color-hover)}.show-button-arrows .button:after{content:"\00a0\00a0\2192"}.button span,.button svg,button span,button svg{pointer-events:none}@media (prefers-reduced-motion:reduce){.marquee-container{display:block;padding-left:.5rem;padding-right:.5rem;text-align:center;white-space:normal}@media (min-width:1024px){.marquee-container{padding-left:1rem;padding-right:1rem}}
171.marquee span{display:none}.marquee span:first-child{display:inline}}.marquee-container{visibility:visible}.rte>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rte{line-height:var(--base-line-height)}.rte img{height:auto;max-width:100%;width:100%}.rte ol,.rte ul{margin-left:var(--spacing)}.rte ol>:not([hidden])~:not([hidden]),.rte ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.rte ul{list-style-type:disc}.rte ol{list-style:decimal}.rte h1{font-size:1.953rem;line-height:var(--base-line-height)}@media (min-width:1024px){.rte h1{font-size:3.815rem;line-height:1}}.rte h2{font-size:1.953rem;line-height:var(--base-line-height)}@media (min-width:1024px){.rte h2{font-size:2.441rem;line-height:calc(var(--base-line-height)*.9)}}.rte h1,.rte h2{font-family:var(--heading-font-stack);font-style:var(--heading-font-style);font-weight:var(--heading-font-weight);letter-spacing:var(--heading-letterspacing);-webkit-text-decoration:var(--heading-decoration);text-decoration:var(--heading-decoration);text-transform:var(--heading-capitalize)}.rte a{text-decoration:underline}.text-primary-text.rte a:hover,.text-primary-text .rte a:hover{color:var(--color-primary-accent);-webkit-text-decoration-color:var(--color-primary-accent);text-decoration-color:var(--color-primary-accent)}.text-secondary-text.rte a:hover,.text-secondary-text .rte a:hover{color:var(--color-secondary-accent);-webkit-text-decoration-color:var(--color-secondary-accent);text-decoration-color:var(--color-secondary-accent)}.text-tertiary-text.rte a:hover,.text-tertiary-text .rte a:hover{color:var(--color-tertiary-accent);-webkit-text-decoration-color:var(--color-tertiary-accent);text-decoration-color:var(--color-tertiary-accent)}.svg-scale svg{height:1em;width:1em}.svg-scale-height svg{height:.8em;width:auto}.bg-primary-background :focus{outline-color:var(--color-primary-accent)}.bg-primary-background :focus,.bg-secondary-background :focus{outline-offset:.25rem;outline-style:solid;outline-width:var(--text-width)}.bg-secondary-background :focus{outline-color:var(--color-secondary-accent)}.bg-tertiary-background :focus{outline-color:var(--color-tertiary-accent);outline-offset:.25rem;outline-style:solid;outline-width:var(--text-width)}@media (min-width:640px){.sm\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}}@media (min-width:768px){.md\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}}@media (min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-wrap{flex-wrap:wrap}.lg\:mt-0{margin-top:0}.lg\:ml-2{margin-left:.5rem}.lg\:ml-4{margin-left:1rem}.lg\:pt-0{padding-top:0}.lg\:relative{position:relative}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-3\/4{width:75%}}@media (min-width:1280px){.xl\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}}@media (min-width:1536px){.\32xl\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}} 172</style> 173 174 175 176<meta property="og:site_name" content="IOTA STUDIO"> 177<meta property="og:url" content="https://iotastudio.ca/products/indigo-workshop-held-in-form-shirt-
177dyeing"> 178<meta property="og:title" content="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edm"> 179<meta property="og:type" content="product"> 180<meta property="og:description" content="Join instructor Danny Ross on Sunday, October 18 for an exclusive Held in Form t-shirt indigo dyeing workshop. This one day beginner workshop will provide participants with a general overview of indigo history, chemistry and dyeing methods. Using a simple indigo reduction formula and various hand sewing or wood block "><meta property="og:image" content="http://iotastudio.ca/cdn/shop/files/DSCF9010.jpg?v=1791043471"> 181 <meta property="og:image:secure_url" content="https://iotastudio.ca/cdn/shop/files/DSCF9010.jpg?v=1791043471"> 182 <meta property="og:image:width" content="1440"> 183 <meta property="og:image:height" content="1920"> 184 <meta property="og:price:amount" content="160.00"> 185 <meta property="og:price:currency" content="CAD"> 186 187 188 189<meta name="twitter:card" content="summary_large_image"> 190<meta name="twitter:title" content="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edm"> 191<meta name="twitter:description" content="Join instructor Danny Ross on Sunday, October 18 for an exclusive Held in Form t-shirt indigo dyeing workshop. This one day beginner workshop will provide participants with a general overview of indigo history, chemistry and dyeing methods. Using a simple indigo reduction formula and various hand sewing or wood block "> 192 193 194
195<script> 196function onLoadStylesheet() { 197 var url = "//iotastudio.ca/cdn/shop/t/8/assets/theme.min.css?v=51613420106837978151646160849"; 198 var link = document.querySelector('link[href="' + url + '"]'); 199 link.loaded = true; 200 link.dispatchEvent(new CustomEvent('stylesLoaded')); 201 } 202 window.theme_stylesheet = '//iotastudio.ca/cdn/shop/t/8/assets/theme.min.css?v=51613420106837978151646160849'; 203</script>
203 204<link rel="stylesheet" href="//iotastudio.ca/cdn/shop/t/8/assets/theme.min.css?v=51613420106837978151646160849" media="print" onload="this.media='all';onLoadStylesheet();"> 205<noscript><link rel="stylesheet" href="//iotastudio.ca/cdn/shop/t/8/assets/theme.min.css?v=51613420106837978151646160849"></noscript> 206 207 208 209 210 <style> 211 @font-face { 212 font-family: "Libre Franklin"; 213 font-weight: 400; 214 font-style: normal; 215 font-display: swap; 216 src: url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_n4.a9b0508e1ffb743a0fd6d0614768959c54a27d86.woff2") format("woff2"), 217 url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_n4.948f6f27caf8552b1a9560176e3f14eeb2c6f202.woff") format("woff"); 218} 219 220 @font-face { 221 font-family: "Libre Franklin"; 222 font-weight: 400; 223 font-style: normal; 224 font-display: swap; 225 src: url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_n4.a9b0508e1ffb743a0fd6d0614768959c54a27d86.woff2") format("woff2"), 226 url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_n4.948f6f27caf8552b1a9560176e3f14eeb2c6f202.woff") format("woff"); 227} 228 229 @font-face { 230 font-family: "Libre Franklin"; 231 font-weight: 700; 232 font-style: normal; 233 font-display: swap; 234 src: url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_n7.6739620624550b8695d0cc23f92ffd46eb51c7a3.woff2") format("woff2"), 235 url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_n7.7cebc205621b23b061b803310af0ad39921ae57d.woff") format("woff"); 236} 237 238 @font-face { 239 font-family: "Libre Franklin"; 240 font-weight: 700; 241 font-style: normal; 242 font-display: swap; 243 src: url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_n7.6739620624550b8695d0cc23f92ffd46eb51c7a3.woff2") format("woff2"), 244 url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_n7.7cebc205621b23b061b803310af0ad39921ae57d.woff") format("woff"); 245} 246 247 @font-face { 248 font-family: "Libre Franklin"; 249 font-weight: 400; 250 font-style: italic; 251 font-display: swap; 252 src: url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_i4.5cee60cade760b32c7b489f9d561e97341909d7c.woff2") format("woff2"), 253 url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_i4.2f9ee939c2cc82522dfb62e1a084861f9beeb411.woff") format("woff"); 254} 255 256 @font-face { 257 font-family: "Libre Franklin"; 258 font-weight: 700; 259 font-style: italic; 260 font-display: swap; 261 src: url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_i7.5cd0952dea701f27d5d0eb294c01347335232ef2.woff2") format("woff2"), 262 url("//iotastudio.ca/cdn/fonts/libre_franklin/librefranklin_i7.41af936a1cd17668e4e060c6e0ad838ccf133ddd.woff") format("woff"); 263} 264 265 </style> 266 267
268<script> 269window.baseAssetsUrl = '//iotastudio.ca/cdn/shop/t/8/'; 270</script>
vendor: 1 bytes, line 270
270
271<script type="module" src="//iotastudio.ca/cdn/shop/t/8/assets/theme.min.js?v=101364169670360721951646160854" defer="defer"></script>
271 272 273
273<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
273<meta name="google-site-verification" content="SCvx65-YgZtEPn8Mgdtb5nTm7VDzvqARF4ZjOcclat4"> 274<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/60550349055/digital_wallets/dialog"> 275<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" type="application/json+oembed" href="https://iotastudio.ca/products/indigo-workshop-held-in-form-shirt-dyeing.oembed">
276<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
276 277<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
278<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=60550349055" crossorigin="anonymous"></script>
vendor: 1 bytes, line 278
278
279<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":60550349055,"countryCode":"CA","currencyCode":"CAD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/60550349055","merchantName":"IOTA STUDIO","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","discover","amex","interac","jcb"],"total":{"type":"pending","label":"IOTA STUDIO","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 279
279
280<script id="shopify-features" type="application/json">{"accessToken":"954a36e4862315b96a1f309d871e2ddb","betas":["rich-media-storefront-analytics"],"domain":"iotastudio.ca","predictiveSearch":true,"shopId":60550349055,"locale":"en"}</script>
vendor: 1 bytes, line 280
280
281<script>var Shopify = Shopify || {}; 282Shopify.shop = "setsuna-incense.myshopify.com"; 283Shopify.locale = "en"; 284Shopify.currency = {"active":"CAD","rate":"1.0"}; 285Shopify.country = "US"; 286Shopify.theme = {"name":"Baseline","id":131192783103,"schema_name":"Baseline","schema_version":"2.1.0","theme_store_id":910,"role":"main"}; 287Shopify.theme.handle = "null"; 288Shopify.theme.style = {"id":null,"handle":null}; 289Shopify.cdnHost = "iotastudio.ca/cdn"; 290Shopify.routes = Shopify.routes || {}; 291Shopify.routes.root = "/"; 292Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 293Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 294Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 295Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 295
295
296<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 296
296
297<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 297
297
298<script> 299 window.ShopifyPay = window.ShopifyPay || {}; 300 window.ShopifyPay.apiHost = "shop.app\/pay"; 301 window.ShopifyPay.redirectState = null; 302</script>
vendor: 1 bytes, line 302
302
303<script> 304 window.Shopify = window.Shopify || {}; 305 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 306 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 307 window.Shopify.SignInWithShop.eligible = true; 308</script>
vendor: 1 bytes, line 308
308
309<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 309
309
310<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 310
310
311<script type="module"> 312 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 313 314 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 315 316</script>
vendor: 1 bytes, line 316
316
317<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.payment-terms.en.esm.js"></script>
vendor: 1 bytes, line 317
317
318<script type="module"> 319 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.payment-terms.en.esm.js"); 320 321 322</script>
vendor: 1 bytes, line 322
322
323<script> 324 window.Shopify = window.Shopify || {}; 325 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 326 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 327</script>
vendor: 1 bytes, line 327
327
328<script id="__st">var __st={"a":60550349055,"offset":-21600,"reqid":"23d689ec-8af3-401d-a926-6bfc3f4bab20-1791584506","pageurl":"iotastudio.ca\/products\/indigo-workshop-held-in-form-shirt-dyeing","u":"b75180f44d17","p":"product","rtyp":"product","rid":10342858719487};</script>
vendor: 1 bytes, line 328
328
329<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 329
329
330<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 330
330
331<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//iotastudio.ca/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 331
331
332<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//iotastudio.ca/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
332<script crossorigin="anonymous" defer="defer" src="//iotastudio.ca/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 332
332
333<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 333
333
334<script> 335 window.Shopify = window.Shopify || {}; 336 window.Shopify.MCP = window.Shopify.MCP || {}; 337 window.Shopify.MCP.enabled = true; 338 window.Shopify.MCP.shop = "setsuna-incense.myshopify.com"; 339 window.Shopify.MCP.mcpEndpoint = "https:\/\/iotastudio.ca\/api\/mcp"; 340 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 341</script>
vendor: 1 bytes, line 341
341
342<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/iotastudio.ca\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-f427de6a.js","sha256-ypGF+5vIq4Psw4WG7nsVtdd\/TCfsJWnrNuACdqLCElY=");})(); 343</script>
vendor: 1 bytes, line 343
343
344<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://iotastudio.ca/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 345</script>
vendor: 1 bytes, line 345
345
346<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 347 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 348</script>
vendor: 1 bytes, line 348
348
349<script> 350 function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule); 351</script>
351 352
353<script type="module" src="https://iotastudio.ca/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 353
353
354<script nomodule> 355 document.addEventListener("DOMContentLoaded", portableWalletsCleanup); 356</script>
356 357 358<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://iotastudio.ca/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 359<style id="shopify-accelerated-checkout-cart"> 360 #shopify-buyer-consent { 361 margin-top: 1em; 362 display: inline-block; 363 width: 100%; 364} 365 366#shopify-buyer-consent.hidden { 367 display: none; 368} 369 370#shopify-subscription-policy-button { 371 background: none; 372 border: none; 373 padding: 0; 374 text-decoration: underline; 375 font-size: inherit; 376 cursor: pointer; 377} 378 379#shopify-subscription-policy-button::before { 380 box-shadow: none; 381} 382 383 </style> 384
385<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
385 386<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
387<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 60550349055,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 387
387
388<script> 389 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 390</script>
vendor: 1 bytes, line 390
390
391<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
391).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 60550349055,storefrontBaseUrl: "https://iotastudio.ca",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://iotastudio.ca/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab"],webPixelsConfigList: [{"id":"550863103","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"GT-M63LBZ6\\\",\\\"target_country\\\":\\\"CA\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-CGBCM23MET\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-CGBCM23MET\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-CGBCM23MET\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"72351999","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"IOTA STUDIO","paymentSettings":{"currencyCode":"CAD"},"myshopifyDomain":"setsuna-incense.myshopify.com","countryCode":"CA","storefrontUrl":"https:\/\/iotastudio.ca"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":160.0,"currencyCode":"CAD"},"product":{"title":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","vendor":"IOTA STUDIO","id":"10342858719487","untranslatedTitle":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","url":"\/products\/indigo-workshop-held-in-form-shirt-
391dyeing","type":"Workshop"},"id":"50585267372287","image":{"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"sku":null,"title":"Workshop fee and HIF Shirt size SMALL","untranslatedTitle":"Workshop fee and HIF Shirt size SMALL"},{"price":{"amount":160.0,"currencyCode":"CAD"},"product":{"title":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","vendor":"IOTA STUDIO","id":"10342858719487","untranslatedTitle":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","url":"\/products\/indigo-workshop-held-in-form-shirt-dyeing","type":"Workshop"},"id":"50585267405055","image":{"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"sku":null,"title":"Workshop fee and HIF Shirt size MEDIUM","untranslatedTitle":"Workshop fee and HIF Shirt size MEDIUM"},{"price":{"amount":160.0,"currencyCode":"CAD"},"product":{"title":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","vendor":"IOTA STUDIO","id":"10342858719487","untranslatedTitle":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","url":"\/products\/indigo-workshop-held-in-form-shirt-dyeing","type":"Workshop"},"id":"50585267437823","image":{"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"sku":null,"title":"Workshop fee and HIF Shirt size LARGE","untranslatedTitle":"Workshop fee and HIF Shirt size LARGE"},{"price":{"amount":160.0,"currencyCode":"CAD"},"product":{"title":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","vendor":"IOTA STUDIO","id":"10342858719487","untranslatedTitle":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","url":"\/products\/indigo-workshop-held-in-form-shirt-dyeing","type":"Workshop"},"id":"50585267470591","image":{"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"sku":null,"title":"Workshop fee and HIF Shirt size XL or XXL","untranslatedTitle":"Workshop fee and HIF Shirt size XL or XXL"}],"products":[{"id":"10342858719487","handle":"indigo-workshop-held-in-form-shirt-dyeing","isCollective":null,"title":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","type":"Workshop","untranslatedTitle":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","url":"\/products\/indigo-workshop-held-in-form-shirt-dyeing","vendor":"IOTA STUDIO","remoteShopId":null,"variants":[{"id":"50585267372287","image":{"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"price":{"amount":160.0,"currencyCode":"CAD"},"sku":null,"title":"Workshop fee and HIF Shirt size SMALL","untranslatedTitle":"Workshop fee and HIF Shirt size SMALL"},{"id":"50585267405055","image":{"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"price":{"amount":160.0,"currencyCode":"CAD"},"sku":null,"title":"Workshop fee and HIF Shirt size MEDIUM","untranslatedTitle":"Workshop fee and HIF Shirt size MEDIUM"},{"id":"50585267437823","image":{"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"price":{"amount":160.0,"currencyCode":"CAD"},"sku":null,"title":"Workshop fee and HIF Shirt size LARGE","untranslatedTitle":"Workshop fee and HIF Shirt size LARGE"},{"id":"50585267470591","image":{"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"price":{"amount":160.0,"currencyCode":"CAD"},"sku":null,"title":"Workshop fee and HIF Shirt size XL or XXL","untranslatedTitle":"Workshop fee and HIF Shirt size XL or XXL"}]}],"purchasingCompany":null},},"https://iotastudio.ca/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"131192783103","themeStoreId":"910","themePublished":"true","eventMetadataId":"a1d89f7c-15e6-458c-8a4a-36dd136069a1","pageType":"product","resourceId":"10342858719487","shopId":"60550349055","storefrontBaseUrl":"https:\/\/iotastudio.ca","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":160.0,\"currencyCode\":\"CAD\"},\"product\":{\"title\":\"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton\",\"vendor\":\"IOTA STUDIO\",\"
391id\":\"10342858719487\",\"untranslatedTitle\":\"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton\",\"url\":\"\/products\/indigo-workshop-held-in-form-shirt-dyeing\",\"type\":\"Workshop\"},\"id\":\"50585267372287\",\"image\":{\"src\":\"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471\"},\"sku\":null,\"title\":\"Workshop fee and HIF Shirt size SMALL\",\"untranslatedTitle\":\"Workshop fee and HIF Shirt size SMALL\"}}]]"});})();</script>
391<script> 392 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 393 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 394 window.ShopifyAnalytics.meta.currency = 'CAD'; 395 var meta = {"product":{"id":10342858719487,"gid":"gid:\/\/shopify\/Product\/10342858719487","vendor":"IOTA STUDIO","type":"Workshop","handle":"indigo-workshop-held-in-form-shirt-dyeing","variants":[{"id":50585267372287,"price":16000,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size SMALL","public_title":"Workshop fee and HIF Shirt size SMALL","sku":null},{"id":50585267405055,"price":16000,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size MEDIUM","public_title":"Workshop fee and HIF Shirt size MEDIUM","sku":null},{"id":50585267437823,"price":16000,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size LARGE","public_title":"Workshop fee and HIF Shirt size LARGE","sku":null},{"id":50585267470591,"price":16000,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size XL or XXL","public_title":"Workshop fee and HIF Shirt size XL or XXL","sku":null}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":10342858719487,"requestId":"23d689ec-8af3-401d-a926-6bfc3f4bab20-1791584506"}}; 396 for (var attr in meta) { 397 window.ShopifyAnalytics.meta[attr] = meta[attr]; 398 } 399</script>
vendor: 1 bytes, line 399
399
400<script class="analytics"> 401 (function () { 402 var customDocumentWrite = function(content) { 403 var jquery = null; 404 405 if (window.jQuery) { 406 jquery = window.jQuery; 407 } else if (window.Checkout && window.Checkout.$) { 408 jquery = window.Checkout.$; 409 } 410 411 if (jquery) { 412 jquery('body').append(content); 413 } 414 }; 415 416 var hasLoggedConversion = function(token) { 417 if (token) { 418 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 419 } 420 return false; 421 } 422 423 var setCookieIfConversion = function(token) { 424 if (token) { 425 var twoMonthsFromNow = new Date(Date.now()); 426 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 427 428 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 429 } 430 } 431 432 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 433 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 434 if (trekkie.integrations) { 435 return; 436 } 437 trekkie.methods = [ 438 'identify', 439 'page', 440 'ready', 441 'track', 442 'trackForm', 443 'trackLink' 444 ]; 445 trekkie.factory = function(method) { 446 return function() { 447 var args = Array.prototype.slice.call(arguments); 448 args.unshift(method); 449 trekkie.push(args); 450 if (method == 'track' || method == 'page') { 451 var pageUrl; 452 try { 453 pageUrl = window.location.href; 454 } catch (e) {} 455 var pageReferrer; 456 try { 457 pageReferrer = document.referrer; 458 } catch (e) {} 459 try { 460 if (window.__TREKKIE_SHIM_QUEUE == null) { 461 window.__TREKKIE_SHIM_QUEUE = []; 462 } 463 window.__TREKKIE_SHIM_QUEUE.push({ 464 from: 'trekkie-stub', 465 method: method, 466 args: args.slice(1), 467 pageContext: { 468 url: pageUrl, 469 referrer: pageReferrer 470 } 471 }); 472 } catch (e) { 473 // no-op 474 } 475 } 476 return trekkie; 477 }; 478 }; 479 for (var i = 0; i < trekkie.methods.length; i++) { 480 var key = trekkie.methods[i]; 481 trekkie[key] = trekkie.factory(key); 482 } 483 trekkie.load = function(config) { 484 trekkie.config = config || {}; 485 trekkie.config.initialDocumentCookie = document.cookie; 486 var first = document.getElementsByTagName('script')[0]; 487var script = document.createElement('script'); 488script.type = 'text/javascript'; 489script.onerror = function(e) { 490 var scriptFallback = document.createElement('script'); 491 scriptFallback.type = 'text/javascript'; 492 scriptFallback.onerror = function(error) { 493 var Monorail = { 494 produce: function produce(monorailDomain, schemaId, payload) { 495 var currentMs = new Date().getTime(); 496 var event = { 497 schema_id: schemaId, 498 payload: payload, 499 metadata: { 500 event_created_at_ms: currentMs, 501 event_sent_at_ms: currentMs 502 } 503 }; 504 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 505 }, 506 sendRequest: function sendRequest(endpointUrl, payload) { 507 // Try the sendBeacon API 508 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 509 var blobData = new window.Blob([payload], { 510 type: 'text/plain' 511 }); 512 513 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 514 return true; 515 } // sendBeacon was not successful 516 517 } // XHR beacon 518 519 var xhr = new XMLHttpRequest(); 520 521 try { 522 xhr.open('POST', endpointUrl); 523 xhr.setRequestHeader('Content-Type', 'text/plain'); 524 xhr.send(payload); 525 } catch (e) { 526 console.log(e); 527 } 528 529 return false; 530 }, 531 isIos12: function isIos12() { 532 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 533 } 534 }; 535 Monorail.produce('monorail-edge.shopifysvc.com', 536 'trekkie_storefront_load_errors/1.1', 537 {shop_id: 60550349055, 538 theme_id: 131192783103, 539 app_name: "storefront", 540 context_url: window.location.href, 541 source_url: "//iotastudio.ca/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 542 543 }; 544 scriptFallback.async = true; 545 scriptFallback.src = '//iotastudio.ca/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 546 first.parentNode.insertBefore(scriptFallback, first); 547}; 548script.async = true; 549script.src = '//iotastudio.ca/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 550first.parentNode.insertBefore(script, first); 551 552 }; 553 trekkie.load( 554 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":60550349055,"isMerchantRequest":null,"themeId":131192783103,"themeCityHash":"9589260841905332723","contentLanguage":"en","currency":"CAD","eventMetadataId":"a1d89f7c-15e6-458c-8a4a-36dd136069a1"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 555 ); 556 557 var loaded = false;
558 trekkie.ready(function() { 559 if (loaded) return; 560 loaded = true; 561 562 window.ShopifyAnalytics.lib = window.trekkie; 563 564 var originalDocumentWrite = document.write; 565 document.write = customDocumentWrite; 566 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 567 document.write = originalDocumentWrite; 568 569 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 570 var token = match? match[1]: undefined; 571 if (!hasLoggedConversion(token)) { 572 setCookieIfConversion(token); 573 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"CAD","variantId":50585267372287,"productId":10342858719487,"productGid":"gid:\/\/shopify\/Product\/10342858719487","name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size SMALL","price":"160.00","sku":null,"brand":"IOTA STUDIO","variant":"Workshop fee and HIF Shirt size SMALL","category":"Workshop","nonInteraction":true,"remote":false,"available":false},undefined,undefined,{"shopifyEmitted":true}); 574 } 575 }); 576 577 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":10342858719487,"requestId":"23d689ec-8af3-401d-a926-6bfc3f4bab20-1791584506","shopifyEmitted":true}); 578 579 var eventsListenerScript = document.createElement('script'); 580 eventsListenerScript.async = true; 581 eventsListenerScript.src = "//iotastudio.ca/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 582 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 583})();</script>
583 584
584<script> 585 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 586 window.ga = function ga() { 587 (window.ga.q = window.ga.q || []).push(arguments); 588 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 589 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 590 } 591 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 592 }; 593 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 594 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 595 } 596 } 597</script>
vendor: 1 bytes, line 597
597
598<script 599 defer 600 src="https://iotastudio.ca/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js" 601 data-application="storefront-renderer" 602 data-shop-id="60550349055" 603 data-render-region="gcp-us-central1" 604 data-page-type="product" 605 data-theme-instance-id="131192783103" 606 data-theme-name="Baseline" 607 data-theme-version="2.1.0" 608 data-monorail-region="shop_domain" 609 data-resource-timing-sampling-rate="10" 610 data-shs="true" 611 data-shs-beacon="true" 612 data-shs-export-with-fetch="true" 613 data-shs-logs-sample-rate="1" 614 data-shs-beacon-endpoint="https://iotastudio.ca/api/collect" 615></script>
615 616<meta name="shopify-y" content="4d36bd31-3951-4b34-b866-25d8fce2b93e" data-expiration="1823142106000"><meta name="shopify-s" content="8d9ca19a-3eb4-4621-9e12-950c13f05f47" data-expiration="1791586306000"> 617</head> 618 619<body id="indigo-workshop-held-in-form-kuzushi-shirt-dyeing-at-take-care-in-edm" class="template-product show-button-arrows"> 620 <a class="in-page-link skip-link" href="#MainContent">Skip to content</a><div id="shopify-section-sidebar" class="shopify-section"><section class="section-sidebar" x-data="ThemeSection_sidebar()" x-init="mounted()" data-section-id="sidebar" data-section-type="sidebar" x-cloak> 621 <noscript> 622 <div class="section-x-padding py-2 bg-primary-background text-primary-text text-right"> 623 <button class="py-2 inline-flex items-center justify-center " 624 data-menu-drawer-toggle> 625 <span class="inline-block w-5 h-5 align-middle mr-2"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-menu" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M23 16v2H1v-2h22zm0-10v2H1V6h22z"></path></svg></span>
626 <span>Menu</span> 627 </button> 628 </div> 629 </noscript> 630 <div class="sidebar-container z-60 fixed top-0 left-0 bottom-0 w-11/12 max-w-xl bg-primary-background text-primary-text border-r-grid border-grid-color transform transition-transform overflow-y-auto" 631 x-show="$store.drawer.menuDrawerOpen" 632 x-transition:enter="transition ease duration-300" 633 x-transition:enter-start="opacity-0 -translate-x-full" 634 x-transition:enter-end="opacity-100" 635 x-transition:leave="transition ease duration-300" 636 x-transition:leave-end="opacity-100 -translate-x-full" 637 @click.away.prevent="$store.drawer.menuDrawerOpen = false" 638 role="dialog" 639 aria-modal="true" 640 data-menu-drawer> 641 <div class="js-enabled top-0 relative flex items-center justify-end py-4 section-x-padding bg-primary-background "> 642 <button @click.prevent="$store.drawer.menuDrawerOpen = false" class="block w-5 h-5 top-0"> 643 <span class="visually-hidden">Close</span> 644 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-close" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M18.364 4.222l1.414 1.414L13.414 12l6.364 6.364-1.414 1.414L12 13.414l-6.364 6.364-1.414-1.414L10.586 12 4.222 5.636l1.414-1.414L12 10.586z"></path></svg> 645 </button> 646 </div> 647 <nav class="" aria-label="Primary"> 648 <ul></ul> 649 </nav> 650 <div class="border-t-grid border-grid-color"> 651 <nav class="my-6" aria-label="Secondary"> 652 <ul></ul> 653 </nav> 654 655 656 <ul class="section-x-padding space-y-1"> 657 658 <li> 659 <a href="https://iotastudio.ca/customer_authentication/redirect?locale=en&region_country=US" id="customer_login_link">Log in</a> 660 </li> 661 <li> 662 <a href="https://shopify.com/60550349055/account?locale=en®ion_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzZXRzdW5hLWluY2Vuc2UubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkyMTg5MzA2LCJuYmYiOjE3OTE1ODQ1MDZ9.gXzfMpeL-1iya4gHvYkcaV-GzPiYdScq9cFTIzeHdvU" id="customer_register_link">Create account</a> 663 </li> 664 665 </ul> 666 �<form class="my-6 section-x-padding" action="/search" method="get" role="search"> 667 <div class="flex w-full max-w-xs items-end"> 668 <label for="sidebar-search" class="visually-hidden">Search</label> 669 <input 670 class="min-w-0 flex-auto bg-transparent border-current border-b-text placeholder-current py-1.5" 671 id="sidebar-search" 672 type="text" 673 name="q" 674 placeholder="Search" 675 /> 676 <button class="px-1" 677 type="submit"> 678 <span class="inline-block w-5 h-5"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-search" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M10.533 17.438a6.968 6.968 0 01-6.96-6.96 6.968 6.968 0 016.96-6.96 6.968 6.968 0 016.96 6.96 6.968 6.968 0 01-6.96 6.96zm6.949-1.314a8.917 8.917 0 002.01-5.646c0-4.941-4.02-8.96-8.96-8.96-4.94 0-8.96 4.019-8.96 8.96 0 4.94 4.02 8.96 8.96 8.96 2.082 0 3.996-.72 5.52-1.916l4.962 4.96 1.415-1.413-4.947-4.945z"></path></svg></span> 679 <span class="visually-hidden">Submit</span> 680 </button> 681 </div> 682 </form> 683 684 <div class="section-x-padding my-8"> 685 <ul class=""> 686 � 687 688 689 690 691 � 692 693 694 695 696 � 697 698 699 700 701 � 702 703 704 705 706 <li> 707 <a class="inline-block py-1 hover:text-primary-accent" href="https://instagram.com/iota.goods"> 708 Instagram 709 </a> 710 </li> 711 712 713 714 � 715 716 717 718 719 � 720 721 722 723 724 � 725 726 727 728 729 � 730 731 732 733 734 � 735 736 737 738 739 � 740 741 742 743 744 � 745 746 747 748 749 750</ul> 751 752 </div> 753 754 </div> 755 </div> 756</section> 757 758<noscript> 759<style> 760 .section-sidebar { 761 display: block !important; 762 } 763 764 @media (min-width: 1024px) { 765 .section-sidebar { 766 display: none!important; 767 } 768 } 769 770 .sidebar-container { 771 position: static; 772 width: 100%; 773 max-width: 100%; 774 border-right: 0; 775 display: none; 776 } 777 778 .section-sidebar:focus-within .sidebar-container { 779 display: block !important; 780 } 781</style> 782</noscript> 783 784</div><section class="relative z-70" x-data="ThemeSection_cartDrawer()" x-init="mounted()" data-section-id="" data-section-type="cart-drawer" data-show-on-add="true" x-cloak> 785 <div id="CartContainer" 786 class="fixed top-0 right-0 bottom-0 w-11/12 max-w-md bg-primary-background text-primary-text border-l-grid border-gr
786id-color transform transition-transform overflow-y-auto" 787 x-show="$store.drawer.cartDrawerOpen" 788 x-transition:enter="transition ease duration-300" 789 x-transition:enter-start="opacity-0 translate-x-full" 790 x-transition:enter-end="opacity-100" 791 x-transition:leave="transition ease duration-300" 792 x-transition:leave-end="opacity-100 translate-x-full" 793 @click.away.prevent="$store.drawer.cartDrawerOpen = false" 794 role="dialog" 795 aria-modal="true" 796 data-cart-drawer 797 aria-labelledby="CartTitle"> 798 <div class="top-0 relative flex items-center justify-between py-4 section-x-padding bg-primary-background border-b-grid border-grid-color"> 799 <h1 id="CartTitle" class="" tabindex="-1"> 800 Your cart - 801 <span x-text="$store.cartCount.countWithText()"></span> 802 </h1> 803 <button @click.prevent="$store.drawer.cartDrawerOpen = false" class="block w-5 h-5 top-0"> 804 <span class="visually-hidden">Close</span> 805 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-close" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M18.364 4.222l1.414 1.414L13.414 12l6.364 6.364-1.414 1.414L12 13.414l-6.364 6.364-1.414-1.414L10.586 12 4.222 5.636l1.414-1.414L12 10.586z"></path></svg> 806 </button> 807 </div> 808 <div class="flex flex-col h-full"> 809 <template x-if="state && !state.item_count"> 810 <div class="section-x-padding py-4"> 811 <p class="supports-cookies text-align--center" x-text="theme.strings.cartEmpty"></p> 812 <p class="supports-no-cookies cookie-message" x-text="theme.strings.cartCookies"></p> 813 </div> 814 </template> 815 <template x-if="state && state.item_count"> 816 <form action="/cart" 817 method="post" 818 class="relative overflow-y-auto flex-auto" 819 novalidate> 820 <div class="grid grid-cols-1 gap-gutter bg-border"> 821 <template x-for="(item, index) in state.items" 822 :key="item.key"> 823 <div class="flex py-4 section-x-padding transition bg-primary-background" 824 :class="{ 'opacity-50 cursor-wait': item.updating }" 825 :data-cart-item-index="(index + 1)" 826 :data-cart-item-key="item.key" 827 data-cart-row> 828 829 <template x-if="!(item.featured_image.url === null)"> 830 <div class="flex-shrink-0 w-10 md:w-20 mr-4"> 831 832 <a :href="item.url" class="block" aria-hidden="true" tabindex="-1"> 833 <img class="w-full text-transparent" 834 :src="getSizedImageUrl(item.featured_image.url, '110x')" 835 :srcset="getCartImgSrcset(item.featured_image.url)" 836 :width="item.featured_image.width" 837 :height="item.featured_image.height" 838 :alt="item.product_title" 839 sizes="(min-width: 48em) 5rem, 3.5rem"> 840 <pre x-text="item.featured_image.src"></pre> 841 </a> 842 </div> 843 </template> 844 845 <div class="flex-auto"> 846 847 <a class="f--heading font-size--m md--up--font-size--l color--active-text" 848 :href="item.url" 849 x-text="item.product_title"></a> 850 <template x-if="item.variant_title"> 851 <p class="text-sm" x-text="item.variant_title"></p> 852 </template> 853 854 <template x-if="item.selling_plan_allocation"> 855 <p class="text-sm" x-text="item.selling_plan_allocation.selling_plan.name"></p> 856 </template> 857 <template x-for="property in flatProperties(item.properties)" 858 :key="property.name"> 859 <p class="text-sm"> 860 <span x-text="property.name"></span>: 861 <span x-text="property.value"></span> 862 </p> 863 </template> 864 865 <template x-if="item.line_level_discount_allocations.length"> 866 <ul class="lg:hidden mt-1 text-sm text-primary-accent" 867 aria-label="Discount"> 868 <template x-for="allocation in item.line_level_discount_allocations"> 869 <li class="">
870 <span x-text="allocation.discount_application.title"></span> 871 <span class="whitespace-nowrap">−<span x-html="formatMoney(allocation.amount)"></span></span> 872 </li> 873 </template> 874 </ul> 875 </template> 876 877 878 <div class="flex mt-1 lg:mt-2 items-center"> 879 <button class="w-6 p-1" 880 data-qty-adjust="minus" 881 @click.prevent="qtyAdjust($event, item)" 882 :aria-label="'Remove one ' + item.title"> 883 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-minus" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M20 11v2H4v-2z"></path></svg> 884 </button> 885 <input type="text" 886 name="updates[]" 887 class="min-w-0 w-6 py-1 text-center text-sm border-b-text border-current bg-transparent" 888 min="1" 889 aria-label="Quantity" 890 data-qty-input 891 pattern="[0-9]*" 892 data-qty-adjust="set" 893 @keyup.debounce.1000ms="keyupOnInput($event)" 894 @change="qtyAdjust($event, item)" 895 x-model.number="item.quantity" 896 autocomplete="off" /> 897 <button class="w-6 p-1" 898 data-qty-adjust="plus" 899 @click.prevent="qtyAdjust($event, item)" 900 :aria-label="'Add one ' + item.title"> 901 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-plus" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M20 11v2h-7v7h-2v-7H4v-2h7V4h2v7z"></path></svg> 902 </button> 903 </div> 904 905 <button class="none lg:inline-block mt-1 lg:mt-2 text-sm" 906 data-qty-adjust="remove" 907 @click.prevent="qtyAdjust($event, item)"> 908 <small>Remove </small> 909 <span class="visually-hidden" x-text="item.title"></span> 910 </button> 911 </div> 912 <div class="ml-1 text-right"> 913 914 <template x-if="item.line_level_discount_allocations.length"> 915 <div> 916 <span class="visually-hidden">Regular price</span> 917 <del class="line-through" x-html="formatMoney(item.original_price)"></del> 918 <span class="visually-hidden">Sale price</span> 919 <span class="" x-html="formatMoney(item.final_line_price)"></span> 920 </div> 921 </template> 922 <template x-if="!item.line_level_discount_allocations.length"> 923 <span class="" x-html="formatMoney(item.final_line_price)"></span> 924 </template> 925 <template x-if="item.unit_price_measurement"> 926 <div class="text-xs"> 927 <span x-html="formatMoney(item.unit_price)"></span> / 928 <span x-text="item.unit_price_measurement.reference_value"></span> 929 <span x-text="item.unit_price_measurement.reference_unit"></span> 930 </div> 931 </template> 932 <template x-if="item.line_level_discount_allocations.length"> 933 <ul class="hidden lg:block mt-1 text-sm text-primary-accent" 934 aria-label="Discount"> 935 <template x-for="allocation in item.line_level_discount_allocations"> 936 <li class=""> 937 <span x-text="allocation.discount_application.title"></span> 938 <span class="whitespace-nowrap">−<span x-html="formatMoney(allocation.amount)"></span></span> 939 </li> 940 </template> 941 </ul> 942 </template> 943 </div> 944 </div> 945 </template> 946 </div> 947
948 <div class="border-t-grid border-grid-color py-4 section-x-padding"> 949 <label for="CartSpecialInstructions" 950 class="text-sm"> 951 Add a note to your order 952 </label> 953 <textarea name="note" 954 id="CartSpecialInstructions" 955 class="block mt-1 p-2 w-full border-text border-current text-sm bg-transparent" 956 :class="{ 'opacity-50 cursor-wait' : noteUpdating }" 957 x-text="state.note" 958 @keyup.debounce.1000ms="keyupOnInput($event)" 959 @change="updateNote($event)"> 960 </textarea> 961 </div> 962 963 <div class="bottom-0 py-4 section-x-padding bg-primary-background border-t-grid border-grid-color"> 964 <div :class="{ 'opacity-50 cursor-wait': updating }"> 965 <template x-if="state.cart_level_discount_applications.length" 966 x-for="application in state.cart_level_discount_applications"> 967 <p class="flex justify-between text-primary-accent"> 968 <span class="visually-hidden">Discount</span> 969 <span x-text="application.title"></span> 970 <span class="ml-2" x-html="formatMoney(application.total_allocated_amount)"></span> 971 </p> 972 </template> 973 <p class="flex justify-between"> 974 <span>Subtotal</span> 975 <span class="ml-2" x-html="formatMoney(state.total_price)"></span> 976 </p><p class="my-2 md:my-4 text-sm accent-links-primary text-right"> 977 Taxes and shipping calculated at checkout 978 979 </p> 980 <div class="text-right"> 981 <div> 982 <input type="submit" 983 name="checkout" 984 class="cursor-pointer py-2 px-4 w-full bg-primary-text text-primary-text-overlay hover:bg-primary-accent hover:text-primary-accent-overlay border-primary-text hover:border-primary-accent border-text" 985 :disabled="updating" 986 value="Check out"> 987 </div> 988 989 <div class="w-full md:mt-2 additional-checkout-buttons "> 990 <div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":60550349055,"merchantName":"IOTA STUDIO","personalized":true}}]" access-token="954a36e4862315b96a1f309d871e2ddb" buyer-country="US" buyer-locale="en" buyer-currency="CAD" shop-id="60550349055" cart-id="d2d66d05bcddab6dfdf15aec96d825f9" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div> 991 </div> 992 993 </div> 994 </div> 995 </div> 996 </form> 997 </template> 998 </div> 999 </div> 1000</section> 1001<section x-data="ThemeSection_availabilityDrawer()" data-section-id="" data-section-type="availability-drawer" x-cloak> 1002 <div id="AvailabilityContainer" 1003 class="max-h-full flex flex-col z-60 fixed top-0 right-0 bottom-0 w-11/12 max-w-md bg-primary-background text-primary-text border-l-grid border-grid-color transform transition-transform'" 1004 x-show="$store.drawer.availabilityDrawerOpen" 1005 x-transition:enter="transition ease duration-300" 1006 x-transition:enter-start="opacity-0 translate-x-full" 1007 x-transition:enter-end="opacity-100" 1008 x-transition:leave="transition ease duration-300" 1009 x-transition:leave-end="opacity-100 translate-x-full" 1010 @click.away.prevent="$store.drawer.availabilityDrawerOpen = false" 1011 role="dialog" 1012 aria-modal="true" 1013 data-availability-drawer 1014 aria-labelledby="AvailabilityTitle"> 1015 <div class="top-0 relative flex items-center justify-between py-2 px-4 bg-primary-background border-b-grid border-gr
1015id-color"> 1016 <h1 id="AvailabilityTitle" class=""> 1017 <div class="font-heading text-lg" x-text="$store.availability.product_title"></div> 1018 <div x-text="$store.availability.getVariantTitle()"></div> 1019 </h1> 1020 <button @click.prevent="$store.drawer.availabilityDrawerOpen = false" class="block w-8 -mr-2 top-0"> 1021 <span class="visually-hidden">Close</span> 1022 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-close" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M18.364 4.222l1.414 1.414L13.414 12l6.364 6.364-1.414 1.414L12 13.414l-6.364 6.364-1.414-1.414L10.586 12 4.222 5.636l1.414-1.414L12 10.586z"></path></svg> 1023 </button> 1024 </div> 1025 <ul class="relative overflow-y-auto flex-auto" role="list"> 1026 <template x-for="item in currentVariantAvailability" 1027 :key="item.name"> 1028 <li class="border-b-grid border-grid-color section-x-padding py-4"> 1029 <div class="flex items-start"> 1030 <div class="inline-block w-3 mr-3 pt-1"> 1031 <template x-if="item.available"> 1032 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-in-stock" viewBox="0 0 12 12"><g fill-rule="evenodd"><path d="M1.55 6.5l.708-.707L5.086 8.62l-.707.707z"></path><path d="M3.671 8.621l6.364-6.364.708.708-6.364 6.364z"></path></g></svg> 1033 </template> 1034 <template x-if="!item.available"> 1035 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-out-of-stock" viewBox="0 0 12 12"><g fill-rule="evenodd"><path d="M3.172 2.464l6.364 6.364-.708.708-6.364-6.364z"></path><path d="M9.536 3.172L3.172 9.536l-.708-.708 6.364-6.364z"></path></g></svg> 1036 </template> 1037 </div> 1038 <div> 1039 <p x-text="item.name"></p> 1040 </div> 1041 </div> 1042 <div class="mt-4" x-html="item.address"></div> 1043 <template x-if="item.phone"> 1044 <a :href="`tel:${item.phone.replace(' ', '')}`" x-text="item.phone"></a> 1045 </template> 1046 </li> 1047 </template> 1048 </ul> 1049 </div> 1050</section> 1051<div id="shopify-section-announcement-bar" class="shopify-section"> 1052</div><div class="relative"> 1053 1054 <div id="shopify-section-header" class="shopify-section section-header relative z-20"><style> 1055:root { 1056 --color-header-accent: var(--color-primary-accent); 1057 --color-header-text: var(--color-primary-text); 1058 --color-header-background: var(--color-primary-background); 1059 --color-header-background-hex: var(--color-primary-background-hex); 1060 --color-header-background-0: var(--color-primary-background-0); 1061 --color-header-meta: var(--color-primary-meta); 1062 --color-header-text--overlay: var(--color-primary-text--overlay); 1063 --color-header-accent--overlay: var(--color-primary-accent--overlay); 1064 --color-header-accent-placeholder: var(--color-primary-text-placeholder); 1065} 1066</style> 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078<section x-data="ThemeSection_header()" x-init="mounted()" data-section-id="header" data-section-type="header" data-dropdown-count="0" class="" > 1079 <header 1080 class=" bg-header-background text-header-text border-b-grid relative z-10 border-theme-color"> 1081 <nav class="relative hidden lg:block" aria-label="Primary"> 1082 <div class="section-x-padding flex items-stretch justify-between py-2"> 1083 <div class="flex items-stretch "> 1084 1085 <div class="mr-6"> 1086 1087 1088 <div class="h1"> 1089 1090 <a href="/" class="inline-block py-2 logo-image break-all"> 1091 1092 1093<img src="//iotastudio.ca/cdn/shop/files/iota_logo_450x.png?v=1738793707" 1094 srcset="//iotastudio.ca/cdn/shop/files/iota_logo_450x.png?v=1738793707 1x, //iotastudio.ca/cdn/shop/files/[email protected]?v=1738793707 2x, //iotastudio.ca/cdn/shop/files/[email protected]?v=1738793707 3x" 1095 alt="IOTA STUDIO" 1096 > 1097 </a> 1098 1099 </div> 1100 1101 1102 </div> 1103 1104 1105 1106<ul class="flex flex-wrap self-stretch items-stretch justify-start"></ul> 1107 1108 1109 1110 </div> 1111 1112 1113<div class="flex items-stretch justify-end text-right "><div class="ml-4 whitespace-nowrap flex items-stretch"> 1114 1115 1116 <a class="inline-block py-2 flex " href="https://iotastudio.ca/customer_authentication/redirect?locale=en®ion_country=US"><span class="my-auto">Log in</span></a> 1117 1118 1119 </div> 1120 1121 <div class="ml-4 flex items-stretch whitespace-nowrap"> 1122 1123 <a href="/cart" 1124 class="inline-block py-2 flex " 1125 1126 data-cart-drawer-toggle 1127 x-bind:aria-expanded="$store.drawer.cartDrawerOpen" 1128 @click.prevent="$store.drawer.cartOpener = $event.currentTarget; $store.drawer.cartDrawerOpen = !$store.drawer.cartDrawerOpen" 1129 @keydown.space="$store.drawer.cartOpener = $event.currentTarget; $store.drawer.cartDrawerOpen = !$store.drawer.cartDrawerOpen" 1130 1131 ><span class="my-auto">Cart (<span x-text="$store.cartCount.count" id="CartCount">0</span>)</span></a> 1132 </div> 1133 </div> 1134 </div> 1135 1136 1137 </nav> 1138 1139 <div class="lg:hidden"> 1140 <div class="lg:relative section-x-padding flex items-center justify-between py-2"> 1141 1142 <div class="flex items-center "> 1143 1144 <div class="mr-4"> 1145 1146 1147 <div class="h1"> 1148 1149 <a href="/" class="inline-block py-2 logo-image break-all"> 1150 1151 1152<img src="//iotastudio.ca/cdn/shop/files/iota_logo_450x.png?v=1738793707" 1153 srcset="//iotastudio.ca/cdn/shop/files/iota_logo_450x.png?v=1738793707 1x, //iotastudio.ca/cdn/shop/files/[email protected]?v=1738793707 2x, //iotastudio.ca/cdn/shop/files/[email protected]?v=1738793707 3x" 1154 alt="IOTA STUDIO" 1155 > 1156 </a> 1157 1158 </div> 1159 1160 1161 </div> 1162 1163 1164 </div> 1165 1166 1167 1168 <div class="flex justify-end text-right "> 1169 1170 <button class="js-enabled inline-block py-2 " 1171 x-bind:aria-expanded="$store.drawer.menuDrawerOpen" 1172 @click="$store.drawer.menuDrawerOpen = !$store.drawer.menuDrawerOpen" 1173 data-menu-drawer-toggle>Menu 1174</button> 1175 1176 1177 1178 1179 1180 <div class="ml-2 lg:ml-4 whitespace-nowrap"> 1181 1182 <a href="/cart" 1183 class="inline-block py-2 flex " 1184 1185 data-cart-drawer-toggle 1186 x-bind:aria-expanded="$store.drawer.cartDrawerOpen" 1187 @click.prevent="$store.drawer.cartOpener = $event.currentTarget; $store.drawer.cartDrawerOpen = !$store.drawer.cartDrawerOpen" 1188 @keydown.space="$store.drawer.cartOpener = $event.currentTarget; $store.drawer.cartDrawerOpen = !$store.drawer.cartDrawerOpen" 1189 1190 ><span class="my-auto">Cart (<span x-text="$store.cartCount.count" id="CartCount">0</span>)</span></a> 1191 </div> 1192 </div> 1193 </div> 1194 </div> 1195 </header> 1196</section> 1197 1198 1199 1200 1201<section class="featured-navigation bg-header-background text-header-text border-b-grid border-gr
1201id-color relative"> 1202 <div class="bg-gradient-to-r from-header-background-0 via-header-background to-header-background w-8 absolute top-0 right-0 bottom-0 lg:hidden pointer-events-none"></div> 1203 <div class="section-x-padding py-theme-half overflow-x-auto"> 1204 1205<nav class="breadcrumbs" role="navigation" aria-label="breadcrumbs"> 1206 <ol class="flex lg:flex-wrap lg:justify-start whitespace-nowrap items-center"> 1207 <li> 1208 <a class="block py-theme-half" href="/" title="Home">Home</a> 1209 </li><li class="mx-2"> 1210 <span class="block py-theme-half" aria-hidden="true"> 1211/</span> 1212 </li> 1213 <li> 1214 <a class="block py-theme-half" href="/products/indigo-workshop-held-in-form-shirt-dyeing" aria-current="page">Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton</a> 1215 </li></ol> 1216 </nav> 1217 </div> 1218</section> 1219 1220 1221<noscript> 1222 <style> 1223 .no-js-focus-wrapper:focus-within .no-js-focus-container { 1224 display: block !important; 1225 } 1226 </style> 1227</noscript> 1228 1229<style> 1230 1231 :root { 1232 --sticky-header-height: 0; 1233 } 1234 1235</style> 1236 1237 1238 <style> 1239 .logo-image { 1240 display: block; 1241 max-width: 450px; 1242 } 1243 </style> 1244 1245
1246<script type="application/ld+json"> 1247{ 1248 "@context": "http://schema.org", 1249 "@type": "Organization", 1250 "name": "IOTA STUDIO", 1251 1252 1253 "logo": "https://iotastudio.ca/cdn/shop/files/iota_logo_213x.png?v=1738793707", 1254 1255 "sameAs": [ 1256 "", 1257 "", 1258 "", 1259 "https://instagram.com/iota.goods", 1260 "", 1261 "", 1262 "", 1263 "" 1264 ], 1265 "url": "https://iotastudio.ca" 1266} 1267</script>
1267 1268 1269 1270 1271 1272</div> 1273 <main role="main" id="MainContent"> 1274 <div id="shopify-section-template--15746021294335__main" class="shopify-section"> 1275<section class="grid grid-cols-1 lg:grid-cols-12 lg:bg-border grid-flow-row-dense lg:gap-gutter border-t-grid border-grid-color" x-data="ThemeSection_template_15746021294335__main()" x-init="mounted()" data-section-id="template--15746021294335__main" data-alpine-id="template_15746021294335__main" data-section-type="product" data-enable-history-state="true" data-enable-image-zoom=true data-variant-image-behaviour="swap"><div class="relative pb-8 lg:pb-0 product-media-container bg-primary-background text-primary-text lg:col-span-6 " data-product-single-media-group> 1276 <div class="splide splide--product lg:sticky lg:top-sticky-header lg:-mb-theme-width" data-drag-disabled="false" data-slideshow-enabled="true"> 1277 <div class="transition-max-height splide__track border-b-grid border-grid-color lg:border-0 lg:border-b-grid lg:border-grid-color"> 1278 <ul class="splide__list lg:w-full lg:grid lg:grid-cols-2 lg:gap-gutter lg:bg-border"><li class=" splide__slide bg-primary-background" data-index="0" data-first-media><div class="product-media-height w-full"> 1279 <div class="product-media-object w-full relative" 1280 data-media-id="46187639636223" 1281 data-product-single-media-wrapper 1282 1283 data-product-media-type-image data-product-image-index="0" 1284 1285 @click.prevent="openZoom(0)" @keyup.enter.prevent="openZoom(0)" tabindex="0" role="button" 1286 1287 1288 1289 1290 > 1291 1292 <div 1293 data-image-id="" 1294 class="responsive-image-wrapper relative overflow-hidden w-full my-0 mx-auto " 1295 style="height: 0; padding-top: 133.33333333333334%;" 1296 data-product-image-wrapper> 1297 <img class="responsive-image block absolute top-0 left-0 w-full h-full lazyload transition-opacity duration-200 ease-in-out w-full max-w-full h-auto" 1298 data-src="//iotastudio.ca/cdn/shop/files/DSCF9010_{width}x.jpg?v=1791043471" 1299 data-widths="[180,360,540,720,900,1080,1296,1440]" 1300 data-aspectratio="0.75" 1301 data-sizes="auto" 1302 tabindex="-1" 1303 alt="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1304 data-product-featured-image><div class="responsive-image-placeholder bg-primary-text absolute top-0 left-0 right-0 bottom-0"></div><noscript> 1305 <div class="absolute top-0 left-0 w-full h-full"> 1306 <img class=" " src="//iotastudio.ca/cdn/shop/files/DSCF9010_2048x2048.jpg?v=1791043471" alt="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton"> 1307 </div> 1308 </noscript> 1309</div> 1310 1311 1312 </div> 1313</div></li> 1314 1315 1316<li class=" splide__slide bg-primary-background" data-index="2"><div class="product-media-height w-full"> 1317 <div class="product-media-object w-full relative" 1318 data-media-id="46176798343423" 1319 data-product-single-media-wrapper 1320 1321 data-product-media-type-image data-product-image-index="1" 1322 1323 @click.prevent="openZoom(1)" @keyup.enter.prevent="openZoom(1)" tabindex="0" role="button" 1324 1325 1326 1327 1328 > 1329 1330 <div 1331 data-image-id="" 1332 class="responsive-image-wrapper relative overflow-hidden w-full my-0 mx-auto " 1333 style="height: 0; padding-top: 149.97000599880025%;" 1334 data-product-image-wrapper> 1335 <img class="responsive-image block absolute top-0 left-0 w-full h-full lazyload transition-opacity duration-200 ease-in-out w-full max-w-full h-auto" 1336 data-src="//iotastudio.ca/cdn/shop/files/DSC2033_{width}x.jpg?v=1790909749" 1337 data-widths="[180,360,540,720,900,1080,1296,1512,1667]" 1338 data-aspectratio="0.6668" 1339 data-sizes="auto" 1340 tabindex="-1" 1341 alt="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1342 data-product-featured-image><div class="responsive-image-placeholder bg-primary-text absolute top-0 left-0 right-0 bottom-0"></div><noscript> 1343 <div class="absolute top-0 left-0 w-full h-full"> 1344 <img class=" " src="//iotastudio.ca/cdn/shop/files/DSC2033_2048x2048.jpg?v=1790909749" alt="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton"> 1345 </div> 1346 </noscript> 1347</div> 1348 1349 1350 </div> 1351</div></li> 1352 1353<li class=" splide__slide bg-primary-background" data-index="3"><div class="product-media-height w-full"> 1354 <div class="product-media-object w-full relative" 1355 data-media-id="46187648745727" 1356 data-product-single-media-wrapper 1357 1358 data-product-media-type-image data-product-image-index="2" 1359
1360 @click.prevent="openZoom(2)" @keyup.enter.prevent="openZoom(2)" tabindex="0" role="button" 1361 1362 1363 1364 1365 > 1366 1367 <div 1368 data-image-id="" 1369 class="responsive-image-wrapper relative overflow-hidden w-full my-0 mx-auto " 1370 style="height: 0; padding-top: 150.00000000000003%;" 1371 data-product-image-wrapper> 1372 <img class="responsive-image block absolute top-0 left-0 w-full h-full lazyload transition-opacity duration-200 ease-in-out w-full max-w-full h-auto" 1373 data-src="//iotastudio.ca/cdn/shop/files/HF-SS26-HF003-WHITE_{width}x.jpg?v=1791043604" 1374 data-widths="[180,360,540,720,900,1000]" 1375 data-aspectratio="0.6666666666666666" 1376 data-sizes="auto" 1377 tabindex="-1" 1378 alt="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1379 data-product-featured-image><div class="responsive-image-placeholder bg-primary-text absolute top-0 left-0 right-0 bottom-0"></div><noscript> 1380 <div class="absolute top-0 left-0 w-full h-full"> 1381 <img class=" " src="//iotastudio.ca/cdn/shop/files/HF-SS26-HF003-WHITE_2048x2048.jpg?v=1791043604" alt="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton"> 1382 </div> 1383 </noscript> 1384</div> 1385 1386 1387 </div> 1388</div></li> 1389 1390<li class=" splide__slide bg-primary-background" data-index="4"><div class="product-media-height w-full"> 1391 <div class="product-media-object w-full relative" 1392 data-media-id="46187649335551" 1393 data-product-single-media-wrapper 1394 1395 data-product-media-type-image data-product-image-index="3" 1396 1397 @click.prevent="openZoom(3)" @keyup.enter.prevent="openZoom(3)" tabindex="0" role="button" 1398 1399 1400 1401 1402 > 1403 1404 <div 1405 data-image-id="" 1406 class="responsive-image-wrapper relative overflow-hidden w-full my-0 mx-auto " 1407 style="height: 0; padding-top: 41.67343623070675%;" 1408 data-product-image-wrapper> 1409 <img class="responsive-image block absolute top-0 left-0 w-full h-full lazyload transition-opacity duration-200 ease-in-out w-full max-w-full h-auto" 1410 data-src="//iotastudio.ca/cdn/shop/files/work-shirt-sizing_{width}x.jpg?v=1791043613" 1411 data-widths="[180,360,540,720,900,1080,1231]" 1412 data-aspectratio="2.3996101364522415" 1413 data-sizes="auto" 1414 tabindex="-1" 1415 alt="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1416 data-product-featured-image><div class="responsive-image-placeholder bg-primary-text absolute top-0 left-0 right-0 bottom-0"></div><noscript> 1417 <div class="absolute top-0 left-0 w-full h-full"> 1418 <img class=" " src="//iotastudio.ca/cdn/shop/files/work-shirt-sizing_2048x2048.jpg?v=1791043613" alt="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton"> 1419 </div> 1420 </noscript> 1421</div> 1422 1423 1424 </div> 1425</div></li> 1426 1427 </ul> 1428 </div> 1429 1430 <div class="js-enabled lg:hidden splide__arrows text-primary-text absolute right-0 mr-1 lg:mr-4 text-right mt-2"> 1431 <button class="splide__arrow splide__arrow--prev w-8"> 1432 <span class="visually-hidden">Previous slide</span> 1433 <span class="block"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-previous" viewBox="0 0 64 64"><path d="M24.788 14.407L8.035 31.932l16.753 17.525 1.94-2.03-13.375-13.994h42.163v-3.002l-42.164-.001 13.376-13.993-1.94-2.03z"></path></svg></span> 1434 </button> 1435 <button class="splide__arrow splide__arrow--next w-8"> 1436 <span class="visually-hidden">Next slide</span> 1437 <span class="block"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-next" viewBox="0 0 64 64"><path d="M38.764 14.407l16.753 17.525-16.753 17.525-1.94-2.03 13.375-13.994H8.036v-3.002L50.2 30.43 36.824 16.437l1.94-2.03z"></path></svg></span> 1438 </button> 1439 </div></div> 1440 </div> 1441 1442 <div class="product-content-container bg-primary-background text-primary-text section-x-padding lg:col-span-6" x-ref="productC
1442ontent"> 1443 <div class="lg:sticky lg:top-sticky-header py-theme product-block-area"><h1 class="product-title-block mt-4 break-words font-heading text-2xl lg:text-3xl">Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton 1444</h1><div data-price-wrapper class="product-price-block mt-8 text-base lg:text-2xl" :class="{ 'invisible': !current_variant }"> 1445 <span class="visually-hidden">Regular price</span> 1446 <span data-product-price x-html="formatMoney(current_price)" :class="{ 'text-primary-accent': current_variant && product.compare_at_price_max && current_variant.compare_at_price > current_variant.price, 'invisible': !current_variant }"> 1447 1448 </span> 1449 1450 1451 1452 <template x-if="current_variant && current_variant.unit_price"> 1453 <div class="text-sm" data-unit-price-wrapper> 1454 <span class="visually-hidden">Unit price</span> 1455 <span x-html="formatMoney(current_variant.unit_price)"></span> 1456 <span aria-hidden="true"> 1457 / 1458 </span> 1459 <span class="visually-hidden">per</span> 1460 <span x-html="current_variant.unit_price_measurement.reference_value != 1? current_variant.unit_price_measurement.reference_value :''"></span><!-- 1461 --><span x-html="current_variant.unit_price_measurement.reference_unit"></span> 1462 </div> 1463 </template> 1464 </div> 1465 1466 1467 1468<fieldset class="product-variant-picker-block js-enabled mt-8"><legend class="block"> 1469 Size: 1470 </legend><div class="mt-2 flex flex-wrap items-center justify-start -mx-1"> 1471 1472 1473 1474 <div class="relative variant-input"> 1475 <input class="custom-input cursor-pointer absolute top-0 left-0 w-full h-full opacity-0" @change="optionChange()" type="radio" id="Option1-Workshop fee and HIF Shirt size SMALL" name="options[Size]" value="Workshop fee and HIF Shirt size SMALL" data-handle="workshop-fee-and-hif-shirt-size-small" checked data-single-option-selector> 1476 <label class="block p-1 text-primary-meta line-through" for="Option1-Workshop fee and HIF Shirt size SMALL"> 1477 <span :class="{ 'border-b-text border-primary-text': optionHandles[0] === 'workshop-fee-and-hif-shirt-size-small' }">Workshop fee and HIF Shirt size SMALL</span> 1478 </label> 1479 </div> 1480 1481 1482 1483 <div class="relative variant-input"> 1484 <input class="custom-input cursor-pointer absolute top-0 left-0 w-full h-full opacity-0" @change="optionChange()" type="radio" id="Option1-Workshop fee and HIF Shirt size MEDIUM" name="options[Size]" value="Workshop fee and HIF Shirt size MEDIUM" data-handle="workshop-fee-and-hif-shirt-size-medium" data-single-option-selector> 1485 <label class="block p-1 text-primary-meta line-through" for="Option1-Workshop fee and HIF Shirt size MEDIUM"> 1486 <span :class="{ 'border-b-text border-primary-text': optionHandles[0] === 'workshop-fee-and-hif-shirt-size-medium' }">Workshop fee and HIF Shirt size MEDIUM</span> 1487 </label> 1488 </div> 1489 1490 1491 1492 <div class="relative variant-input"> 1493 <input class="custom-input cursor-pointer absolute top-0 left-0 w-full h-full opacity-0" @change="optionChange()" type="radio" id="Option1-Workshop fee and HIF Shirt size LARGE" name="options[Size]" value="Workshop fee and HIF Shirt size LARGE" data-handle="workshop-fee-and-hif-shirt-size-large" data-single-option-selector> 1494 <label class="block p-1 text-primary-meta line-through" for="Option1-Workshop fee and HIF Shirt size LARGE"> 1495 <span :class="{ 'border-b-text border-primary-text': optionHandles[0] === 'workshop-fee-and-hif-shirt-size-large' }">Workshop fee and HIF Shirt size LARGE</span> 1496 </label> 1497 </div> 1498 1499 1500 1501 <div class="relative variant-input"> 1502 <input class="custom-input cursor-pointer absolute top-0 left-0 w-full h-full opacity-0" @change="optionChange()" type="radio" id="Option1-Workshop fee and HIF Shirt size XL or XXL" name="options[Size]" value="Workshop fee and HIF Shirt size XL or XXL" data-handle="workshop-fee-and-hif-shirt-size-xl-or-xxl" data-single-option-selector> 1503 <label class="block p-1 text-primary-meta line-through" for="Option1-Workshop fee and HIF Shirt size XL or XXL">
1504 <span :class="{ 'border-b-text border-primary-text': optionHandles[0] === 'workshop-fee-and-hif-shirt-size-xl-or-xxl' }">Workshop fee and HIF Shirt size XL or XXL</span> 1505 </label> 1506 </div> 1507 1508 </div> 1509 </fieldset> 1510 1511 1512<div class="product-quantity-block mt-8"> 1513 <label class="block" for="Quantity">Quantity:</label> 1514 <div class="mt-2 flex items-center -mx-2"> 1515 <button type="button" class="fill-current p-2 w-7 h-7" @click="if(quantity>0){quantity--}" 1516 aria-label="'{ 'general.accessibility.decrement_one' | t }}"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-minus" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M20 11v2H4v-2z"></path></svg></button> 1517 <input form="product-form-template--15746021294335__main" class="appearance-none bg-transparent w-10 text-center border-b-text border-primary-text p-2" type="number" id="Quantity" name="quantity" value="1" min="1" x-model="quantity" > 1518 <button type="button" class="fill-current p-2 w-7 h-7" @click="quantity++" 1519 aria-label="Add one"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-plus" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M20 11v2h-7v7h-2v-7H4v-2h7V4h2v7z"></path></svg></button> 1520 </div> 1521 </div><form method="post" action="/cart/add" id="product-form-template--15746021294335__main" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" data-product-form="" data-product-handle="indigo-workshop-held-in-form-shirt-dyeing" data-enable-history-state="true" x-ref="productForm"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 1522 <shopify-payment-terms variant-id="50585267372287" shopify-meta="{"type":"product","currency_code":"CAD","country_code":"CA","variants":[{"id":50585267372287,"price_per_term":"$40.00","price_per_term_amount":40.0,"full_price":"$160.00","full_price_amount":160.0,"eligible":true,"available":false,"number_of_payment_terms":4},{"id":50585267405055,"price_per_term":"$40.00","price_per_term_amount":40.0,"full_price":"$160.00","full_price_amount":160.0,"eligible":true,"available":false,"number_of_payment_terms":4},{"id":50585267437823,"price_per_term":"$40.00","price_per_term_amount":40.0,"full_price":"$160.00","full_price_amount":160.0,"eligible":true,"available":false,"number_of_payment_terms":4},{"id":50585267470591,"price_per_term":"$40.00","price_per_term_amount":40.0,"full_price":"$160.00","full_price_amount":160.0,"eligible":true,"available":false,"number_of_payment_terms":4}],"min_price":"$35.00","min_price_amount":35.0,"max_price":"$30,000.00","max_price_amount":30000.0,"financing_plans":[{"min_price":"$35.00","max_price":"$49.99","terms":[{"apr":0,"loan_type":"split_pay","installments_count":2}],"min_price_amount":35.0,"max_price_amount":49.99},{"min_price":"$50.00","max_price":"$149.99","terms":[{"apr":0,"loan_type":"split_pay","installments_count":3},{"apr":0,"loan_type":"split_pay","installments_count":4}],"min_price_amount":50.0,"max_price_amount":149.99},{"min_price":"$150.00","max_price":"$999.99","terms":[{"apr":0,"loan_type":"split_pay","installments_count":3},{"apr":0,"loan_type":"split_pay","installments_count":4},{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}],"min_price_amount":150.0,"max_price_amount":999.99},{"min_price":"$1,000.00","max_price":"$30,000.00","terms":[{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}],"min_price_amount":1000.0,"max_price_amount":30000.0}],"installments_buyer_prequalification_enabled":false,"seller_id":null}"></shopify-payment-terms> 1523 1524 <div class="no-js hidden"> 1525 <label class="block mt-theme" for="variant_template--15746021294335__main">Variant</label> 1526 <select x-ref="singleVariantSelector" name="id" id="variant_template--15746021294335__main" class="mt-2 appearance-none rounded-none bg-primary-background text-primary-text border-b-grid py-1 border-primary-text text-primary-text pr-6"> 1527 1528 <option 1529 1530 disabled="disabled" 1531 x-bind:selected="currentVariantId === 50585267372287" 1532 value="50585267372287"> 1533 Workshop fee and HIF Shirt size SMALL 1534 </option> 1535 1536 <option 1537 1538 disabled="disabled" 1539 x-bind:selected="currentVariantId === 50585267405055" 1540 value="50585267405055"> 1541 Workshop fee and HIF Shirt size MEDIUM 1542 </option> 1543 1544 <option 1545 1546 disabled="disabled" 1547 x-bind:selected="currentVariantId === 50585267437823" 1548 value="50585267437823"> 1549 Workshop fee and HIF Shirt size LARGE 1550 </option> 1551 1552 <option 1553 1554 disabled="disabled" 1555 x-bind:selected="currentVariantId === 50585267470591" 1556 value="50585267470591"> 1557 Workshop fee and HIF Shirt size XL or XXL 1558 </option> 1559 1560 </select> 1561 </div><div class="add-to-cart-container mt-8 lg:w-3/4"><button 1562 id="addToCartButton" 1563 @click="$store.drawer.cartOpener = $event.currentTarget" 1564 class="add-to-cart px-1 py-2 w-full bg-transparent text-primary-text border-text border-primary-text hover:border-primary-accent hover:text-primary-accent 1565 opacity-50 cursor-not-allowed" 1566 type="submit" 1567 :class="{ 'opacity-50 cursor-not-allowed': !currentVariantAvailable }" 1568 :disabled="!currentVariantAvailable || loading" 1569 disabled="disabled">
1570 <span class="no-js"> 1571 1572 Sold out 1573 1574 </span> 1575 <template x-if="current_variant"> 1576 <div> 1577 <template x-if="currentVariantAvailable"> 1578 <span>Add to cart →</span> 1579 </template> 1580 <template x-if="!currentVariantAvailable"> 1581 <span>Sold out</span> 1582 </template> 1583 </div> 1584 </template> 1585 <template x-if="!current_variant"> 1586 <span> Unavailable</span> 1587 </template> 1588 </button><div class="mt-2 payment-button-wrapper color-primary style-text_background"><div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":60550349055,"merchantName":"IOTA STUDIO","personalized":true}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="954a36e4862315b96a1f309d871e2ddb" buyer-country="US" buyer-locale="en" buyer-currency="CAD" variant-params="[{"id":50585267372287,"requiresShipping":false},{"id":50585267405055,"requiresShipping":false},{"id":50585267437823,"requiresShipping":false},{"id":50585267470591,"requiresShipping":false}]" shop-id="60550349055" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" disabled > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </div> </shopify-accelerated-checkout> </div></div></div> 1589 <input type="hidden" name="product-id" value="10342858719487" /><input type="hidden" name="section-id" value="template--15746021294335__main" /></form> 1590 1591 <template x-if="$store.availability.current_variant.available && currentVariantAvailability"> 1592 <div class="mt-4 lg:w-3/4 flex items-start" :class="{'opacity-50': $store.availability.loading}" :aria-busy="$store.availability.loading"> 1593 <div class="w-3 mr-3 pt-1"> 1594 <template x-if="currentVariantAvailability.available"> 1595 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-in-stock" viewBox="0 0 12 12"><g fill-rule="evenodd"><path d="M1.55 6.5l.708-.707L5.086 8.62l-.707.707z"></path><path d="M3.671 8.621l6.364-6.364.708.708-6.364 6.364z"></path></g></svg> 1596 </template> 1597 <template x-if="!currentVariantAvailability.available"> 1598 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-out-of-stock" viewBox="0 0 12 12"><g fill-rule="evenodd"><path d="M3.172 2.464l6.364 6.364-.708.708-6.364-6.364z"></path><path d="M9.536 3.172L3.172 9.536l-.708-.708 6.364-6.364z"></path></g></svg> 1599 </template> 1600 </div> 1601 <div class="flex-auto"> 1602 <h2 x-html="currentVariantAvailability.pickup_text"></h2> 1603 <small class="block mt-2" x-html="currentVariantAvailability.pickup_time"></small> 1604 <button type="button" @click="$store.drawer.availabilityOpener = $event.currentTarget; $store.drawer.availabilityDrawerOpen = !$store.drawer.availabilityDrawerOpen" aria-haspopup="dialog" class="mt-2 hover:text-primary-accent text-sm items-center justify-center border-b-text border-primary-text hover:border-primary-accent pb-1"> 1605 <span class="" x-text="currentVariantAvailability.modal_text"></span> 1606 → 1607 </button> 1608 </div> 1609 </div> 1610 </template> 1611 <div class="" 1612 data-product-title="Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1613 data-has-only-default-variant="false" 1614 data-base-url="https://iotastudio.ca/" 1615 data-section-color="primary" 1616 data-store-availability> 1617 </div> 1618 1619<div class="rte mt-8 "> 1620 <p>Join instructor Danny Ross on Sunday, October 18 for an exclusive Held in Form t-shirt indigo dyeing workshop. </p> 1621<p>This one day beginner workshop will provide participants with a general overview of indigo history, chemistry and dyeing methods. Using a simple indigo reduction formula and various hand sewing or wood block resist techniques, create a ready-to-wear Held in Form t-shirt with a Japanese mokume (woodgrain) or itajime (wood block) resist pattern.</p> 1622<p>Participants may also forgo a pattern to create the perfect solid or gradient dyed indigo t-shirt. </p> 1623<ul> 1624<li>Date: Sunday, October 18</li> 1625<li>Time: 12-3PM</li> 1626<li>Location: Take Care Cafe, 9621 Whyte Avenue. </li> 1627</ul> 1628<p><strong></strong>All materials and supplies are included, including <a href="https://www.heldinform.com/shopall/p/2packtee-f4zjg" target="_blank" rel="noopener noreferrer">Kuzushi triple stitch work tee (S-XXL) from Vancouver and Shanghai based apparel company, Held in Form</a> ($78 retail).</p> 1629<p>Tickets on sale Monday, October 5 at 6PM. Given the small class size, tickets are a final sale, though registration may be transferred to another participant. While alternate sizes may be available on workshop date, individual size-change requests cannot be guaranteed.</p> 1630<p>Please review the <a href="https://www.heldinform.com/sizing" target="_blank" rel="noopener noreferrer">
1630Held in Form Kuzushi Work Shirt size chart</a> before placing your order. While alternate sizes may be available on workshop date, individual size-change requests cannot be guaranteed.</p> 1631</div> 1632</div> 1633 </div> 1634 1635 1636
1636<script type="application/json" data-product-json> 1637 {"id":10342858719487,"title":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton","handle":"indigo-workshop-held-in-form-shirt-dyeing","description":"\u003cp\u003eJoin instructor Danny Ross on Sunday, October 18 for an exclusive Held in Form t-shirt indigo dyeing workshop. \u003c\/p\u003e\n\u003cp\u003eThis one day beginner workshop will provide participants with a general overview of indigo history, chemistry and dyeing methods. Using a simple indigo reduction formula and various hand sewing or wood block resist techniques, create a ready-to-wear Held in Form t-shirt with a Japanese mokume (woodgrain) or itajime (wood block) resist pattern.\u003c\/p\u003e\n\u003cp\u003eParticipants may also forgo a pattern to create the perfect solid or gradient dyed indigo t-shirt. \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDate: Sunday, October 18\u003c\/li\u003e\n\u003cli\u003eTime: 12-3PM\u003c\/li\u003e\n\u003cli\u003eLocation: Take Care Cafe, 9621 Whyte Avenue. \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003eAll materials and supplies are included, including \u003ca href=\"https:\/\/www.heldinform.com\/shopall\/p\/2packtee-f4zjg\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eKuzushi triple stitch work tee (S-XXL) from Vancouver and Shanghai based apparel company, Held in Form\u003c\/a\u003e ($78 retail).\u003c\/p\u003e\n\u003cp\u003eTickets on sale Monday, October 5 at 6PM. Given the small class size, tickets are a final sale, though registration may be transferred to another participant. While alternate sizes may be available on workshop date, individual size-change requests cannot be guaranteed.\u003c\/p\u003e\n\u003cp\u003ePlease review the \u003ca href=\"https:\/\/www.heldinform.com\/sizing\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eHeld in Form Kuzushi Work Shirt size chart\u003c\/a\u003e before placing your order. While alternate sizes may be available on workshop date, individual size-change requests cannot be guaranteed.\u003c\/p\u003e","published_at":"2026-10-03T10:03:27-06:00","created_at":"2026-10-01T18:59:47-06:00","vendor":"IOTA STUDIO","type":"Workshop","tags":[],"price":16000,"price_min":16000,"price_max":16000,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":50585267372287,"title":"Workshop fee and HIF Shirt size SMALL","option1":"Workshop fee and HIF Shirt size SMALL","option2":null,"option3":null,"sku":null,"requires_shipping":false,"taxable":true,"featured_image":null,"available":false,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size SMALL","public_title":"Workshop fee and HIF Shirt size SMALL","options":["Workshop fee and HIF Shirt size SMALL"],"price":16000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":50585267405055,"title":"Workshop fee and HIF Shirt size MEDIUM","option1":"Workshop fee and HIF Shirt size MEDIUM","option2":null,"option3":null,"sku":null,"requires_shipping":false,"taxable":true,"featured_image":null,"available":false,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size MEDIUM","public_title":"Workshop fee and HIF Shirt size MEDIUM","options":["Workshop fee and HIF Shirt size MEDIUM"],"price":16000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":50585267437823,"title":"Workshop fee and HIF Shirt size LARGE","option1":"Workshop fee and HIF Shirt size LARGE","option2":null,"option3":null,"sku":null,"requires_shipping":false,"taxable":true,"featured_image":null,"available":false,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size LARGE","public_title":"Workshop fee and HIF Shirt size LARGE","options":["Workshop fee and HIF Shirt size LARGE"],"price":16000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":50585267470591,"title":"Workshop fee and HIF Shirt size XL or XXL","option1":"Workshop fee and HIF Shirt size XL or XXL","option2":null,"option3":null,"sku":null,"requires_shipping":false,"taxable":true,"featured_image":null,"available":false,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size XL or XXL","public_title":"Workshop fee and HIF Shirt size XL or XXL","options":["Workshop fee and HIF Shirt size XL or XXL"],"price":16000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471","\/\/iotastudio.ca\/cdn\/shop\/files\/DSC2033.jpg?v=1790909749","\/\/iotastudio.ca\/cdn\/shop\/files\/HF-SS26-HF003-WHITE.jpg?v=1791043604","\/\/iotastudio.ca\/cdn\/shop\/files\/work-shirt-sizing.jpg?v=1791043613"],"featured_image":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471","options":["Size"],"media":[{"alt":null,"id":46187639636223,"position":1,"preview_image":{"aspect_ratio":0.75,"he
1637ight":1920,"width":1440,"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471"},"aspect_ratio":0.75,"height":1920,"media_type":"image","src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471","width":1440},{"alt":null,"id":46176798343423,"position":2,"preview_image":{"aspect_ratio":0.667,"height":2500,"width":1667,"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSC2033.jpg?v=1790909749"},"aspect_ratio":0.667,"height":2500,"media_type":"image","src":"\/\/iotastudio.ca\/cdn\/shop\/files\/DSC2033.jpg?v=1790909749","width":1667},{"alt":null,"id":46187648745727,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1500,"width":1000,"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/HF-SS26-HF003-WHITE.jpg?v=1791043604"},"aspect_ratio":0.667,"height":1500,"media_type":"image","src":"\/\/iotastudio.ca\/cdn\/shop\/files\/HF-SS26-HF003-WHITE.jpg?v=1791043604","width":1000},{"alt":null,"id":46187649335551,"position":4,"preview_image":{"aspect_ratio":2.4,"height":513,"width":1231,"src":"\/\/iotastudio.ca\/cdn\/shop\/files\/work-shirt-sizing.jpg?v=1791043613"},"aspect_ratio":2.4,"height":513,"media_type":"image","src":"\/\/iotastudio.ca\/cdn\/shop\/files\/work-shirt-sizing.jpg?v=1791043613","width":1231}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eJoin instructor Danny Ross on Sunday, October 18 for an exclusive Held in Form t-shirt indigo dyeing workshop. \u003c\/p\u003e\n\u003cp\u003eThis one day beginner workshop will provide participants with a general overview of indigo history, chemistry and dyeing methods. Using a simple indigo reduction formula and various hand sewing or wood block resist techniques, create a ready-to-wear Held in Form t-shirt with a Japanese mokume (woodgrain) or itajime (wood block) resist pattern.\u003c\/p\u003e\n\u003cp\u003eParticipants may also forgo a pattern to create the perfect solid or gradient dyed indigo t-shirt. \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDate: Sunday, October 18\u003c\/li\u003e\n\u003cli\u003eTime: 12-3PM\u003c\/li\u003e\n\u003cli\u003eLocation: Take Care Cafe, 9621 Whyte Avenue. \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003eAll materials and supplies are included, including \u003ca href=\"https:\/\/www.heldinform.com\/shopall\/p\/2packtee-f4zjg\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eKuzushi triple stitch work tee (S-XXL) from Vancouver and Shanghai based apparel company, Held in Form\u003c\/a\u003e ($78 retail).\u003c\/p\u003e\n\u003cp\u003eTickets on sale Monday, October 5 at 6PM. Given the small class size, tickets are a final sale, though registration may be transferred to another participant. While alternate sizes may be available on workshop date, individual size-change requests cannot be guaranteed.\u003c\/p\u003e\n\u003cp\u003ePlease review the \u003ca href=\"https:\/\/www.heldinform.com\/sizing\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eHeld in Form Kuzushi Work Shirt size chart\u003c\/a\u003e before placing your order. While alternate sizes may be available on workshop date, individual size-change requests cannot be guaranteed.\u003c\/p\u003e"} 1638 </script>
1638 1639
1639<script type="application/json" data-selected-variant-json> 1640 {"id":50585267372287,"title":"Workshop fee and HIF Shirt size SMALL","option1":"Workshop fee and HIF Shirt size SMALL","option2":null,"option3":null,"sku":null,"requires_shipping":false,"taxable":true,"featured_image":null,"available":false,"name":"Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton - Workshop fee and HIF Shirt size SMALL","public_title":"Workshop fee and HIF Shirt size SMALL","options":["Workshop fee and HIF Shirt size SMALL"],"price":16000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}} 1641 </script>
1641 1642
1642<script type="application/json" data-featured-media-id> 1643 46187639636223 1644 </script>
1644 1645 1646 1647
1647<script type="application/json" data-product-images> 1648 { 1649 1650 "46187639636223": { 1651 "fullSizeUrl": "\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010.jpg?v=1791043471", 1652 "width": 1440, 1653 "height": 1920, 1654 "aspectRatio": 0.75, 1655 "alt": "Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1656 }, 1657 1658 "46176798343423": { 1659 "fullSizeUrl": "\/\/iotastudio.ca\/cdn\/shop\/files\/DSC2033.jpg?v=1790909749", 1660 "width": 1667, 1661 "height": 2500, 1662 "aspectRatio": 0.6668, 1663 "alt": "Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1664 }, 1665 1666 "46187648745727": { 1667 "fullSizeUrl": "\/\/iotastudio.ca\/cdn\/shop\/files\/HF-SS26-HF003-WHITE.jpg?v=1791043604", 1668 "width": 1000, 1669 "height": 1500, 1670 "aspectRatio": 0.6666666666666666, 1671 "alt": "Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1672 }, 1673 1674 "46187649335551": { 1675 "fullSizeUrl": "\/\/iotastudio.ca\/cdn\/shop\/files\/work-shirt-sizing.jpg?v=1791043613", 1676 "width": 1231, 1677 "height": 513, 1678 "aspectRatio": 2.3996101364522415, 1679 "alt": "Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton" 1680 } 1681 1682 } 1683 </script>
1683 1684 1685
1685<script type="application/json" id="ModelJson-template--15746021294335__main"> 1686 [] 1687 </script>
1687 1688 1689</section><div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 1690 <div class="pswp__bg"></div> 1691 <div class="pswp__scroll-wrap"> 1692 1693 <!-- Don't modify these 3 pswp__item elements, data is added later on. --> 1694 <div class="pswp__container"> 1695 <div class="pswp__item"></div> 1696 <div class="pswp__item"></div> 1697 <div class="pswp__item"></div> 1698 </div> 1699 1700 <div class="pswp__ui pswp__ui--hidden"> 1701 <div class="pswp__top-bar"> 1702 <div class="pswp__counter line-height--7 font-size--xs text-primary-meta fixed top-0 left-0 mt-3 ml-3"></div> 1703 1704 <button class="pswp__button pswp__button--close text-primary-text fixed top-0 right-0 block w-6 h-6 mt-3 mr-3" 1705 title="Close (Esc)"> 1706 <span class="visually-hidden">Close</span> 1707 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-close" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M18.364 4.222l1.414 1.414L13.414 12l6.364 6.364-1.414 1.414L12 13.414l-6.364 6.364-1.414-1.414L10.586 12 4.222 5.636l1.414-1.414L12 10.586z"></path></svg> 1708 </button> 1709 1710 <div class="pswp__preloader absolute top-0 left-0 ml-1"> 1711 <div class="pswp__preloader__icn"> 1712 <div class="pswp__preloader__cut"> 1713 <div class="pswp__preloader__donut"></div> 1714 </div> 1715 </div> 1716 </div> 1717 </div> 1718 1719 <button class="pswp__button pswp__button--arrow--left w-8 ml-3 bg-transparent text-primary-text hover:text-primary-accent border-0 fixed left-0 lg:bottom-1/2 bottom-0"> 1720 <span class="visually-hidden">Previous slide</span> 1721 <span class="block transform rotate-180"> 1722 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-next" viewBox="0 0 64 64"><path d="M38.764 14.407l16.753 17.525-16.753 17.525-1.94-2.03 13.375-13.994H8.036v-3.002L50.2 30.43 36.824 16.437l1.94-2.03z"></path></svg> 1723 </span> 1724 </button> 1725 1726 <button class="pswp__button pswp__button--arrow--right w-8 mr-3 bg-transparent text-primary-text hover:text-primary-accent border-0 fixed right-0 lg:bottom-1/2 bottom-0"> 1727 <span class="visually-hidden">Next slide</span> 1728 <span class="block"> 1729 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-next" viewBox="0 0 64 64"><path d="M38.764 14.407l16.753 17.525-16.753 17.525-1.94-2.03 13.375-13.994H8.036v-3.002L50.2 30.43 36.824 16.437l1.94-2.03z"></path></svg> 1730 </span> 1731 </button> 1732 </div> 1733 </div> 1734</div> 1735 1736
1737<script type="application/ld+json"> 1738{ 1739 "@context": "http://schema.org/", 1740 "@type": "Product", 1741 "name": "Indigo Workshop: Held in Form Kuzushi Shirt Dyeing at Take Care in Edmonton", 1742 "url": "https:\/\/iotastudio.ca\/products\/indigo-workshop-held-in-form-shirt-dyeing","image": [ 1743 "https:\/\/iotastudio.ca\/cdn\/shop\/files\/DSCF9010_1440x.jpg?v=1791043471" 1744 ],"description": "Join instructor Danny Ross on Sunday, October 18 for an exclusive Held in Form t-shirt indigo dyeing workshop. \nThis one day beginner workshop will provide participants with a general overview of indigo history, chemistry and dyeing methods. Using a simple indigo reduction formula and various hand sewing or wood block resist techniques, create a ready-to-wear Held in Form t-shirt with a Japanese mokume (woodgrain) or itajime (wood block) resist pattern.\nParticipants may also forgo a pattern to create the perfect solid or gradient dyed indigo t-shirt. \n\nDate: Sunday, October 18\nTime: 12-3PM\nLocation: Take Care Cafe, 9621 Whyte Avenue. \n\nAll materials and supplies are included, including Kuzushi triple stitch work tee (S-XXL) from Vancouver and Shanghai based apparel company, Held in Form ($78 retail).\nTickets on sale Monday, October 5 at 6PM. Given the small class size, tickets are a final sale, though registration may be transferred to another participant. While alternate sizes may be available on workshop date, individual size-change requests cannot be guaranteed.\nPlease review the Held in Form Kuzushi Work Shirt size chart before placing your order. While alternate sizes may be available on workshop date, individual size-change requests cannot be guaranteed.","brand": { 1745 "@type": "Thing", 1746 "name": "IOTA STUDIO" 1747 }, 1748 "offers": [{ 1749 "@type" : "Offer","availability" : "http://schema.org/OutOfStock", 1750 "price" : 160.0, 1751 "priceCurrency" : "CAD", 1752 "url" : "https:\/\/iotastudio.ca\/products\/indigo-workshop-held-in-form-shirt-dyeing?variant=50585267372287" 1753 }, 1754{ 1755 "@type" : "Offer","availability" : "http://schema.org/OutOfStock", 1756 "price" : 160.0, 1757 "priceCurrency" : "CAD", 1758 "url" : "https:\/\/iotastudio.ca\/products\/indigo-workshop-held-in-form-shirt-dyeing?variant=50585267405055" 1759 }, 1760{ 1761 "@type" : "Offer","availability" : "http://schema.org/OutOfStock", 1762 "price" : 160.0, 1763 "priceCurrency" : "CAD", 1764 "url" : "https:\/\/iotastudio.ca\/products\/indigo-workshop-held-in-form-shirt-dyeing?variant=50585267437823" 1765 }, 1766{ 1767 "@type" : "Offer","availability" : "http://schema.org/OutOfStock", 1768 "price" : 160.0, 1769 "priceCurrency" : "CAD", 1770 "url" : "https:\/\/iotastudio.ca\/products\/indigo-workshop-held-in-form-shirt-dyeing?variant=50585267470591" 1771 } 1772] 1773} 1774</script>
1774 1775 1776 1777</div><div id="shopify-section-template--15746021294335__product-recommendations" class="shopify-section"><div 1778 class="product-recommendations" 1779 data-base-url="/recommendations/products" 1780 data-product-id="10342858719487" 1781 data-section-id="template--15746021294335__product-recommendations" 1782 data-section-type="product-recommendations" 1783 data-limit="4"> 1784 </div> 1785</div> 1786 </main> 1787 <div id="shopify-section-footer" class="shopify-section"><style> 1788:root { 1789 --color-footer-accent: var(--color-primary-accent); 1790 --color-footer-text: var(--color-primary-text); 1791 --color-footer-background: var(--color-primary-background); 1792 --color-footer-background-hex: var(--color-primary-background-hex); 1793 --color-footer-meta: var(--color-primary-meta); 1794 --color-footer-text--overlay: var(--color-primary-text--overlay); 1795 --color-footer-accent--overlay: var(--color-primary-accent--overlay); 1796 --color-footer-accent-placeholder: var(--color-primary-text-placeholder); 1797} 1798</style> 1799 1800 1801<footer class="bg-footer-background text-footer-text" data-section-id="footer" data-section-type="footer"> 1802 1803 <div class="border-t-grid border-grid-color"> 1804 <div class="grid lg:grid-cols-12 bg-border gap-gutter"> 1805 1806 1807 <div class="lg:col-span-3 section-x-padding py-theme bg-footer-background text-footer-text"> 1808 <div class="h1"> 1809 <a href="/" class="footer-logo-image break-words"> 1810 1811 1812 <img src="//iotastudio.ca/cdn/shop/files/iota_logo_250x.png?v=1738793707" 1813 srcset="//iotastudio.ca/cdn/shop/files/iota_logo_250x.png?v=1738793707 1x, //iotastudio.ca/cdn/shop/files/[email protected]?v=1738793707 2x, //iotastudio.ca/cdn/shop/files/[email protected]?v=1738793707 3x" 1814 alt="IOTA STUDIO"> 1815 1816 </a> 1817 </div> 1818 </div> 1819 1820 <div class="lg:col-span-3 section-x-padding py-theme bg-footer-background text-footer-text overflow-hidden"> 1821 1822 <div class="rte"> 1823 <p>IOTA Studio is based in Alberta, Canada. IOTA, like our previous studio, Setsuna, is inspired by small moments in time. Our collections change with the availability of new ingredients, learned processes, and studio training.</p> 1824 </div> 1825 </div> 1826 1827 1828 1829 1830 <div class="lg:col-span-3 section-x-padding py-theme bg-footer-background text-footer-text " > 1831 <div class="text-left inline-block"> 1832 1833 1834 <ul class="list-none space-y-1"> 1835 1836 <li> 1837 <a href="/pages/about-iota" class="hover:text-footer-accent"> 1838 About IOTA 1839 </a> 1840 </li> 1841 1842 <li> 1843 <a href="/pages/contact" class="hover:text-footer-accent"> 1844 Contact Us 1845 </a> 1846 </li> 1847 1848 <li> 1849 <a href="/policies/privacy-policy" class="hover:text-footer-accent"> 1850 Privacy Policy 1851 </a> 1852 </li> 1853 1854 <li> 1855 <a href="/policies/refund-policy" class="hover:text-footer-accent"> 1856 Refund Policy 1857 </a> 1858 </li> 1859 1860 <li> 1861 <a href="/policies/terms-of-service" class="hover:text-footer-accent"> 1862 Terms of Service 1863 </a> 1864 </li> 1865 1866 </ul> 1867 </div> 1868 </div> 1869 1870 1871 1872 1873 1874 <div class="lg:col-span-3 section-x-padding py-theme bg-footer-background text-footer-text "> 1875 <div class="text-left inline-block"> 1876 <ul class=""> 1877 � 1878 1879 1880 1881 1882 � 1883 1884 1885 1886 1887 � 1888 1889 1890 1891 1892 � 1893 1894 1895 1896 1897 <li> 1898 <a class="inline-block mb-1 hover:text-footer-accent" href="https://instagram.com/iota.goods"> 1899 Instagram 1900 </a> 1901 </li> 1902 1903 1904 1905 � 1906 1907 1908 1909 1910 � 1911 1912 1913 1914 1915 � 1916 1917 1918 1919 1920 � 1921 1922 1923 1924 1925 � 1926 1927 1928 1929 1930 � 1931 1932 1933 1934 1935 � 1936 1937 1938 1939 1940 1941</ul> 1942 1943 </div> 1944 </div> 1945 1946 </div> 1947 </div> 1948
1949 <div class="border-t-grid border-grid-color"> 1950 <div class="section-x-padding py-theme lg:flex lg:flex-wrap lg:items-center lg:justify-between"> 1951 <div class="mb-4 lg:mb-0 space-y-2 text-sm lg:flex-1"> 1952 <p> 1953 © 2026, <a href="/" title="">IOTA STUDIO</a>. 1954 </p> 1955 <p> 1956 <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a> 1957 </p> 1958 </div> 1959 1960<div class="flex flex-wrap items-center justify-between lg:justify-end mb-4 lg:mb-0 lg:flex-1"><form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data" data-disclosure-form=""><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/products/indigo-workshop-held-in-form-shirt-dyeing" /><div class="inline-block"> 1961 <h2 class="visually-hidden" id="country-heading"> 1962 Country/region 1963 </h2> 1964 <div class="relative" data-disclosure-country> 1965 <button type="button" class="text-sm border-b-text border-footer-text py-1" aria-expanded="false" aria-controls="country-list" aria-describedby="country-heading" data-disclosure-toggle> 1966 United States (CAD $) 1967 <span class="inline-block ml-1 w-3 fill-current"> 1968 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-chevron-down" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 16.596L4.222 8.818l1.414-1.414L12 13.768l6.364-6.364 1.414 1.414z"></path></svg> 1969 </span> 1970 </button> 1971 <ul id="country-list" class="disclosure-list absolute bg-footer-background opacity-0 top-0 left-0 lg:left-auto lg:right-0 transform transition-opacity border-text border-theme-color py-2" data-disclosure-list inert> 1972 1973 <li class="text-sm w-40"> 1974 <a class="block p-2" href="#" data-value="CA" data-disclosure-option> 1975 <span class="border-transparent border-b-text">Canada (CAD $)</span> 1976 </a> 1977 </li> 1978 <li class="text-sm w-40"> 1979 <a class="block p-2" href="#" aria-current="true" data-value="US" data-disclosure-option> 1980 <span class="border-footer-text border-b-text">United States (CAD $)</span> 1981 </a> 1982 </li></ul> 1983 <input type="hidden" name="country_code" id="CountrySelector" value="US" data-disclosure-input/> 1984 </div> 1985 </div></form></div></div> 1986 </div> 1987</footer> 1988 1989 1990 1991 <style> 1992 .footer-logo-image { 1993 display: block; 1994 max-width: 250px; 1995 } 1996 </style> 1997 1998 1999 2000</div> 2001 </div> 2002 <div id="shopify-section-popup" class="shopify-section relative z-60"> 2003 2004 2005</div> 2006 2007 <div id="screenreader-announce" class="visually-hidden" aria-live="polite" role="status"></div> 2008 2009 <ul hidden> 2010 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 2011 <li id="a11y-selection-message">Press the space key then arrow keys to make a selection.</li> 2012 </ul> 2013 2014
2014<script> 2015 window.theme = { 2016 strings: { 2017 loading: "Loading", 2018 itemCountOne: "{{ count }} item", 2019 itemCountOther: "{{ count }} items", 2020 addToCart: "Add to cart", 2021 soldOut: "Sold out", 2022 unavailable: "Unavailable", 2023 regularPrice: "Regular price", 2024 salePrice: "Sale price", 2025 sale: "Sale", 2026 unitPrice: "Unit price", 2027 unitPriceSeparator: "per", 2028 cartEmpty: "Your cart is currently empty.", 2029 cartCookies: "Enable cookies to use the shopping cart", 2030 update: "Update", 2031 quantity: "Quantity", 2032 discountedTotal: "Discounted total", 2033 regularTotal: "Regular total", 2034 priceColumn: "See Price column for discount details.", 2035 addedToCart: "Added to your cart!", 2036 cartAddError: "All {{ title }} are in your cart.", 2037 cartError: "There was an error while updating your cart. Please try again.", 2038 cartQuantityError: "You can only add [quantity] of this item to your cart." 2039 }, 2040 routes: { 2041 cart_add_url: '/cart/add', 2042 cart_change_url: '/cart/change', 2043 cart_update_url: '/cart/update' 2044 }, 2045 moneyFormat: "${{amount}}", 2046 cartItemCount: 0, 2047 cartMethod: "drawer" 2048 }; 2049 </script>
vendor: 1 bytes, line 2049
2049
2050<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2050 2051</body> 2052</html> 2053
2054<script src="//iotastudio.ca/cdn/shop/t/8/assets/sezzle-checkout-button-asset.js?v=16139566241194896821646251597" type="text/javascript"></script>
2054 2055
2055<script> 2056 new SezzleCheckoutButton({ 2057 merchantUUID : "8cb74f50-6710-448e-9eba-2948849346af", 2058 theme : "", 2059 template : "", 2060 widgetServerBaseUrl : "https://widget.sezzle.com", 2061 }).init(); 2062 </script>
2062 2063 2064 2065
2066<script src="https://widget.sezzle.com/v1/javascript/price-widget?uuid=8cb74f50-6710-448e-9eba-2948849346af"></script>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.