PageSourceSearch

https://iotastudio.ca/products/indigo-workshop-held-in-form-shirt-dyeing

html iotastudio.ca collected 2026-10-09 22:21:47 UTC 160,934 bytes, 2,066 lines download raw bytes

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&ndash; 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&amp;region_country=US" id="customer_login_link">Log in</a>
660            </li>
661            <li>
662              <a href="https://shopify.com/60550349055/account?locale=en&region_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">&minus;<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">&minus;<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="[{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;shop_pay&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:60550349055,&quot;merchantName&quot;:&quot;IOTA STUDIO&quot;,&quot;personalized&quot;:true}}]" access-token="954a36e4862315b96a1f309d871e2ddb" buyer-country="US" buyer-locale="en" buyer-currency="CAD" shop-id="60550349055" cart-id="d2d66d05bcddab6dfdf15aec96d825f9" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <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'>&nbsp</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&region_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="{&quot;type&quot;:&quot;product&quot;,&quot;currency_code&quot;:&quot;CAD&quot;,&quot;country_code&quot;:&quot;CA&quot;,&quot;variants&quot;:[{&quot;id&quot;:50585267372287,&quot;price_per_term&quot;:&quot;$40.00&quot;,&quot;price_per_term_amount&quot;:40.0,&quot;full_price&quot;:&quot;$160.00&quot;,&quot;full_price_amount&quot;:160.0,&quot;eligible&quot;:true,&quot;available&quot;:false,&quot;number_of_payment_terms&quot;:4},{&quot;id&quot;:50585267405055,&quot;price_per_term&quot;:&quot;$40.00&quot;,&quot;price_per_term_amount&quot;:40.0,&quot;full_price&quot;:&quot;$160.00&quot;,&quot;full_price_amount&quot;:160.0,&quot;eligible&quot;:true,&quot;available&quot;:false,&quot;number_of_payment_terms&quot;:4},{&quot;id&quot;:50585267437823,&quot;price_per_term&quot;:&quot;$40.00&quot;,&quot;price_per_term_amount&quot;:40.0,&quot;full_price&quot;:&quot;$160.00&quot;,&quot;full_price_amount&quot;:160.0,&quot;eligible&quot;:true,&quot;available&quot;:false,&quot;number_of_payment_terms&quot;:4},{&quot;id&quot;:50585267470591,&quot;price_per_term&quot;:&quot;$40.00&quot;,&quot;price_per_term_amount&quot;:40.0,&quot;full_price&quot;:&quot;$160.00&quot;,&quot;full_price_amount&quot;:160.0,&quot;eligible&quot;:true,&quot;available&quot;:false,&quot;number_of_payment_terms&quot;:4}],&quot;min_price&quot;:&quot;$35.00&quot;,&quot;min_price_amount&quot;:35.0,&quot;max_price&quot;:&quot;$30,000.00&quot;,&quot;max_price_amount&quot;:30000.0,&quot;financing_plans&quot;:[{&quot;min_price&quot;:&quot;$35.00&quot;,&quot;max_price&quot;:&quot;$49.99&quot;,&quot;terms&quot;:[{&quot;apr&quot;:0,&quot;loan_type&quot;:&quot;split_pay&quot;,&quot;installments_count&quot;:2}],&quot;min_price_amount&quot;:35.0,&quot;max_price_amount&quot;:49.99},{&quot;min_price&quot;:&quot;$50.00&quot;,&quot;max_price&quot;:&quot;$149.99&quot;,&quot;terms&quot;:[{&quot;apr&quot;:0,&quot;loan_type&quot;:&quot;split_pay&quot;,&quot;installments_count&quot;:3},{&quot;apr&quot;:0,&quot;loan_type&quot;:&quot;split_pay&quot;,&quot;installments_count&quot;:4}],&quot;min_price_amount&quot;:50.0,&quot;max_price_amount&quot;:149.99},{&quot;min_price&quot;:&quot;$150.00&quot;,&quot;max_price&quot;:&quot;$999.99&quot;,&quot;terms&quot;:[{&quot;apr&quot;:0,&quot;loan_type&quot;:&quot;split_pay&quot;,&quot;installments_count&quot;:3},{&quot;apr&quot;:0,&quot;loan_type&quot;:&quot;split_pay&quot;,&quot;installments_count&quot;:4},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:3},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:6},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:12}],&quot;min_price_amount&quot;:150.0,&quot;max_price_amount&quot;:999.99},{&quot;min_price&quot;:&quot;$1,000.00&quot;,&quot;max_price&quot;:&quot;$30,000.00&quot;,&quot;terms&quot;:[{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:3},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:6},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:12}],&quot;min_price_amount&quot;:1000.0,&quot;max_price_amount&quot;:30000.0}],&quot;installments_buyer_prequalification_enabled&quot;:false,&quot;seller_id&quot;: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&nbsp;&rarr;</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="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;shop_pay&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:60550349055,&quot;merchantName&quot;:&quot;IOTA STUDIO&quot;,&quot;personalized&quot;:true}}" fallback="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:true,&quot;name&quot;:&quot;buy_it_now&quot;,&quot;wallet_params&quot;:{}}" access-token="954a36e4862315b96a1f309d871e2ddb" buyer-country="US" buyer-locale="en" buyer-currency="CAD" variant-params="[{&quot;id&quot;:50585267372287,&quot;requiresShipping&quot;:false},{&quot;id&quot;:50585267405055,&quot;requiresShipping&quot;:false},{&quot;id&quot;:50585267437823,&quot;requiresShipping&quot;:false},{&quot;id&quot;:50585267470591,&quot;requiresShipping&quot;:false}]" shop-id="60550349055" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" 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">&nbsp;</div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true">&nbsp;</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                &nbsp;&rarr;
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          &copy; 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&amp;utm_medium=shopify&amp;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.